Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных




Скачать 498.16 Kb.
Название Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных
страница 3/4
Дата публикации 14.05.2014
Размер 498.16 Kb.
Тип Курсовая
literature-edu.ru > Информатика > Курсовая
1   2   3   4

РЕЛЯЦИОННАЯ МОДЕЛЬ


Принято считать, что реляционный подход к организации баз данных был заложен в конце 1960-х гг. Эдгаром Коддом. В последние десятилетия этот подход является наиболее распространенным (с оговоркой, что в называемых в обиходе реляционными системах баз данных, основанных на языке SQL, в действительности нарушаются некоторые важные принципы классического реляционного подхода).

Достоинствами реляционного подхода принято считать следующие свойства:

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

  2. эти абстракции могут быть точно и формально определены;

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

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


Описание реляционной модели

Типы данных

Традиционное (нестрогое) определение типа данных состоит из трех основных компонентов: определение множества значений данного типа; определение набора операций, применимых к значениям типа; определение способа внешнего представления значений типа (литералов).

В современных реляционных базах данных допускается хранение символьных, числовых данных (точных и приблизительных), специализированных числовых данных (таких, как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Кроме того, в реляционных системах поддерживается возможность определения пользователями собственных типов данных.

Для хранения данных в проектируемой Базе достаточно символьного, целочисленного и «темпорального» («Дата») типов данных.

Домены

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

Атрибутом называют некоторое уникально именованное подмножество домена.

Домены проектируемой Базы данных и определенные на них атрибуты приведены в таблице 1.

Таблица 1. Домены и определенные на них атрибуты



Домен

Тип данных (sql)

Ограничение домена

Атрибуты, определенные на домене

1

Дата

Date

2010-04-01 - ∞

Дата добавления, Начало, Окончание

2

Имя страницы

Varchar

Только латинские символы , 20

Имя страницы

3

Дата рождения

Date

1950-01-01 – 1992-01-01

Дата рождения

4

Логин

Varchar

20 символов, только латиница

Логин

5

Пароль

Varchar

20 символов

Пароль

6

Номер

Int

5 символов, auto_increment

Номер служащего, Номер события, Номер документа, Номер записи, Номер параметра, Номер новости, Номер записи

7

Имя

Varchar

100 символов

ФИО, Автор вопроса

8

Категория

Varchar

20 символов

Категория акта, Категория закупки

9

Структура

Varchar

15 символов

Структура

10

Заголовок

Varchar

255 символов

Заголовок страницы, Заголовок новости, Название закупки, Название документа, Название акта, Название отдела, Альтернативный текст

11

Файл

Varchar

255 символов

Название файла изображения, Название файла превью, Название файла реестра, Название файла документа

12

Мета

Text




Мета-описание, Мета-тэги

13

Описание

Text




Описание отдела, Описание изображения, Биографическая справка, Содержание события, Текст страницы, Текст вопроса, Текст ответа, Текст новости, Текст документа

14

Номер заказа

Varchar

20

Номер заказа

15

Выбор

Bool




Галерея

16

Телефон

Varchar

20 символов

Телефон служащего, Телефон отдела

17

E-mail

Varchar

40 символов, только латиница

E-mail

18

Номер акта

Varchar

15

Номер акта

19

Параметр

Int

2 символа

Значение параметра

20

Должность

Varchar

255

Название должности


Отношения

Понятие отношения является наиболее фундаментальным в реляционном подходе к организации баз данных, поскольку n-арное отношение является единственной родовой структурой данных, хранящихся в реляционной базе данных. Это отражено и в общем названии подхода – термин реляционный (relational) происходит от relation (отношение). Однако сам термин отношение является исключительно неточным, поскольку, говоря про любые сохраняемые данные, мы должны иметь в виду тип этих данных, значения этого типа и переменные, в которых сохраняются значения. Соответственно, для уточнения термина отношение выделяются понятия заголовка отношения и кортежа.
Заголовки (схемы) отношений

Заголовком (или схемой) отношения r (Hr) называется конечное множество упорядоченных пар вида , где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны. Если все атрибуты заголовка отношения определены на разных доменах, то, чтобы не плодить лишних имен, разумно использовать для именования атрибутов имена соответствующих доменов.

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

  1. Связь 1:1, необязательная для одной из сущностей, строится по одному отношению для каждой сущности, и ключ сущности с необязательной связью добавляется в другое отношение

  2. Связь 1:m, класс принадлежности многосвязной функции обязательный, формируются два отношения, ключ односвязной сущности добавляется как атрибут.


В реляционной модели определены следующие схемы отношений:

  1. Отношение «страница» {<�имя страницы>, <�заголовок>, <�мета-тэги, мета>, <�мета-описание, мета>, < описание>};

  2. Отношение «параметр» {<�номер>, < параметр>, <�имя страницы>};

  3. Отношение «пользователь» {<�номер>, <�логин>, <�пароль>};

  4. Отношение «новость» {<�номер>, <�заголовок>, <�дата>, <�описание>};

  5. Отношение «вопрос-ответ» {<�номер>, <�текст вопроса, описание>, <�автор вопроса, имя >, <�текст ответа, описание>, <�дата>};

  6. Отношение «нормативно-правовой акт» {<�номер акта>, <�заголовок>, <�дата>, <�категория>,<�описание>,<�файл>};

  7. Отношение «отдел» {<�номер>, <�заголовок>, <�телефон>,<�описание>, <�должность>};

  8. Отношение «должность» {<�должность>, <�структура>, <�номер служащего, номер>};

  9. Отношение «служащий» {<�номер>, <�имя>, <�описание>, <�дата рождения>, <�телефон>, , <�файл>};

  10. Отношение «изображение» {<�название файла изображения, файл>, <�альтернативный текст, заголовок>, <�название файла превью. файл>, <�описание>, <�галерея, выбор>};

  11. Отношение «закупка» {<�номер закупки>, <�заголовок>, <�категория>, <�дата начала, дата>, <�дата окончания, дата>};

  12. Отношение «событие» {<�номер события, номер>, <�номер заказа>, <�дата>, <�файл>};

  13. Отношение «реестр» {<�номер>, <�файл>, <�заголовок>, <�дата>};


Кортежи

Кортежем tr, соответствующим заголовку Hr, называется множество упорядоченных триплетов вида , по одному такому триплету для каждого атрибута в Hr. Третий элемент – v – триплета должен являться допустимым значением типа данных или домена T.
Пример кортежа для отношения «служащие»:

{<�номер служащего, номер, 32>,<�ФИО, имя, Петров Василий Иннокентьевич>, <�дата рождения, дата рождения, 1974-03-15>, <�биографическая справка, описание, Занимает пост первого заместителя Главы Фокинского сельского поселения с 14 апреля 2007 года, образование высшее экономическое, до назначения на должность заместителя был ведущим экономистом Чайковского завода газовой аппаратуры>, <�телефон служащего, телефон, 89424146823>, , <�название файла изображения, файл, petrov_photo.jpg>}
Ключи отношений

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

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

Формально существование первичного ключа значения отношения является следствием того, что тело отношения – это множество, на практике первичные (и возможные) ключи переменных отношений появляются в результате явных указаний проектировщика отношения. Определяя переменную отношения, проектировщик моделирует часть предметной области, данные из которой будет содержать база данных.
Для отношений реляционной модели определены следующие ключи:

  1. Отношение «страница»: первичный ключ <�имя страницы> , возможных ключей нет

  2. Отношение «параметр»: первичный ключ <�номер>, внешний ключ <�имя страницы>

  3. Отношение «пользователь»: первичный ключ <�номер пользователя>, возможный ключ <�логин>

  4. Отношение «новость»: первичный ключ <�номер новости>

  5. Отношение «вопрос-ответ»: первичный ключ <�номер>

  6. Отношение «нормативно-правовой акт»: первичный ключ <�номер акта>, возможный ключ <�файл>

  7. Отношение «отдел»: первичный ключ <�номер отдела>, внешний ключ <�название должности>

  8. Отношение «должность»: первичный ключ <�должность>, внешний ключ <�номер служащего>

  9. Отношение «служащий»: первичный ключ <�номер должности>, возможный ключ <�ФИО>, внешний ключ <�название файла изображения>

  10. Отношение «изображение»: первичный ключ <�название файла изображения>

  11. Отношение «закупка»: первичный ключ <�номер заказа>,

  12. Отношение «событие»: первичный ключ <�номер события >, внешний ключ <�номер заказа>

  13. Отношение «реестр»: первичный ключ <�номер документа>, возможный ключ <�название файла реестра>

Целостность реляционной модели

Целостность сущностей

Т.к. ключи служат идентификаторами объектов предметной области (предназначены для различения объектов), то значения этих идентификаторов не могут содержать неизвестные значения.

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

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

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

В реляционной базе данных ссылочная целостность – это согласованность между связанными таблицами. Ссылочная целостность обычно поддерживается путем комбинирования первичного ключа и внешнего ключа. Для соблюдения ссылочной целостности требуется, чтобы любое поле в таблице, объявленное внешним ключом, могло содержать только значения из поля первичного ключа родительской таблицы»

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

Реляционная алгебра Кодда

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

В состав теоретико-множественных операций входят:

  1. объединения отношений;

  2. пересечения отношений;

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

  4. взятия декартова произведения отношений.

Специальные реляционные операции включают:

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

  2. проекцию отношения;

  3. соединение отношений;

  4. деление отношений.


Операции, используемые при обращении к Базе:

  1. соединение двух отношений (JOIN) – образует результирующее отношение по некоторому условию, кортежи которого производятся путем объединения кортежей первого и второго отношений и удовлетворяют этому условию

  2. ограничение (WHERE) отношения по некоторому условию – образует результирующее отношение, в которое входят кортежи отношения-операнда, удовлетворяющие этому условию


Операция ограничения WHERE

Операция ограничения WHERE требует наличия двух операндов: ограничиваемого отношения и простого условия ограничения.

Простое условие ограничения может иметь:

  • вид ( a comp-op b ), где а и b – имена атрибутов ограничиваемого отношения; атрибуты a и b должны быть определены на одном и том же домене, для значений базового типа данных которого поддерживается операция сравнения comp_op, или на базовых типах данных, над значениями которых можно выполнять эту операцию сравнения;

  • или вид (a comp-op const), где a – имя атрибута ограничиваемого отношения, а const – литерально заданная константа; атрибут a должен быть определен на домене или базовом типе, для значений которого поддерживается операция сравнения comp_op.


Операцией сравнения comp-op могут быть «=», « », «>», « », «<�», « ». Простые условия вычисляются в трехзначной логике, и в результате выполнения операции ограничения производится отношение, заголовок которого совпадает с заголовком отношения-операнда, а в тело входят те кортежи отношения-операнда, для которых значением условия ограничения является true . Тем самым, если в некоторых кортежах содержатся неопределенные значения, и по данной причине вычисление простого условия дает значение unknown , то эти кортежи не войдут в результирующее отношение.
Запросы к Базе данных с ограничением:

  1. Получить все события закупки: событие WHERE номер заказа = 'переменная номер заказа';

  2. Получить параметр навигации для страницы: параметр WHERE имя страницы = 'переменная имя страницы';

  3. Получить все изображения галереи: изображение WHERE галерея = true

  4. Получить информацию о странице: страница WHERE имя страницы = 'переменная имя страницы';

  5. Получить информацию об изображении: изображение WHERE название файла изображения = 'переменная названия файла изображения' ;

  6. Получить все закупки определенной категории: закупка WHERE категория закупки = переменная категория закупки'';

  7. Получить все нормативно-правовые акты определенной категории: нормативно-правовой акт WHERE категория акта = 'переменная категория акта';

  8. Получить информацию о нормативно-правовом акте: нормативно-правовой акт WHERE номер акта = переменная номер акта'';

  9. Получить информацию о документах реестра муниципального заказа: реестр WHERE номер документа = 'переменная номер документа'

  10. Получить параметр страницы: параметр WHERE имя страницы = 'переменная имя страницы';

  11. Получить полный текст новости: новость WHERE номер новости = 'переменная номер новости'.


Ограничение применяется как при выборке из Базы данных для отображения информации на страницах сайта (SELECT), так и при редактировании (UPDATE) и удалении (DELETE) записей.
Операция соединения JOIN

Общая операция соединения (называемая также соединением по условию) требует наличия двух операндов – соединяемых отношений и третьего операнда – простого условия. Пусть соединяются отношения A и B. Как и в случае операции ограничения, условие соединения comp имеет вид либо (a comp-op b), либо (a comp-op const), где a и b – имена атрибутов отношений A и B, const – литерально заданная константа, и comp-op – допустимая в данном контексте операция сравнения.
Виды операции соединения:

  1. INNER JOIN – внутреннее соединение

  2. LEFT OUTER JOIN – левое внешнее соединение

  3. RIGHT OUTER JOIN – правое внешнее соединение

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

Внешнее объединение бывает двух типов: LEFT OUTER JOIN и RIGHT OUTER JOIN. Разница заключается в том, что при использовании LEFT OUTER JOIN "внешней" таблицей будет находящаяся слева, а при RIGHT OUTER JOIN – находящая справа. В случае с LEFT JOIN из главной таблицы будут выбраны все записи, даже если в присоединяемой таблице нет совпадений, то есть условие не учитывает присоединяемую (правую) таблицу, RIGHT JOIN же отображает все строки, удовлетворяющие правой части условия, даже если они не имеют соответствия в левой таблице (кортежи одного из отношений, совпадения для которых нет в главной таблице в результирующем отношении будут иметь значение (null)).
Запросы к Базе данных с соединением

  1. Получить информацию обо всех служащих Администрации: служащий INNER JOIN должность ON должность.структура = 'Администрация';

  2. Получить информацию обо всех депутатах Совета: служащий INNER JOIN должность ON должность.структура = 'Совет депутатов';

  3. Получить информацию обо всех руководителях отделов: (отдел JOIN должность ON отдел.название_должности = должность.название_должности) JOIN служащий ON должность.номер_служащего = служащий.номер_служащего;

При выборке данных необходимо получить только те записи, условие для которых выполняется, поэтому при составлении запросов выбран вариант внутреннего соединения INNER JOIN. Операция соединения применяется при запросах к базе при выборке данных для отображения на страницах сайта или в форме редактирования записей (например, при редактировании записей таблицы «служащий» необходимо обеспечить возможность редактирования должности, на которую служащий назначен). Подобную выборку можно сделать с помощью двух отдельных запросов с ограничением.

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

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

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

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

  1. первая нормальная форма (1NF);

  2. вторая нормальная форма (2NF);

  3. третья нормальная форма (3NF);

  4. нормальная форма Бойса-Кодда (BCNF);

  5. четвертая нормальная форма (4NF);

  6. пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм состоят в следующем:

  1. каждая следующая нормальная форма в некотором смысле лучше предыдущей нормальной формы;

  2. при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.

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

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

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

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

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

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

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

Нормализация отношений до 3 Нормальной формы позволяет избежать возникновения аномалий обновления.
Реляционная модель нормализована: каждый элемент отношений имеет атомарное значение, принадлежащее определенному домену (Первая Нормальная форма), не содержат не полных функциональных (Вторая Нормальная форма) и транзитивных зависимостей (Третья Нормальная форма). Схема реляционной модели представлена на рисунке 2.


Рис.2. Схема реляционной модели
В процессе работы над проектом возникли некоторые изменения, отразившиеся на структуре Базы данных:

  1. для сущности «служащий» принято решение отменить связь с изображением;

  2. информацию об отделах решено на сайте не публиковать.


SQL запросы созданной на основе реляционной модели с учетом изменений Базы данных приведены в Приложении 1 (экспортированная тестовая база).
1   2   3   4

Похожие:

Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Курсовая работа «базы данных: Туристическая фирма»
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Базы данных. Рук. Карабут Н. В
Разработка анализатора выражений в среде Delphi (на примере инженерного калькулятора)
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Базы данных лабораторная работа №5 «Выбор данных из нескольких таблиц»
Получить вариант задания у преподавателя в соответствии с вариантами задания на лабораторную работу. Написать необходимые запросы....
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Приказ о назначении координатора и создании рабочей группы по обеспечению...
Приказ о назначении ответственного за создание базы данных учащихся 9, 11 классов
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Реферат Автор: Атанова Жанар Сагынгалиевна Правообладатель: тоо «Гермес group»
База данных: Проектирование и создание базы данных для предприятия тоо «Гермес group»
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Реферат Автор: Атанова Жанар Сагынгалиевна Правообладатель: тоо «Гермес group»
База данных: Проектирование и создание базы данных для предприятия тоо «Гермес group»
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Базы данных Пояснительная записка к курсовой работе
По сути, бд это некоторое подобие электронной картотеки, электронного хранилища данных, которое хранится в компьютере в виде одного...
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Роспатент : Федеральная служба по интеллектуальной собственности, патентам и товарным знакам
Автор созданных по заказу программы для ЭВМ или базы данных, которому не принадлежит исключительное право на такую программу или...
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Учебное пособие разработано в соответствии с государственным образовательным...
Учебное пособие предназначено для студентов, изучающих дисциплину «Базы данных» на третьем курсе. В пособии рассматриваются основы...
Курсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных icon Отчет по производственной практике 230201 Информационные системы и технологии
Уровень интерфейса пользователя представляет собой набор компонентов в браузере. Уровень базы данных прдставляет собой бд mysql....
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции