
- •Сикха Багуи и Ричард Ирп
- •Контрольные вопросы 1.1
- •Модели данных
- •Иерархическая Модель
- •Сетевая модель
- •Реляционная модель
- •Контрольные вопросы 1.2
- •Функциональные зависимости
- •Правило декомпозиции (разложения)
- •Правило объединения
- •Контрольные вопросы 1.3
- •Краткий обзор метода нормальных форм
- •Примеры 1нф, 2нф и 3нф
- •Упражнение 1.3
- •Глава 2: Базовая er-диаграмма – схема
- •Некоторые определения баз данных: Сущность, Связь, Атрибут
- •Начальная Методология
- •Еще об атрибутах
- •Простые или атомарные атрибуты
- •Многозначные атрибуты
- •Производный атрибуты
- •Описание Сущности на структурном английском языке
- •Сущность
- •Атрибуты
- •Методология er-проектирования
- •Примеры
- •Сущность
- •Атрибуты
- •Методология er проектирования
- •Итоги главы
- •Упражнения Главы
- •Упражнение 2.1
- •Упражнение 2.2
- •Проработка примера
- •Сущность
- •Глава 3: После первой диаграммы сущности
- •Проверка Сущности — замена атрибута сущностью
- •Методология er-проектирования
- •Определение вторичной сущности
- •Существует ли связь?
- •Атрибут или Связь?
- •Глава 4: Расширение связей/ Структурные
- •1(Полное участие):1:
- •Глава 5: Слабая Сущность
- •Грамматика Слабой Сущности
- •Контрольные вопросы 5.3
- •Упражнения Главы 5. Упражнение 5.1
- •Список литературы
- •Сущность
- •Атрибуты для отдела
- •Сущность
- •Атрибуты для служащего
- •Глава 6: Дальнейшее Расширение
- •Сущность
- •Атрибуты
- •Более двух Сущностей
- •С указанием всех атрибутов
- •Развитие базы данных
- •Глава 7: Троичные и er-диаграммы более высокого порядка
- •Глава 8: Обобщения и специализации.
- •Глава 9: Реляционные преобразования и
- •Глава 10: Краткий обзор модели Баркера
- •Глава 10. Упражнения.
Примеры 1нф, 2нф и 3нф
Пример 1НФ (неправильно/правильно)
Здесь, повторяющаяся группа помещена в новую таблицу, но со старым ключом.
Неправильная 1НФ:
разложение на таблицы, 1НФ без повторяющихся групп:
Таблицы 1НФ:
В таблице СЛУЩАЩИЙ «Name» - определено, как ключ, так как оно однозначно идентифицирует строку. В таблице ПОДЧИНЕННЫЙ ключом является совокупность: «DependentName» и «EmployeeName». Ни «DependentName», ни «EmployeeName» не являются уникальными в таблице ПОДЧИНЕННЫЙ и, следовательно, для однозначной идентификации строки таблицы, требуются оба атрибута. «EmployeeName» в таблице ПОДЧИНЕННЫЙ названвнешнимключом, поскольку, он ссылается на первичный ключ «Name» таблицы СЛУЖАЩИЙ. Отметим, что исходная таблица может быть восстановлена объединением этих двух таблиц, путем записи всех строк таблицы СЛУЖАЩИЙ и объединением их с соответствующими строками таблицы ПОДЧИННЕНЫЙ, в которых такие же имена (операцияEQUI-JOIN). Отметим, что в производных таблицах нет аномалий или избыточности.
Пример 2НФ (неправильно/правильно)
В этой таблице устранена частичная зависимость:
Неправильная 2НФ:
2НФ:
Таблица «Name + Job»
Таблица «Name и Address» (информация о Служащем (Employee)):
Снова, отметим избавление от избыточности и возможных аномалий.
Пример 3НФ (неправильно/правильно)
В новой таблице мы избавились от транзитивных зависимостей:
Не-3НФ:
3НФ:
Таблица СЛУЖАЩИЙ:
Таблица ПРОЕКТ:
Отметим удаление транзитивной зависимости и проблемы аномалии.
Существуют и более эзотерические нормальные формы, но большинство баз данных легко разрабатываются, если они приведены к 3НФ. Цель, преследуемая здесь – показать основной процесс и достоинства нормализации.
Контрольные вопросы 1.4
1. Дайте определения 1НФ, 2НФ, и 3НФ.
2. Почему базы данных должны быть нормализованы?
3. Почему следует избегать составных атрибутов с несколькими значениями или повторяющихся групп?
Итоги главы
Эта глава была приведена в качестве введения. В ней кратко описывается процесс программного проектирования и его связь с разработкой ER диаграммы. Затем в главе дан краткий обзор других моделей данных, функциональной зависимости, и нормализации базы данных. Следующие главы описывают проектную методологию ER шаг за шагом.
Упражнения Главы 1
Упражнение 1.1
Если X→Y, можно ли сказать, чтоY→X? Объясните ответ.
Упражнение 1.2
Разложите следующие данные на таблицы 1НФ:
Упражнение 1.3
Должны ли быть разложены на составные части следующие данные?
Список литературы
Armstrong, W. "Dependency Structures of Data Base Relationships,"
Proceedings of the IFIP Congress, 1974.
Chen, P.P. "The Entity Relationship Model — Toward a Unified View of
Data," ACM TODS 1, No. 1, March 1976.
Codd, E. "A Relational Model for Large Shared Data Banks," CACM, 13,
6, June 1970.
Codd, E. Further Normalization of the Data Base Relational Model, in
Rustin (1972).
Codd, E. "Recent Investigations in Relational Database System,"
Proceedings of the IFIP Congress, 1974.
Date, C. An Introduction to Database Systems, 6th ed., Addison-Wesley,
Reading, MA, 1995.
Elmasri, R. and Navathe, S.B. Fundamentals of Database Systems, 3rd
ed., Addison-Wesley, Reading, MA, 2000.
Maier, D. The Theory of Relational Databases, Computer Science Press,
Rockville, MD, 1983.
Norman, R.J. Object-Oriented Systems Analysis and Design, Prentice
Hall, Upper Saddle River, NJ, 1996.
Schach, S.R. Classical and Object Oriented Software Engineering, 4th
ed., McGraw-Hill, New York, 1999.