Есть ли эквивалент SQL View в Google App Engine Python? - PullRequest
2 голосов
/ 20 декабря 2011

За последние пять или шесть месяцев я изучал python, создав веб-приложение на движке приложений Google. В этом семестре я также только что закончил занятия по базам данных, где узнал о представлениях и их преимуществах.

Есть ли аналог хранилища данных GAE, использующего python?

Ответы [ 2 ]

5 голосов
/ 20 декабря 2011

Представления только для чтения (наиболее распространенный тип) - это запросы к одной или нескольким таблицам для представления иллюзии новых таблиц. Если вы прошли курс обучения базам данных на уровне колледжа, вы, вероятно, узнали о реляционных базах данных, и я предполагаю, что вы ищете что-то вроде реляционных представлений.

Краткий ответ: нет.

Хранилище данных GAE не является реляционным. У него нет таблиц. По сути, это очень большая распределенная хеш-таблица, которая использует составные ключи для представления (очень полезной) иллюзии сущностей, которые на первый взгляд легко ошибочно принять за строки в реляционной базе данных.

Более длинный ответ зависит от того, что бы вы сделали, если бы у вас было представление.

2 голосов
/ 20 декабря 2011

Прежде всего ответьте на свой вопрос: при нормальном GAE, то есть нереляционном DB GAE, у вас не будет таких вещей, как представления

Поскольку вы, вероятно, начинаете с реляционного SQL в школе, я бы предложилпереключитесь на GAE на основе реляционного SQL в http://code.google.com/apis/sql/ и http://code.google.com/apis/sql/docs/before_you_begin.html#enroll (я не уверен, доступен ли он прямо сейчас, или вам нужно дождаться одобрения для использования экземпляра, но зарегистрируйтесь сразу)

Веб-приложения используют новые не реляционные БД, и вам будет полезно их изучить.Таким образом, вы также сможете лучше понять GAE нереляционный.В качестве базового уровня начинайте с http://en.wikipedia.org/wiki/NoSQL, а затем вам предстоит еще многое исследовать, особенно знаменитыми были когда-то Mongo DB, Amazon Simple DB и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...