Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
217 Информационные технологии в ЭИС.doc
Скачиваний:
762
Добавлен:
26.02.2016
Размер:
1.72 Mб
Скачать

Рис 7.4. Пример иерархической модели представления данных в бд вуза.

Дерево представляет собой иерархию элементов, называемых узлами. Под элементами понимается список (совокупность, набор) атрибутов, описывающих объекты. В иерархической модели имеется корневой узел или просто корень дерева. Корень находится на самом верхнем уровне и не имеет узлов, стоящих выше него. У одного дерева может быть только один корень. Остальные узлы, называемые порожденными, связаны между собой следующим образом: каждый узел имеет исходный, находящийся на более высоком уровне. Так для нашего примера корнем является узел Учебная дисциплина, а для узла Учебная программа узел Учебная дисциплина является исходным. Если каждый узел может быть связан только с одним исходным узлом, то на последующем уровне он может иметь один, два и большее количество узлов, либо не иметь ни одного. В последнем случае узлы, не имеющие порожденных, называются листьями. В иерархии рассматривают уровни, на которых расположен тот или иной узел.

В общем случае иерархия должна удовлетворять следующим условиям:

  • исходный узел, из которого строится дерево, называется корневым узлом, или просто корнем, причем одно дерево может иметь только один корень.

  • узел содержит один или несколько атрибутов, описывающих объект в данном узле.

  • порожденные узлы могут добавляться в горизонтальном или вертикальном направлениях. Некоторые СУБД накладывают ограничения на количество уровней иерархии, поэтому при отображении концептуальной модели в логическую модель данных (иерархическую) следует учитывать технические возможности используемой СУБД.

  • доступ к порожденным узлам возможен только через исходный узел, поэтому существует только один путь доступа к каждому узлу,

  • теоретически возможно существование неограниченного числа экземпляров узла каждого уровня. При этом каждый экземпляр исходного узла начинает логическую запись.

  • между исходным узлом и порожденными узлами существует отношение 1:М и М:1.

Отметим, что достоинствами рассматриваемой модели являются простота понимания используемого принципа иерархии, обеспечение определенного уровня независимости данных, описание структуры как на логическом так физическим уровне.

К недостаткам такого вида модели можно отнести следующие: жесткая фиксированность взаимосвязей между элементами данных, вследствие чего любые изменения связей требуют изменения структуры; жесткая зависимость физической и логической организации данных; сложность отображения связей М:М (многим ко многим); иерархия в значительной степени усложняет операции включения информации о новых объектах в базе данных и удаления устаревшей; доступ к любому узлу возможен только через корневой. Указанные недостатки ограничивают применение иерархической структуры.

Сетевая модель данных означает представление данных в виде произвольного графа.

Допустим, нам необходимо графически представить отношения между объектами СТУДЕНТ, СТУДЕНЧЕСКИЙ КОЛЛЕКТИВ И СТУДЕНЧЕСКАЯ ГРУППА, КОМНАТА В ОБЩЕЖИТИИ И СТУДЕНТ.

Рис. 7.5. Пример простой сетевой модели данных.

Данная схема не является иерархической, порожденный элемент СТУДЕНТ имеет два исходных (СТУДЕНЧЕСКАЯ ГРУППА И КОМНАТА В ОБЩЕЖИТИИ). Такие отношения между объектами, в которых порожденный элемент имеет более одного исходного, описываются в виде сетевой структуры. Отличительная черта сетевой структуры от иерархической заключается в том, что любой элемент в сетевой структуре может быть связан с любым другим элементом.

База данных, описываемой сетевой моделью, состоит из нескольких областей. Каждая область состоит из записей, которые, в свою очередь, состоят из полей. Объединение записей в логическую структуру возможно не только по областям, но и с помощью так называемых наборов.

Набор - это экземпляр поименованной совокупности записей. Каждый тип набора представляет собой отношение между двумя или несколькими типами записей. Для каждого типа набора один тип записей может быть объявлен его владельцем и один или несколько других типов записей - членами набора. Каждый набор должен содержать один экземпляр записей, имеющей тип записи-владельца, и может содержать любое количество экземпляров каждого типа записей - членов набора. Например, набор можно использовать для объединения записей о студентах одной группы. Тогда тип набора можно определить как СОСТАВ ГРУППЫ с типом записи - владельца ГРУППА и типом записей - членов СТУДЕНТ.

Необходимо различать тип и экземпляр набора. Например, СТУДЕНТ - это тип записи, а строка символов «ИВАНОВ ИВАН ПЕТРОВИЧ, КОМН.23» - экземпляр типа записи СТУДЕНТ. В базе данных может храниться один или несколько экземпляров записи некоторого типа.

Существенное различие между сетевой и иерархической моделями данных состоит в том, что в сетевой модели каждая запись может участвовать в любом числе наборов. В сетевой модели, представленной двумя типами наборов, ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНУ И СТУДЕНТ ОБУЧАЕТСЯ ДИСЦИПЛИНЕ, запись - член ДИСЦИПЛИНА входит в оба типа наборов и по сути является связкой этих типов наборов. Кроме того, любая запись сетевой модели может играть роль как владельца, так и члена набора.

Достоинства модели также в том, что она имеет более высокий уровень полноты модели, равнозначности данных, сравнительно невысокие расходы на реализацию БД.

Недостатки сетевой модели: ее сложность, возможная потеря независимости данных при реорганизации базы данных, процедура составления прикладных программ может оказаться сложнее, чем в иерархической модели.

Реляционная модель основана на математическом понятии «отношение» (relation). Отношение - это декартово произведение доменов. Доменом в структуре БД называются некоторое множество полей (записей). Декартово произведение позволяет получить все возможные комбинации полей (записей), входящих в домены, т.е. установить все связи между структурными элементами БД. Пусть D1, D2, ...Dn - произвольные конечные множества.

Декартовым произведением этих множеств (D1, D2, D3, ......, Dn), которое обозначается (D1* D2*... *Dn) называется множество п-к вида: <d1,d2,....,dn>, где d1 D1, d2 D2,....,dn Dn.

Рассмотрим простейший пример. Пусть 1-ое множество состоит из двух элементов D1={а1, а2}, второе - из трех: D2 ={b1, b2, b3}. Тогда их декартово произведение есть: D1x D2={a1 b1, a1 b2, a1 b3, a2 b1, a2 b2, a2 b3}.

Отношением R, определенным на множествах D1, D2,....,Dn, называется подмножество декартова произведения D1*D2*...Dn. При этом множества D1, D2,...Dn называются - доменами отношения, а элементы декартова произведения - кортежами отношения. Число n определяет степень (арность) отношения, а количество кортежей его мощность.

В практике реляционных баз данных отношения представляются в виде двухмерной таблицы, в которой строка есть кортеж, каждый столбец соответствует только одной компоненте этого отношения (атрибутам). Каждый атрибут определен на некотором домене. Доменом называют множество атомарных значений. Несколько атрибутов отношения могут быть определены на одном и том же домене.

Такие таблицы обладают следующими свойствами:

  • каждый элемент таблицы представляет собой один элемент данных, повторяющиеся группы отсутствуют;

  • все столбцы в таблице однородные, т.е. элементы столбца имеют одинаковую природу;

  • в таблице нет двух одинаковых строк;

  • в операциях с такой таблицей ее строки и столбцы могут просматриваться в любом порядке и в любой последовательности безотносительно к их информационному содержанию и смыслу.

На рис. 7.6. приведен пример представления отношения СОТРУДНИК (таблица)

Атрибут Отдел. Схема отношений.

Кортеж (заголовок столбца) (строка заголовка)

(строка)

ФИО

Отдел

Должность

Дата рождения

Иванов И.И.

002

начальник

27.09.51

Петров П.В

001

заместитель

15.04.55

Сидоров А.И.

002

инженер

13.01.70

значение атрибутов

(значение поля в записи)

Рис 7.6. Представление отношения СОТРУДНИК.

Множество всех значений каждого атрибута отношения образует домен. Отношение СОТРУДНИК включает 4 домена. Домен 1 содержит фамилии всех сотрудников, домен 2- номера всех отделов фирмы, домен 3-название всех должностей, домен 4- даты рождения всех сотрудников. Каждый домен образует значения одного типа, например числовые или символьные.

Отношение СОТРУДНИК содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4-х элементов, каждый из которых из соответствующего домена. Каждому кортежу соответствует строка таблицы.

Схема отношения представляет собой список имен атрибутов. Например, для приведенного примера схема отношения имеет вид СОТРУДНИК (ФИО, ОТДЕЛ, ДОЛЖНОСТЬ, ДАТА РОЖДЕНИЯ).

Ключом отношения или первичным ключом называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей.

Например, в отношении СОТРУДНИК (ФИО, ОТДЕЛ, ДОЛЖНОСТЬ, ДАТА РОЖДЕНИЯ ) ключевым является атрибут ФИО. Ключ может быть СОСТАВНЫМ, т.е. состоять из нескольких атрибутов.

