На главную страницу
Форум txt.version   




Статья :: Базы данных : Процедура проектирования

4.7. Процедура проектирования

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

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

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

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

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

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

6. Для того чтобы исключить в проекте непреднамеренные нарушения каких-либо принципов нормализации, выполнить описанную в п. 4.6 процедуру нормализации.

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

8. Указать ограничения целостности проектируемой базы данных и дать (если это необходимо) краткое описание полученных таблиц и их полей.

На рис. 4.6 показан синтаксис предложения, предлагаемого для регистрации принимаемых проектных решений.

Рис. 4.6. Синтаксис описания проектных решений

Для примера приведем описания таблиц "Блюда" и "Состав":

СОЗДАТЬ ТАБЛИЦУ  Блюда *( Стержневая сущность )
 ПЕРВИЧНЫЙ КЛЮЧ ( БЛ )
           ПОЛЯ ( БЛ Целое, Блюдо Текст 60, Вид Текст 7 )
    ОГРАНИЧЕНИЯ ( 1. Значения поля Блюдо должны быть
                  уникальными; при нарушении вывод
                  сообщения "Такое блюдо уже есть".
                  2. Значения поля Вид должны принадлежать
                  набору: Закуска, Суп, Горячее, Десерт,
                  Напиток; при нарушении вывод сообщения
                  "Можно лишь Закуска, Суп, Горячее,
                  Десерт, Напиток");
СОЗДАТЬ ТАБЛИЦУ  Состав *( Связывает Блюда и Продукты )
 ПЕРВИЧНЫЙ КЛЮЧ ( БЛ, ПР )
   ВНЕШНИЙ КЛЮЧ ( БЛ ИЗ Блюда
                  NULL-значения НЕ ДОПУСТИМЫ
                  УДАЛЕНИЕ ИЗ Блюда КАСКАДИРУЕТСЯ
                  ОБНОВЛЕНИЕ Блюда.БЛ КАСКАДИРУЕТСЯ)
   ВНЕШНИЙ КЛЮЧ ( ПР ИЗ Продукты
                  NULL-значения НЕ ДОПУСТИМЫ
                  УДАЛЕНИЕ ИЗ Продукты ОГРАНИЧИВАЕТСЯ
                  ОБНОВЛЕНИЕ Продукты.ПР КАСКАДИРУЕТСЯ)
           ПОЛЯ ( БЛ Целое, ПР Целое, Вес Целое )
    ОГРАНИЧЕНИЯ ( 1. Значения полей БЛ и ПР должны принадлежать
                  набору значений из соответствующих полей таблиц
                  Блюда и Продукты; при нарушении вывод сообщения
                  "Такого блюда нет" или "Такого продукта нет".
                  2. Значение поля Вес должно лежать в пределах
                  от 0.1 до 500 г. );

Рассмотренный язык описания данных, основанный на языке SQL [5], позволяет дать удобное и полное описание любой сущности и, следовательно, всей базы данных. Однако такое описание, как и любое подробное описание, не отличается наглядностью. Для достижения большей иллюстративности целесообразно дополнять проект инфологической моделью, но менее громоздкой, чем рассмотренная в главе 2.

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

Рис. 4.7. Инфологическая модель базы данных "Питание", построенная с помощью языка "Таблицы-связи"

[Назад] [Содержание] [Вперед]

Базы данных : Процедура проектирования

страницы в данном разделе 
 Базы данных : Данные и ЭВМ  Базы данных : Концепция баз данных
 Базы данных : Архитектура СУБД  Базы данных : Модели данных
 Базы данных : Основные понятия  Базы данных : Характеристика связей и язык моделирования
 Базы данных : Классификация сущностей  Базы данных : О первичных и внешних ключах
 Базы данных : Ограничения целостности  Базы данных : О построении инфологической модели
 Базы данных : Реляционная структура данных  Базы данных : Реляционная база данных
 Базы данных : Манипулирование реляционными данными  Базы данных : Цели проектирования
 Базы данных : Универсальное отношение  Базы данных : Почему проект БД может быть плохим?
 Базы данных : О нормализации, функциональных и многозначных зависимостях  Базы данных : Нормальные формы
 Базы данных : Процедура нормализации  Базы данных : Процедура проектирования
 Базы данных : Различные советы и рекомендации  Базы данных : Назначение и предметная область
 Базы данных : Построение инфологической модели  Базы данных : Проектирование базы данных
 Базы данных : ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ  Базы данных : Основы проектирования реляционных баз данных
 Базы данных : ЛИТЕРАТУРА   


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста