Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab3.doc
Скачиваний:
0
Добавлен:
01.01.2020
Размер:
385.02 Кб
Скачать

23

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

Новосибирская государственная академия экономики и управления

ЛАБОРАТОРНЫЙ ПРАКТИКУМ ПО ДИСЦИПЛИНЕ

«Базы данных»

Лабораторная работа N 3

«Разработка схем реляционных баз данных»

НОВОСИБИРСК 2000

Введение

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

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

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

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

Лабораторная работа предназначена для практического освоения методов проектирования реляционных баз данных на основе первого из выше указанных подходов.

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

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

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

Реляционная модель данных организует и представляет данные в виде таблиц или реляций. Реляция — это термин, пришедший из математики и обозначающий простую двумерную таблицу, состоящую из строк и столбцов данных. Примеры реляций далее рассматриваются на основе базы данных, спроектированной для строительной компании Премьер, с которой мы уже встречались (лабораторная работа №2).

Реляционная модель данных. Модель данных, представляющая данные в виде таблиц.

Реляция. Двумерная таблица, содержащая строки и столбцы данных.

Рис. 1. Объектно-ориентированная модель строительной компании Премьер

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

Эта модель данных содержит три объектных множества: WORKER (РАБОТНИК), BUILDING (ЗДАНИЕ) и SKILL (СПЕЦИАЛЬНОСТЬ), а также одно составное объектное множество — ASSIGNMENT (НАЗНАЧЕНИЕ).

Хотя объектное множество WORKER встречается в модели дважды, это одно и то же объектное множество. Таким образом, оба экземпляра множества WORKER имеют одни и те же атрибуты и участвуют в одних и тех же от­ношениях.

Составное объектное множество ASSIGNMENT создано из отно­шения IS-ASSIGNED-TO (НАЗНАЧЕН-НА) между объектами WORKER и BUILDING, Это значит, что каждое назначение — это пара, состоящая из работника и здания, обозначающая, что данный работник назначен работать на этом здании. Каждое такое назначение имеет два атрибута: START-DATE(ДАТА-НАЧАЛА), или день, в который работник должен приступить к ра­боте на этом здании, и NUMBER-OF-DAYS (ЧИСЛО-ДНЕЙ), означающее предполагаемый срок, в течение которого он будет работать на этом здании. Таким образом, составной объект ASSIGNMENT обладает двумя атрибутами: START-DATE и NUMBER-OF-DAYS.

Кроме отношения IS-ASSIGNED-TO, модель содержит отношения HAS-SKILL (ИМЕЕТ-СПЕЦИАЛЬНОСТЬ) и SUPERVISES (КОНТРОЛИРУЕТ). От­ношение HAS-SKILL ставит в соответствие работнику его специальность (штукатур, кровельщик, плотник и т.д.). К специальности относится опи­сание, размер премиальных и количество часов в неделю, которые работник этой специальности должен отработать, чтобы получить премиальные. Пос­кольку работники подчиняются другим работникам, отношение SUPER­VISES ставит в соответствие каждому работнику его менеджера из объект­ного множества WORKER.

Отношения, подобные отношению SUPERVISES, связывающие объектное множество с ним самим, называются рекурсив­ными.

Рекурсивное отношение. Отношение, связывающее объектное множество с ним самим.

При помощи процедуры, описанной далее, эту модель дан­ных можно преобразовать в реляционную модель данных.

На рис.2 пока­зана реляционная таблица с примерами значений данных, которая пред­ставляет объектное множество WORKER, его атрибуты и два из его отноше­ний. Каждый столбец реляции — это атрибут реляции. Название столбца — имя атрибута. Мы используем термины атрибут и имя атрибута вместо столбца и названия столбца в соответствии с соглашениями, принятыми в реляционных базах данных. Имена атрибутов таблицы WORKER находятся в следующем соответствии с атрибутами и отношениями концептуальной модели:

Концептуальная модель

Реляционный атрибут

WORKER-ID (атрибут)

WORKER-ID

NAME (атрибут)

NAME

HOURLY-RATE (атрибут)

HOURLY-RATE

HAS-SKILL (отношение)

SKILL-TYPE

SUPERVISES (отношение)

SUPV-ID

Реляционный атрибут. Столбец реляционной таблицы.

Рис. 2. Часть реляционной таблицы WORKER

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

Количество атрибутов реляции называется степенью реляции. Степень реляции WORKER равна пяти. Поскольку пользователю не обязательно помнить порядок атрибутов реляции, этот порядок считается несуществен­ным. Из этого следует, что никакие два атрибута реляции не могут иметь одинаковых имен.

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

Общее обозначение для типа реляции, представленного на рис.2, таково:

WORKER {WORKER-ID, NAME, HOURLY-RATE, SKILL-TYPE, SUPV-ID}

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

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

Две области атрибутов совпадают только в том случае, если они имеют один и тот же смысл. Так, атрибуты NAME и SKILL-TYPE имеют разные области, хотя значениями каждого из них явля­ются строки символов. Два атрибута с одной и той же областью не обязательно имеют одно и то же имя. Например, SUPV-ID и WORKER-ID имеют одну и ту же область. В обоих случаях она состоит из номеров идентифика­торов работников.

Рис 3. Примеры реляционных таблиц базы данных строительной компании

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]