Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

База данных / Отчет_БД_СЕССИЯ_(пример)

.doc
Скачиваний:
79
Добавлен:
18.03.2015
Размер:
195.07 Кб
Скачать

Министерство образования и науки РФ

Федеральное бюджетное государственное образовательное учреждение

высшего профессионального образования

«Алтайская государственная педагогическая академия»

институт физико-математического образования

кафедра теоретических основ информатики

ИНФОРМАЦИОННАЯ СИСТЕМА «СЕССИЯ»

отчет по дисциплине «Базы данных и знаний»

Выполнила:

Студент 3хх группы

Иванов И.И.

Преподаватель к.ф-м.н., доцент Ракитин Р.Ю.

Барнаул 2012

Введение

Актуальность рассматриваемой темы. Рассматривается необходимость создания, обосновывается тема.

Цель

Описывается цель разрабатываемой БД

Задачи

Указываются решаемые задачи, порядок разработки БД

Инструментарий

Описывается инструментарий используемый для разработки БД на каждом этапе (DBDesigner, IBExpert, Firebird…)

Анализ предметной области

В рассматриваемой предметной области можно выделить несколько основных боков:

    • информация о студентах;

    • информация о преподавателях;

    • информация об учебных дисциплинах;

    • информация о результатах сдачи сессии.

Выделенные блоки будут содержать несколько взаимосвязанных сущностей относящихся к описываемой части предметной области. Блоки не являются изолированными, они так же взаимосвязаны друг с другом.

Для каждой таблицы будем создавать суррогатный первичный ключ, именовать который будем по принципу: “<имя_таблицы>_<ID>”. Например для таблицы Stud первичным ключом будет Stud_ID.

Блок СТУДЕНТЫ

Выделим сущности описывающие данные о студентах. В первую очередь это сущность «СТУДЕНТ» необходимыми атрибутами которой являются:

    • фамилия (LName), строковый тип – 50 символов

    • имя (FName) , строковый тип – 50 символов

    • отчество (MName) , строковый тип – 50 символов

    • дата рождения (BirthDay), тип дата

    • группа (Gruppa) , строковый тип – 10 символов

    • специальность (Speсialnost) , строковый тип – 100 символов

    • курс (kurs), целочисленный тип

    • факультет (fakultet) , строковый тип – 50 символов

В результате получается таблица (рис. 1)

Рис. 1 Таблица хранящая информацию о студенте.

Получившаяся таблица не соответствует третьей нормальной форме, так как в ней имеются трансцендентыне связи. В результате приведения данной таблице к третьей нормальной форме мы получим следующие таблицы:

Рис. 2 Данные о студенте в нормализованном виде

В таблицу «СПЕЦИАЛЬНОСТЬ» помимо названия специальности необходимо еще добавить данные о коде специальности по ОКСО (атрибут CodOKSO).

Рассмотрим связи между выделенными сущностями.

Один студент может обучаться только в одной группе, в то же время в одной группе обучается много студентов. Определить точную мощность этой связи не удалось, так как документов регламентирующих минимальное и максимальное число студентов в группы найти не удалось. Поэтому будем считать что в группе должно быть не менее 2-х и не более 30 студентов. Таким образом эта связь один ко многим мощность которой (1,1):(2,30).

Студенты одной группы обучаются по одной специальности, а на одной специальности могут обучаться студенты нескольких групп. Причем могут быть лицензированы специальности по которым еще (или уже) не осуществляется подготовка. Таким образом эта связь один ко многим с мощностью (1,1):(0,n).

Студент- группа (один ко многим (1,1):(2:30))

Группа – специальность (один ко многим) (1,1):(0,n).

Блок ПРЕПОДАВАТЕЛИ

.

Блок УЧЕБНЫЕ ДИСЦИПЛИНЫ

Блок РЕЗУЛЬТАТЫ СЕССИИ

…..

Объединив все рассмотренные блоки в единое целое мы получим концептуальную модель выбранной предметной области, полученную в результате проведенного анализа. Общая концептуальная модель представлена на рис. 8.

Рис. 8. Концептуальная модель предметной области.

Анализ потребностей пользователей

С рассматриваемой информационной системой могут работать несколько групп пользователей:

    • преподаватели

    • студенты

    • сотрудники деканата

    • сотрудники учебного отдела

Преподавателям будет необходима информация об отчетности по преподаваемым им дисциплинам, о результатах приема им экзаменов (зачетов).

Студентам необходима информация об отчетности по изучаемым дисциплинам, и результат сдачи своих экзаменов (зачетов) как за текущий семестр, так и за предыдущие. Статистику своей успеваемости (средний балл, число определенных оценок).

Сотрудникам деканата необходимы списки студентов для формирования экзаменационных ведомостей, списки должников (кто не сдал экзамены (зачеты)) для назначения пересдач и создания приказов об отчислении, статистическая информация по результатам сессии (успеваемость по группам, дисциплинам, преподавателям, кафедрам). Сотрудники деканата так же осуществляют своевременное внесение всех данных в информационную систему для поддержания ее в актуальном состоянии.

Сотрудникам учебного отдела необходимы статистические данные о результатах проведения сессии для контроля выполнения учебных планов.

Вносить данные могут только сотрудники деканата, остальные группы пользователей могут только осуществлять выборку данных. Внесение планируется осуществлять средствами клиентского приложения, а выборку данных осуществлять через веб-сайт (требования к разработке приложения и веб-сайта будет описано отдельно).

Запросы

Приведенные ниже запросы предназначены для удовлетворения информационных потребностей обозначенных групп пользователей. (приведенные запросы покрывают не все, выделенные выше, информационные потребности пользователей. Они служат только примером)

Запрос 1.

Список экзаменов(зачетов) для выбранного преподавателя, включающий фамилию преподавателя, название предмета, семестр\курс, специальность и ее код, объем часов выделяемых для изучения.

Необходимые данные располагаются в нескольких таблицах. Для их получения будем использовать механизмы объединения (будем использовать как внешнее так и внутреннее объединение). Базовой таблицей выберем преподавателя PREPOD. Далее будем использовать цепочку объединений по соответствию первичного и внешнего ключей:

SUBJPREPOD присоединим к PREPOD;

UCHPLAN присоединим к SUBJPREPOD;

SUBJECT присоединим к UCHPLAN

SPECIALNOST присоединим к UCHPLAN

SEMESTR присоединим к UCHPLAN

Для того, что бы в результирующую выборку попадали только дисциплины определенного преподавателя, будем использовать ограничивающее условие в предложении WHERE.

В результирующий набор будем включать только необходимые поля перечисленные в условии запроса. Для улучшения внешнего вида будем использовать операцию конкатенации и псевдонимы (алиасы) для в вычисляемые поля.

select

p.lname,

s.subject,

sem.semestr||'/'||sem.kurs as SemKurs,

spc.specialnost||' ('||spc.codocso||')' as spec,

up.uchhour

from prepod p

left join subjprepod sp on sp.fk_prepod_id=p.prepod_id

join uchplan up on up.uchplan_id=sp.fk_uchplan_id

join subject s on s.subject_id=up.fk_subject_id

join specialnost spc on spc.specialnost_id=up.fk_specialnost_id

join semestr sem on sem.semestr_id = up.fk_semestr_id

where p.prepod_id=?prep