Дата проведения занятия 25.04.19
Почему бы не собрать все данные в одной таблице?У однотабличной модели есть недостатки:
- дублирование данных
- при изменении каких-то данных может потребоваться изменение нескольких записей
- нет защиты от опечаток
Однотабличная БД - это аналог картотеки, в которой все
карточки имеют одинаковую структуру. А на практике в одной БД нужно
хранить данные, относящиеся к объектам разных типов, которые связаны
между собой.
Удобнее классифицировать сведения об объектах и создать несколько таблиц - для каждого класса. При создании многотабличной БД между таблицами устанавливаются связи. Связь устанавливается только между парой таблиц. Одна из таблиц такой пары называется главной таблицей, другая - подчиненной таблицей.
При создании связи ключевое поле главной таблицы связывается с полем подчиненной таблицы, которое называется внешним ключом
В качестве примера рассмотрим базу данных "Школьная столовая". В этой БД требуется хранить информацию о двух классах объектов: о блюдах, которые продаются в столовой, и заказах, которые поступают от классных руководителей на обеды (завтраки) для классов или заказов отдельных школьников. Рассмотрим схему связей этой БД
Каждое блюдо может быть включено в несколько заказов.
Каждый заказ может состоять из одного или нескольких блюд.
Чтобы упростить связи между таблицами Блюда и Заказы, вводится дополнительная таблица Заказано.
Теперь БД состоит из трех таблиц.
Чтобы упростить связи между таблицами Блюда и Заказы, вводится дополнительная таблица Заказано.
Теперь БД состоит из трех таблиц.
В этой схеме таблицы БД связаны связями "один-ко-многим"
Связь "один-ко-многим" показывает, что одной записи в главной таблице соответствует много записей в подчиненной таблице.
В паре таблиц Блюда - Заказано таблица Блюда - главная, Заказано - подчиненная.
В паре таблиц Заказы - Заказано таблица Заказы - главная, Заказано - подчиненная.
Практическая работа. Разработка многотабличной БД "Школьная столовая".
Практическая работа. Часть 1
Практическая работа. Часть 2
Связь "один-ко-многим" показывает, что одной записи в главной таблице соответствует много записей в подчиненной таблице.
В паре таблиц Блюда - Заказано таблица Блюда - главная, Заказано - подчиненная.
В паре таблиц Заказы - Заказано таблица Заказы - главная, Заказано - подчиненная.
Практическая работа. Разработка многотабличной БД "Школьная столовая".
Практическая работа. Часть 1
Практическая работа. Часть 2
Комментариев нет:
Отправить комментарий