Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для Белаш / Лекции / 4 - Разработка структуры БД.doc
Скачиваний:
1
Добавлен:
07.08.2024
Размер:
249.34 Кб
Скачать

12

Разработка структуры бд Проектирование логической структуры бд

На предыдущем этапе разработки была создана концептуальная модель данных.

Хотя концептуальная модель данных является первым этапом структуризации данных, она выполнена в терминах предметной области (описывает объекты и взаимосвязи объектов в предметной области) и еще не описывает:

  • как данные будут храниться в БД;

  • какова будет структура БД;

  • в какой СУБД можно будет реализовать созданную структуру БД.

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

Речь идет не о конкретной СУБД, а о типе СУБД, о типе модели данных, поддерживаемой СУБД.

Каждая СУБД поддерживает определенную модель данных.

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

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

Модели данных, поддерживаемые субд

Модель данных, поддерживаемая СУБД, – совокупность структур данных для определения логической структуры БД.

Типы моделей данных:

  • сетевая;

  • иерархическая;

  • реляционная;

  • объектно-реляционная;

  • объектно-ориентированная.

Дореляционные модели данных

Иерархическая и сетевая модели данных стали применяться в системах обработки БД в начале 60-х годов.

Иерархическая модель данных – строится по принципу иерархии типов объектов;

– один тип объекта является главным, а остальные на низших уровнях иерархии – подчиненными;

– между главным и подчиненными объектами устанавливается связь 1:М;

– узлы и ветви образуют иерархическую древовидную структуру.

Схема иерархической модели данных

Пример: Вуз – Факультеты - Кафедры

Недостатки иерархической модели данных:

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

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

Схема сетевой модели данных

Недостатки сетевой модели данных:

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

Сетевые и иерархические модели данных в настоящее время используются мало.

Реляционная модель данных

Наибольшее распространение получили реляционные модели:

  • структура большинства БД определяется в терминах реляционной модели;

  • большинство современных СУБД основано на реляционной модели.

Реляционная модель данных была предложена Е.Ф. Коддом в 1970 году.

Достоинства реляционных моделей данных:

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

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

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

В основе реляционной модели лежит понятие «отношение» - relation, представляющее собой подмножество декартова произведения доменов.

Домен – множество допустимых значений атрибута (элемента данных).

Пример: Атрибут (элемент данных) – Цвет.

Домен атрибута Цвет – { Белый, Красный, Синий, …}

Декартово произведение доменов D1, D2, …, Dk:

D = D1 * D2 * … *Dk -

– множество всех кортежей длины k, состоящих из k элементов по одному из каждого домена.

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

Пример: D1 = { A, B }

D2 = { C, D, E }

D = D1 * D2 = { (A,C), (A,D), (A,E), (B,C), (B,D), (B,E) } – кортеже длины k = 2.

Отношение R на множествах D1, D2, …, Dk – подмножество декартова произведения доменов;

– некоторое множество кортежей арности k.

Пример: R1 = { (A,D), (B,E), (B,C) }

R2 = { (A,D) }

R3 = D

R4 = O – пустое множество.

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

ФИО

ГОД_РОЖДЕНИЯ

ГОД_ПОСТУПЛЕНИЯ

Атрибут

ФИО (Текст)

ГОД (Дата)

ГОД (Дата)

Домен

……

……

……

……

……

……

Реляционная терминология:

Отношение (таблица) – двумерная таблица.

Атрибут (столбец, поле, элемент данных) – столбец отношения.

Кортеж (строка, запись) – строка отношения.

Домен – множество допустимых значений.

Чтобы таблица была отношением, она должна удовлетворять определенным ограничениям, которые следуют из понятия отношения как множества:

  1. Все кортежи одного отношения должны иметь одно и то же количество атрибутов.

  2. Значение каждого из атрибутов должно принадлежать некоторому определенному домену.

  3. Никакие два кортежа не могут иметь полностью совпадающих наборов значений.

  4. Каждое значение атрибутов должно быть атомарными, т.е. не должно иметь внутренней структуры и содержать в качестве компонента другое отношение.

  5. Значения столбцов должны принадлежать одному и тому же определенному для них домену (наиболее часто используемые домены – Текст, Число, Дата/Время).

  6. Порядок следования кортежей в отношении не имеет значения.

Ключ (первичный ключ) – один или более атрибутов, уникально идентифицирующих кортеж (строку) отношения.

Дополнительные свойства реляционной модели данных:

  1. Каждое отношение должно иметь первичный ключ.

  2. Ключ может состоять из всех атрибутов отношения, т.к. отношение не может иметь одинаковых строк.

Схема отношения (структура отношения) – список имен атрибутов отношения.

Пример: СТУДЕНТ (НомерЗачетки, ИмяСтудента, Курс)

СТУДЕНТ

НомерЗачетки

ИмяСтудента

Курс

Индекс – дополнительная структура, которая строится для столбца (или совокупности столбцов) с целью увеличения быстродействия работы БД;

– способы построения индексов различны.

Причины целесообразности построения индексов:

  • Ускоренный доступ к строкам по значению индексируемого атрибута.

  • Упрощение сортировки строк по этому атрибуту.

  • Обеспечение уникальности.

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

Реляционная БД – совокупность отношений (таблиц).