
- •Введение
- •1.Отношения и реляционные базы данных
- •1.1Основные понятия и определения
- •1.2Цели проектирования бд
- •Избыточные функциональные зависимости
- •Нормальная форма Бойса-Кодда
- •Обобщенный алгоритм метода декомпозиции.
- •Пример проектирования бд методом декомпозиции.
- •Задания для самостоятельной работы
- •2.2Метод сущностей и связей Основные понятия и определения
- •Общий подход к построению бд
- •Правила построения предварительных отношений
- •Пример er-проектирования бд
- •Задания для самостоятельной работы
- •Библиографический список
- •Оглавление
- •1. Отношения и реляционные базы данных 4
- •2. Методы проектирования бд 11
- •0 Нижнекамск - 1998
НИЖНЕКАМСКИЙ ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ
МЕТОДЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ
Методические указания
Составитель: канд. физ.-мат. наук Н.Н.Саримов
Методы проектирования баз данных: Метод. указания / Казан. матем. общ-во; Сост. Н.Н.Саримов. Казань, 2000.
Рассмотрены такие методы проектирования структур баз данных, как метод декомпозиции и метод сущностей и связей. Приведены примеры с решениями и задания для самостоятельной работы.
Предназначены для лабораторного обеспечения курса «Организация баз данных» по специальности 220200 « Автоматизированные системы обработки информации и управления » и для студентов, выполняющих дипломные работы, связанные с проектированием баз данных.
Подготовлены на кафедре автоматизации технологических процессов и производств Нижнекамского химико-технологического института.
Печатаются по решению методической комиссии Нижнекамского химико-технологического института.
Рецензенты: проф. И.З.Батыршин,
доц. Е.М.Федотов
Введение
Данное пособие представляет собой введение в проектирование реляционных баз данных.
В первом разделе пособия вводятся основные понятия и определения, связанные с реляционными базами данных, рассматриваются цели проектирования баз данных.
Во втором разделе рассматриваются два метода проектирования баз данных - метод декомпозиции и метод сущностей и связей. Метод декомпозиции основан на выявлении функциональных зависимостей между атрибутами и на приведении отношений в нормальную форму Бойса-Кодда. Он применяется для баз данных с небольшим числом атрибутов (не более 15-20). Метод сущностей и связей основан на выделении сущностей, интересующих пользователей базы данных, и связей между ними. Сущности и связи отображаются графически в виде диаграммы ER-типа, на основе которого строятся предварительные отношения. Из предварительных отношений получают пробные отношения, которые проверяются на предмет нахождения в нормальной форме Бойса-Кодда и при необходимости приводятся к ней методом декомпозиции. После чего получают окончательные отношения базы данных. Метод декомпозиции применяют для построения баз данных с большим числом атрибутов.
При разработке пособия использовались работы [1;2].
1.Отношения и реляционные базы данных
1.1Основные понятия и определения
Определение 1.1
Пусть даны
множеств
тогда
есть отношение над этими множествами,
если
есть множество упорядоченных кортежей
вида
где
.
Множества
называют доменами
отношения
.
|
101 |
болт |
черный |
3 |
|
102 |
муфта |
синий |
9 |
кортеж |
103 |
винт |
красный |
11 |
|
104 |
гайка |
зеленый |
4 |
|
105 |
муфта |
красный |
13 |
|
106 |
болт |
оранжевый |
21 |
Если
соотнести эти домены с четырьмя элементами
реального мира:
- номер детали,
- название детали,
- цвет детали,
- вес детали, то отношение примет
форму таблицы, где кортежи - строки
таблицы или записи:
Сущность |
|
|
Атрибут |
сущности |
(имя файла) |
ДЕТАЛЬ |
|
(поле |
в записи) |
|
ДНОМ |
ДНАЗВ |
ДЦВЕТ |
ДВЕС |
|
101 |
болт |
черный |
3 |
|
102 |
муфта |
синий |
9 |
запись |
103 |
винт |
красный |
11 |
|
104 |
гайка |
зеленый |
4 |
|
105 |
муфта |
красный |
13 |
|
106 |
болт |
оранжевый |
21 |
Имена столбцов называются атрибутами, а индивидуальные значения, появляющиеся в отдельных кортежах, - значениями атрибутов.
Число столбцов в таблице называется степенью отношения, а текущее число кортежей - мощностью отношения.
Определение 1.2
Реляционная база данных (БД) представляет собой совокупность взаимосвязанных отношений, содержащих всю информацию, которая должна храниться в БД.
Пример реляционной БД, состоящей из трех отношений:
ДЕТАЛЬ |
|
|
|
ДНОМ |
ДНАЗВ |
ДЦВЕТ |
ДВЕС |
101 |
болт |
черный |
3 |
|
|
|
|
ПОСТАВЩИК |
|
|
|
ПНОМ |
ПФАМ |
СТАТУС |
ГОРОД |
п1 |
Иванов |
20 |
Нкамск |
п2 |
Петров |
15 |
Нчелны |
п3 |
Сидоров |
30 |
Казань |
ПОСТАВКА |
|
|
ПНОМ |
ДНОМ |
ШТ |
П1 |
101 |
9 |
П2 |
103 |
4 |
П3 |
101 |
10 |
П1 |
102 |
12 |
Определение 1.3
Атрибут (или набор атрибутов), который может быть использован для однозначной идентификации конкретного кортежа, называется первичным ключом.
Первичный ключ не должен иметь дополнительных атрибутов. Это означает, что исключение любого произвольного атрибута из ключа должно привести к потере однозначности идентификации кортежа.
В отношении ПОСТАВЩИК первичным ключом является ПНОМ, в отношении ДЕТАЛЬ - ПНОМ, в отношении ПОСТАВКИ - пара атрибутов <ПНОМ, ДНОМ>. Первичные ключи в дальнейшем будем подчеркивать.
Число отношений в БД и конкретные атрибуты, приписываемые каждому отношению, определяются в процессе проектирования. В случае БД поставщиков деталей, ее структура полностью специфицируется набором следующих предложений:
Название БД: Поставщик деталей |
|
Атрибуты |
Тип |
ПНОМ |
симв(3) |
ПФАМ |
симв(10) |
СТАТУС |
целый |
ГОРОД |
симв(10) |
ДНОМ |
целый |
ДНАЗВ |
симв(6) |
ВЕС |
целый |
ШТ |
целый |
Отношения и первичные ключи:
ПОСТАВЩИК(ПНОМ, ПФАМ, СТАТУС, ГОРОД),
ДЕТАЛЬ(ДНОМ, ДНАЗВ, ДЦВЕТ, ДВЕС),
ПОСТАВКА(ПНОМ, ДНОМ, ШТ).
Такое сжатое описание называется концептуальной моделью БД и содержит всю информацию, необходимую для ее создания.
Определение 1.4
Универсальное отношение - это отношение, включающее в себя все представляющие интерес атрибуты; оно может содержать все данные, которые предполагается размещать в БД в будущем.
Универсальным отношением для БД поставщиков является отношение
ПД(ПНОМ, ДНОМ, ПФАМ, СТАТУС, ГОРОД, ДНАЗВ, ДЦВЕТ, ДВЕС, ШТ).
Для малых БД, включающих не более 15-20 атрибутов, универсальное отношение может использоваться в качестве отправной точки при проектировании БД.