База данных Деканата

Автор работы: Пользователь скрыл имя, 23 Октября 2011 в 09:45, курсовая работа

Описание

Целью курсовой работы является проектирование и построение концептуальной информационной модели предметной области «Учебный процесс в ВУЗе». В начало работы мне была выдана соответствующая документация. В основе базы данных по предложенной предметной области лежат общие сведения об учебном процессе в ВУЗе, а также регулярные запросы пользователей и файлов существующей системы обработки информации. В процессе изучения документации было принято решение о создании двух виртуальных документов: «Сведения о факультетах» и «Контингент студентов». Они необходимы для дополнения исходных отношений и расчета вторичных атрибутов.

Содержание

Содержание 2
Задание 3
Введение 4
Глава 1. Описание исходных отношений 5
1.1.Анализ документов 5
1.2.Отношения 6
1.3. Описание словарей и кодификаторов 13
1.4. Сопоставимость атрибутов 14
Глава 2. Уточнение исходных отношений. 15
2.1. Свертка и нормализация отношений 15
2.2. Объединение отношений 17
2.3. Отношения после нормализации 18
Глава 3. Связывание отношений и простых структур в единую схему данных 20
3.1. Логическая модель 20
3.2.Физическая модель 21
3.3. Дополнительные объекты БД 22
3.3. Расчет вторичных атрибутов 23
Заключение 26
Приложение 27
Код DDL 27

Работа состоит из  1 файл

Деканат.doc

— 610.00 Кб (Скачать документ)

    Кодификатор К2 для атрибута О5-5 «Кафедра»

    Код кафедры Значение
    1   ОСУ
    2   ИКСУ
       
    100   ИПС
 

    Кодификатор К3 для атрибута ОВ6-6 «Пол»

    Код пола Значение
    1   Мужской
    2   Женский

 

1.4. Сопоставимость атрибутов

Отношение 1 Атрибут 1 Название Отношение 2 Атрибут 2 Название Вид сопоставимости
О1 О1-1 Факультет О5 О5-1 Сокращенное название факультета =
О6 О6-1 Факультет =
ОВ3 ОВ3-2 Дисциплина О4 О4-3 Учебная дисциплина =
O4 O4-1 Шифр  специальности O7 O7-1 Шифр специальности =
О2 О2-1 Специальность =
O5 O5-5 Кафедра O7 O7-3 Название кафедры =

 

Глава 2. Уточнение исходных отношений.

2.1. Свертка и нормализация отношений

ОВ2 «Студент»

   

О4 «Учебный план специальности»                

     

 

О5 «Сведения  о факультетах (институтах)»

                

ОВ6 «Студент на факультете»

         

О7 «Результаты  защиты студентов»

   

 

2.2. Объединение отношений

                

   

            

 

2.3. Отношения после  нормализации

