- Придумать предметную область (ПО)
- Описать инфологическую и даталогическую модели БД
Ограничения:
- ПО дожна содержать не менее трех объектов (сущностей)
- Модель БД дожна содержать типы связей: один к одному, один ко многим, многие ко многим.
Основные элементы ER-моделей (“Entity-Relationship model”):
- объекты (сущности);
- атрибуты объектов;
- связи между объектами.
Инфологическая модель - описание базы данных, её сущностей и связей между ними на понятном человеку языке. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных. Термины «семантическая модель», «концептуальная модель» и «инфологическая модель» являются синонимами.
Пример:
Склад:
- ID
- название
- адрес
- ...
Товар:
- ID
- название
- количество
- ...
Даталогическая модель - представление инфологической модели в терминах конкретной БД.
Создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.
LAMP, PHPMyAdmin, схема отношений между таблицами, SQL-код.
"Один-ко-многим" - тип связи таблиц, когда одной записи главной таблицы можно сопоставить несколько записей подчинённой таблицы. Это наиболее частый вид связи между таблицами. Например, если создавать телефонный справочник, то необходимо учесть, что у одного человека может быть несколько телефонов (2 мобильных, 1 домашний и 1 служебный). Или ещё пример: студент (записи о студентах хранятся в главной таблице) обучается в ВУЗе - он изучает несколько предметов (записи о предметах хранятся в подчинённой таблице), по которым сдаёт экзамены и зачёты.
А связь "многие-ко-многим" возникает в тех случаях, когда одной записи одной таблицы может соответствовать несколько записей другой таблицы и наоборот: когда одной записи второй таблицы может соответствовать несколько записей первой таблицы. Пример такого вида связи: имеем 2 таблицы "Товары" и "Клиенты", каждый клиент может приобрести несколько товаров, в свою очередь каждый товар (по наименованию) может быть приобретён (или заказан) несколькими клиентами. Ещё пример (по ВУЗ): пусть есть 2 таблицы "Преподаватель" и "Студент", каждый преподаватель может обучать нескольких студентов, в то же время каждый студент может обучаться у нескольких преподавателей.
Еще примеры из жизни: Допустим создаем БД описывающее работу какой-то школы
- Каждая школа гарантированно имеет 1-го директора. Это связь 1 к 1. 1 школа -> 1 директор
- В каждой школе есть несколько классов это связь 1 ко многим. 1 школа -> много классов
- Теперь учителя-предметники. Если попробовать составить таблицу отношений учителей с классами то получим довольно сложную картину: 1 учитель может преподавать в нескольких классах, в то же самое время в одном классе может преподавать несколько учителей. Это и есть классическое отношение многие ко многим. Несколько учителей <-> Несколько классов.