пр №1. !!Практическая работа №1(13.02). Практическая работа 1. Проектирование базы данных Цель практической работы
Скачать 0.54 Mb.
|
СТУДЕНТ <-> СЕССИЯКаждый студент имеет определенный набор экзаменационных оценок в сессию. При связи один ко многим («1:М») одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А. Графически данное соответствие имеет вид, представленный на рис. 9. Рис. 9. Графическое изображение реального отношения «1:М» Примером связи «1:М» служит связь между информационными объектами СТИПЕНДИЯ и СЕССИЯ: СТИПЕНДИЯ < -- >> СЕССИЯУстановленный размер стипендии по результатам сдачи сессии может повторяться многократно для различных студентов. Связь многие ко многим («М:М») предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот. На рис. 10 графически представлено указанное соответствие. Рис. 10. Графическое изображение реального отношения «М:М» Примером данного отношения служит связь между информационными объектами СТУДЕНТ и ПРЕПОДАВАТЕЛЬ: СТУДЕНТ <<—>>ПРЕПОДАВАТЕЛЬОдин студент обучается у многих преподавателей, один преподаватель обучает многих студентов. Связь «многие к одному» при создании БД физически обычно организуется путем введения дополнительного поля в таблицу со стороны «много». Это поле называется внешний ключ. На рис. 10. код группы - внешний ключ. Рис. 11. Введение внешнего ключа в БД 2.4. Построение инфологической (концептуальной модели) предметной области Заключительная фаза анализа предметной области состоит в проектировании ее инфологической структуры, т.е. построении концептуальной модели. Концептуальная модель включает описания объектов и их взаимосвязей, представляющих интерес в рассматриваемой предметной области (ПО) и выявляемых в результате анализа данных. Концептуальная модель применяется для структурирования предметной области с учетом информационных интересов пользователей системы. Она дает возможность систематизировать информационное содержание предметной области, позволяет как бы "подняться вверх" над ПО и увидеть ее отдельные элементы. При этом уровень детализации зависит от выбранной модели. Концептуальная модель является представлением точки зрения пользователя на предметную область и не зависит ни от программного обеспечения СУБД, ни от технических решений. Концептуальная модель должна быть стабильной. Могут меняться прикладные программы, обрабатывающие данные, может меняться организация их физического хранения, концептуальная модель остается неизменной или увеличивается с целью включения дополнительных данных. Одной из распространенных моделей концептуальной схемы является модель «сущность - связь» (ER-моделей (или ER-диаграмм)). Основными конструкциями данной модели являются сущности и связи. Под сущностью понимают основное содержание объекта ПО, о котором собирают информацию. В качестве сущности могут выступать место, вещь, личность, явление. Экземпляр сущности - конкретный объект. Сущность принято определять атрибутами - поименованными характеристиками. Чтобы задать атрибут в модели, ему надо присвоить имя и определить область допустимых значений. Связь определяет отношения между сущностями. Типы связей: один к одному, один ко многим, многие ко многим. При построении модели «сущность - связь» используют графические диаграммы. При этом обозначают: сущности - прямоугольниками, атрибуты - овалами, связи - ромбами ( рис.12). На практике приходится строить несколько вариантов моделей, из которых выбирается одна, наиболее полно отображающая предметную область. Классом объектовназывают совокупность объектов, обладающих одинаковым набором свойств. Например, для объектов класса «СТУДЕНТ» таким набором свойств являются: «ГОД_РОЖДЕНИЯ», «ПОЛ» и др. Объекты могут быть реальными, как названный выше объект «СТУДЕНТ», и абстрактными, как, например, «ПРЕДМЕТЫ», которые изучают студенты. Пример.Выполнить инфологическое проектирование БД "Сессия". База данных должна выдавать оперативную информацию об успеваемости студентов на факультетах в семестре. Результатами сессии считать только экзамены. ВБД, исходя из требований, можно выделить лишь одно приложение: оперативный учет успеваемости студентов факультетов по дисциплинам учебного плана. Приложение должно обеспечить выдачу отчетной информации по результатам сессии каждого студента, учебной группы, курса, факультета, а также дать возможность формировать итоговые ведомости по результатам сессии. Выберем следующие сущности: ИНСТИТУТ, ФАКУЛЬТЕТ, СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА. В данном примере можно выделить сущность ЭКЗАМЕН или ВЕДОМОСТЬ, но можно не выделять, а сформировать ведомость из имеющихся данных посредством связей. Зададим каждую сущность набором атрибутов: ИНСТИТУТ (название, подчиненность, адрес, телефон, ФИО ректора) ФАКУЛЬТЕТ (название, код специальности, данные о кафедрах, число выпускников, декан). СТУДЕНТ (ФИО, группа, курс, номер текущего семестра, пол). ПРЕПОДАВАТЕЛЬ (ФИО, должность, звание, кафедра, стаж). ДИСЦИПЛИНА (название, число часов, код дисциплины, виды занятий, число читаемых семестров, номера текущих семестров, на каких курсах преподается) В каждом наборе атрибутов, характеризующих сущность, необходимо выбрать ключевые атрибуты, т.е. атрибуты, делающие сущность уникальной. При задании атрибутов ключевые атрибуты подчеркивались. Определим связи между сущностями. Название связи Связи между сущностями
После выбора сущностей, задания атрибутов и анализа связей можно перейти к проектированию информационной (концептуальной) схемы БД. Концептуальная схема БД "Успеваемость» представлена на рис.12 (атрибуты сущностей на диаграмме не показаны). Рассмотрим некоторые ограничения в рассматриваемом примере: Значение атрибута "телефон" (сущность - ИНСТИТУТ) задается целым положительным шестизначным числом. Значение атрибута "код факультета" (сущность - ФАКУЛЬТЕТ) лежит в интервале 1-10. Значение атрибута "курс" (сущность - СТУДЕНТ) лежит в интервале 1 - 6 Значение атрибута "семестр" (сущность - СТУДЕНТ, ДИСЦИПЛИНА) лежит в интервале 1-12. Значение атрибута "число часов" (сущность - ДИСЦИПЛИНА) лежит в интервале 1-300. Одному студенту может быть приписана только одна группа. Один студент может учиться только на одном факультете. Один студент в семестре сдает от 3 до 5 дисциплин Один студент изучает в семестре от 6 до 12 дисциплин. Одному преподавателю приписывается только одна кафедра. Один студент может пересдавать одну дисциплину не более трех раз. Ключи: название института, название факультета, ФИО и группа студента, ФИО и кафедра преподавателя, название дисциплины. Рис 12. Концептуальная схема БД «Сессия» Рис. 13. Пример построения инфологической модели данных. ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ 3.1. Даталогическое проектирование Инфологическая модель является исходной для построения даталогической модели БД и служит промежуточной моделью для специалистов предметной области (для которой создается банк данных (БнД)) и администратора БД в процессе проектирования и разработки конкретной БД. Рис. 14. Структура проектирования БД Под даталогической понимается модель, отражающая логические взаимосвязи между элементами данных безотносительно их содержания и физической организации. При этом даталогическаямодель разрабатывается с учетом конкретной реализации СУБД, также с учетом специфики конкретной предметной области на основе ее инфологической модели. Конечным результатом даталогического проектирования является описание логической структуры базы данных на языке программирования, поддерживаемым выбранной СУБД. Спроектировать логическую структуру базы данных означает определить все информационные единицы и связи между ними, задать их имена; если для информационных единиц возможно использование разных типов, то определить их тип. Следует также задать некоторые количественные характеристики, например, длину поля. Даталогическую модель базы данных представляют в виде набора таблиц специальной формы (табл. 1.4.). Такая таблица составляется для каждого отношения, используемого в базе данных. Отношения в базе соответствуют классам объектов инфологической модели. Кроме того, отношения могут представлять некоторые связи предметной области. Каждой таблице нужно поставить в соответствие ее ключи. Схема ключа представляет собой перечисление атрибутов отношения, составляющих ключ. Различают простые и составные ключи. Простой ключ строится на основе одного атрибута. Составной ключ строится на базе использования нескольких атрибутов. Ключи разделяют на первичные, внешние и вспомогательные. Первичный индекс должен быть только один для каждой таблицы. Значения атрибутов, используемых для формирования первичного ключа, должны быть уникальными для каждой записи в таблице. Значения первичного ключа уникально идентифицируют каждую запись. Не может быть двух записей в таблице с одинаковым значением первичного ключа. Например, в качестве первичного ключа для отношения «Сотрудники» можно выбрать атрибут «Табельный номер», значение которого является уникальным для каждой записи о сотруднике. Внешние ключи используются для реализации связей типа «1:М» между отношениями. Внешний ключ строится для отношения, находящегося на стороне «много» связи «1:М». Для каждого такого отношения в даталогической модели должен быть показан внешний ключ. Внешний ключ всегда должен иметь соответствующий ему первичный ключ отношения, находящегося на стороне «один» связи типа «1:М». II. ЗАДАНИЕ ВЫПОЛНЕНИЯ ПРАКТИЧЕСКОЙ РАБОТЫ 2.1. Выбор задания Выбрать из таблицы «Варианты заданий для лаб.работы №1»(варианты задний приведены ниже) вариант задания, соответствующий номеру студента в списке учебной группы. Для всех последующих практических работ вариант остается неизменным. Каждому студенту предоставляется свой вариант предметной области (ПО), который он будет использовать в процессе выполнения всех практических работ. 2.2. Анализ предметной области. На основании выбранного варианта привести: название предприятия, цель деятельности предприятия, структура предприятия, информационные потребностей пользователей (кратко). 2.3. Описание основных сущностей ПО. Здесь выполняется описание основных сущностей (объектов) ПО. Отбор сущностей производится на основе анализа информационных потребностей. Необходимо привести таблицы описания сущностей (сущностей должно быть не менее 3-х) (Таблица 1.1). Таблица 1.1. Список сущностей предметной области.
Далее выполняется отбор атрибутов (не менее 5-ти) для каждого экземпляра сущности. Отбираются только те атрибуты сущностей, которые необходимы для формирования ответов на регламентированные запросы. Для каждого объекта приводятся таблицы его атрибутов (Таблица 1.2). Таблица 1.2. Список атрибутов.
На основе анализа информационных запросов следует выявить связи между сущностями. Для выявленных связей также нужно заполнить таблицу 1.3. Таблица 1.3. Список связей ПО.
2.4. Построение инфологической модели. На основании ранее выбранного варианта и таблиц 1.1-1.3: описать классы объектов (сущностей) и их свойства, расставить существующие связи между ними, на основании табл. 1.3. письменно обосновать типы связей (1:1, 1:М и т.д.). При графическом построении ИЛМ следует придерживаться единого масштаба для всей схемы. Все прямоугольники, обозначающие классы объектов, должны быть одного размера. Аналогично, все ромбы с именами связей также должны иметь одинаковый размер. 2.5. Построение даталогической модели. На основании ранее выбранного варианта и таблиц 1.1-1.3, инфологической модели и нормализации БД необходимо: провести соответствие ключей для каждой таблицы 1.1-1.3, заполнить для каждой таблицы БД форму, согласно табл. 1.4. Таблица 1.4. Структура таблицы для даталогической модели.
III. СОДЕРЖАНИЕ ОТЧЕТА Название и цель работы. Анализ предметной области (ПО). Заполненные таблицы 1.1 - 1.3. с описанием основных сущностей ПО. Инфологическая модель БД, согласно варианту. Обоснование типов связи в инфологической модели данных. Даталогическая модель БД (табл. 1.4.). IV. ПРИМЕР ОФОРМЛЕНИЯ Пример. Разработать базу данных «Успеваемость студентов». Решение. Шаг первый. Анализ предметной области. Студенты учатся на одном из факультетов, возглавляемом деканатом, в функции которого входит контроль учебного процесса. В учебном процессе участвуют преподаватели кафедр, административно относящиеся к одному из факультетов. Каждому факультету могут принадлежать несколько кафедр. Студенты кафедр организованные в группы. Преподаватели кафедр характеризуются фамилией именем и отчеством, должностью, научным званием, нагрузкой, стажем работы, адресом проживания, возрастом. Каждая кафедра обеспечивает изучение определенного набора закрепленных за ней дисциплин. Каждая дисциплина характеризуется своим полным названием, указанием общего количества часов и формы контроля (зачет, экзамен). В конце каждого семестра составляются экзаменационно-зачетные ведомости, в которых указываются дисциплины, направления, курсы группы, проводимая форма контроля, фамилия преподавателя и учебный год и семестр. В каждой такой ведомости формируется список студентов и выставляется оценка. Шаг второй. Описание основных сущностей ПО. В результате проведенного анализа предметной области базы данных «Успеваемость студентов» перечислим основные сущности. Так как на физическом уровне сущности соответствует таблица, то перечислим основные таблицы БД. В реляционную модель проектированной БД будут входить следующие таблицы (сущности): Факультет, Кафедра, Преподаватели, Группы, Студенты, Дисциплины, Ведомости. Таблица1. Список сущностей.
Для каждой таблицы (сущности) приведем описание ее атрибутов. Таблица 2.Список атрибутов таблицы «Факультеты»
Таблица 3.Список атрибутов таблицы «Кафедра»
Таблица 4.Список атрибутов таблицы «Преподаватели»
Таблица 5.Список атрибутов таблицы «Группы»
Таблица 6.Список атрибутов таблицы «Студенты»
Таблица 7.Список атрибутов таблицы «Дисциплины»
Таблица 8.Список атрибутов таблицы «Ведомости»
Таблица 9.Список атрибутов таблицы «Подчиненная таблица Ведомости»
Шаг третий. Построение инфологической модели. Инфологическую модель представляется графически в виде ER-диаграммы, на которой изображаются сущности и связи между ними. Рисунок. ER-диаграмма предметной области «Успеваемость студентов» Для выявленных связей заполняется таблица. Таблица 10. Список связей.
Шаг четвертый. Построение даталогической модели БД Даталогическая модель отражается графически в виде схемы базы данных, где указываются имена сущностей, их атрибуты и связи между сущностями. В нашем случае схема связей представлена на рисунке. Рисунок. Концептуальная схема базы данных Даталогическая модель БД представляется в виде набора таблиц специальной формы, в которых указываются наименование атрибута, идентификатор, тип, длина, формат, ограничения. |