Проектирование базы данных "Институт"
Курсовая работа
по информатике
Тема: Проектирование базы данных «Институт»
Понятие предметной области
Цель: Необходимо спроектировать базу данных (БД), которая должна выдавать оперативную информацию по учету и успеваемости студентов, о группах, в которых они числятся, о преподавателях и предметах, которые они ведут, об адресах и телефонах преподавателей и деканов о количестве студентов и т.д..
Здесь речь идет об успеваемости студентов разных факультетов для подачи справок по результатам успеваемости каждого студента, учебной группы, курса, факультета, а также для выдачи данных по студентам призывного возраста.
Такая база данных может быть впоследствии использована и для составления расписания занятий.
Для создания такой информационной системы вначале анализируется предметная область т.е. часть реального мира, которую эта информационная система отображает.
Предметная область – это совокупность реальных объектов (сущностей), которые представляют интерес для пользователей.
Объект (сущность) – это предмет, процесс или явление о котором собирается информация, необходимая для решения задачи.
Объектом может быть человек, предмет, событие и т.д..
Каждый объект характеризуется рядом основных свойств – атрибутов.
Атрибутом называется поименованная характеристика объекта. Атрибут показывает, какая информация должна быть собрана об объекте.
Например, объект – студент.
Анализ предметной области
Первым этапом проектирования БД любого типа является анализ предметной области, который заканчивается построением концептуальной схемы (информационной структуры).
На этом этапе анализируются запросы пользователей, выбираются информационные объекты и их характеристики, которые определяют содержание проектируемой БД. На основе проведенного анализа структурируется предметная область.
Анализ предметной области разбивается на три фазы:
анализ концептуальных требований и информационных потребностей ;
выявление информационных объектов и связей между ними;
построение концептуальной модели предметной области и проектирование концептуальной схемы БД.
Анализ концептуальных требований и информационных потребностей
Требования пользователей к разрабатываемой БД представляют собой список запросов, которые разработчик получает в диалоге с будущими пользователями этой БД.
Рассмотрим примерный состав вопросов при анализе предметной области «Институт»:
Сколько студентов учится в вузе?
Сколько факультетов и отделений в вузе?
Как распределены студенты по факультетам отделений и курсам?
Сколько дисциплин читается на каждом курсе по каждой специальности?
Сколько преподавателей в вузе?
Сколько студентов получают и сколько студентов не получают стипендию?
Данные студентов (фамилия, год рождения, № зачетной книжки и т.д.)
Результаты последней сессии.
Адреса и телефоны деканов факультетов и преподавателей.
Распределение преподавателей по предметам.
Как информация, представленная в пунктах 1-10 используется в институте и как ее еще можно использовать.
И т.д.
Выявление информационных объектов и связей между ними
Вторая фаза анализа предметной области состоит в выборе информационных объектов, задании необходимых свойств для каждого объекта, выявлении связей между объектами, определении ограничений, накладываемых на информационные объекты, типы связей между ними, характеристики информационных объектов.
При выборе информационных объектов ответим на ряд вопросов:
на какие классы разделяются данные, подлежащие хранению в БД?
какое имя можно присвоить каждому классу данных?
какие характеристики можно выделить для каждого класса данных?
Какие имена можно присвоить выбранным наборам характеристик?
Например, совокупность информационных объектов, отражающих учебный процесс в вузе:
Студент(Фамилия, пол, год рождения, группа, номер зачетки, стипендия).
Преподаватель(Фамилия, должность, ученая степень, кафедра, предмет, № телефона, домашний адрес).
Факультет(Название факультета, № факультета, фамилия декана, научное звание декана, № телефона, количество студентов на факультете).
Результаты сессии (Фамилия студента, предмет, оценка по этому предмету).
Группа (№ группы, факультет, курс, направление).
Связи могут быть следующих типов:
один к одному
один ко многим
многие ко многим
Например: Студент Преподаватель
это связь многие ко многим.
Группа Студент - это связь один ко многим.
Студент № зачетки - это связь один к одному.
Построение концептуальной модели предметной области
Заключительная фаза анализа предметной области состоит в проектировании ее информационной структуры или концептуальной модели.
Концептуальная модель включает описания объектов и их взаимосвязей, выявляемых в результате анализа данных.
Концептуальная модель применяется для структурирования предметной области с учетом информационных интересов пользователей системы. Она является представлением точки зрения пользователя на предметную область и должна быть стабильной т.е. неизменной. Хотя возможно ее наращивание и включение дополнительных данных.
Одной из распространенных моделей концептуальной схемы является модель “сущность – связь”, основными компонентами которой являются сущности и связи.
Под сущностью понимается основное содержание объекта, о котором собирают информацию. Экземпляр сущности – конкретный объект.
Например:
Сущность (объект) – студент. Экземпляр сущности – Демидов А.В.
Сущность (объект) – факультет. Экземпляр сущности – факультет механики.
Сущность принято определять атрибутами – поименованными характеристиками. Например: Сущность – студент.
Атрибуты этой сущности (или этого объекта): ФИО, год рождения,
№ зачетной книжки, пол, № учебной группы и т.д..
Связи определяют отношения между сущностями. При построении концептуальной модели используют графические диаграммы.
При этом обозначают:
сущности – прямоугольниками,
атрибуты – овалами,
связи – ромбами.
Выберем для заданной БД следующие сущности:
ФАКУЛЬТЕТ, ГРУППА, СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, РЕЗУЛЬТАТЫ СЕССИИ.
Зададим каждую сущность набором атрибутов:
ФАКУЛЬТЕТ (Название, № факультета, декан, № телефона, количество студентов).
СТУДЕНТ(ФИО, пол, год рождения, № группы, № зачетной книжки).
ПРЕПОДАВАТЕЛЬ (ФИО, должность, ученая степень, кафедра, № телефона, предмет обучения, адрес).
ГРУППА (№ группы, название факультета, № курса, направление)
РЕЗУЛЬТАТЫ СЕССИИ (ФИО, ПРЕДМЕТЫ, ОЦЕНКИ) и т.д.
Как правило в каждом наборе атрибутов, характеризующих сущность, нужно выбрать ключевые атрибуты, то есть атрибуты, которые делают эту сущность уникальной. При задании атрибутов - ключевые подчеркивались.
Далее определяются связи между сущностями:
Связи между сущностями Название связи
Студент, факультет учится
Преподаватель, факультет работает
Преподаватель, предмет обучения преподает
Факультет, группа имеет
И т.д..
После выбора сущностей, задания атрибутов и анализа связей следует проектирование информационной (концептуальной ) схемы БД.
Рассмотрим некоторые ограничения в рассматриваемом задании:
Значение атрибута “ ФИО “ ограничено двадцатью (20)символами.
Значение атрибута “ № телефона “ задается целым положительным числом.
Один студент может учится только на одном факультете.
Один преподаватель работает только на одной кафедре.
Одному студенту может соответствовать только одна группа.
И т.д..
Концептуальная схема БД “ИНСТИТУТ”
РЕЗУЛЬТАТЫ СЕССИИ
Логическое проектирование
Логическое проектирование - необходимый этап при создании БД. Основной задачей логического проектирования является разработка логической схемы, ориентированной на выбранную систему управления базами данных (СУБД).
Этап логического проектирования в отличие от концептуального проектирования полностью ориентирован на инструментальные средства компьютера и состоит из следующих этапов:
Выбор конкретной СУБД.
Отображение концептуальной схемы на логическую схему.
Выбор ключей.
Описание языка запросов.
Существующие СУБД по типам моделей делятся на реляционные, иерархические и сетевые. СУБД ориентированные на персональные компьютеры, как правило, поддерживают реляционную модель данных.
При отображении концептуальной схемы на реляционную модель данных каждый прямоугольник схемы отображается в таблицу.
Например, представим сущность СТУДЕНТ (ФИО, пол, год рождения, группа, № зачетной книжки, получение стипендии) в виде таблицы:
ФИО | ПОЛ | Год рождения | № группы | № зачетки | Стипендия |
Определим ключевое поле. В его качестве вряд ли стоит выбирать фамилию, т.к. наверняка есть студенты – однофамильцы. А вот № зачетки однозначно определяет студента.
Аналогично создадим таблицы и для остальных сущностей.
Создание таблиц, а затем по этим таблицам создание отчетов, запросов и форм осуществляется с помощью соответствующих мастеров (отчетов, запросов и форм). При этом учитывается свойства поля (его размер, диапазон изменения, значение и другие характеристики).
При составлении запросов на выборку, например запроса «Двоечники», в поле условие отбора можно создавать логические и математические формулы (в запросе двоечники – логическое выражение). Для этого, удерживая указатель мыши в строке условие отбора и в столбце, экземпляры которого необходимо отобрать, нужно нажать правую клавишу мыши и выбрать пункт создание выражения. Затем открыть необходимую таблицу и сформировать выражение, добавляя на рабочее поле поля этой таблицы и знаки логических или арифметических действий, а затем щелкнуть «ОК».
Заключение
В представленной базе данных составлено 5 таблиц, 4 простых запроса, формы и отчеты. Это, конечно, далеко не все данные и не по всем студентам, преподавателям, группам и факультетам. Эта база данных может наращиваться и обновляться без конца. Здесь только малая часть базы данных «Институт».
В дальнейшем, подобную базу можно использовать и для составления расписания занятий, создавая перекрестные запросы, отражающие время проведения занятий, группу, в которой оно проводится, преподавателя, который его проводит и номер аудитории.
Литература
Информатика: Учебник для вузов . Под ред. Проф Н.В. Макаровой. Москва, 1997.
Экономическая информатика: Учебник для вузов. Под ред. проф. В.В. Евдокимова. 1997.