Нарисуйте схему реляционной базы данных, указав таблицы, названия колонок (обязательно пишите первичные и внешние ключи и самые основные колонки для предметной области), связи (рисуйте так, чтобы было видно, какие колонки они связывают) с метками «1 к одному» и «один ко многим», отметьте первичные ключи и для каждой связи укажите механизмы обеспечения целостности на удаление и изменение. В схеме нельзя использовать связи «многие ко многим», разрешено использовать рекурсивные связи (и требуется использовать рекурсивные связи там, где это возможно).
Предметные области:
1. Университет.Студенты изучают дисциплины, которые ведут преподаватели. Для каждой дисциплины может быть несколько контрольных мероприятий, которые студенты могут пересдавать.
2. Работа. Люди работают в отделах на предприятии, участвуют в нескольких проектах и выполняют задания в соответствии с календарным планом.
3. Почта.Люди обмениваются письмами (вспомните поля, заполняемые на конверте).
4. Ресторан.Посетители заказывают столики в ресторане, выбирают блюда из меню.
5. Аукционы. Предметы продаются покупателям через аукцион. На предметы назначаются начальные цены, покупатели делают ставки.
6. Туризм. Клиент приходит в турфирму, покупает путевку в экзотическую страну, фирма подбирает ему рейсы на самолет туда и обратно и отель. Приехав в страну, турист ездит на экскурсии.
7. Торговая база данных. Продавцы продают товары покупателям. Продавец также может быть покупателем. В любой сделке может быть продано несколько товаров, за которые назначается общая стоимость. Покупатель, впервые регистрируясь в системе, может ввести другого покупателя, который ему порекомендовал присоединиться к системе. Покупая товары, покупатель может рекомендовать эти товары своим друзьям-покупателям.
8. Больница. Пациент ходит на прием к врачу, который выписывает рецепты на лекарства. По поводу одной болезни пациент может ходить на прием к врачу несколько раз.
9. Городская транспортная сеть.В городе ходят автобусы, троллейбусы и трамваи по различным маршрутам. Остановки могут относиться к различным видам транспорта.
10. Железнодорожные билеты.Человек покупает билет на поезд. В билете указывается его ФИО, серия и номер паспорта, номер поезда, время отправления и прибытия, номер вагона и место.
11. Административно-территориальное деление.Хранится информация о субъектах федерации, муниципальных образованиях, населенных пунктах и руководителях административно-территориальных единиц. Административно-территориальные единицы могут быть разного типа, например – города, села, поселки, деревни. Учитывается вложенность, например, Нижний Тагил входит в Свердловскую область. Есть регионы-матрешки, например, Тюменская область.
12. Футбол.Хранится информация о футболистах и тренерах, матчах, командах и стадионах.
13. Логистика.Товары хранятся на складах. За один рейс машина объезжает несколько складов, на каждом загружает и выгружает товары.
14. Родословная. База данных предназначена для хранения родословного древа человека.
15. Коллекционирование. Люди коллекционируют редкие предметы и обмениваются или перепродают их друг другу. БД хранит информацию о перемещениях предметов между людьми. За одну сделку может передаваться несколько предметов. Кроме того, возможна цепочка сделок, когда предметы передаюся между несколькими людьми (например, Иванова передает колье Петровой, которая передает браслет Сидоровой, которая передает кулон Ивановой).
16. Шоу-бизнес. БД хранит информацию о композиторах, музыкантах, поэтах, певцах (один и тот же человек может совмещать эти роли). Исполнители объединяются в группы и ездят на гастроли (в одном концерте может быть несколько групп), выпускают альбомы, снимают клипы.
17. Собаководство. Собаководы разводят породистых собак, участвуют в выставках.
18. Выборы. Избиратели приходят на избирательные участки, расписываются, получают бюллетени, голосуют за кандидатов или партии. В один и тот же день могут быть выборы на несколько должностей.