Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / УСТАНОВ_ЛЕКЦИИ_БД / УСТАНОВ_ЛЕКЦИИ_БД / 6_Моделирование данных.ppt
Скачиваний:
39
Добавлен:
26.05.2015
Размер:
231.94 Кб
Скачать

Этапы нормализации таблицы

1 – Ключевые поля;

2 – Поля, не полностью зависящие от ключа;

3 – Поля, не зависящие от ключа;

4 – Поля, зависящие от ключа 1. PK – код

поставщик

а

2. PK - код товара

3. PK - номер накладной и дата поступлени я, FK – код поставщика

.

4. FK - номер накладной, дата поступлен ия и код товара.

Результат нормализации исходной таблицы

Схема данных

Нормализация

БД “Лицей”

1. отсутствие отдельных полей для данных о студенте затруднит поиск студента. Петров бросил ВУЗ, но в БД для его аттестации зарезервирована память.

2. Сидоров – студент ГМУ и аттестуется лишь по одному предмету. Вывод – ФИО должны быть разбиты на поля, предметы должны быть записаны в строках, а не в столбцах таблицы

3. последняя запись - Иванов Иван пересдал аттестацию или это другой студент? Введем поле, однозначно определяющее студента – ID или код_студента

4. дублируются записи в полях ФАМИЛИЯ, ИМЯ, ПРЕДМЕТ. Создадим таблицы СТУДЕНТЫ и ПРЕДМЕТЫ, а в таблице АТТЕСТАЦИИ создадим ссылки на записи в них.

Схема

данных

SELECT СТУДЕНТЫ.код_студ, СТУДЕНТЫ.Фамилия, СТУДЕНТЫ.Имя

FROM СТУДЕНТЫ;

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

На форме отсутствует поле ИМЯ, т.к. в поле КОД_СТУД таблицы АТТЕСТАЦИЯ отображается одно значение - ФАМИЛИЯ. В конструкторе формы изменим на вкладке ДАННЫЕ параметр ИСТОЧНИК ЗАПИСЕЙ

Список полей запроса, которые можно поместить на форму (отображается по команде ВИД – СПИСОК ПОЛЕЙ)

SELECT Аттестация.*, СТУДЕНТЫ.Фамилия, СТУДЕНТЫ.Имя FROM СТУДЕНТЫ

INNER JOIN Аттестация ON СТУДЕНТЫ.код_студ = Аттестация.код_студ;

1. Форма в конструкторе

3.На форму можно поместить кнопку с генерацией кода поиска записи по значению в поле формы

2. Форма в режиме просмотра