Вам нужно вызвать close () в контексте искры, который вы создали в конце программы.
Мы можем ответить несколько раз? Другая причина состоит в том, что реляционный DB имеет прочную основу в математике: из определения отношения, прямо до нормальных форм, теория является горным телом. Это верно, что реляционная модель не отображается хорошо на OO, но по моему скромному мнению преимущества и устойчивость той модели перевешивают отображающуюся проблему.
Я думаю, что существует две философских причины.
Первый, люди традиционно склонны разделять персистентность от реальной функциональности. Как только Вы снимаете "жизнь" объекта далеко от него и сохраняете его, прежде всего, для персистентности, это становится записью, и затем существует тенденция рассматривать его как "безжизненный" объект данных.
Следование этого, когда люди думают о большом количестве очень похожих вещей, они начинают думать о них как о таблицах, а не объектах.
я думаю с O/R, различие начинает исчезать. Например, я использую, в спящем режиме для дампа действительно сложных иерархий классов в базу данных MySQL. Однако я не делаю критического по отношению к производительности записи материала для своего проекта, таким образом, я уверен, что он не сделан эффективно.
Это и o/r-mappers. Через них различие к истинному DBS OO становится меньшим путем, в то время как вышеупомянутые преимущества остаются допустимыми.
Просто, потому что OODB не являются господствующей тенденцией, мы должны все еще рассмотреть успехи, которые они имели. Cache и Zope оба широко используют (относительно), но считали бы успешными некоторые стандарты.
, Возможно, самая большая причина, что OODB не утвердились существенно, из-за успеха гибридных объектно-реляционных систем, которые берут большую часть потенциала marketshare от OODB: PostgreSQL и Informix.
я знаю, что это непосредственно не отвечает на вопрос, но это, я думаю, часть уравнения. В целом, хотя, я думаю, что импульс и в большой степени укоренившиеся мыслительные процессы, поддерживающие базы данных отношения, мешают людям переключаться. В настоящее время профессия DB обучена почти исключительно в реляционной теории, делающей Ваших профессионалов DB, очень интересующихся предотвращением OODB, и академия преподает теорию DB для практиков почти исключительно на реляционном.
До большого, корпоративного DBAs и основных преподавателей и программы и собирающегося штата вне разработчиков, подготовленных к управляемому OODB, я чувствую, что это вряд ли будет видеть любовь масс, неважно, насколько хороший это со стороны разработки.
Я думаю, что это - потому что "объектные базы данных" решают проблему, которую (почти) никто действительно не имеет. Для простой персистентности графов объектов сериализация, встроенная в большинство сред OO, "достаточно хороша". Если Вы хотите сделать сложные операции на подмножестве Ваших данных, то реляционная база данных и SQL являются идеальным соответствием.
Кроме некоторых приложений края (огромные графы объектов, которые не могут быть сохранены в памяти, но для которого отношения не упрощают вниз хорошо для использования RDBMS), действительно нет никакой потребности в этих инструментах.
var_dump(is_array("a string"));
, и Вы будете видеть, что это не массив.
– Langdi
5 September 2013 в 02:33
Если я могу усилить точку Phil: стандартизация SQL. OODB's попробовал языки запросов, такие как OQL, но они никогда, казалось, не следовали истинному стандарту. Также качество языков запросов было подозреваемым, возможно из-за отсутствия стандартизации. Стандарты способствуют конкуренции, которая порождает качество.
RDBMS (основывался на сильной теоретической основе, были на рынке в течение намного более длительного времени, может смоделировать данные более искренне, чем OODBs во многих случаях, может использоваться большим количеством DBAs, чем OODBs). Это - одна причина в форме реляционного кортежа.
Главной причиной является SQL. Очень полезно быть в состоянии использовать данные из базы данных в других контекстах за пределами приложения, и часто с объектными базами данных данные хранятся в формате, который не может легко быть запрошен. С реляционной базой данных данные могут стать частью хранилища данных, например, или просто запрошенный sys администраторами и т.д.
Ну, это странно не так ли? Существует такое нажатие к домену управляемый дизайн, поскольку зенит объекта ориентировал анализ и проектирование, и существуют шаблоны предприятия там для усиления систем ORM для сохранения наших объектов. Это просто имеет общий смысл мне что, если Ваше проектирование приложений является ориентируемым объектом и домен, сфокусированный в глубине души, что OODB значительно принесет пользу Вашему приложению.
Кроме проблем вокруг зрелости и внедрения, с философской точки зрения OODB казался бы выгодным или приложение OO. не имея необходимость поддержать, что, отображая слой для начинающих;)
, Но взгляд, если Вы не делаете доменного дизайна диска и используете объекты в качестве объектов данных и как Ваш сохраненный procs, тогда Вы действительно не собираетесь получать его;)
Одна причина состоит в том, что базы данных о данных, и объекты о структурах и алгоритмах. После того как Вы берете данные и встраиваете их в классы, Вы характеризуете отношения и операции в статической структуре. Базы данных, с другой стороны, о неструктурировании данных в набор экземпляров атомарных таблиц, которые могут быть повторно собраны в различные структуры (обычно с классами), не нарушая целостность атомов.
Базы данных несколько походят на hexahexaflexagons.