Существует также понятие внешнего ключа. С помощью внешних ключей устанавливаются связи между отношениями. Например, имеются два отношения СТУДЕНТ (ФИО, ГРУППА, СПЕЦИАЛЬНОСТЬ) и ПРЕДМЕТ (НАЗВАНИЕ ПРЕДМЕТА, ЧАСЫ), которые связаны отношением СТУДЕНТ- ПРЕДМЕТ (ФИО, НАЗВАНИЕ ПРЕДМЕТА, ОЦЕНКА). На рис 7.7. показана связь отношений. В связующем отношении атрибуты ФИО и НАЗВАНИЕ ПРЕДМЕТА образует составной ключ. Эти атрибуты представляют собой внешние ключи, являющиеся первичными ключами других отношений.

НАЗВАНИЕ ЧАСЫ

ПРЕДМЕТА

ФИО

ГРУП-ПА

СПЕЦИАЛЬ-НОСТЬ

ключ ключ

ФИО

НАЗВАНИЕ ПРЕДМЕТА

ОЦЕНКА

внешний ключ

Рис. 7.7. Связь отношений.

Реляционная модель накладывает на внешние ключи ограничения для обеспечения целостности данных, называемое ссылочной целостностью. Это означает, что каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.

Реляционная модель данных некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы реляционной модели данных и формы их представления приведены в таблице 7.1

Элементы реляционной модели

Таблица 7.1

Элемент реляционной модели

Формы представления

Отношение

Таблица

Схема отношения

Строка заголовков таблицы

Кортеж

Строка таблицы

Сущность

Описание свойств объекта

Атрибут

Заголовок столбца таблицы

Первичный ключ

Один или несколько атрибутов

Тип данных

Тип значений элементов таблицы

Наличие строгой математической основы для построения реляционной модели позволяет использовать языки манипулировать данными на основе реляционной алгебры и исчисления предикатов. В языках реляционной алгебры (процедурные языки) используются обычные операции над множествами (объединение, пересечение, разность, декартово произведение) и специальные реляционные операции (проекция, соединение, выбор). В языках исчисления предикатов (декларативные языки) применяются операторы сравнения: =, >, , , < и логические функции: дизъюнкция (), конъюнкция (), инверсия (]), ампликация (), квантор общности (), квантор существования () и др.

Преимущества реляционной модели данных: простота логической модели (таблицы привычны для представления информации); гибкость системы защиты (для каждого отношения может быть задана правомерность доступа), независимость данных; возможность построения простого языка манипулирования данными с помощью математической теории реляционной алгебры (алгебры отношений); равнозначность данных; легкость обновления базы данных; возможность представления всех типов связей от 1 : 1 до М : М. Недостатком являются большие затраты на реализацию модели.

Иерархическую модель представления данных поддерживают СУБД РС Focus, Teop Up, Data Edge; сетевую - dB Vista III, реляционную - dbase, Foxbase, Oracle, Сlipper, Paradоx, MS Access.

Среди перечисленных выше моделей наиболее популярны в настоящее время реляционные модели.

РЕЗЮМЕ.

  • Для централизованного управления данными, хранимыми в базе, доступа к ним и поддержания их в состоянии, соответствующем состоянию предметной области, используются системы управления базами данных (СУБД). СУБД - это совокупность программных и языковых средств для создания, ведения и совместного использования базы данных многими пользователями.

  • Основными средствами СУБД являются средства конструирования экранных форм, средства создания запросов для выборки данных, средства создания отчетов из БД, языковые средства (макросы, встроенные языки программирования, язык запроса), средства создания приложений пользователя.

  • СУБД выполняет три группы функций: управляющие, обрабатывающие и сервисные. Управление заключается в выполнении операций над файлами, записями (кортежами), полями записей (атрибутами). Обработка предусматривает отладку и выполнение прикладных программ операций с данными. Сервисная функция поддерживает ряд вспомогательных операций.

  • К признакам классификации современных СУБД относятся: среда функционирования (класс компьютеров и операционных систем), тип поддерживаемой в СУБД модели данных, наличие развитых диалоговых средств конструирования, возможность работы с нетрадиционными данными, уровень использования, возможности интеграции данных из разных СУБД, использование объектной технологии OLE 2.0., степень поддержки языка SQL и возможности работы с сервером БД (SQL - сервером), наличие средств отчуждаемых приложений.

  • Модель данных - это совокупность взаимосвязанных структур данных и операций над этими структурами. Известны три основных типа моделей: иерархическая, сетевая и реляционная. Иерархическая модель данных организует данные в виде древовидной структуры, сетевая - в виде произвольного графа, реляционная - в виде двумерной таблицы. Наиболее популярна реляционная модель данных.