Код отношения Код атрибута Название атрибута Зависимость Множественность Домен
ОВ2.1.1 ОВ2.1.1-1 Id студента Ключ - 1÷1000000
ОВ2.1.1-2 Фамилия ОВ2.1.1-1 - Словарь
ОВ2.1.1-3 Имя ОВ2.1.1-1 - Словарь
ОВ2.1.1-4 Отчество ОВ2.1.1-1 - Словарь
ОВ2.1.1-5 Дата поступления ОВ2.1.1-1 - 01.01.1940-31.12.2200
ОВ2.1.1-6 Дата отчисления ОВ2.1.1-1 - 01.01.1940-31.12.2200
ОВ2.1.1-7 Номер диплома ОВ2.1.1-1 - Словарь
ОВ2.1.1-8 Оценка за диплом ОВ2.1.1-1 - 1÷5
ОВ2.1.1-9 Город прописки ОВ2.1.1-1 - Словарь
ОВ2.1.1-10 Пол ОВ2.1.1-1 - Словарь
О4.1 О4.1-1 Шифр специальности Ключ - 1÷999999
О4.1-2 Год приема Ключ - 01.01.1940-31.12.2200
О4.1-3 Учебная дисциплина Ключ - Словарь
О4.1-4 Число часов  лекций О4.1-1, О4.1-2, О4.1-3 - 1÷200
О4.1-5 Число часов  практических занятий О4.1-1, О4.1-2, О4.1-3 - 1÷200
О4.1-6 Число часов  лабораторных занятий О4.1-1, О4.1-2, О4.1-3 - 1÷200
О4.1-7 Общее число  часов по дисциплине О4.1-1, О4.1-2, О4.1-3 - 1÷200
О4.2.1 О4.2.1-1 Шифр специальности Ключ - 1÷999999
О4.2.1-2 Название специальности О4.2.1-1 - Словарь
О4.2.1-3 Адрес общежития О4.2.1-1 - Словарь
О5.1 О5.1-1 Факультет Ключ - Словарь
О5.1-2 Кафедра Ключ - Словарь
О5.1-3 Адрес деканата О5.1-1,  О5.1-2 - 1÷100
О5.1-4 Id зам декана О5.1-1,  О5.1-2 - 1÷100
О5.1-5 Id декана О5.1-1,  О5.1-2 - 1÷100
О5.2 О5.2-1 Id сотрудника Ключ - 1÷100
О5.2-2 Фамилия О5.4-1 - Словарь
О5.2-3 Имя О5.4-1 - Словарь
О5.2-4 Отчество О5.4-1 - Словарь
О5.2-5 Дата назначения зам декана на должность О5.4-1 - Словарь
О5.2-5 Телефон О5.4-1    
ОВ6.2 ОВ6.2-1 Id студента Ключ - 1÷1000000
ОВ6.2-2 Факультет Ключ - Словарь
ОВ6.3 ОВ6.3-1 Id студента Ключ - 1÷1000000
ОВ6.3-2 Факультет Ключ - Словарь
ОВ6.3-3 Название олимпиады Ключ - Словарь
ОВ6.4 ОВ6.4-1 Id студента Ключ - 1÷1000000
ОВ6.4-2 Факультет Ключ - Словарь
ОВ6.4-3 Название НИРС Ключ - Словарь
О7.1 О7.1-1 Id кафедры Ключ - 1÷100
О7.1-2 Шифр специальности Ключ - 1÷999999
О7.1-3 Количество  студентов получившие диплом бакалавра О7.1-1, О7.1-2 - 1÷150
О7.1-4 Количество студентов не защитивших дипломную работу О7.1-1, О7.1-2 - 1÷150

 

Глава 3. Связывание отношений  и простых структур в единую схему  данных

    3.1. Логическая модель

    3.2.Физическая модель

3.3. Дополнительные объекты БД

Индексы

Код отношения (Таблицы) Название Атрибут в индексе
ОВ3 Успеваемость (Attainment) Дисциплина (Sublect)
ОВ6.4 НИРС (NIRS) Название НИРС (Name of NIRS)
О4.2.1 Специальность (Speciality) Адрес общежития (Address hostel)
 

Альтернативные  ключи

Код отношения (Таблицы) Название Атрибут в индексе
ОВ2.1.1 Студент (Student) Номер диплома (Number of diploma)
О4.2.1 Специальность (Speciality) Название специальности (Name of speciality)

 

    1. Расчет вторичных  атрибутов
Код отношения Название Вторичный атрибут Запрос
О1 Сведение о движении контингента студентов Количество студентов  на начало года SELECT COUNT(«Студент».«Id студента»)

FROM «Студент», «Факультет»

WHERE TO_NUMBER(TO_CHAR(«Дата поступления», ‘DD.MM.YY’))< TO_NUMBER(TO_CHAR(Sysdate, ‘DD.MM.YY’)) AND( «Дата отчисления» IS NULL ) AND («Номер диплома» IS NULL)

ORDER BY «Факультет».«Название факультета»;

О1 Сведение о движении контингента студентов Количество студентов  на конец года SELECT COUNT(«Студент».«Id студента»)

FROM «Студент», «Факультет»

WHERE TO_NUMBER(TO_CHAR(«Дата поступления», ‘DD.MM.YY’))< TO_NUMBER(TO_CHAR(Sysdate, ‘DD.MM.YY’)) AND(( «Дата отчисления» IS NOT NULL ) OR («Номер диплома» IS NOT NULL))

ORDER BY «Факультет».«Название факультета»;

О2 Динамика приема по специальностям Количество студентов SELECT COUNT («Студент».“Id студента»)

FROM «Студент», «Специальность»

WHERE TO_NUMBER(TO_CHAR(«Студент».«Дата поступления», YYYY))= TO_NUMBER(TO_CHAR(Sydate, YYYY))

ORDER BY «Факультет».«Название факультета»;

О3 Сведения о текущей  успеваемости % на 5 SELECT («Студент».“Id студента»)*100/«Количество студентов»

FROM «Студент», «Факультет», «№ группы»

WHERE «Количество студентов»=

(SELECT COUNT(«Студент».«Id студента»)

FROM «Студент»

WHERE TO_NUMBER(TO_CHAR(«Дата поступления», ‘DD.MM.YY’))< TO_NUMBER(TO_CHAR(Sysdate, ‘DD.MM.YY’)) AND( «Дата отчисления» IS NULL ) AND («Номер диплома» IS NULL)

)

AND «Студент».«Успеваемость»=5

ORDER BY «№ группы», «Факультет»;

О3 Сведения о текущей  успеваемости % на 4 и 5 SELECT («Студент».“Id студента»)*100/«Количество студентов»

FROM «Студент», «Факультет», «№ группы»

WHERE «Количество студентов»=

(SELECT COUNT(«Студент».«Id студента»)

FROM «Студент»

WHERE TO_NUMBER(TO_CHAR(«Дата поступления», ‘DD.MM.YY’))< TO_NUMBER(TO_CHAR(Sysdate, ‘DD.MM.YY’)) AND( «Дата отчисления» IS NULL ) AND («Номер диплома» IS NULL)

)

AND «Студент».«Успеваемость»=(4,5)

ORDER BY «№ группы», «Факультет»;

О3 Сведения о текущей  успеваемости % неуспевающих SELECT («Студент».“Id студента»)*100/«Количество студентов»

FROM «Студент», «Факультет», «№ группы»

WHERE «Количество студентов»=

(SELECT COUNT(«Студент».«Id студента»)

FROM «Студент»

WHERE TO_NUMBER(TO_CHAR(«Дата поступления», ‘DD.MM.YY’))< TO_NUMBER(TO_CHAR(Sysdate, ‘DD.MM.YY’)) AND( «Дата отчисления» IS NULL ) AND («Номер диплома» IS NULL)

)

AND «Студент».«Успеваемость»=(2,3)

ORDER BY «№ группы», «Факультет»;

О4 Информация об учебных  планах специальности Общее число часов  по дисциплине SELECT («Число часов лекций»+«Число часов практических занятий»+«Число часов лабораторных занятий»)

FROM «Учебные планы специальности»

ORDER BY «Шифр специальности»;

О6 Контингент студентов Количество студентов  на факультете SELECT COUNT(«Студент».«Id студента»)

FROM «Студент», «Факультет»

WHERE («Студент».«Дата поступления» IS NOT NULL) AND («Студент».«Дата отчисления» IS NULL)

ORDER BY «Факультет».«Название факультета»;

О6 Контингент студентов Количество иногородних SELECT COUNT («Студент».«Id студента»)

FROM «Студент», «Факультет»

WHERE «Город прописки» NOT LIKE «Томск»

ORDER BY «Факультет».«Название факультета»;

О6 Контингент студентов Количество участников олимпиад SELECT COUNT(«Студент».«Id студента»)

FROM «Студент», «Олимпиада», «Факультет»

WHERE «Олимпиада».«Название олимпиады» IS NOT NULL

ORDER BY «Факультет».«Название факультета»;

О6 Контингент студентов Количество занимающихся НИРС SELECT COUNT(«Студент».«Id студента»)

FROM «Студент», «НИРС», «Факультет»

WHERE «НИРС».«Название НИРС» IS NOT NULL

ORDER BY «Факультет».«Название факультета»;

О6 Контингент студентов Количество женщин SELECT COUNT («Студент».«Id студента»)

FROM «Студент», «Факультет»

WHERE «Пол»=’Ж’

ORDER BY «Факультет».«Название факультета»;

О6 Контингент студентов Количество мужчин SELECT COUNT («Студент».«Id студента»)

FROM «Студент», «Факультет»

WHERE «Пол»=’М’

ORDER BY «Факультет».«Название факультета»;

О7 Результаты защиты студентов Количество студентов, получившие диплом бакалавра SELECT COUNT («Студент».«Id студента»)

