Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Третья нормальная форма




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

Посмотрите внимательно на таблицу flat (квартиры) (рис. 1.3). Она содер­жит неключевое поле ACCOUNT (номер лицевого счета), которое однозначно определяет ответственного квартиросъемщика (поля: FAMILY, NAME, SECOND и PASPORT) в этой таблице. Уберем все эти поля в еще одну таблицу account и назначим в ней в качестве простого первичного ключа поле ACCOUNT (табл. 1.10).

 

  Таблица 1.10. Информация об ответственном квартиросъемщике (таблица account)
Поле Тип Размер Описание
ACCOUNT Числовой Номер лицевого счета
FAMILY Текстовый Фамилия квартиросъемщика
NAME Текстовый Имя квартиросъемщика
SECOND Текстовый Отчество квартиросъемщика
PASPORT Поле Memo Авто Данные его паспорта

Связи между таблицами

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

П Связь модин-к-одномумозначает, что каждой записи одной таблицы со­ответствует только одна запись другой таблицы и наоборот. В качестве примера рассмотрим связь между таблицами flat и account (рис. 1.4). Од­на квартира — один ответственный квартиросъемщик. Связь между ними поддерживается при помощи совпадающих полей account. Обратите вни­мание! У полей, используемых для связи, одинаковое наименование (account) и тип (числовой с 5-ю разрядами). Всегда придерживайтесь этого правила при определении полей для связи любого типа между таблицами. Хотя, если быть более точным, связь между таблицами устанавливается на основании значений совпадающих полей, а не их наименований.

П Связь "один-ко-многим".В качестве иллюстрации данного типа связи обратимся к таблицам street и building. Одной улице в таблице улиц

street соответствует несколько зданий из таблицы зданий building.

Связь между ними осуществляется на основании значений совпадающих

полей STREET. Используется простой первичный ключ таблицы street.

В качестве других примеров могут быть рассмотрены таблицы building и flat, flat и owners. Одному зданию соответствует несколько квартир, а одной квартире — несколько собственников. Для связи этих таблиц ис­пользуются составные первичные ключи.

П Связь "многие-к-одному"аналогична ранее рассмотренному типу "один-ко-многим". Тип связи между объектами полностью зависит от ва­шей точки зрения. Например, если вы будете рассматривать связь между собственниками и квартирой, то получите "многие-к-одному". Несколько собственников проживают в одной квартире.



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


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

1.2.5. Что за третьей нормальной формой?

Если вы довели уровень нормализации таблиц вашей базы данных до третьей нормальной формы и ваша задача — разработка системы масштаба предпри­ятия, то смело можете переходить к разработке интерфейса. Однако если вы участвуете в разработке суперхранилища данных под Oracle или DB2, то раз­беритесь по специальной литературе с нормальной формой Бойса — Кодда, четвертой и пятой нормальными формами.


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал