Практическая работа 1. Проектирование базы данных
Скачать 2.91 Mb.
|
2.5. Построение даталогической модели. На основании ранее выбранного варианта и таблиц 1.1-1.3, инфологической модели и нормализации БД необходимо: провести соответствие ключей для каждой таблицы 1.1-1.3, заполнить для каждой таблицы БД форму, согласно табл. 1.4. Таблица 1.4. Структура таблицы для даталогической модели. N п.п. Наименование реквизита Иденти- фикатор Тип Длина Формат изобра- жения Ограничения и комментарий III. СОДЕРЖАНИЕ ОТЧЕТА 1. Название и цель работы. 2. Словесный и схематический анализ предметной области (ПО), включая схему структуры предприятия. 3. Заполненные таблицы 1.1 - 1.3. с описанием основных сущностей ПО. 4. Инфологическая модель БД, согласно варианту. 5. Обоснование типов связи в инфологической модели данных. 6. Даталогическая модель БД (табл. 1.4.). IV. ПРИМЕР ОФОРМЛЕНИЯ Пример. Разработать базу данных «Учеба студентов». Решение. Шаг первый. Анализ предметной области. Студенты учатся на одном из факультетов, возглавляемом деканатом, в функции 19 которого входит контроль за учебным процессом. В учебном процессе участвуют преподаватели кафедр, административно относящиеся к одному из факультетов. Каждому факультету могут принадлежать несколько кафедр. Студенты кафедр организованные в группы. Преподаватели кафедр характеризуются фамилией именем и отчеством, должностью, научным званием, ставкой и стажом работы, адресом проживания, возрастом. Каждая кафедра читает определенный набор закрепленных за ней дисциплин. Каждая дисциплина характеризуется своим полным названием, указанием общего количества часов и формы контроля (зачет, экзамен). В конце каждого семестра составляется экзаменационно-зачетные ведомости, в которых указываются дисциплины и для каких групп проводится форма контроля, фамилия преподавателя и учебный год и семестр. В каждой такой ведомости составляется список студентов и выставляется оценка. Шаг второй. Описание основных сущностей ПО. В результате проведенного анализа предметной области базы данных «Учеба студентов» легко перечислить основные сущности этой БД. Так как на физическом уровне сущности соответствует таблица, то просто перечислим основные таблицы БД. В реляционную модель проектированной БД будут входить следующие таблицы (сущности): Факультет, Кафедра, Преподаватели, Группы, Студенты, Дисциплины, Ведомости. Список сущностей. № Название Назначение 1 Факультет Описание факультета и его деканата 2 Кафедра Описание кафедры 3 Преподаватели Описание состава сотрудников кафедр 4 Группы Перечень групп, закрепленных за каждой кафедрой 5 Студенты Перечень студентов каждой группы 6 Дисциплины Перечень дисциплин, закрепленных за каждой кафедрой 7 Ведомости Экзаменнационно-зачетные ведомости с перечнем студентов и их оценками 8 Подчиненная ведомость Это таблица внутри таблицы ведомости. Отражает связь один-ко-многим. Так как каждая ведомость выписывается каждой конкретной группе, а студентов в ней много. Для каждой таблицы (сущности) приведем описание ее атрибутов. Атрибут на физическом уровне – это колонки таблицы и выражает определенное свойство объекта. Список атрибутов таблицы «Факультеты» Ключевое поле Название Назначение ПК (первичный ключ) Код факультета Ключевое поле, предназначенное для однозначной идентификации каждой записи в таблице. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждому факультету. Это целое число. Т.е. для идентификации каждого факультета будет применятся не названия самих факультетов, а определенный номер. Этот номер может быть случайным целым числом или счетчик по порядку. Название факультета 20 ФИО декана Номер комнаты деканата Телефон деканата Список атрибутов таблицы «Кафедра» Ключевое поле Название Назначение ПК (первичный ключ) Код кафедры Ключевое поле. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждой кафедре. Однако для идентификации каждой кафедры первичного ключа недостаточно, так как каждая кафедра принадлежит определенному факультету. Для этого будем использовать внешний ключ. ВК (внешний ключ) Код факультета Внешний ключ – это атрибут отношения, который является первичным ключом другого отношения. В нашем случае это атрибут таблицы факультеты. С помощью внешнего ключа будет определено к какому факультету принадлежит каждая кафедра. Название кафедры ФИО заведующего Номер комнаты кафедры Телефон кафедры Список атрибутов таблицы «Преподаватели» Ключевое поле Название Назначение ПК (первичный ключ) Код преподавателя Ключевое поле. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждому преподавателю. Это например, может быть его табельный номер. Однако для идентификации каждого преподавателя первичного ключа недостаточно, так как каждый сотрудник принадлежит определенной кафедры. Для этого будем использовать внешний ключ. ВК (внешний ключ) Код кафедры С помощью данного внешнего ключа будет определено к какой кафедры принадлежит каждый преподаватель. ФИО должность Ассистент, доцент, процессор, ст. преподаватель научное звание К.т.н., проф., магистр, ст.н.с., м.н.с. ставка стаж работы, адрес проживания возраст Список атрибутов таблицы «Группы» Ключевое Название Назначение 21 поле ПК (первичный ключ) Код группы Ключевое поле. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждой группе. Однако для идентификации каждой группы первичного ключа недостаточно, так как каждая группа принадлежит определенной кафедре. Для этого будем использовать внешний ключ. ВК (внешний ключ) Код кафедры С помощью данного внешнего ключа будет определено к какой кафедре принадлежит каждая группа. Номер группы Год поступления Курс обучения Список атрибутов таблицы «Студенты» Ключевое поле Название Назначение ПК (первичный ключ) Код студента Ключевое поле. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждому студенту. Однако для идентификации каждого студента первичного ключа недостаточно, так как каждый студент принадлежит определенной группе. Для этого будем использовать внешний ключ. ВК (внешний ключ) Код группы С помощью данного внешнего ключа будет определено к какой группе принадлежит каждый студент. ФИО Год рождения Адрес проживания Список атрибутов таблицы «Дисциплины» Ключевое поле Название Назначение ПК (первичный ключ) Код дисциплины Ключевое поле. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждой дисциплине. Однако для идентификации каждой дисциплины первичного ключа недостаточно, так как каждая дисциплина принадлежит определенной кафедре. Для этого будем использовать внешний ключ. ВК (внешний ключ) Код кафедры С помощью данного внешнего ключа будет определено к какой кафедре принадлежит каждая дисциплина. Название дисциплины Расчасовка Форма контроля 22 Список атрибутов таблицы «Ведомости» Ключевое поле Название Назначение ПК (первичный ключ) Код ведомости Ключевое поле. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждой учебной ведомости. Однако для идентификации каждой ведомости первичного ключа недостаточно, так как каждая ведомость выписывается для определенной учебной группе по определенной дисциплине и преподавателя. Для этого будем использовать внешние ключи. ВК (внешний ключ) Код группы С помощью данного внешнего ключа будет определено для какой группы выписывается ведомость. ВК (внешний ключ) Код дисциплины С помощью данного внешнего ключа будет определено для какой дисциплины выписывается ведомость. ВК (внешний ключ) Код преподавателя С помощью данного внешнего ключа будет определено какому преподавателю выписывается ведомость. Учебный год Семестр Список атрибутов таблицы «Подчиненная таблица Ведомости» Ключевое поле Название Назначение ПК (первичный ключ) Код под_ведомости Ключевое поле. Представляет собой первичный ключ. Это уникальное значение, соответствующее каждой подведомости. Однако для идентификации каждой подведомости первичного ключа недостаточно, так как каждая подведомость принадлежит определенной ведомости. Для этого будем использовать внешний ключ. ВК (внешний ключ) Код ведомости С помощью данного внешнего ключа будет осуществлена связь с таблицей ведомости. ВК (внешний ключ) Код студента С помощью данного внешнего ключа будет определен студент Оценка Шаг третий. Построение инфологической модели. Инфологическую модель лучше представить графически, где будут изображены все таблицы и связи между ними. В нашем случае схема связей представлена на рисунке. 23 Для выявленных связей заполним таблицу Список связей. № Название связи Сущности, участвующие в связи Назначение 1 1:М Факультет-Кафедра Одному факультету могут принадлежать несколько кафедр 2 1:М Кафедра - Группа Одной кафедре может принадлежать несколько групп 3 1:М Кафедра - Дисциплины Одной кафедре могут принадлежать несколько читаемых дисциплин 4 1:М Кафедра - Преподаватели На одной кафедре работает более одного преподавателя 5 1:М Группа-Студенты В каждой группе учится множество студентов 6 1:М Группа - Ведомость Каждой группе выписывают несколько ведомостей 7 1:М Дисциплины - Ведомость Ведомость выписывается из множества дисциплин 8 1:М Преподаватели - Ведомость Ведомость выписывается конкретному преподавателю 9 1:М Ведомость-Подчиненная ведомость Подчиненная ведомость принадлежит одной конкретной ведомости 10 1:М Студенты-Подчиненная ведомость В подчиненной ведомости перечислены все студенты группы Шаг четвертый. Построение даталогической модели БД. Даталогическая модель отражается графически в виде схемы базы данных, где указываются имена сущностей, их атрибуты и связи между сущностями. В нашем случае схема связей представлена на рисунке. 24 Даталогическая модель БД представляется в виде набора таблиц специальной формы, в которых указываются наименование атрибута, идентификатор, тип, длина, формат, ограничения. Таблица «Факультеты» № Название Идентификатор Тип Не пусто Ограничение 1 Код факультета Kod_fakulteta Числовой Да ПК (первичный ключ) 2 Название факультета Name_fakulteta Текстовый Нет 3 ФИО декана FIO Текстовый нет 4 Номер комнаты деканата N_komnatu_dekanata Текстовый Нет Например, 123/а 5 Телефон деканата Telefon_dekanata Текстовый Нет Например, 41-69-99 Список атрибутов таблицы «Кафедра» № Название Идентификатор Тип Не пусто Ограничение 1 Код кафедры Kod_kafedru Числовой Да ПК (первичный ключ) 2 Код факультета Kod_fakulteta Числовой Да ВК (внешний ключ) 3 Название кафедры Name_kafedru Текстовый 4 ФИО FIO Текстовый нет 25 заведующего 5 Номер комнаты кафедры N_komnatu_kafedru Текстовый Нет Например, 123/а 6 Телефон кафедры Telefon_kafedru Текстовый Нет Например, 41-69-99 Список атрибутов таблицы «Преподаватели» № Название Идентификатор Тип Не пусто Ограничение 1 Код преподавателя Kod_prepodavately Числовой Да ПК (первичный ключ) 2 Код кафедры Kod_kafedru Числовой Да ВК (внешний ключ) 3 ФИО FIO Текстовый Нет 4 должность Dolgnost Текстовый Нет 5 научное звание Zvanie Текстовый Нет 6 ставка Stavka Числовой Нет Вещественное число Например, 0.5, 0.75, 1 7 стаж работы, Stag Числовой Нет Вещественное число 8 адрес проживания Address Текстовый Нет 9 возраст Vozrast Числовой нет Список атрибутов таблицы «Группы» № Название Идентификатор Тип Не пусто Ограничение 1 Код группы Kod_grupu Числовой Да ПК (первичный ключ) 2 Код кафедры Kod_kafedru Числовой Да ВК (внешний ключ) 3 Номер группы N_grupu Текстовый Нет Например, МТ-461 4 Год поступления God_post Числовой нет 5 Курс обучения Kurs Числовой Нет Вычисляемое поле, как разность между текущей датой и годом поступления Список атрибутов таблицы «Студенты» № Название Идентификатор Тип Не пусто Ограничение 1 Код студента Kod_studenta Числовой Да ПК (первичный ключ) 2 Код группы Kod_grupu Числовой Да ВК (внешний ключ) 3 ФИО FIO Текстовый Нет 4 Год рождения God_rogdeniya Числовой нет 5 Адрес проживания Address Текстовый Нет 26 Список атрибутов таблицы «Дисциплины» № Название Идентификатор Тип Не пусто Ограничение 1 Код дисциплины Kod_disciplinu Числовой Да ПК (первичный ключ) 2 Код кафедры Kod_kafedru Числовой Да ВК (внешний ключ) 3 Название дисциплины Name_dis Текстовый Нет 4 Расчасовка Raschasovka Числовой нет 5 Форма контроля Kontrol Текстовый Нет Два значения – экзамен или зачет Список атрибутов таблицы «Ведомости» № Название Идентификатор Тип Не пусто Ограничение 1 Код ведомости Kod_vedomopsti Числовой Да ПК (первичный ключ) 2 Код группы Kod_grupu Числовой Да ВК (внешний ключ) 3 Код дисциплины Kod_disciplinu Числовой Да ВК (внешний ключ) 4 Код преподавателя Kod_prepodavately Числовой Да ВК (внешний ключ) 5 Учебный год God Числовой Нет 6 Семестр Semester Числовой Нет Диапазон от 1-10 Список атрибутов таблицы «Подчиненная таблица Ведомости» № Название Идентификатор Тип Не пусто Ограничение 1 Код под_ведомости Kod_pod_vedomopsti Числовой Да ПК (первичный ключ) 2 Код ведомости Kod_ edomopsti Числовой Да ВК (внешний ключ) 3 Код студента Kod_studenta Числовой Да ВК (внешний ключ) 4 Оценка Osenka Числовой Нет Диапазон от 0-12 Таблица 1. Варианты заданий для практической работы №1 № варианта Условие Вариант №1 На основании выбранного варианта выполнить следующее: 1. Выполнить анализ предметной области исследуемой организации; 2. Описать основные сущности предметной области; 3. Расставить существующие связи между сущностями: самостоятельно добавить в каждую сущность первичные ключи и установить внешние ключи между сущностями; 4. Построить инфологическую модель базы данных организации; 5. Построить даталогическую модель базы данных организации. БД – успеваемость студентов ВУЗА. БД состоит из следующих таблиц: факультеты, кафедры, учебные группы, студенты, ведомости успеваемости. 27 Таблица факультеты имеет следующие атрибуты: название факультета, ФИО декана, номер комнаты, номер корпуса, телефон. Таблица кафедра имеет следующие атрибуты: название кафедры, факультет, ФИО заведующего, номер комнаты, номер корпуса, телефон, кол-во преподавателей. Таблица учебные группы имеет следующие атрибуты: название группы, год поступления, курс обучения, кол-во студентов в группе. Таблица студенты имеет следующие атрибуты: студента, фамилия, имя, отчество, группа, год рождения, пол, адрес, город, телефон. Таблица ведомости успеваемости имеет следующие атрибуты: группа, студент, предмет, оценка. Вариант №2 На основании выбранного варианта выполнить следующее: 1. Выполнить анализ предметной области исследуемой организации; 2. Описать основные сущности предметной области; 3. Расставить существующие связи между сущностями: самостоятельно добавить в каждую сущность первичные ключи и установить внешние ключи между сущностями; 4. Построить инфологическую модель базы данных организации; 5. Построить даталогическую модель базы данных организации. БД – информационная система супермаркета. БД состоит из следующих таблиц: отделы, сотрудники, товары, продажа товаров, должности. Таблица отделы имеет следующие атрибуты: название отдела, кол-во прилавков, кол-во продавцов, номер зала. Таблица сотрудники имеет следующие атрибуты: фамилия, имя, отчество, отдел, год рождения, год поступления на работу, стаж, должность, пол, адрес, город, телефон. Таблица должности имеет следующие атрибуты: название должности, сумма ставки. Таблица товары имеет следующие атрибуты: название товара, отдел, страна производитель, условия хранения, сроки хранения . |