2011-12-20 3 views
2

Я изучаю python, создавая webapp на движке Google в течение последних пяти или шести месяцев. Я также закончил работу с классом баз данных в этом семестре, где узнал о представлениях и их преимуществах.Есть ли эквивалент SQL View в Google App Engine Python?

Есть ли эквивалент с хранилищем данных GAE с использованием python?

ответ

5

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

Короткий ответ No.

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

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

+0

В основном я хотел сделать именно это, запросить несколько моделей одновременно. То, что я построил, является сайтом электронной коммерции в GAE (магазин золота для игр), поэтому у меня есть типичные клиенты, заказы, некоторые данные для антифитов и т. Д. Я на 100% уверен, что могу получить то же самое, просто обрабатывая данные в самом python, но Мне нужна была более удобная форма, как вид. –

+0

У вас есть возможность использовать Cloud SQL с App Engine, который дает вам реляционную базу данных (с представлениями). Если вы придерживаетесь хранилища данных App Engine, вам нужно отбросить многое из того, что вы узнали о нормальных формах и нормализации. Это может помочь работать в обратном направлении от запросов, которые потребуются вашему приложению (думая «как я могу получить эти данные в наименьшем количестве запросов без JOINs»), получая от него ненормализованные объекты. –

2

Прежде всего ответ на ваш вопрос: При нормальном GAE, т.е. не реляционной БД GAE, вы не будете иметь такие вещи, как взгляды

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

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

+0

Я построил довольно полный тип электронной коммерции с несколькими тысячами строк кода и более 20 моделей (с учетом моделей просмотров), поэтому я не хочу реорганизовывать все это. К сожалению, я начал работать над проектом до SQL GAE, но это замечательно, что нужно помнить о будущем. знак равно –