КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Модели организации данных в Базе данных
Системы автоматизации Базы данных манипулируют с конкретной моделью организации данных на машинном носителе. Модель данных определяется способом организации данных, ограничениями целостности и множеством операций, допустимых над объектами организации данных. Соответственно модель данных разделяют на три составляющие: структурную, целостную и манипуляционную. При построении логической модели данных используются ниже перечисленные модели данных, поддерживаемые СУБД. К ранним (дореляционным) СУБД относятся системы, основанные на инвертированных списках, иерархические и сетевые. Эти системы исторически предшествовали реляционным системам, внутренняя организация которых во многом основана на использовании методов ранних систем. Системы, основанные на инвертированных списках. К числу наиболее известных и типичных представителей таких систем относятся Datacom/DB компании Applied Data Research, Inc. (ADR), ориентированная на использование на машинах основного класса фирмы IBM, и Adabas компании Software AG. Организация доступа к данным на основе инвертированных списков используется практически во всех современных реляционных СУБД, но в этих системах пользователи не имеют непосредственного доступа к инвертированным спискам (индексам). Структуры данных. База данных, организованная с помощью инвертированных списков, содержит хранимые таблицы, пути доступа к которым видны пользователям. Строки таблиц упорядочены системой в некоторой физической последовательности. Физическая упорядоченность строк всех таблиц может определяться и для всей Базы данных. Для каждой таблицы определяется произвольное число ключей поиска, для которых строятся индексы. Индексы автоматически поддерживаются системой, но явно видны пользователям. Иерархическая модель, имеет древовидную структуру с выраженными вертикальными связями подчинения нижнего уровня высшему уровню, что облегчает доступ к необходимой информации, но при условии, что все запросы имеют древовидную структуру. Иерархическая модель данных исторически была первой, на основе которой в конце 60-х – начале 70-х гг. ХХ в. были разработаны первые профессиональные СУБД: СУБД IMS (Information Management System) фирмы IBM, СУБД Tota, отечественные СУБД «ОКА», «ИНЭС». Структура данных. База данных с иерархической моделью данных строится из упорядоченного набора экземпляров структуры типа «дерево». Тип дерева состоит из одного «корневого» типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи. Сетевая модель является расширением иерархической модели путем дополнения горизонтальных связей. Направления этих связей не являются однозначными, что усложняет модель и СУБД. Сетевая модель широко применялась в 70-е гг. ХХ в. в первых СУБД, использовавшихся крупными корпорациями для создания информационных систем: СУБД IDMS – Integrated Database Management System компании Cullinet Software Inc, СУБД IDS, предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем и отечественные СУБД «СЕТЬ», «БАНК», «СЕТОР». Архитектура системы IDMS основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL), организации, ответственной за определение языка программирования Кобол. В отличие от иерархической модели, в сетевой модели объект-потомок может иметь любое количество объектов-предков, поэтому допускаются любые связи-отношения, в том числе и одноуровневые. В сетевой модели выделяют следующие определения: · тип записей – совокупность логически связанных элементов данных; · набор типов связей между записями – отношение «один ко многим» между двумя типами записей; · простая сеть – структура данных, в которой все бинарные отношения имеют отношения «один ко многим»; · сложная сеть – структура данных, в которой одно или несколько бинарных отношений имеют отношения «многие ко многим»; · тип записи связи – формальная запись, созданная для того, чтобы преобразовать сложную сеть в эквивалентную ей простую сеть. Сетевая СУБД состоит из одного или нескольких типов записей (типов информационных объектов) и набора типов связей между ними. Каждый тип записей представлен в Базе данных набором экземпляров записей данного типа. Аналогично каждый тип связи представлен набором экземпляров связей данного типа между конкретными экземплярами типов записей. Сетевую модель данных поддерживают СУБД dB Vista и др. Достоинства модели: более высокий уровень полноты модели, более высокий уровень равнозначности данных, сравнительно невысокие расходы на реализацию Базы данных. Недостатки: отсутствие математической теории построения модели; представление связей типа 1:1, 1:n, m:n; сложность обновления Базы данных. Реляционная модель представляется в виде совокупности таблиц, над которыми выполняются операции, формулируемые в терминах реляционной алгебры. Достоинством модели является сравнительная простота инструментальных средств ее поддержки, недостатком – жесткость структуры данных и зависимость скорости работы от размера Базы данных. Структура данных. Схема Базы данных (в структурном смысле) – это набор именованных схем отношений. Схема отношения – это именованное множество пар (имя атрибута, имя домена или типа, если понятие домена не поддерживается). В реляционной модели объекты-сущности предметной области представляются плоскими таблицами данных. Столбцы таблицы, называемые полями, соответствуют атрибутам объектов-сущностей. Множество атомарных значений атрибута называются доменом. Например, доменом для поля «Имя» является множество всех возможных имен. Строки таблицы представляющие собой различные сочетания значений полей из доменов, называются кортежами, иначе – записями, и соответствуют экземплярам объектов-сущностей. Ключевому атрибуту объекта-сущности, который идентифицирует конкретный экземпляр объекта, в таблице соответствует ключевое поле – ключ таблицы. Например, в таблице «Отделы» ключом может быть поле «Номер отдела» или поле «Наименование отдела». В тех случаях, когда конкретную запись таблицы идентифицирует значение не одного поля, а совокупность значений нескольких полей, тогда все эти поля считаются ключевыми, а ключ таблицы является составным. Например, в таблице «Сотрудники» составным ключом может быть совокупность полей «Фамилия», «Имя», «Отчество». Совокупность определенных для таблицы отношения полей, их свойства (ключи и пр.) составляют схему таблицы отношения. Значение первичного ключа уникально (не допускаются повторения), значения других полей могут повторяться. Например, в таблице «Отделы» может быть только одна запись с конкретным номером отдела, а в таблице «Сотрудники» конкретному отделу может соответствовать несколько записей сотрудников. Такой механизм обеспечивает связь типа «один ко многим» (рис. 1).
Таблица «Отделы»
Таблица «Сотрудники»
Рис. 1. Связь между таблицами по типу «один ко многим»
Манипулирование данными. Используется два фундаментальных механизма манипулирования реляционными Базами данных: · реляционная алгебра, механизм базируется в основном на классической теории множеств; · реляционное исчисление, механизм базируется на классическом логическом аппарате исчисления предикатов первого порядка. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных Баз данных: язык называется реляционным, если он обладает не меньшей выразительностью и мощностью, чем реляционная алгебра или реляционное исчисление. Ограничения целостности. В реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД. Первое требование называется требованием целостности сущностей. Объекту или сущности в реляционных Базах данных соответствуют кортежи отношений. Любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. любое отношение должно обладать первичным ключом. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений. Второе требование называется требованием целостности по ссылкам. При соблюдении нормализованности отношений сложные сущности представляются в реляционной Базе данных в виде нескольких кортежей нескольких отношений. Реляционную модель данных поддерживают различные версии СУБД: dBASE, FoxBASE, R:base, Oracle, Clipper, Paradox, MS Access. Достоинства модели: наличие строгой математической теории построения модели; полнота модели; равнозначность данных; возможность представления всех типов связей от 1:1 до m:n; легкость обновления Базы данных. Недостаток: большие затраты на реализацию модели. Появление реляционных СУБД стало важным шагом вперед по сравнению с иерархическими и сетевыми СУБД, в этих системах стали использоваться непроцедурные языки манипулирования данными, и была достигнута значительная степень независимости данных от обрабатывающих программ. Именно реляционные СУБД были программным инструментарием, на основе которого происходила массовая информатизация малых и средних предприятий и организаций в 80-х гг. ХХ в. В начале 90-х гг. ХХ в. реляционные СУБД стали стандартом для построения информационных систем. В то же время выяснился ряд недостатков реляционных систем. Во-первых, сама реляционная модель ограничена в представлении данных: · реляционная модель данных не допускает естественного представления данных со сложной (иерархической) структурой, поскольку в ее рамках возможно моделирование лишь с помощью плоских отношений (таблиц); все отношения принадлежат одному уровню, многие значимые связи между данными либо теряются, либо их поддержку приходится осуществлять в рамках конкретной прикладной программы; · в реляционной модели поля кортежа могут содержать лишь атомарные значения; однако в системах автоматизированного проектирования, геоинформационных системах, системах искусственного интеллекта оперируют со сложными структурированными объектами. Во-вторых, имеются определенные недостатки и в реализации тех возможностей, которые прямо не предусматриваются реляционной моделью, но стали непременным атрибутом всех современных СУБД: – цикл существования реляционной базы данных состоит в переходе от одного целостного состояния к другому; однако если пользователь вводит данные, формально удовлетворяющие ограничениям целостности, но не соответствующие реальному состоянию предметной области, предыдущее «истинное» значение данных будет утеряно; – реляционная СУБД выполняет над данными не только те действия, которые задает пользователь, но и дополнительные операции в соответствии с правилами, заложенными в Базу данных. Этот механизм реализуется с помощью триггеров, однако аппарат триггеров весьма сложен в отладке и полностью не реализован ни в одной системе. Постреляционная модель данных представляет собой расширенную реляционную модель, в которой отменено требование атомарности атрибутов. Поэтому постреляционную модель называют «не первой нормальной формой» или «многомерной базой данных». Она использует трехмерные структуры, позволяя хранить в полях таблицы другие таблицы. Тем самым расширяются возможности по описанию сложных объектов реального мира. В качестве языка запросов используется расширенный SQL, позволяющий извлекать сложные объекты из одной таблицы без операций соединения. Существует несколько коммерческих постреляционных СУБД, самыми известными из них являются системы Adabas, Pick и Universe. Объектно-ориентированные модели данных. В настоящее время общепринятого определения объектно-ориентированной модели данных не существует, говорят о неком «объектном» подходе к логическому представлению данных и о различных объектно-ориентированных способах его реализации. Структура данных. Структура объектной модели описывается с помощью трех ключевых понятий: · инкапсуляция – каждый объект обладает некоторым внутренним состоянием (хранит внутри себя запись данных), а также набором методов – процедур, с помощью которых можно получить доступ к данным, определяющим внутреннее состояние объекта, или изменить их; объекты рассматриваются как самостоятельные сущности, отделенные от внешнего мира; · наследование – подразумевает возможность создавать из классов объектов новые классы объекты, которые наследуют структуру и методы своих предков, добавляя к ним черты, отражающие их собственную индивидуальность; наследование может быть простым (один предок) и множественным (несколько предков); · полиморфизм – различные объекты могут по-разному реагировать на одинаковые внешние события в зависимости от того, как реализованы их методы. Манипулирования данными. В объектно-ориентированном программировании отсутствуют общие средства манипулирования данными. Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk, C++ или Java. Целостность данных. Для поддержания целостности объектно-ориентированный подход предлагает использовать следующие средства: – автоматическое поддержание отношений наследования; – возможность объявить некоторые поля данных и методы объекта как «скрытые», не видимые для других объектов, такие поля и методы используются только методами самого объекта; – создание процедур контроля целостности внутри объекта. Появление объектно-ориентированных СУБД вызвано потребностями программистов, которым были необходимы средства для хранения объектов, не помещавшихся в оперативной памяти компьютера. Также важна была задача сохранения состояния объектов между повторными запусками прикладной программы. Поэтому большинство СУБД представляют собой библиотеку, процедуры управления данными которой включаются в прикладную программу. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с Базой данных. Стандартным языком наиболее распространенных реляционных СУБД является язык SQL, который содержит средства SDL и DML и позволяет определять схему Базы данных и манипулировать данными. При этом именование объектов Базы данных поддерживается на языковом уровне. Компилятор SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов. SQL содержит специальные средства определения ограничений целостности Базы данных, которые хранятся в специальных таблицах-каталогах. Обеспечение контроля целостности Базы данных производится на языковом уровне, т.е. при компиляции операторов модификации Базы данных компилятор SQL на основании имеющихся в Базе данных ограничений целостности генерирует соответствующий программный код. Специальные операторы SQL позволяют определять представления Базы данных – хранимые в Базе данных запросы (результатом запроса к реляционной Базе Данных является таблица) с именованными столбцами. Для пользователя представление – также таблица, хранимая в Базе данных. С помощью представлений можно ограничить или наоборот расширить видимость Базы данных для конкретного пользователя. Поддержание представлений производится на языковом уровне. Авторизация доступа к объектам Базы данных производится на основе специального набора операторов SQL. Для выполнения операторов пользователь должен обладать различными правами. Пользователь, создавший таблицу Базы данных, обладает полным набором прав для работы с этой таблицей. В их число входит полномочие на передачу всех или части полномочий другим пользователям, включая права на передачу полномочий. Права пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне. Общие требования к СУБД: · использование для организации Баз данных ЭВМ, обладающих значительными ресурсами по производительности и объему памяти; · применение периферийных устройств, облегчающих работу пользователей с Базой данных (сканеров, средств ввода/вывода речевой информации и др.); · повышение доли выпуска многофайловых и программируемых СУБД; · развитие стандартных языков запросов и манипулирования данными; · совершенствование автоматизированных систем программирования, работающих в среде Баз данных под управлением СУБД; · создание унифицированных интерфейсов для доступа пользователей к Базам данных из различных систем программирования, текстовых редакторов, электронных таблиц, проблемно– и методо-ориентированных прикладных пакетов.
Дата добавления: 2014-01-11; Просмотров: 3539; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |