Проектирование базы данных для автоматизации контроля сессионной успеваемости студентов ВУЗа и составления приложения к диплому

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ.

Кафедра ПИЭ

Курсовой проект

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

на тему «Проектирование Б Д для автоматизации контроля сессионной успеваемости студентов ВУЗа и составления приложения к диплому»

Выполнили:

Студенты группы ДКБ-301

Никитина И.А., Бондарик А. В.

Руководитель:

К.э. н, доцент кафедры ПИЭ

Корнеев Д.Г.

Москва, 2010

Оглавление

1. Постановка задачи.

2. Выбор методологии проектирования и СУБД.

3. Описание предметной области.

4. Описание структуры базы данных.

5. Ограничения целостности связи заданы в схеме данных:

6. Проектирование физической структуры базы данных.

7. Реализация проекта в MS SQL Server 2008.

8. Использованная литература:

1. Постановка задачи

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

Целью данного курсового проекта является автоматизация контроля над сессионной успеваемостью студентов ВУЗа, позволяющая хранить и получать объективную информацию об успеваемости студентов ВУЗа, количестве задолженностей в целом по ВУЗу и на каждого студента, а так же может формировать приложение к диплому.

Обучение может осуществляться одновременно только по одной специальности. Обучение производится по специальностям и направлениям (бакалавриат и магистратура).

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

Контрольные мероприятия включают в себя зачет, экзамен, курсовую работу (курсовой проект).

Если студент имеет академические задолженности за предшествующий период обучения, то он заносится в так называемый список «должников», формируемый деканатом (обновляется еженедельно) и до дальнейшей сессии не допускается.

Оценки подразделяются на неудовлетворительные и удовлетворительные.

В подкласс неудовлетворительные оценки входят: недопуск, неуд, незачет, неявка.

В подкласс удовлетворительные оценки входят: зачтено, отлично, хорошо, удовлетворительно.

Темы курсовой работыкурсовых проектов закреплены, как за студентом, так и за дисциплиной.

У каждой дисциплины имеется определенное количество часов, выделяемое на её изучение.

Для данной предметной области следует выделить следующие ограничения целостности:

1. Ключевые поля каждой таблицы должны иметь непустые, уникальные значения.

2. Поле «форма обучения» может принимать одно из 5 значений: очное, вечернее, дистанционное, заочное, экстернат.

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

3. Поле «основа обучения» может принимать одно из 2-х значений: бюджетное, платное.

4. Поле «вид группы» может принимать одно из 3-х значений: смешанная, бюджетная, платная.

5. Поле выпускающая кафедра может принимать одно из 5-ти значений: ПИЭ, УЗиПИМ, КОиБАС, МОиАИС, АСОИиУ.

6. Поле «вид к/м» может принимать одно из 7-ми значений: зачет, экзамен, курсовая работа, курсовой проект, производственная практика, преддипломная практика, защита ВКР.

7. Поле «оценка», класс «успешная» может принимать одно из 4-х значений: зачет, 3,4,5.

8. Студент может одновременно обучаться только в одной группе.

При создании базы данных необходимо также создавать запросы. Запросов может быть очень много. Необходимо реализовать наиболее важные из них:

1. Необходимо выводить полную информацию по успеваемости по данному студенту.

2. Необходимо выводить полную информацию по успеваемости специальности в целом.

3. Необходимо выводить список должников.

4. Необходимо формировать приложение к диплому.

2. Выбор методологии проектирования и СУБД

При проектировании базы данных для контроля над сессионной успеваемостью студентов ВУЗа после описания предметной области необходимо выбрать метод построения инфологической модели (ER-модели) и СУБД, в которой будет реализован проект.

Для построения ER-модели была выбрана программа Design IDEF 3.5. Мы выбрали данную программу, так как, на наш взгляд, она является наиболее простой в использовании (для построения ER-модели).

Существует большое число СУБД. На ее выбор оказывают влияние следующие факторы:

Ш По функциональным возможностям СУБД: настольные (FoxPro, MS Access, Paradox) и корпоративные (Oracle, MS SQL).

Ш По типу использования языков: открытые, замкнутые, смешанные.

Ш По числу уровней в архитектуре: одноуровневые, двухуровневые, трехуровневые.

