- •Функции субд.
- •Проектирование.
- •Реляционная и объектно-реляционная модели данных субд.
- •Реляционная алгебра.
- •Операции реляционной алгебры.
- •Взаимосвязь операций реляционной алгебры.
- •Нормальные формы отношений. 1нф, 2нф, 3нф, бкнф.
- •Приведение к третьей нормальной форме:
- •Представление операций реляционной алгебры средствами языка sql.
- •Структура языка sql. Оператор select. Типы соединений таблиц.
- •Соединение в sql.
- •Подзапросы в языке sql. Подзапросы с операторами select, update, insert, delete.
Проектирование.
Логическое проектирование базы данных – это процесс построения концептуальной модели БД, в результате которого из предметной области выделяются основные сущности, их атрибуты и связи между ними. Процесс концепткального проектирвоания должен быть независим от выбранной СУБД и модели представления данных физического уровня.
Физическое проектирование базы данных- процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а такжевсе связанные с этим ограничения целостности и средства защиты.Как правило, основной целью физического проектирования базы данных является описание способафизической реализации ее концептуальной схемы.
Реляционная и объектно-реляционная модели данных субд.
Модель данных – формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает три аспекта:
аспект структуры – совокупность средств допустимых типов и логических структур данных в базе данных;
аспект манипуляции – множество операций, применимых к допустимому состоянию базы данных для поиска, модификации (переход между допустимыми состояниями) и извлечения данных;
аспект целостности – множество ограничений целостности, определяющих множество допустимых состояний БД.
Реляционная модель – разработанная Э. Коддом логическая модель данных, описывающая:
аспект структуры – данные представляют собор набор отношений;
аспект манипуляции – операции манипуляции на основе реляционной алгебры и реляционного исчисления;
аспект целостности – ограничения целостности: сущностей и ссылочной.
Примеры СУБД: Access, FoxPro, Clipper.
Объектная модель – логическая модель, в которой под БД понимается как совокупность классов, а под классом - совокупность объектов этого класса. Аспекты объектной модели:
аспект структуры – два основных типа объектов: атомарные объектные типы и объектные типы коллекций;
аспект структуры – алгебра типов с возможностью задания прикладных программ для конкретного типа;
аспект целостности – ограничения целостности: консистентности и ссылочной.
Примеры СУБД: InterSystems Cache.
Объектно-реляционная СУБД - реляционная СУБД, поддерживающая некоторые технологии, реализующие объектно-ориентированный подход к данным. Разница между объектными СУБД и объектно-реляционными СУБД в том, что в первом случае СУБД изначально объектно-ориентированная, а во втором объекты являются лишь надстройкой над реляционной СУБД.
Характерные свойства ОРСУБД:
комплексные данные;
наследование типа;
объектное поведение.
Примеры СУБД: Oracle Database, PostgreSQL.
XML базы данных. DTD и XML Shema
XML– метаязык разметки, фактически представляющий собой свод общих синтаксических правил. И предназначенный для хранения структурированных данных, обмена информацией между программами и создания на его основе более специализированных языков разметки.
XML-документы разделяются на:
ориентированные на документы, в которых в пределах любого тега допускается свободное использование текста при удовлетворении требований на вложенность, а XML используется больше для разметки. Например,
<organization type=”education” >
<name>
<b>НИЯУ</b>«МИФИ»
</name>
</organization>
ориентированные на данные, в которых имеется строгая последовательность тегов, в котором каждый может быть либо групповым (включающим дочерние), либо конечным (включающим неразмеченный текст). Например,
<organization type=”education” >
<name>НИЯУ«МИФИ»</name>
<license>1234567890</license>
</organization>
Для описания схемы (структуры) XML-документа используются:
DTD, описывающий схему документа для конкретного класса документов посредством определения элементов и атрибутов. Элементы определяют разрешенный список элементов в пределах документа, а также иерархию между ними. Атрибуты задают разрешенный список атрибутов для конкретного элемента и их тип.
<!ELEMENTpeople_list (person*)>
<!ELEMENT person (name, birthdate?, gender?)>
<!ELEMENT name (#PCDATA) >
<!ELEMENT birthdate (#PCDATA) >
<!ELEMENT gender (#PCDATA) >
XMLSchema, созданная специально для описания классов XML-документов. В отличие от DTD XMLSchemaопределяет схему XML документа в форме достаточной для генерации иерархий классов в современных языках программирования.
<xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="country" type="country"/>
<xs:complexType name="country">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="population" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
«Native» XML базы данных позволяют работу с хранилищем как с чистым XML. В роли базы данных выступает XML-документ. Схема БД задается через XMLSchema, а запросы выполняются посредством XQuery и XPath. СУБД:
BaseX;
eXist;
MarkLogic Server;
Sedna.
Многие современные БД имеют тип XML, позволяющий встраивание фрагмента XML документа (без корневого тега) в качестве столбца таблицы и выполнять к нему запросу на XQuery. СУБД:
MS SQL;
DB2;
Oracle.
