1.4 Нормальные формы отношений
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.
Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.
Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.
Таблица находится в нормальной форме Бойса-Кодда (НФБК), если и только если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от возможного ключа.
2 Этапы проектирования БД
Жизненный цикл БД представляет собой концепцию, в рамках которой рассматривается развитие БД во времени. Жизненный цикл БД делится на две фазы:
- фаза анализа и проектирования,
- фаза эксплуатации.
В течение 1-ой фазы происходит сбор требований пользователей и проектирование БД. В течение 2-ой фазы происходит машинная реализация (создание и отладка программ, проектирование входных и выходных форм и т.д.). Последовательность выполнения этапов и решения задач представлена на рис. 2:
Формулировка и анализ требований относится к первой фазе и является наиболее трудным и длительным во времени этапом процесса проектирования.
Однако он является наиболее важным, т.к. на его базе строится большинство проектных решений. Основной задачей является сбор требований, предъявляемых к содержанию и процессу обработки данных пользователями всех уровней. Анализ требований обеспечивает согласованность целей пользователей, а также согласованность их представлений об информационных потоках. На основе анализа требований устанавливаются цели организации, определяются требования к БД, вытекающие из основных задач. Эти требования документируются в форме доступной пользователям и проектировщикам БД. Для более тщательного анализа требований используется методика тестирования или анкетирования пользователя различного уровня. Результатом этого этапа является определение формата и семантики данных.
Концептуальное проектирование имеет своей целью построение независимой от СУБД информационной структуры путем объединения информационных требований пользователя. Результатом этого этапа является представление информационных требований в виде диаграмм «сущность-связь». Основу этой диаграммы представляет набор сущностей, который моделирует определенную совокупность сведений, сведенных к требованиям.
Сущность представляет собой основное содержание того явления или процесса, о котором необходимо собрать информацию (она является узловой точкой сбора данных). Необходимо различать тип сущности и экземпляр сущности. Тип сущности - это набор однородных вещей, предметов, явлений, выступающих как единое целое. Экземпляр сущности относится к конкретной вещи, т.е. когда вместо общих характеристик появляются конкретные данные.
Сущность является наиболее общим понятием по сравнению с объектом предметной области. При построении диаграмм «сущность-связь» возникают некоторые сложности, связанные с тем, что одни и те же пользователи БД имеют различные представления одних и тех же фактов.
Проектирование реализации также относится к 1-ой фазе жизненного цикла и состоит из двух компонент:
- проектирование БД на уровне логической структуры,
- проектирование программ.
Структурой БД является СУБД, ориентированное описание данных или схема, обычно выраженная в терминах языка описания данных.
Проектирование программного обеспечения имеет целью создание структурированных программ, использующих язык программирования и язык манипулирования данными.
Язык манипулирования данными - это ничто иное как набор команд, осуществляющих различные процедуры манипулирования данными.
Физическое проектирование относится к 1-ой фазе и делится на три категории:
Проектирование формата хранимых записей (сюда включаются виды представления и сжатия данных в записи), распределение элементов данных записей по различным участкам физической памяти в зависимости от их размеров и характеристик использования.
Анализ и проектирование кластеров. Кластеризацией записей называется такое объединение записей различного типа в физические группы, которое позволяет эффективно использовать преимущество последовательного размещения данных.
Проектирование путей доступа к данным (сюда включаются такие параметры и методы, тот которых в значительной степени зависит время доступа и время обработки запросов. Иногда эти параметры называют производительностью системы или производительностью СУБД).
Результатом физического проектирования является физическая структура БД, форматы и размещение в памяти записей и методы доступа к данным.
2.1 Советы и рекомендацииВекторы. Представляйте векторы данных по столбцам, а не по строкам. Например, диаграмму продаж товаров x, y, ... за последние годы лучше представить в виде:
ТОВАР | МЕСЯЦ | КОЛ-ВО |
x | ЯНВАРЬ | 100 |
x | ФЕВРАЛЬ | 50 |
… | ... | … |
x | ДЕКАБРЬ | 360 |
y | ЯНВАРЬ | 75 |
… | … | … |
x | ДЕКАБРЬ | 35 |
… | … | … |
а не так, как показано ниже:
ТОВАР | ЯНВАРЬ КОЛ-ВО | ФЕВРАЛЬ КОЛ-ВО | … | ДЕКАБРЬ КОЛ-ВО |
x | 100 | 50 | … | 360 |
y | 75 | 144 | … | 35 |
Одна из причин такой рекомендации заключается в том, что при этом значительно проще записываются обобщенные (параметризованные) запросы.
Неопределенные значения. Будьте очень внимательны с неопределенными (NULL) значениями. В поведении неопределенных значений проявляется много произвола и противоречивости. В разных СУБД при выполнении различных операций (сравнение, объединение, сортировка, группирование и другие) два неопределенных значения могут быть или не быть равными друг другу. Они могут по разному влиять на результат выполнения операций по определению средних значений и нахождения количества значений. Для исключения ошибок в ряде СУБД существует возможность замены NULL-значения нулем при выполнении расчетов, объявление всех NULL-значений равными друг другу и т.п.
3 Задания к выполнению курсовой работы
3.1 Перечень заданий
1 Описать предметную область:
- определить источники информации, представить формы входных документов;
- определить пользователей проектируемой БД и выполняемые ими функции;
- определить формы выходных документов;
- определить перечень возможных запросов к базе данных.
2 Выявить ограничения целостности, присущие выбранной предметной области, определить, какие из них будут контролироваться в проектируемой БД.
3 Построить инфологическую модель:
- выявить необходимый набор сущностей, их свойства и связи между сущностями;
- определить требуемый набор атрибутов для каждой сущности, выделив идентифицирующие атрибуты;
- классифицировать сущности;
- определить связи между объектами;
- задать ограничения целостности;
- описать полученную модель, используя заданную нотацию.
- построить набор необходимых отношений базы данных;
- выделить первичные и внешние ключи определенных отношений;
- привести полученные отношения к третьей нормальной форме.
4 Создать базы данных в Microsoft Access
- создать таблицы базы данных в соответствии с выделенными сущностями инфологической модели
- построить запросы к базе данных
- создать необходимые формы и отчеты
- описать порядок работы с созданной базой данных при выполнении различных задач
... на модели данных, реализованные в различных СУБД. Наибольшую популярность получили CASE-системы для реляционных СУБД с SQL-моделями данных, а DD/D переименовался в CASE-репозиторий проектируемой ИС. На этом пути возникло два основных направления развития CASE-систем и технологий проектирования: CASE-системы для проектирования собственно БД (или т. н. Upper-CASE) и интегрированные инструменты, ...
... мире. Внутренняя схема - это сама база данных. Отсюда вытекают основные этапы, на которые разбивается процесс проектирования базы данных информационной системы: Концептуальное проектирование - сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия: обследование предметной области, изучение ее информационной структуры выявление всех фрагментов, каждый ...
... возврат делянки лесничеству, накладная на заказ и на продажу, план работы номер телефон номер 6. Построение ER-модели III Логическое проектирование 1. Приведение концептуальной модели в соответствие с требованиями реляционной модели данных 1.1 Удаление связей типа M:N и связей с атрибутами Связи «Древесина имеется у Бригадир» и «Древесина хранится у Нач. базы ...
... 2 Гц; - 512 Мб физической памяти; - Не менее 300 Мб доступного пространства на локальном диске. 2.5 Основные этапы проектирования базы данных «Почтовое отделение»: 1. Общее проектирование системы; 2. Проектирование структуры данных: выбор полей для включения в таблицы; 3. Проектирование и связывание таблиц; 4. Проектирование полей: правила ввода данных и ...
0 комментариев