Ш По выполняемым функциям СУБД: информационные, операционные.

Ш По сфере возможности применения: универсальные, специализированные.

Для построения самой базы данных нами была выбрана СУБД MS SQL Server 2008. Это система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL.

Microsoft SQL Server является наиболее популярной платформой управления базами данных для операционной системы Windows и их анализа. Это стабильный и мощный сервер баз данных, отличающийся высокой надежностью и защищенностью. Отлично масштабируется и подходит для выполнения бизнес-проектов любого уровня сложности. Надежность: Ms SQL Server 2008 имеет функцию динамического шифрования базы данных, файлов и журналов без изменений в самих приложениях. Эффективность: Общий набор политик для множества операций с базами данных уменьшают временные затраты при повседневном обслуживании. Интеллектуальность: При использовании больших таблиц имеется способность работать с подобными объемами данных благодаря улучшенной производительности запросов. Представление пользователям необходимой информации, мощных средств создания сложных отчетов, генерация отчетов напрямую в Microsoft WordExcel. Это всё позволяет использовать Ms SQL Server 2008 как для небольшого предприятия, так и для корпорации.

3. Описание предметной области

Инфологическая модель предметной области — это формализованное описание предметной области, выполненное безотносительно к используемым в дальнейшем программным и техническим средствам. Инфологическая модель должная быть динамической и позволять легкую корректировку. К основным требованиям, предъявляемым к инфологической модели, можно отнести следующие: 1) модель должна содержать всю необходимую и достаточную информацию для последующего проектирования базы данных; 2) должная быть понятна лицам, принимающим участие в создании и использовании.

Проектируя инфологическую модель предметной области, необходимо построить ER-модель. Для этого описываются объекты и связи между объектами. Инфологическая модель проектирования базы данных для контроля за сессионной успеваемостью студентов содержит следующие объекты:

Студент. Объект описывает определенного студента и имеет следующие свойства: Фамилия, Имя, Отчество, табельный номер, специальность, основа обучения, кол-во академических задолженностей, код группы (внешний ключ). Ключом является табельный номер.

Группа. Объект описывает группу, к которой принадлежит студент и имеет следующие свойства: название, код группы, выпускающая кафедра. Ключом является код группы.

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

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

Кафедра. Объект описывает определенную кафедру, к которой принадлежит преподаватель. Объект имеет свойства: код кафедры (ключ), полное название и ФИО заведующего кафедрой.

Вынесение на сессию. Объект описывает вынесение предмета на сессию для группы. Имеет следующие свойства: код предмета (внешний ключ), код группы (внешний ключ) семестр. Ключом являются код предмета, код группы и семестр.

Контрольное мероприятие. Объект описывает определенное контрольное мероприятие, проходимое в определенную дату, по определенному предмету, для определенных студентов, у определенного преподавателя или комиссии. Объект имеет следующие ключевые свойства: табельный номер студента (внешний ключ), код предмета (внешний ключ), дата (внешний ключ) — и не ключевые свойства: оценка, вид к/м, вид сдачи, номер комиссии (внешний ключ), табельный номер преподавателя (внешний ключ), номер оправдательного документа, дата оправдательного документа.

Объекты студент и группа связаны неидентифицирующей связью многие к одному (nulls allowed) с кардинальным числом one or more.

Объекты студент и служебная записка связаны, имеют связь многие ко многим.

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

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

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

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

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

Объекты предмет и преподаватель связаны связью многие ко многим.

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

Объекты предмет и служебная записка связаны неидентифицирующей связью многие к одному (nulls allowed) с кардинальным числом one or more.

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

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

Объекты преподаватель и комиссия связаны связью многие ко многим.

Объекты преподаватель и кафедра связаны неидентифицирующей связью многие к одному (no nulls) с кардинальным числом one or more.

Объекты преподаватель и контрольное мероприятие связаны неидентифицирующей связью многие ко одному (nulls allowed) с кардинальным числом one or more.

Объекты преподаватель и служебная записка связаны неидентифицирующей связью многие ко одному (nulls allowed) с кардинальным числом one or more.

Объекты комиссия и распоряжение связаны идентифицирующей связью многие к одному (no nulls) с кардинальным числом 1.

Объекты комиссия и контрольное мероприятие связаны неидентифицирующей связью один ко многим (nulls allowed) с кардинальным числом one or more.

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

Объект Экстернат_сессия и студент связаны идентифицирующей связью один ко многим с кардинальным числом zero, one or more.

Объект Экстернат_сессия и предмет связаны идентифицирующей связью один ко многим с кардинальным числом zero, one or more.

ER-модель для проектирования базы данных для учета за сессионной успеваемостью студентов, построенная при помощи программы Design IDEF 3. 5:

4. Описание структуры базы данных

база данные управление server

Логическая структура базы данных должна быть спроектирована и описана для конкретной СУБД. Для нашей базы данных была выбрана СУБД MS SQL Server. Необходимо перейти от ER-модели к таблицам в базе данных.

Студент (таб_номер студента, ФИО, форма обучения, специальность, основа обучения, кол-во ак_задолженностей, код_группы)

Группа (код_группы, название группы, вид группы, выпуск кафедра)

Служебная записка (номер сз, дата сз, таб_номер студента, код предмета, таб_номер преподавателя)

Кафедра (код кафедры, сокращенное название)

Преподаватель (таб_номер преподавателя, ФИО, должность, код кафедры)

Комиссия (номер комиссии, название, номер распоряжения, дата распоряжения)

Предмет (код предмета, название)

Комиссия_преподаватель (номер комиссии, таб_номер преподавателя)

Предмет_преподаватель (таб_номер преподавателя, код предмета)

Вынесение на сессию (код группы, код предмета, семестр)

Недопуск (номер сз, дата сз, таб_номер_преподавателя, код предмета, таб_номер_студента, дата)

Контрольное мероприятие (код предмета, таб_номер_студента, дата, таб_номер_преподавателя, вид к/м, вид сдачи, оценка, номер оправдательного документа, дата оправдательного документа)

Экстернат_сессия (семестр, таб_номер_студента, код предмета, вид к/м, дата)

Служебная_студент (номер сз, дата сз, таб_номер_студента)

5. Ограничения целостности связи заданы в схеме данных

6. Проектирование физической структуры базы данных

Физическая модель — это привязка логической модели к конкретной среде хранения и методам хранения данных. При проектировании физической модели базы данных необходимо описать среду и метод хранения информации. Для этого необходимо изучить особенности организации данных выбранной СУБД. Для проектирования базы данных для контроля за сессионной успеваемостью студентов была выбрана СУБД MS SQL Server 2008. Для хранения данных в этой СУБД используются таблицы. В них хранится вся информация о предметной области. Наша база данных включает несколько взаимосвязанных таблиц. Объекты, которые были описаны при построении инфологической модели предметной области (п. 3), в базе данных являются таблицами.

Ниже для примера приведена таблица, в которой хранятся записи о студентах:

Приведена таблица, в которой хранятся записи о дисциплинах:

7. Реализация проекта в MS SQL Server 2008

При проектировании базы данных для контроля за сессионной успеваемостью студентов ВУЗа разработка начинается с объектов данных. Т. е. Сначала строятся таблицы и создаются запросы. В процессе проектирования нашей базы данных было построено 8 таблиц и создано 5 основных запросов. Таблица необходимы для того, чтобы хранить информацию о предметной области. Они создавались в режиме конструктора (описаны поля таблиц, ограничения целостности) и непосредственно запросами. После создания таблиц были установлены связи между таблицами (т.е. создана схема данных). После этого были построены запросы. Запросы необходимы для того, чтобы реализовать информационные потребности пользователей.

CREATE TABLE SPEC

(

kod_spec integer NOT NULL,

nazvanie nchar (40)

);

CREATE UNIQUE INDEX IXSPEC ON SPEC

(

kod_spec ASC

);

CREATE TABLE DISC

(

kod_disc integer NOT NULL,

nazvanice nchar (40),

4asi integer,

kod_kaf integer

);

CREATE UNIQUE INDEX IXDISC ON DISC

(

kod_disc ASC

);

CREATE TABLE SVYAZ

(

kod_spec integer,

kod_disc integer,

id_polya integer NOT NULL

);

CREATE UNIQUE INDEX IXSVYAZ ON SVYAZ

(

id_polya ASC

);

CREATE TABLE KAFEDRI

(

kod_kaf integer NOT NULL,

nazv nchar (40),

zavkaf nchar (40)

);

CREATE UNIQUE INDEX IXKAFEDRI ON KAFEDRI

(

kod_kaf ASC

);

CREATE TABLE STUDENTIKI

(

id integer NOT NULL,

familiya nchar (40),

imya nchar (40),

ot4estvo nchar (40),

kod_spec integer

);

CREATE UNIQUE INDEX IXSTUDENTIKI ON STUDENTIKI

(

id ASC

);

CREATE TABLE KURSA4I

(

o4enocka integer,

id integer NOT NULL,

kod_temi integer,

kod_disc integer

);

CREATE UNIQUE INDEX IXKURSA4I ON KURSA4I

(

id ASC

);

CREATE TABLE TEMI

(

kod_temi integer NOT NULL,

temi_kurs nchar (40),

kod_disc integer

);

CREATE UNIQUE INDEX IXTEMI ON TEMI

(

kod_temi ASC

);

CREATE TABLE ZA4ETKA

(

ocenka integer,

data datetime,

id integer NOT NULL,

kod_disc integer NOT NULL

);

CREATE UNIQUE INDEX IXZA4ETKA ON ZA4ETKA

(

id ASC,

kod_disc ASC

);

ALTER TABLE SPEC

ADD (PRIMARY KEY (kod_spec));

ALTER TABLE DISC

ADD (PRIMARY KEY (kod_disc));

ALTER TABLE SVYAZ

ADD (PRIMARY KEY (id_polya));

ALTER TABLE KAFEDRI

ADD (PRIMARY KEY (kod_kaf));

ALTER TABLE STUDENTIKI

ADD (PRIMARY KEY (id));

ALTER TABLE KURSA4I

ADD (PRIMARY KEY (id));

ALTER TABLE TEMI

ADD (PRIMARY KEY (kod_temi));

ALTER TABLE ZA4ETKA

ADD (PRIMARY KEY (id, kod_disc));

ALTER TABLE DISC

ADD (FOREIGN KEY (kod_kaf) REFERENCES KAFEDRI);

ALTER TABLE SVYAZ

ADD (FOREIGN KEY (kod_spec) REFERENCES SPEC);

ALTER TABLE SVYAZ

ADD (FOREIGN KEY (kod_disc) REFERENCES DISC);

ALTER TABLE STUDENTIKI

ADD (FOREIGN KEY (kod_spec) REFERENCES SPEC);

ALTER TABLE KURSA4I

ADD (FOREIGN KEY (id) REFERENCES STUDENTIKI);

ALTER TABLE KURSA4I

ADD (FOREIGN KEY (kod_temi) REFERENCES TEMI);

ALTER TABLE KURSA4I

ADD (FOREIGN KEY (kod_disc) REFERENCES DISC);

ALTER TABLE TEMI

ADD (FOREIGN KEY (kod_disc) REFERENCES DISC);

ALTER TABLE ZA4ETKA

ADD (FOREIGN KEY (id) REFERENCES STUDENTIKI);

ALTER TABLE ZA4ETKA

ADD (FOREIGN KEY (kod_disc) REFERENCES DISC);

После создания таблиц, связей и запросов мы приступили к заполнению таблиц.

Таблица Дисциплины:

insert into DISC

values (100, 'Иностранный язык', 360, 207)

insert into DISC

values (101, 'Физическая культура', 408, 102)

insert into DISC

values (102, 'Геометрия и топология', 200, 201)

insert into DISC

values (104, 'Математический анализ (1)', 150, 201)

insert into DISC

values (105, 'Математический анализ (2)', 150, 201)

insert into DISC

values (106, 'Информатика и программирование (1)', 180, 501)

insert into DISC

values (107, 'Информатика и программирование (2)', 170, 501)

insert into DISC

values (108, 'Физика', 210, 101)

insert into DISC

values (109, 'Экономика', 100, 804)

insert into DISC

values (110, 'Основы информационной безопасности', 110, 401)

insert into DISC

values (112, 'Базы данных', 190, 701)

insert into DISC

values (113, 'Операционные системы', 220, 101)

insert into DISC

values (114, 'Теория вероятностей', 100, 703)

insert into DISC

values (115, 'Основы компьютерной безопасности', 160, 401)

insert into DISC

