Проектирование структуры базы данных информационной системы «Электронный консультант»
Поддержание целостности БД включает проверку (контроль) целостности и ее восстановление в случае обнаружения противоречий в базе. Целостное состояние БД задается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные. Для функционирования БД необходимо обеспечить целостность данных. Под целостностью понимают свойство базы данных, означающее, что она… Читать ещё >
Проектирование структуры базы данных информационной системы «Электронный консультант» (реферат, курсовая, диплом, контрольная)
Для функционирования БД необходимо создать схему взаимодействия данных [5,8]. Здесь должна учитываться не избыточность и целостность данных, что обеспечивается нормализацией базы данных.
Выделяют следующую основную последовательность нормальных форм:
первая нормальная форма (1НФ);
вторая нормальная форма (2НФ);
третья нормальная форма (ЗНФ);
усиленная третья нормальная форма, или нормальная форма Бойса-Кодда (БКНФ);
четвертая нормальная форма (4НФ);
Первая нормальная форма. Отношение находится в 1НФ, если все его атрибуты являются простыми (имеют единственное значение). Исходное отношение таким образом, чтобы оно было в 1НФ.
Перевод отношения в следующую нормальную форму осуществляется путем «декомпозиции без потерь». Такая декомпозиция должна обеспечить то, что запросы (выборка данных по условию) к исходному отношению и к отношениям, получаемых в результате декомпозиции, дадут одинаковый результат.
Вторая нормальная форма. Отношение находится в 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от первичного ключа (составного).
Для устранения частичной зависимости и перевода отношения в 2НФ необходимо, используя операцию проекции, разложить его на несколько отношений следующим образом:
построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от первичного ключа;
построить проекции на части составного первичного ключа и атрибуты, зависящие от этих частей.
Для дальнейшего совершенствования отношения необходимо преобразовать его в ЗНФ.
Отношение находится в ЗНФ, если оно находится в 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Существует и альтернативное определение. Отношение находится в ЗНФ в том и только в том случае, если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
Усиленная ЗНФ или нормальная форма Бойса-Кодда (БКНФ).
Отношение находится в БКНФ, если оно находится в ЗНФ и в нем отсутствуют зависимости ключей (атрибутов составного ключа) от не ключевых атрибутов.
Четвертая нормальная форма.
Отношение R находится в четвертой нормальной форме (4НФ) в том и только в том случае, когда существует многозначная зависимость А=>В, а все остальные атрибуты R функционально зависят от А.
Для функционирования БД необходимо обеспечить целостность данных. Под целостностью понимают свойство базы данных, означающее, что она содержит полную, непротиворечивую и адекватно отражающую предметную область информацию.
Различают физическую и логическую целостность [5]. Физическая целостность означает наличие физического доступа к данным и то, что данные не утрачены. Логическая целостность означает отсутствие логических ошибок в базе данных, к которой относятся нарушение структуры БД или ее объектов, удаление или изменение установленных связей между объектами. В дальнейшем речь будем вести о логической целостности.
Поддержание целостности БД включает проверку (контроль) целостности и ее восстановление в случае обнаружения противоречий в базе. Целостное состояние БД задается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные.
Среди ограничений целостности можно выделить два основных типа ограничений: ограничения значений атрибутов отношений и структурные ограничения на кортежи отношений.
Таблица — это основная единица хранения информации в системе. Таблицы в базе данных хранят все пользовательские данные. Кроме того, в системе есть специальные таблицы, к которым в обычных условиях пользователи доступа не имеют или имеют его только на чтение. Это системные таблицы, в которых описана логическая структура всей СУБД, в частности, содержатся параметры пользователей, их права доступа, структуры пользовательских таблиц, тексты сохраненных процедур, триггеров.
Данные в таблице хранятся в строках и столбцах. Каждый столбец имеет свое имя и присвоенный столбцу тип данных. Данные в столбце могут быть только одного типа.
На основе исходных данных была разработана ER-диаграмма базы данных системы «Каталог товаров» (рис. 3.5), в которой указаны таблицы базы данных, связи между ними, первичные и вторичный ключи.
Рисунок 3.5 — Модель базы данных проектируемой системы Для ER-диаграммы необходимо составить подробную таблицу типов данных, в ней указаны таблицы, атрибуты таблиц, типы и размеры данных и описание атрибутов.
Таблица 3.6 — Даталогическая модель данных. Спецификации.
СОТРУДНИКИ. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID сотрудника. | Числовой. | Длинное целое. | ПК. | |
Фамилия. | Текстовый. | |||
Имя. | Текстовый. | |||
Отчество. | Текстовый. | |||
Дата рождения. | Дата/время. | Краткий формат даты. | ||
Пол. | Текстовый. | |||
Адрес. | Текстовый. | |||
Телефон. | Текстовый. | |||
Брак. | Логический. | Да/Нет. | ||
Кол-во детей. | Числовой. | Целое. | ||
Отдел. | Текстовый. | |||
Должность. | Текстовый. | |||
Зарплата. | Денежный. | Денежный. | ||
Дата приема на работу. | Дата/время. | Краткий формат даты. | ||
Паспорт. | Текстовый. | |||
ИНН. | Текстовый. | |||
Пенсионное свидетельство. | Текстовый. | |||
КНИГИ. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID товара ISBN. | Текстовый. | ПК. | ||
ID поставщика. | Числовой. | Целое. | ВК. | |
ID издательства. | Числовой. | Целое. | ВК. | |
Наименование. | Текстовый. | |||
Автор | Текстовый. | |||
Жанр | Текстовый. | |||
Год издания. | Числовой. | Целое. | ||
Кол-во страниц. | Числовой. | Целое. | ||
Иллюстрации. | Логический. | Да/Нет. | ||
Цена. | Денежный. | Денежный. | ||
Количество. | Числовой. | Целое. | ||
ПОСТАВЩИКИ. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID поставщика. | Числовой. | Целое. | ПК. | |
ФИО. | Текстовый. | |||
Наименование. | Текстовый. | |||
ИНН. | Текстовый. | |||
Юридический адрес. | Текстовый. | |||
Телефон. | Текстовый. | |||
ЗАКАЗЫ. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID заказа. | Счетчик. | Длинное целое. | ПК. | |
ID товара ISBN. | Текстовый. | ВК. | ||
ID поставщика. | Числовой. | Целое. | ВК. | |
ID сотрудника. | Числовой. | Длинное целое. | ВК. | |
ID издательства. | Числовой. | Целое. | ВК. | |
Дата заказа. | Дата/время. | Краткий формат даты. | ||
Количество (шт.). | Числовой. | Целое. | ||
Сумма заказа. | Денежный. | Денежный. | ||
Способ доставки. | Текстовый. | |||
ПОКУПКИ. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID покупки. | Счетчик. | Длинное целое. | ПК. | |
ID клиента. | Числовой. | Целое. | ВК. | |
ID товара ISBN. | Текстовый. | ВК. | ||
ID поставщика. | Числовой. | Целое. | ВК. | |
ID сотрудника. | Числовой. | Длинное целое. | ВК. | |
ID издательства. | Числовой. | Целое. | ВК. | |
Дата покупки. | Дата/время. | Краткий формат даты. | ||
Цена. | Денежный. | Денежный. | ||
Количество. | Числовой. | Целое. | ||
Сумма. | Денежный. | Денежный. | ||
НДС. | Денежный. | Денежный. | ||
Сумма с НДС. | Денежный. | Денежный. | ||
ИЗДАТЕЛЬСТВО. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID издательства. | Числовой. | Целое. | ПК. | |
Название. | Текстовый. | |||
Адрес. | Текстовый. | |||
Телефон. | Текстовый. | |||
КЛИЕНТЫ. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID клиента. | Числовой. | Целое. | ПК. | |
Фамилия. | Текстовый. | |||
Имя. | Текстовый. | |||
Отчество. | Текстовый. | |||
Адрес. | Текстовый. | |||
Телефон. | Текстовый. | |||
СКЛАД. | ||||
Наименование поля. | Тип данных. | Размер поля/Формат поля. | Ключевое поле. | |
ID поставки. | Счетчик. | Длинное целое. | ПК. | |
ID поставщика. | Числовой. | Целое. | ВК. | |
ID товара ISBN. | Текстовый. | ВК. | ||
ID сотрудника. | Числовой. | Длинное целое. | ВК. | |
ID издательства. | Числовой. | Целое. | ВК. | |
№ товарной накладной. | Текстовый. | |||
Дата поставки. | Дата/время. | Краткий формат даты. | ||
Цена. | Денежный. | Денежный. | ||
Количество. | Числовой. | Целое. | ||
Доступно. | Числовой. | Целое. | ||
Выписано. | Числовой. | Целое. | ||
Остаток. | Числовой. | Целое. | ||