МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE ТЕМА 6.2. ВИДЫ МОДЕЛЕЙ ДАННЫХ Цели: ознакомить с основными структурами данных; выяснить основные свойства реляционной модели данных. Оглавление 6.2.1. 6.2.2. 6.2.3. 6.2.4. Иерархическая модель Сетевая модель Реляционная модель Свойства реляционной модели Версия для Хрестоматия Практикумы Презентации Тьюторы Тесты печати 6.2.1. Иерархическая модель Модель данных – совокупность структур данных и операций их обработки. Известны три основных структуры базы данных: иерархическая, сетевая и реляционная. Рассмотрим основные особенности этих структур. В иерархической модели данные распределены по уровням подчиненности. На верхнем (корневом) уровне расположен один-единственный объект. Ему подчиняется несколько объектов 2-го уровня. Каждому объекту 2-го уровня подчиняется несколько объектов 3-го уровня и т. д. Рассмотрим примеры иерархических моделей. Графически в обобщенном виде модель изображается в виде дерева, элементами которого являются узлы, распределенные по уровням, и дуги (рис. 1). Узел представляет информационную модель объекта, находящегося на данном уровне иерархии. Дуги показывают связи между объектами разных уровней. 1 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE Рис. 1. Графическое изображение иерархической модели в обобщенном виде Сформулируем основные свойства иерархической модели. Модель имеет только одну вершину 1-го уровня, называемую корнем ; Между узлами двух соседних уровней установлены следующие отношения: каждый узел нижнего уровня связан только с одним узлом верхнего уровня, но каждый узел верхнего уровня связан с несколькими узлами нижнего уровня. Такая связь называется « один-ко-многим », условно записывается как соотношение 1:М. Узлы последнего нижнего уровня не имеют подчиненных связей. Каждый узел имеет имя (идентификатор). Примером иерархической модели данных является структура каталога, отражающая информацию о хранящихся на компьютере файлах. Эта структура представляет совокупность папок и файлов, распределенных по уровням вложенности. Корневой папкой является жесткий диск. Иерархической моделью данных является также генеалогическое дерево, показывающее наследственные связи между родственниками. 2 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE Рис. 2. Иерархическое дерево папок 6.2.2. Сетевая модель В сетевой модели данных при тех же основных понятиях (уровень, узел, связь) каждый узел одного уровня может быть связан с любым количеством узлов другого уровня. Нет корневого узла. 3 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE 6.2.3. Реляционная модель Таблица является одним из наиболее удобных и привычных для человека способов представления данных. Это свойство и определило основу реляционной модели данных, на которую сориентировано большинство современных СУБД. Реляционная модель данных представляет собой совокупность таблиц с установленными между ними связями. Название «реляционная» происходит от английского слова relation – отношение. Этот термин указывает, что модель отражает отношения составляющих ее частей. В реляционной модели каждая таблица описывает один класс объектов. Рассмотрим таблицу, в которой хранятся сведения о студентах (номер личного дела, фамилия, имя, отчество, дата рождения) (табл. 1). Такая таблица описывает класс объектов «Студенты» Таблица 1 . Студенты Номер личного дела Фамилия Имя Отчество Дата рождения К-25 Сомов Михаил Александрович 13.10.91 М-20 Мухин Алексей Вячеславович 30.03.90 У-7 Светлова Татьяна Леонидовна 24.08.91 И-33 Иванова Елена Сергеевна 14.02.89 Игнатьев Анастасия Александровна 11.11.90 Ф-3 а Каждый столбец в такой таблице называется полем. Верхняя строка таблицы описывает параметры объекта и отображает структуру записи. Каждая последующая строка является записью . 6.2.4. Свойства реляционной модели Реляционная модель данных имеет следующие свойства: 1. Каждый элемент таблицы – один элемент данных. В таблицах ниже показано правильное и неправильное представление данных. 4 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE ПРАВИЛЬНО НЕПРАВИЛЬНО Марка Цвет автомоб иля автомоб иля LADA112 Марка Цвет Нептун Мокрый асфальт Серебристый металлик LADA112 Нептун LADA-112 Мокрый асфальт LADA -112 Серебристый металлик 2. Все элементы одного столбца (поля) имеют (числовой, символьный и т.п.), формат и смысл. одинаковый тип Данное свойство указывает, что в одном столбце таблицы не могут содержаться данные разных типов, например, и текст, и числа. Кроме того, данные одного типа (например, дата) должны иметь одинаковый формат, т.е. нельзя в одной строке записать дату в виде 8 сентября 2003 года, а в другой – 23.11.2001. И, наконец, все данные одного столбца должны иметь одинаковый смысл. Иначе говоря, если для столбца установлен тип Дата, то она должна для всех записей означать, например, дату рождения или дату получения паспорта. 3. Каждый столбец (поле) имеет уникальное имя. Это свойство означает, что в таблице не может быть столбца, не имеющего имени, и не может быть двух столбцов с одинаковыми именами. В разных таблицах одной модели одинаковые имена допускаются, но не желательны. 4. Одинаковые строки в таблице отсутствуют. Это означает, что каждая строка описывает конкретный объект. Если, например, в базе данных описывают автомобили, то в реальной жизни вполне допустимо, что два автомобиля имеют одинаковые характеристики: и марку, и цвет, и объем двигателя, и пр., потому что с конвейера действительно сходят автомобили-близнецы. И все-таки, чтобы различить два одинаковых автомобиля, вводят специальный параметр – заводской номер двигателя. Две, по сути, одинаковые записи будут отличаться только заводским номером двигателя. 5. Порядок следования строк в таблице может быть произвольным. Это означает, что информация о каждом объекте одного класса не зависит от информации о другом объекте этого класса. 6. Каждая таблица должна иметь ключ. Ключ (ключевой элемент) – поле или совокупность полей, которые единственным образом определяют каждую строку (запись) в таблице. Таким образом, все строки таблицы являются уникальными, т.е. не может быть строк с одинаковыми ключами. Например, в табл. 1 в качестве ключевого поля можно 5 МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ INTERNATIONAL BANKING INSTITUTE выбрать поле «Номер личного дела», а другие поля в качестве ключа выбрать нельзя, потому что значения в них могут повторяться. 7. Разные таблицы, входящие в модель данных, могут характеризоваться разным количеством полей и записей. Каждая таблица описывает определенный класс объектов, который может характеризоваться своим набором параметров, и, соответственно, таблицы могут иметь разную структуру. Рассмотрим приведенную выше табл. 1, в которой хранятся сведения о студентах. Представленная табл. 1 модель данных является реляционной, т. к. она удовлетворяет всем перечисленным свойствам реляционных таблиц. В каждой ячейке таблицы записано только одно значение какого-либо признака (свойство 1). Информация в каждом столбце имеет одинаковый тип, формат записи и смысл (свойство 2). Заголовки столбцов имеют разные имена (свойство 3). Одинаковые строки отсутствуют (свойство 4). Сведения об одном ученике никак не зависит от сведений о других учениках, а следовательно, строки можно расположить в любом порядке (свойство 5). Мы уже обсуждали, какое поле можно выбрать в качестве ключа (свойство 6). Над данной моделью базы удобно производить следующие действия: сортировку данных (например, по алфавиту); выборку данных по группам (например, по датам рождения фамилиям); осуществлять поиск записей (например, по фамилиям) и т. д. 6 или по