values (116, 'Методы программирования', 210, 501)

insert into DISC

values (117, 'Системы и сети передачи информации', 210, 101)

insert into DISC

values (119, 'Отечественная история', 80, 804)

insert into DISC

values (120, 'Философия', 70, 804)

insert into DISC

values (121, 'Математическая логика', 110, 703)

insert into DISC

values (122, 'Функциональный анализ', 250, 201)

insert into DISC

values (123, 'Корпоративные информационные системы', 220, 301)

insert into DISC

values (124, 'Проектирование информационных систем', 190, 701)

insert into DISC

values (126, 'Интернет-программирование', 135, 202)

insert into DISC

values (128, 'Аппаратные средства выч техники', 98, 101)

Таблица Студенты:

insert into STUDENTIKI

values (8 012, 'Никитина', 'Ирина', 'Андреевна', 80 801)

insert into STUDENTIKI

values (8 017, 'Рубцов', 'Артем', 'Александрович', 90 105)

insert into STUDENTIKI

values (8 005, 'Бондарик', 'Александр', 'Владимирович', 10 503)

insert into STUDENTIKI

values (8 032, 'Хомченко', 'Екатерина', 'Александровна', 230 102)

insert into STUDENTIKI

values (8 024, 'Самчук', 'Виктория', 'Игоревна', 80 800)

insert into STUDENTIKI

values (8 014, 'Акивис', 'Владимир', 'Александрович', 80 802)

insert into STUDENTIKI

values (8 007, 'Позднякова', 'Ирина', 'Александровна', 80 801)

insert into STUDENTIKI

values (80 022, 'Макагон', 'Алексей', 'Константинович', 10 503)

insert into STUDENTIKI

values (80 020, 'Кореев', 'Олег', 'Алексеевич', 90 105)

insert into STUDENTIKI

values (80 011, 'Климова', 'Дарья', '', 80 800)

insert into STUDENTIKI

values (80 019, 'Гудков', 'Максим', 'Константинович', 230 102)

Таблица Кафедры:

insert into KAFEDRI

values (101, 'АСОИиУ', 'Микрюков А.А. ')

insert into KAFEDRI

values (102, 'ФВиС', 'Ростеванов А.Г. ')

insert into KAFEDRI

values (201, 'ВМ', 'Никишкин А.В. ')

insert into KAFEDRI

values (301, 'КИС', 'Нуралиев Б.Г. ')

insert into KAFEDRI

values (401, 'КОИБАС', 'Баяндин Н.И. ')

insert into KAFEDRI

values (501, 'МОиАИС', 'Комлева Н.В. ')

insert into KAFEDRI

values (601, 'ПИвО', 'Татаринова М.А. ')

insert into KAFEDRI

values (701, 'ПИвЭ', 'Тельнов Ю.Ф. ')

insert into KAFEDRI

values (801, 'РИО', 'Хохлов Ю.Е. ')

insert into KAFEDRI

values (901, 'УЗиПИМ', 'Уринцов А.И. ')

insert into KAFEDRI

values (702, 'ТРИС', 'Юхневич Л.А. ')

insert into KAFEDRI

values (202, 'БВС', 'Шмид А.В. ')

insert into KAFEDRI

values (205, 'И', 'Федосеев С.В. ')

insert into KAFEDRI

values (207, 'ИЯ', 'Турук И.Ф. ')

insert into KAFEDRI

values (703, 'ПМ', 'Мастяева И.Н. ')

insert into KAFEDRI

values (804, 'ФиГН', 'Завражин А.В. ')

Таблица Специальности:

insert into SPEC

values (230 102, 'АСОИиУ')

insert into SPEC

values (90 105, 'КОИБАС')

insert into SPEC

values (10 503, 'МОиАИС')

insert into SPEC

values (80 800, 'ПИ')

insert into SPEC

values (80 801, 'ПИвЭ')

insert into SPEC

values (80 802, 'ПИвМ')

8. Использованная литература

1)Диго С.М., «Базы Данных», Москва, «Финансы и статистика», 2005 г.

2)Советов Б.Я., Цехановский В. В., Чертовской В. Д., «Базы данных: Теория и практика"М: Высшая Школа, 2007 г.

ПоказатьСвернуть
Заполнить форму текущей работой