[МУЗЫКА] [МУЗЫКА] В последнем фрагменте нашего сегодняшнего занятия мы расскажем вам про демонстрационную базу, которую вы сможете найти в заданиях к сегодняшнему занятию. Она понадобится нам, во-первых, для закрепления знаний, полученных на этом занятии, и для демонстрации возможностей, которые мы будем излагать в дальнейших разделах курса. И на основе этой базы будут продемонстрированы разнообразные приемы работы с данными. Для того чтобы создать эту демонстрационную базу, мы взяли хорошо известную всем предметную область. Мы будем хранить информацию о студентах, которые изучают какие-то курсы. Курсы преподаются преподавателями, и студенты сдают по этим курсам экзамены. Рассмотрим подробнее, какая информация нам потребуется. Нам потребуется таблица Преподаватель, в которой будет идентификатор, суррогатный ключ для каждого преподавателя, его имя и его позиция. Следующая позиция, которая нам понадобится, это таблица Предметы. Это изучаемые курсы, которые будут вести преподаватели и которые студенты смогут сдавать. Там есть идентификатор курса и название курса. Следующая таблица — это Учебные группы, в которых будет храниться номер группы и изучаемая студентами специализация. Теперь пошли зависимые таблицы которые будут ссылаться на описанные ранее. Первая зависимая таблица будет хранить информацию о студентах. Мы будет хранить идентификатор студента, который может быть, например, номер зачетки, мы будем хранить имя студента, номер группы, дату рождения и адрес. При этом поле Номер группы будет ссылаться на поля, созданные раннее таблицей, которая описывает номер группы и специализацию. Следующая таблица, которая нам понадобится, — Телефоны. Почему мы не включили поле Телефоны в таблицу Студенты? Потому что у одного студента может быть несколько телефонов, у другого мы можем не знать ни одного. Поэтому нам потребуются отдельная таблица со слабой сущностью Телефон, в которой будут поля Идентификатор студента, таким образом мы привязываем строки этой таблицы к конкретным строкам таблицы студентов, будет тип телефона, который может быть домашний, мобильный. И указываем непосредственно сам номер телефона. Заметим, что поле Идентификатор студента в таблице телефонов является внешней ссылкой на таблицу Студенты. Следующая таблица, которая нам понадобится, это это таблица экзаменационных ведомостей, в которой будет содержаться уникальный идентификатор ведомости, будет включаться номер группы, которая сдает экзамен. Также мы сюда включаем идентификатор преподавателя, который принимает экзамен, и идентификатор предмета, по которому идет экзамен. Еще там должен быть номер аудитории, в которой будет проходить экзамен, и дата экзамена. Мы прописываем ограничение целостности для таблицы с результатами экзаменов. Их будет целых три. Первое, что поле Идентификатор курса ссылается на таблицу, в которой эти курсы описываются. Следующая внешняя ссылка — это ссылка на преподавателя. В таблице экзаменационных ведомостей мы храним только ID преподавателя, и это поле ссылается на таблицу преподавателей. И еще одна ссылка — это номер группы. Мы ссылаемся на таблицу, которая описывает номера групп и их специализацию. Эту демонстрационную базу вы сможете скачать из заданий, установить ее на своем компьютере и опробовать в любой СУБД, которую вы должны предварительно на свой компьютер установить. Этот скрипт написан на процедурном расширении с учетом контекста языка MySQL, но вы можете, в принципе, использовать любую доступную вам СУБД, вам лишь потребуется несколько видоизменить некоторые команды для того, чтобы в любой СУБД эта демонстрационная база могла быть запущена. Мы рассмотрели с вами структуру демонстрационной базы, скрипт которой приложен к заданиям. Для того чтобы установить эту демонстрационную базу на своем компьютере, вам прежде потребуется установить некую СУБД. Мы рекомендуем вам использовать MySQL, и этот скрипт написан непосредственно для этой СУБД. Но, в принципе, вы можете использовать любую доступную вам СУБД. Возможно вам потребуется для запуска демонстрационной базы несколько видоизменить некоторые команды.