- •6_Моделирование данных. Таблицы как сущности данных, строка как объект данных, столбец как атрибут
- •Этапы проектирования базы данных
- •Этапы проектирования реляционной БД
- •Элементы РМД и формы их представления
- •Первичный и внешний “ключ”
- •Ограничения, направленные на обеспечение целостности:
- •Основные виды связей между таблицами
- •Принципы нормализации таблиц
- •Нормальные формы таблиц БД
- •Этапы нормализации БД
- •Этапы нормализации таблицы
- •Результат нормализации исходной таблицы
- •Нормализация
- •1. отсутствие отдельных полей для данных о студенте затруднит поиск студента. Петров бросил
- •SELECT СТУДЕНТЫ.код_студ, СТУДЕНТЫ.Фамилия, СТУДЕНТЫ.Имя
- •Список полей запроса, которые можно поместить на форму (отображается по команде ВИД –
Этапы нормализации таблицы
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. Форма в режиме просмотра