Лекция. Базы данных. Модели представления данных (832420), страница 2
Текст из файла (страница 2)
Былиразработаны альтернативные модели БД.Сетевая модель• Сетевая модель базы данных быларазработана для того, чтобы болееэффективно представлять сложныеотношения данных, чем это можно былосделать в иерархической модели, а такжедля улучшения производительности БД идля стандартизации баз данных.Сетевая модель• Недостаток стандартизации вызывалнарекания программистов и прикладныхразработчиков, поскольку это создавалопроблемы с переносимостью приложений.• Отсутствие стандартных понятий икомпонентов мешало поиску наилучшихмоделей БД.Сетевая модель• Чтобы разработать стандарты для баз данных,в 1971 году была созвана конференцияConference on Data Systems Languages(CODASYL — постоянно действующаяконференция по языкам обработки данных).• Группа CODASYL изначально быласформирована пользователями ипроизводителями компьютеров дляразработки стандарта COBOL.Сетевая модель• Рекомендации COBOL CODASYL быливпоследствии приняты институтом AmericanNational Standards Institute в качествестандарта на спецификацию COBOL, чтопривело к появлению стандарта ANSICOBOL.Сетевая модель• После успешной разработки стандартаCOBOL группа CODASYL вознамериласьсделать то же самое в области баз данных,для чего была создана группа Database TaskGroup (DBTG, рабочая группа по базамданных).• Группа DBTG должна была разработатьстандартное описание среды, облегчающеесоздание БД и манипулирование данными.Ключевые компоненты БД• Схема - абстрактная организация базыданных с точки зрения администратора БД.• В эту схему были включены определенияимени базы данных, типа каждой записи икомпонентов, которые заполняли этизаписи.Ключевые компоненты БД• Подсхема, определяющая фрагмент базыданных, "видимый" прикладнымипрограммами, которые фактическиизвлекают необходимую информацию избазы данных.• Определения подсхемы позволяют всемприкладным программам упростить вызовподсхемы, необходимой для доступа ксоответствующему файлу (файлам) БД.Ключевые компоненты БД• Язык управления данными (datamanagement language), предназначенныйдля определения свойств данных и ихструктуры, чтобы можно быломанипулировать данными.Ключевые компоненты БД• Схема языка определения данных (DDL,Data Definition Language), которая позволяетадминистратору определять компонентысхемы.• Подсхема DDL, дающая возможностьприкладным программистам определитькомпоненты БД, которые будутиспользоваться.Ключевые компоненты БД• Язык манипулирования данными (DML,data manipulation language) для работы ссодержимым БД.• Комитет ANSI Standards Planning andRequirements Committee (SPARC) в 1975 годурасширил стандарты БД.Особенности сетевой модели• Как и в случае иерархической модели,пользователь воспринимает БД каксовокупность записей, между которымисуществует связь 1:М.• Однако в отличие от иерархической модели,записи сетевой модели могут иметь болеечем одного предка.
Поэтому такие частовстречающиеся связи легко описываютсясредствами сетевой модели.Особенности сетевой моделиКлиентыСлужащиеAcmeMfg.ТоварыBillAdams#112963ЗаказыSize 4WidgetОсобенности сетевой модели• По терминологии сетевых БД связьназывается множеством (set).• Каждое множество состоит как минимум издвух типов записей: запись-владелец(owner), которая в иерархической моделисоответствует предку, и запись-член(member), которая соответствует потомку виерархической модели.Особенности сетевой модели• Различие между иерархической и сетевоймоделями состоит в том, что в последней,при некоторых условиях, запись (какзапись-член) может появляться более чем водном множестве.• Другими словами, запись-член можетиметь несколько записей-владельцев.Множество представляет связь 1:М междузаписью-владельцем и записью-членом.Преимущества модели• Концептуальная простота.• Как и в иерархической модели, абстрактноепредставление базы данных являетсядостаточно простым, что упрощаетпроектирование.Преимущества модели• Поддержка других типов связей.
Связь M:Nпроще реализуется в сетевой модели, чем виерархической.• К примеру, сетевая база данныхобрабатывает связь "данный товар можетбыть продан множеству клиентов, а данныйклиент может сделать множество покупок"проще, поскольку в ней допускаетсяналичие нескольких "владельцев" записи.Преимущества модели• Гибкий доступ к данным. Гибкость доступа кданным в сетевой модели значительно выше,чем в иерархической модели и в системахфайлов.• Любое приложение может получить доступ кзаписи-владельцу и всем записям-членамвнутри множества. Если запись-член имеетдвух или более владельцев можно напрямуюперейти от одного владельца к другому.Преимущества модели• Обеспечение целостности базы данных.• Сетевая модель способствует соблюдениюцелостности базы данных, посколькупользователь должен, прежде всего,определить запись-владельца, а уже потомзаписи-члены (запись-член не можетсуществовать без записи-владельца).Преимущества модели• Сложность системы в целом.• Обеспечение целостности и эффективность,с которой сетевая БД управляетотношениями, иногда становятся причинойсложности всей системы.
Так же как ииерархическая, сетевая модельпредоставляет навигационные средствадоступа к данным, когда доступ к записиосуществляется за один раз.Преимущества модели• Независимость данных. В сетевой моделиобеспечена достаточная независимостьданных, которая частично избавляет отпрограммирования сложных деталей,связанных с методами физического храненияинформации.• Изменения в свойствах данных не потребуютпеределки тех участков прикладныхпрограмм, где выполняется доступ к данным.Преимущества модели• Соответствие стандартам.• Возникновение сетевой модели, покрайней мере, в некоторой части, связаносо стандартами, разработанными ипринятыми в семидесятых годахдвадцатого века. Эти стандарты, включаяDDL и DML, значительно улучшиливозможности администрирования базданных, а также их переносимость.Недостатки модели• Администраторы БД, программисты иконечные пользователи для получениядоступа к данным должны хорошо знатьвнутреннюю структуру базы.• Сетевую модель базы данных, как ииерархическую, нельзя считатьдружественной системой.Недостатки модели• Недостаточная структурнаянезависимость.• Поскольку сетевая модель базы данныхтакже обеспечивает доступ к данным спомощью средств навигации, то в ней, как ив иерархической модели, труднопроизводить структурные изменения, анекоторые из них просто невозможны.Недостатки модели• Если в структуре БД делаются какие-тоизменения, то придется проверить всеприкладные программы, перед тем какразрешить им доступ к БД.
В конечномсчете, хотя в сетевой модели и достигаетсянезависимость по данным, все же она необеспечивает структурной независимости.Реляционная модель данных• В реляционной модели все данные,доступные пользователю, организованны ввиде таблиц, а все операции над даннымисводятся к операциям над этими таблицами• Реляционная СУБД способна реализоватьотношения предок/потомок, однако этиотношения представлены исключительнозначениями данных, содержащихся втаблицахРеляционная модель данных• Каждая таблица (table) представляет собойматрицу, содержащую наборпересекающихся строк и столбцов(row/columns).• Таблицы, которые также называютсяотношениями (relation), связаны друг сдругом через общие свойства объекта.Реляционная модель данных• Тип связи (1:1, 1:М или M:N) частоотображается в реляционной схеме (схемеотношений).• В реляционной схеме показываютсясвязанные поля и тип связи.Реляционная модель данных• В реляционной таблице хранятся наборысвязанных логических объектов (сущностей,entities).
В этом отношении таблицареляционной базы данных имеет сходство сфайлом.• Важное отличие от файла: таблицаобеспечивает полную независимость поданным, а также структурную независимость,поскольку является исключительно логическойструктурой.Реляционная модель данных• Пользователя и проектировщикасовершенно не касается, каким образомданные физически хранятся в базе данных;здесь принимается в расчет только ихсобственное представление о структуреданных.• Это свойство реляционной модели сталоисточником настоящей революции в базахданных.Преимущества модели• Структурная независимость• Поскольку реляционная модель базыданных не использует навигационнуюсхему доступа к данным, маршрут доступа кданным не имеет значения дляпроектировщиков, программистов иконечных пользователей реляционнойбазы данных.Преимущества модели• Изменения в структуре реляционной БД невлияют на доступ к данным со стороныСУБД.• В реляционной модели базы данныхдостигается структурная независимость, несвойственная сетевым и иерархическиммоделям.Преимущества модели• Концептуальная простота• На концептуальном уровне реляционнаямодель еще более проста для понимания,чем ее предшественники.• Реляционная модель позволяет неучитывать подробности физическогохранения данных.Преимущества модели• Можно целиком сосредоточиться налогическом представлении базы данных,т.е.
можно уделить большее вниманиенашему естественному представлению охранении данных, а не популярному, но"трудно постижимому" методу «взгляда» наданные со стороны компьютера.Преимущества модели• Простота проектирования, реализации,управления и использования.• Поскольку в реляционной модели достигаютсяи независимость по данным, и структурнаянезависимость, становится прощепроектировать базу и управлять еесодержимым (нерегламентированныезапросы, мощная система управления базойданных).Недостатки модели• Существенные требования коборудованию и системномупрограммному обеспечению.• Система с реляционной базой данных припрочих равных условиях будет работатьмедленнее, чем какая-либо другая.Недостатки модели• Возможность "скороспелых" проектов иреализаций.• Относительно малоподготовленныйчеловек может легко создать искусныеотчеты и запросы, не утруждая себятщательным проектированием БД.Недостатки модели• По мере роста БД пробелы впроектировании начинают замедлятьработу системы и могут привести каномалиям в данных, которые ранеевстречались лишь в системах файлов.Недостатки модели• Опасность возникновения проблемы"информационных островков".• Автономия конечного пользователя можетстать причиной разработки подмножествбазы данных, которые становятсясобственностью подразделений илиотдельных лиц.Недостатки модели• Разрастание таких подмножеств баз данныхможет вызвать проблему"информационных островков",свойственную системам файлов, с такой жетенденцией к несовместимости данных,вызывающей проблемы структурированияинформации и ее верификации.Модель "сущность-связь"• Быстрое увеличение требований ктранзакциям и хранимой информации велок созданию более сложных структур базыданных, таким образом стимулируяпоявление все более изощренных иэффективных инструментальных средствпроектирования БДМодель "сущность-связь"• Хотя реляционная модель была спонятийной точки зрения гораздо прощеиерархической и сетевой моделей, еедостоинства все же были не столь велики,чтобы позволить ей стать эффективныминструментом проектирования.Модель "сущность-связь"• Поскольку проще исследовать структуруграфически, чем описывать ее в текстовойформе, проектировщики БД посчиталиудобным использовать соответствующиеизобразительные средства, в которыхлогические объекты (сущности, entity) и ихсвязи (relationship) могли изображатьсяграфическими средствами.Модель "сущность-связь"• Модель "сущность-связь" (ER-модель) даетграфическое представление логическихобъектов (сущностей) и их отношений вструктуре базы данных.• Именно такое графическое представлениеданных сделало ER-диаграммыпопулярным средством на концептуальномуровне моделирования данных.Основные понятия• В ER-диаграмме используется графическоепредставление модели компонентов базыданных.• В ER-модели сущность представлена в видепрямоугольника.