FROM «Студент», «Специальность»

WHERE «Оценка за диплом» = ‘не удовлетворительно’

ORDER BY «Специальность».«Название специальности»;

О7 Результаты защиты студентов Количество студентов, не защитивших дипломную работу SELECT COUNT («Студент».«Id студента»)

FROM «Студент», «Специальность»

WHERE «Оценка за диплом» NOT LIKE ‘не удовлетворительно’

ORDER BY «Специальность». «Название специальности»;

     

 

Заключение

     В ходе выполнения курсовой работы проведен анализ информационных потребностей пользователей  предметной области «Учебный процесс в ВУЗе» и представление их в виде множества исходных отношений. После чего произведено уточнение множества исходных отношений, представление их в виде нормализованных, простых структур данных, что выражалось в выявлении отношений типа кодификатор, нормализации и объединении отношений. На конечной стадии полученные отношения связывались в концептуальную информационную модель предметной области с использованием инструментального средства моделирования данных Erwin. Таким образом, поставленная цель и обозначенные задачи выполнены. Полученная концептуальная информационная модель предметной области отразила все информационные потребности пользователей.  Помимо того благодаря коррективам, вносимым в ходе анализа исходных документов, запросов и файлов, были учтены и отображены все особенности данной предметной области.

 

Приложение

Код DDL

 

Таблица «K1__Subject»

CREATE TABLE K1__Subject (

       Id_subject           NUMBER(3) NOT NULL,

       Name_of_subject      VARCHAR2(20) NULL

);

CREATE UNIQUE INDEX XPKK1__Subject ON K1__Subject

(

       Id_subject                     ASC

);

ALTER TABLE K1__Subject

       ADD  ( PRIMARY KEY (Id_subject) ) ;

CREATE SEQUENCE  K1__Subject _SEQ

     minvalue 1

     maxvalue 9999999

     star with 1

     increment by 1

     cache 20;

CREATE TRIGGER K1__Subject _ins_trg

     before insert

     on K1__Subject

     for each row

     begin

        select K1__Subject _seq.nextval

         into: new. Id_subject

         from dual;

     end; 

Таблица « K2__Cathedra »

CREATE TABLE K2__Cathedra (

       Name_of_cathedra     VARCHAR2(50) NULL,

       Id_cathedra          NUMBER(3) NOT NULL

);

CREATE UNIQUE INDEX XPKK2__Cathedra ON K2__Cathedra

(

       Id_cathedra                    ASC

);

ALTER TABLE K2__Cathedra

       ADD  ( PRIMARY KEY (Id_cathedra) ) ;

CREATE SEQUENCE  K2__Cathedra _SEQ

     minvalue 1

     maxvalue 9999999

     star with 1

     increment by 1

     cache 20;

CREATE TRIGGER K2__Cathedra _ins_trg

     before insert

     on K2__Cathedra

     for each row

     begin

        select K2__Cathedra _seq.nextval

         into: new. Id_cathedra

         from dual;

     end; 
 

Таблица «K3__Gender»

CREATE TABLE K3__Gender (

       Id_gender            NUMBER(1) NOT NULL,

       Gender               VARCHAR2(7) NULL

);

CREATE UNIQUE INDEX XPKK3__Gender ON K3__Gender

(

       Id_gender                      ASC

);

ALTER TABLE K3__Gender

       ADD  ( PRIMARY KEY (Id_gender) ) ;

CREATE SEQUENCE  K3__Gender _SEQ

     minvalue 1

     maxvalue 9999999

     star with 1

     increment by 1

     cache 20;

CREATE TRIGGER K3__Gender _ins_trg

     before insert

     on K3__Gender

     for each row

     begin

        select K3__Gender _seq.nextval

         into: new. Id_gender

         from dual;

     end; 
 

Таблица « O3__Group »

CREATE TABLE O3__Group (

       №_group              VARCHAR2(6) NOT NULL

);

CREATE UNIQUE INDEX XPKO3__Group ON O3__Group

(

       №_group                        ASC

);

ALTER TABLE O3__Group

       ADD  ( PRIMARY KEY (№_group) ) ; 

Таблица «O4.1__Curriculum »

Информация о работе База данных Деканата