Автор: Пользователь скрыл имя, 12 Декабря 2011 в 15:54, курсовая работа
Целью данной курсовой работы является создание работающей посредством конкретной СУБД базы данных. При этом будут рассмотрены все этапы создания БД.
ВВЕДЕНИЕ 3
1. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ «ДОМАШНИЙ АРХИВ» 4
1.1. Описание предметной области 4
1.2. Основные понятия 5
1.3. Цель проектирования, определение пользователя 6
1.4. Постановка задач и запросов, реализуемых в курсовой работе 6
2. КОНЦЕПТУАЛЬНЫЙ УРОВЕНЬ ПРОЕКТИРОВАНИЯ БД «ДОМАШНИЙ АРХИВ» 8
2.1. Описание сущностей и их атрибутов 8
2.2. Описание связей 11
3. ЛОГИЧЕСКИЙ УРОВЕНЬ ПРОЕКТИРОВАНИЯ БД «ДОМАШНИЙ АРХИВ» 12
3.1. Определение реляционной модели данных, ее основные элементы 12
3.2. Проектирование реляционной модели 12
3.3. Целостность реляционной модели 16
3.4. Индексы 17
4. ОБОСНОВАНИЕ ВЫБОРА СУБД И ТЕХНИЧЕСКИХ СРЕДСТВ 18
4.1. СУБД Microsoft Access 2002 18
4.2. СУБД MySQL 18
4.3. СУБД PostgreSQL 19
4.4. Выбор СУБД 20
4.5. Выбор технических средств 20
5. ФИЗИЧЕСКИЙ УРОВЕНЬ ПРОЕКТИРОВАНИЯ БД «ДОМАШНИЙ АРХИВ» 22
5.1. Физическая модель 22
5.2. Примеры запросов 25
5.3. Примеры отчетов 26
ЗАКЛЮЧЕНИЕ 28
СПИСОК ЛИТЕРАТУРЫ 29
Данная сущность содержит информацию о персоне и имеет следующие атрибуты:
Сущности, их ключи и связи между сущностями изображены на концептуальной схеме базы данных (рис. 2.1).
Концептуальная модель данных отражает самые общие представления о предметной области.
Рис. 2.1. Концептуальная схема БД
Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени (т.е. РМД — представление данных в виде совокупности двумерных таблиц). При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними.
Элементами реляционной модели данных являются:
Существует 2 метода построения реляционной модели:
Для
начала будем реализовывать
Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений. Примером набора ограничений является ограничение первой нормальной формы — значения всех атрибутов отношения атомарные. Поскольку требование первой нормальной формы является базовым требованием классической реляционной модели данных, мы будем считать, что исходный набор отношений уже соответствует этому требованию.
Основные свойства нормальных форм:
В основе процесса проектирования лежит метод нормализации, декомпозиция отношения, находящегося в предыдущей нормальной форме, в два или более отношения, удовлетворяющих требованиям следующей нормальной формы.
Наиболее важные на практике нормальные формы отношений основываются на фундаментальном в теории реляционных баз данных понятии функциональной зависимости. Для дальнейшей работы нам потребуются несколько определений.
Определение 1. Функциональная зависимость
В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.
Определение 2. Полная функциональная зависимость
Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X.
Определение 3. Транзитивная функциональная зависимость
Функциональная зависимость R.X (r) R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X (r) R.Z и R.Z (r) R.Y и отсутствует функциональная зависимость R.Z → R.X. (При отсутствии последнего требования мы имели бы «неинтересные» транзитивные зависимости в любом отношении, обладающем несколькими ключами.).
Определение 4. Неключевой атрибут
Неключевым атрибутом называется любой атрибут отношения, не входящий в состав первичного ключа (в частности, первичного).
Определение 5. Взаимно независимые атрибуты
Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.
Рассмотрим следующий пример схемы отношений:
Определение 6. Вторая нормальная форма (в этом определении предполагается, что единственным ключом отношения является первичный ключ)
Отношение R находится во второй нормальной форме (2NF) в том и только в том случае, когда находится в 1NF, и каждый неключевой атрибут полностью зависит от первичного ключа.
Таким образом, мы получили вторую нормальную форму.
Определение 7. Третья нормальная форма (снова определение дается в предположении существования единственного ключа).
Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Теперь ознакомимся с сущностями-таблицами поближе. Выше по тексту, Вы можете видеть описание отношений и некоторые характеристики соответствующим атрибутам. Теперь дадим некоторые пояснения. Для краткости описания выше изложенного материала мы ввели некоторые обозначения. Атрибуты сущностей характеризуются тремя параметрами: ключевой атрибут или нет, обязательность поля и метод получения. Ключевой атрибут обозначен подчеркиванием имени этого атрибута. Обязательность поля обозначена в скобках (0 – необязательно, 1- обязательно). Метод получения указан в скобках, через запятую после критерия обязательности (1 – путем ввода, 0 – выбор из предоставленного списка).
Определение 8. Четвертая нормальная форма
Отношение
R находится в четвертой
Далее приступим к непосредственному описанию определенных выше элементов реляционной модели и заданию множества их значений:
АЛЬБОМ (код альбома, название альбома, год выхода, количество треков, код жанра, код страны, постоянное расположение).
Описание ключа:
("x,y АЛЬБОМ) [код альбома (x) = [код альбома (y)] x = y,
где x,y – цепочка символов следующих друг за другом;
Dom(код альбома) = {x | 0 < x };
Dom(название альбома) = { x | STR(x)}, где STR — предикат, проверяющий является ли цепочка символов следующих друг за другом x строкой символов;
Dom(год выхода) = {x | 1900 < x };
Dom(количество треков) = {x | 0 < x };
Dom(код жанра) = {x | 0 < x };
Dom(код страны) = {x | 0 < x };
Dom(постоянное расположение) = { x | STR(x)}, где STR — предикат, проверяющий является ли цепочка символов следующих друг за другом x строкой символов;
ПИСАТЕЛЬ (код писателя, фамилия, имя).
Описание ключа:
("x,y ПИСАТЕЛЬ) [код писателя (x) = [код писателя (y)] x = y,
где x,y – цепочка символов следующих друг за другом;
Dom(код писателя) = {x | 0 < x };
Dom(фамилия) = { x | STR(x)}, где STR — предикат, проверяющий является ли цепочка символов следующих друг за другом x строкой символов;
Dom(имя) = { x | STR(x)}, где STR — предикат, проверяющий является ли цепочка символов следующих друг за другом x строкой символов;
ЖАНР (код жанра, название жанра).
Описание ключа:
("x,y ЖАНР) [код жанра (x) = [код жанра (y)] x = y,
где x,y – цепочка символов следующих друг за другом;
Dom(код жанра) = {x | 0 < x };
Dom(название жанра) = { x | STR(x)}, где STR — предикат, проверяющий является ли цепочка символов следующих друг за другом x строкой символов;
Под целостностью понимают свойство БД, означающее, что она содержит полную непротиворечивую информацию, которая адекватно отражает предметную область. /3/
Существует «целостность по ссылкам», анализ содержимого двух таблиц на соблюдение следующих правил:
Другими словами, внешний ключ должен быть равным какому-либо значению первичного ключа или может быть полностью неопределенным.
Над данными двух таблиц существуют три основные операции:
Под каскадным обновлением всех связанных полей понимается то, что при изменении связанного поля родительской таблицы мгновенно меняются все связанные поля дочерней таблицы.