Вопросы для самоконтроля и задания.

  1. Поясните назначение СУБД.

  2. Какими средствами обладают СУБД?

  3. Назовите признаки классификации СУБД.

  4. Перечислите основные факторы выбора СУБД.

  5. Что такое транзакция?

  6. Охарактеризуйте основные компоненты СУБД.

  7. Чем обусловлена необходимость применения СУБД.

  8. Как классифицируются языки программирования, используемые в СУБД.

  9. Что такое модель данных?

  10. Расскажите об основных моделях баз данных.

  11. Приведите примеры сетевой и иерархической моделей данных.

  12. Раскройте основные понятия реляционной модели данных.

  13. Почему распространены реляционные модели данных?

  14. Пусть D1={a1, a2}, в то же время D2={b1}. Постройте декартово произведение D1xD2xD1.

  15. Cамостоятельно изучите работу с таблицами в СУБД Access и создайте базовые таблицы согласно следующего задания:

Руководитель малого предприятия, выполняющего сборку компьютеров из готовых компонентов, заказал разработку базы данных, основанной на двух таблицах комплектующих. Одна таблица содержит данные, которые могут отображаться для клиентов при согласовании спецификации изделия, - в ней указаны розничные цены на компоненты. Вторая таблица предназначена для анализа результатов деятельности предприятия - в ней содержатся оптовые цены на компоненты и краткая информация о поставщиках.

Первая таблица. Вторая таблица.

Компонент

Компонент

Модель

Модель

Основной параметр

Цена оптовая

Цена

Поставщик

Телефон

Адрес

Примечание

  1. Отношение можно трактовать как традиционный файл. Укажите аналоги терминов «атрибут» и «кортеж».

Тесты для самоконтроля знаний.

  1. Какие средства являются средствами СУБД?

a) средства технического обслуживания.

b) средства описания структуры БД.

c) средства контроля.

d) технические средства.

  1. все ответы верны.

  1. Чем обусловлена необходимость применения СУБД?

a) управлением баз данных.

b) узкой специализацией задач.

c) разработкой специального программного обеспечения.

d) поддержкой моделей данных.

  1. все ответы правильны.

  1. Факторами выбора СУБД являются:

  1. объем обрабатываемой информации.

b) конфигурация технического и базового программного обеспечений.

c) время доступа к данным.

d) все ответы правильные.

  1. языковые средства.

  1. Какой признак классификации лежит в основе деления СУБД на локальные, с параллельной обработкой данных?

a) среда функционирования.

b) тип поддерживаемой в СУБД модели данных.

c) наличие развитых диалоговых средств конструирования.

d) уровень использования.

  1. возможность работы с нетрадиционными данными.

  1. Определите компонент архитектуры СУБД, который осуществляет организацию БД на разных уровнях абстракции данных.

а) средства представления данных в БД.

b) средства манипулирования данных.

c) интерфейсы пользователя.

d) администратор БД.

  1. коммуникационные интерфейсы.

  1. Дайте определение модели данных. Это -

a) некоторая абстракция явления, процесса, сущности.

b) формализованное представление входных и выходных параметров.

c) совокупность взаимосвязанных структур данных и операции над этими структурами.

d) уменьшенная копия объекта.

  1. все ответы правильные.

  1. Какие типы моделей данных Вы знаете?

a) иерархическая.

b) сетевая.

c) реляционная.

d) объектно-ориентированная

e) все ответы верны.

  1. В какой модели данных каждая порожденная вершина (узел) имеет только одну порождающую?

a) иерархической.

b) древовидной.

c) сетевой.

d) реляционной.

e) никакой.

  1. В какой модели данных возможна потеря независимости данных при реорганизации БД?

    1. иерархической

b) сетевой

с) объектно-ориентированной

d) реляционной

е) никакой

  1. Какое преимущество реляционной модели данных позволяют использовать языки манипулирования данными на основе реляционной алгебры и исчисления предикатов?

  1. простота логической модели

  2. равнозначность данных

c) наличие строгой математической основы

d) легкость обновления базы данных

e) гибкость системы защиты

Карта ответов на тесты самоконтроля по теме 7.

Номер вопроса

Правильный ответ

Ссылка на тему (подтему), поясняющая правильный ответ

1

B

7.1

2

C

7.1

3

B

7.1

4

D

7.2

5

A

7.1

6

C

7.3

7

E

7.3

8

A

7.3

9

B

7.3

10

C

7.3