Помощь в написании студенческих работ
Антистрессовый сервис

Нормализация реляционной модели данных

Курсовая Купить готовую Узнать стоимостьмоей работы

Эта система предназначена для создания и эксплуатации баз данных на персональном компьютере в среде Windows различных модификаций. В ней имеется ряд диалоговых средств для удобного создания, редактирования и использования реляционной базы данных в диалоговом режиме. Для этого предусмотрена работа в режиме конструктора и использование программ «мастеров». Режим конструктора позволяет создавать… Читать ещё >

Нормализация реляционной модели данных (реферат, курсовая, диплом, контрольная)

Содержание

  • Введение
  • 1. Нормализация структуры БД реляционного типа
    • 1. 1. Определение термина «Нормализация»
    • 1. 2. Первая нормальная форма
    • 1. 3. Вторая нормальная форма
    • 1. 4. Третья нормальная форма
    • 1. 5. Четвертая нормальная форма
    • 1. 6. Пятая нормальная форма
  • Глава 2. Создание базы данных в СУБД Access
  • Глава 3. Реляционная алгебра
  • Заключение

Эта система предназначена для создания и эксплуатации баз данных на персональном компьютере в среде Windows различных модификаций. В ней имеется ряд диалоговых средств для удобного создания, редактирования и использования реляционной базы данных в диалоговом режиме. Для этого предусмотрена работа в режиме конструктора и использование программ «мастеров». Режим конструктора позволяет создавать наглядные структуры взаимосвязи таблиц, эквивалентные операторам языка SQL.

Для реализации применяем таблицы БД «Судоходство», созданные в главе 1. Наша БД состоит из трех взаимосвязанных таблиц: Корабли (TShip), Порты (Tport), Рейсы (TPassage).

Использование конструктора Access для создания таблицы Tpassage показано на рис. 2.

1.

Рис. 2.

1. Создание таблицы Рейсы (TPassage) в СУБД Access в режиме конструктора Аналогично создаются остальные таблицы — Tship, Tport. Приведем скриншоты содержания всех таблиц в СУБД Access — рис. 2.2, рис. 2.3, рис. 2.

4.

Рис. 2.

2. Содержание таблицы Tship.

Рис. 2.

3. Содержание таблицы Tport.

Рис. 2.

4. Содержание таблицы Tpassage.

Диалоговые средства системы Access имеют соответствующие эквиваленты на языке SQL. Например, создание таблицы в режиме конструктора эквивалентно запросу SQL типа CREATE TABLE.

Пример запроса SQL на создание таблицы Tpassage:

CREATE TABLE Tpassage.

([Passage] text,.

[Departure_Date] text,.

[Ship] text,.

[ToPort, From] text,.

[Port] text,.

PRIMARY KEY ([Passage],[Ship]));

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

Язык SQL применяется при создании приложений на основе СУБД. Для работы в режиме диалога в большинстве случаев достаточно диалоговых средств СУБД Access.

Построение запросов к таблицам также возможно с применением обоих способов.

Пример запроса 1. Запрос Zcap1: Определить, кто был капитаном судна «Long Tiger» при выходе из порта «NHL».

Рис. 2.

5. Создание запроса Zcap1 в режиме конструктора Эквивалентный запрос на языке SQL имеет вид:

SELECT TPort. Cap, Tship. ship_name, TPort.point.

FROM (Tship INNER JOIN Tpassage ON Tship. ship = Tpassage. ship) INNER JOIN TPort ON Tship. ship = TPort.ship.

WHERE (((Tship.ship_name)="Long Tiger") AND ((TPort.point)="NHL"));

Формат запроса на выборку информации на языке SQL состоит из трех основных частей: SELECT, FROM, WHERE. В первой строке нужно указать список атрибутов таблиц, которые должны быть представлены в результирующем отношении. Во второй строке указываются источники — из каких таблиц делать выборку. Третья часть запроса содержит условия выборки информации. В нашем примере список атрибутов: TPort. Cap, Tship. ship_name, TPort. point, список таблиц — источников содержит динамически созданную таблицу на основе двойного применения операции соединения INNER JOIN к таблицам Tship, Tpassage, Tport, третья часть содержит условия на выбираемые атрибуты и имя порта и имя судна: (((Tship.ship_name)="Long Tiger") AND ((TPort.point)="NHL")) .

Результирующее отношение представлено на рис. 2.

6.

Рис. 2.

6. Результат выполнения запроса Zcap1.

Приведем еще один пример запроса на выборку информации.

Пример запроса. Запрос 2: «Какое судно проходит через порт AMM, а рейс направляется в порт OSA?».

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

СУБД одновременно строит запрос на языке SQL, котрый имеет вид:

SELECT Tship. ship_name, TPort. point, Tpassage.ToPort.

FROM (Tship INNER JOIN Tpassage ON Tship. ship = Tpassage. ship) INNER JOIN TPort ON Tship. ship = TPort.ship.

WHERE (((TPort.point)="AMM") AND ((Tpassage.ToPort)="OSA"));

Рис.

2.7. Построение запроса Zship2 в режиме конструктора.

Результат выполнения запроса приведен на рис. 2.

8.

Рис.

2.8. Результирующее отношение для запроса Zship2.

Глава 3. Реляционная алгебра.

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

Основные операции реляционной алгебры:

— прямое произведение отношений;

— объединение отношений;

— пересечение отношений;

— взятие разности отношений;

— ограничения отношения;

— проекции отношения;

— соединения отношений;

— деление отношений;

— присваивание;

— переименование атрибутов.

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

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

При выполнении ограничения отношения по некоторому условию производится отношение, включающее кортежи отношения-операнда и удовлетворяющее этому условию.

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

Соединение двух отношений по некоторому условию — это такое отношение, кортежи которого являются конкатенацией кортежей первого и второго отношения и удовлетворяют этому исходному условию.

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

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

Рассмотрим применение операция реляционной алгебры при выполнении запросов на выборку, сформулированных на языке SQL, на примере запроса ZCap1 из предыдущего параграфа.

Формулировка запроса на языке SQL имеет вид:

SELECT TPort. Cap, Tship. ship_name, TPort.point.

FROM (Tship INNER JOIN Tpassage ON Tship. ship = Tpassage. ship) INNER JOIN TPort ON Tship. ship = TPort.ship.

WHERE (((Tship.ship_name)="Long Tiger") AND ((TPort.point)="NHL"));

Исполнение этого запроса на языке реляционной алгебры можно описать как последовательность следующих операций:

1)Провести соединение (INNER JOIN) отношений Tship и Tpassage по атрибуту ship.

2)С полученной на шаге 1 таблицей провести соединение с таблицей Tport по атрибуту ship.

3)Выполнить ограничение построенной на шаге 2 таблицы по заданным ограничения на значения двух атрибутов — имя корабля и точка прохождения рейса: (Tship.ship_name)="Long Tiger") AND (TPort.point)="NHL").

4)Выполнить проекцию построенного отношения по трем атрибутам: TPort. Cap, Tship. ship_name, TPort.point.

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

Заключение

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

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

Вторая глава содержит описание применения реляционной теории к построению конкретной базы данных в среде СУБД Access, а также ее возможности для создания отношений реляционной базы данных и выполнения запросов к ней.

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

Реляционную алгебру можно рассматривать как язык нижнего уровня по отношению к языку запросов SQL.

Показать весь текст
Заполнить форму текущей работой
Купить готовую работу

ИЛИ