Тема_2 (1122332), страница 4
Текст из файла (страница 4)
Кузнецов. Базы данных.50 Понятие модели даНеформальное введение в реляционную модель данных (19)Целостность в реляционной модели данных (5)Два файла; в одном данные, индивидуальные для каждого служащего, а вовтором – данные об отделах.В файле СЛУЖАЩИЕ – поле СЛУ_ОТД_НОМЕР, для каждого служащего егоуникальный номер отдела.В файле ОТДЕЛЫ – поле ОТД_НОМЕР, являющееся уникальным ключом этогофайла.Введя файлы СЛУЖАЩИЕ и ОТДЕЛЫ, а также обеспечив связь между ними спомощью полей СЛУ_ОТД_НОМЕР и ОТД_НОМЕР, мы смогли обеспечитьтабличное представление иерархии ОТДЕЛ-СЛУЖАЩИЕ.В терминах реляционной модели данных в отношении ОТДЕЛЫ полеОТД_НОМЕР является первичным ключом, а в отношении СЛУЖАЩИЕ полеСЛУ_ОТД_НОМЕР является внешним ключом, ссылающимся на ОТДЕЛЫ.16.09.2008С.Д.
Кузнецов. Базы данных.51 Понятие модели даНеформальное введение в реляционную модель данных (20)Целостность в реляционной модели данных (6)Более точно, внешним ключом отношения R1, ссылающимся наотношение R2, называется подмножество заголовка HR1, котороесовпадает с первичным ключом отношения R2 (с точностью до именатрибутов).Тогда ограничение ссылочной целостности реляционной моделиданных можно сформулировать следующим образом:в любом теле отношения R1, которое может появиться в базе данных, для«не пустого» значения внешнего ключа, ссылающегося на отношение R2, влюбом кортеже этого тела должен найтись кортеж в теле отношения R2,которое содержится в базе данных, с совпадающим значением первичногоключа.Легко заметить, что это почти то же самое ограничение, о которомговорилось в связи с иерархической моделью данных:никакой потомок не может существовать без своего родителя, нонемного уточненное –ссылки на родителя должны быть корректными.16.09.2008С.Д.
Кузнецов. Базы данных.52 Понятие модели даСовременные модели данных (1)История современных моделей данных началась с 1989 г., когдагруппа известных специалистов в области языковпрограммирования баз данных опубликовала статью подназванием «Манифест систем объектно-ориентированных базданных» (Первый манифест).Malcolm Atkinson, Francois Bancilhon, David DeWitt, Klaus Dittrich, DavidMaier, and Stanley Zdonik: “The Object-Oriented Database SystemManifesto”, Proc. 1st International Conference on Deductive and ObjectOriented Databases, Kyoto, Japan (1989).
New York, N.Y.: Elsevier Science(1990).Имеется русский перевод: М. Аткинсон и др. “Манифест системобъектно-ориентированных баз данных”, СУБД, No. 4, 1995,http://citforum.ru/database/classics/oo_manifesto/К этому времени уже существовало несколько реализацийобъектно-ориентированных СУБД (ООСУБД), но каждая из нихопиралась на некоторое расширение объектной модели какоголибо объектно-ориентированного языка программирования(Smalltalk, Object Lisp, C++),отсутствовали какие-либо общие подходы.16.09.2008С.Д. Кузнецов.
Базы данных.53 Понятие модели даСовременные модели данных (2)В Первом манифесте не предлагалась единая объектноориентированная модель данных, но выделялся набор требований кООСУБД.Базовыми требованиями являлось:преодоление несоответствия между типами данных, используемыми в языкахпрограммирования, и типами данных, поддерживаемыми в набравших к томувремени силу реляционных (вернее, SQL-ориентированных) СУБД,а также придание СУБД возможностей хранить в БД данные произвольносложной структуры.Эти требования сопровождались утверждениями об ограниченностиреляционной модели данных и языка SQL и потребности использоватьболее развитые модели данных.Под влиянием Первого манифеста в 1991 г. возник консорциум ODMG(Object Database Management Group), задачей которого быларазработка стандарта объектно-ориентированной модели данных.В течение более чем десятилетнего существования ODMGопубликовала три базовых версии стандарта, последняя из которыхназывается ODMG 3.0.На этот документ мы и будем опираться в дальнейшем изложении.16.09.2008С.Д.
Кузнецов. Базы данных.54 Понятие модели даСовременные модели данных (3)В ответ на публикацию Первого манифеста группа исследователей,близких к индустрии баз данных, в 1990 г. опубликовала документ«Манифест систем баз данных третьего поколения» (Второйманифест),который во многом направлен на защиту инвестиций крупных компанийпроизводителей программного обеспечения SQL-ориентированных СУБД.M. Stonebraker, L. Rowe, B. Lindsay, J. Gray, M. Carey, M. Brodie, Ph.Bernstein, D. Beech. “Third-Generation Data Base System Manifesto”.
Proc. IFIPWG 2.6 Conf. on Object-Oriented Databases, July 1990, ACM SIGMOD Record19, No. 3 (September 1990).Имеется русский перевод: Стоунбрейкер М. и др. “Системы баз данныхтретьего поколения: Манифест”, СУБД, No. 2, 1996,http://citforum.ru/database/classics/manifest/Соглашаясь с авторами Первого манифеста относительнопотребности обеспечения развитой системы типов данных в СУБД,авторы Второго манифеста утверждали, что можно добитьсяаналогичных результатов,не производя революцию в области технологии баз данных,а эволюционно развивая технологию SQL-ориентированных СУБД.16.09.2008С.Д. Кузнецов. Базы данных.55 Понятие модели даСовременные модели данных (4)За публикацией Второго манифеста последовалопоявление объектно-реляционных продуктов ведущихкомпаний-поставщиков SQL-ориентированных СУБД (InformixUniversal Server, Oracle8, IBM DB2 Universal Database).В 1999 г.
был принят стандарт языка SQL (SQL:1999), вкотором был зафиксирован ряд новых черт языка,придающих ему черты полноценной модели данных.В последнем принятом стандарте SQL:2003 эта модельуточнена и расширена.В пятой части курса мы достаточно подробно обсудимстандарт SQL, а здесь остановимся лишь на некоторыхособенностях модели данных SQL, отличающих ее отреляционной модели данных.16.09.2008С.Д. Кузнецов.
Базы данных.56 Понятие модели даСовременные модели данных (5)Итак, в начале 1990-х гг. были провозглашены дваманифеста, каждый из которых претендовал на рольпрограммы будущего развития технологии баз данных. В первом манифесте реляционная модель данныхотвергалась полностью, а во втором заменялась еще незрелой к тому временимоделью данных SQL, которая уже тогда была далека отреляционной модели.На защиту реляционной модели данных в ее первозданномвиде встали Кристофер Дейт и Хью Дарвен, опубликовавшиев 1995 г.
статью, под названием «Третий манифест» Hugh Darwen and C. J. Date: The Third Manifesto. ACMSIGMOD Record 24, No. 1 (March 1995). Имеется русский перевод: Х. Дарвин, К. Дейт. “Третийманифест”, СУБД, No. 1, 1996,http://citforum.ru/database/classics/third_manifesto/16.09.2008С.Д. Кузнецов. Базы данных.57 Понятие модели даСовременные модели данных (6)Третий манифест являлся одновременно наиболееконсервативным и наиболее радикальным.Консервативность Третьего манифеста заключается в том,что его авторы всеми силами утверждают необходимость идостаточность использования в системах базах данныхследующего поколения классической реляционной моделиданных.Радикальность состоит в том, чтоавторы полностью отрицают подходы, предлагаемые в первых двухманифестах, расценивая их как необоснованные, плохопроработанные, избыточные и даже вредные (за исключениемодной общей идеи о потребности обеспечения развитой системытипов);фактически, авторы полностью отбрасывают технологию,созданную индустрией баз данных за последние 25 лет, ипредлагают вернуться к истокам реляционной модели данных, т.е.начальным статьям Э.
Кодда.16.09.2008С.Д. Кузнецов. Базы данных.58 Понятие модели даСовременные модели данных (7)Позже Дейт и Дарвен написали книгу, первое издание которой вышло в 1998 г.под названиемвторое – в 2000 г. под названием«Databases, Types and the Relational Model: The Third Manifesto» в 2006 г.В этих книгах очень подробно излагается подход авторов к построению СУБД наоснове, как они утверждают, истинных идей Эдгара Кодда, изложенных им всвоих первых статьях про реляционную модель данных.Некоторые более поздние идеи Кодда относительно той же реляционноймодели авторами отвергаются.В любом случае, Кодд и Дарвен предлагают некоторый современный вариантреляционной модели данных«Foundation for Future Database Systems: The Third Manifesto» (имеется перевод второгоиздания на русский язык)и третье – под названием«Foundation for Object/Relational Databases: The Third Manifesto»,далее для определенности мы будем называть ее истинной реляционной моделью,который, безусловно, заслуживает внимания и изучения.В этом курсе мы ограничимся только кратким очерком основных черт этоймодели.16.09.2008С.Д.