Разработка базы данных "Университет"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?-64 5 Вторая
record(s) selected.
. Выбрать коды всех дисциплин, которые имеют корень 'комп'D.DisciplineNumberDiscipline DD.Name LIKE '%комп%'
Результат выборки:
DISCIPLINENUMBER
. Выбрать расписание не Первую неделю для группы КИТ-64* FROM scheduleviewGroupName='КИТ-64' and WeekName='Первая'BY DAYOFWEEKNUMBER, HOUR, MINUTE
Результат выборки:
GROUPNAME DAYOFWEEKNUMBER WEEKNAME HOUR MINUTE DISCIPLINENAME LECTURERLASTNAME LECTURERFIRSTNAME AUDITORIUM BUILDINGNAME
КИТ-64 1 Первая 8 30 Финансы Гуридина Ирина 202 ГАК
КИТ-64 1 Первая 10 25 Теория алгоритмов Солощук Михаил 305 АК
КИТ-64 1 Первая 12 35 Системное программирование Сомхиева Ольга 305 АК
КИТ-64 2 Первая 8 30 Дискретная математика Пустовойтов Павел 23 ВЦ
КИТ-64 2 Первая 10 25 Теория вероятности Леонов Сергей 305 У1
КИТ-64 2 Первая 12 35 Организация баз данных и знаний Фастовский Эдуард 305 АК
КИТ-64 3 Первая 8 30 Высшая математика Деревянко Александр 304 ГАК
КИТ-64 3 Первая 10 25 История Украины Бреславец Виталий 304 У1
КИТ-64 3 Первая 12 35 Основы безопасности жизнедеятельности Панченко Владимир 1206 АК
КИТ-64 4 Первая 8 30 Структуры организации данных Гуридина Ирина 202 ГАК
КИТ-64 4 Первая 10 25 Методы и средства компьютерных и информационных технологий Бреславец Виталий 318 У1
КИТ-64 4 Первая 12 35 Основы программирования и алгоритмические языки Пустовойтов Павел 305 АК
КИТ-64 5 Первая 8 30 Микропроцессорные системы Порошин Сергей 202 ГАК
КИТ-64 5 Первая 10 25 Теория алгоритмов Солощук Михаил 305 АК
КИТ-64 5 Первая 12 35 Культурология Старусев Олег 501 У1
record(s) selected.
. Для каждого профессора определить количество читаемых им предметов в группе 'КИТ-64'.Lecturer.LastName, Lecturer.FirstName,(DisciplineNumber)Lecturer, LectureLecture.LecturerID=Lecturer.LecturerID.ACADEMICDEGREENAME='Профессор'by.LastName, Lecturer.FirstName
Результат выборки:
LASTNAME FIRSTNAME 3
Гладких Татьяна 2 Панченко Владимир 4Порошин Сергей 4 Солощук Михаил 6Фастовский Эдуард 4 5 record(s) selected.
7.3 Проверка ограничений целостности
Для проверки триггера выполним запросы, первый будет вставлять и изменять записи в таблице лекций на значение дня недели больше 7.Lecture SET DayOfWeekNumber=8E The command was processed as an SQL statement because it was not aCommand Line Processor command. During SQL processing it returned:N Application raised error with diagnostic text: "The DayOfWeekNumberis incorrect". SQLSTATE=75001INTO LECTURE(GROUPNAME, LECTURERID, TIMEID, WEEKTYPEID, DISCIPLINENUMBER, DAYOFWEEKNUMBER, AUDITORIUM, BUILDINGNAME)('КИТ-64', 27, 4, 1, '54354559', 9, '202', 'ГАК');
----------------------------- Command Entered ------------------------------INTO LECTURE(GROUPNAME, LECTURERID, TIMEID, WEEKTYPEID, DISCIPLINENUMBER, DAYOFWEEKNUMBER, AUDITORIUM, BUILDINGNAME)('КИТ-64', 27, 4, 1, '54354559', 9, '202', 'ГАК') ;E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned:N Application raised error with diagnostic text: "The DayOfWeekNumber is incorrect". SQLSTATE=75001
Приложения
Приложение А. SQL-скрипты создания таблиц базы данных
TABLE DB2ADMIN.DISCIPLINE (VARCHAR (20) NOT NULL,VARCHAR (250) NOT NULL ,SMALLINT NOT NULL ,KEY (DISCIPLINENUMBER)TABLE DB2ADMIN.WEEKTYPE (SMALLINT GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1, NO CACHE ) ,VARCHAR (100) NOT NULL ,KEY (WEEKTYPEID)TABLE DB2ADMIN.TIME (SMALLINT GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1, NO CACHE ) ,SMALLINT NOT NULL,SMALLINT NOT NULL,KEY (TIMEID)TABLE DB2ADMIN.CHAIRTYPE (SMALLINT GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1, NO CACHE ) ,VARCHAR (250) NOT NULL,KEY (CHAIRTYPEID)TABLE DB2ADMIN.UNIVERSITY (INTEGER GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1, NO CACHE ) ,VARCHAR (100) NOT NULL,SMALLINT NOT NULL,DATE NOT NULL ,VARCHAR (250),VARCHAR (40),KEY (UNIVERSITYID)TABLE DB2ADMIN.DEPARTMENT (INTEGER GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1, NO CACHE ) ,INTEGER NOT NULL ,VARCHAR (250) NOT NULL ,DATE NOT NULL ,KEY (DEPARTMENTID) ,KEY (UNIVERSITYID) REFERENCES DB2ADMIN.UNIVERSITY (UNIVERSITYID)TABLE DB2ADMIN.CHAIR (INTEGER GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1, NO CACHE ) ,SMALLINT NOT NULL ,INTEGER ,VARCHAR (250) NOT NULL ,DATE NOT NULL ,KEY (CHAIRID) ,KEY (CHAIRTYPEID) REFERENCES DB2ADMIN.CHAIRTYPE (CHAIRTYPEID) ,KEY (DEPARTMENTID) REFERENCES DB2ADMIN.DEPARTMENT (DEPARTMENTID)TABLE DB2ADMIN.LECTURER (INTEGER GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1, NO CACHE ) ,INTEGER NOT NULL ,VARCHAR (70) NOT NULL ,VARCHAR (70) NOT NULL ,VARCHAR (70) NOT NULL ,VARCHAR (120) NOT NULL ,VARCHAR (250) NOT NULL ,KEY (LECTURERID) ,KEY (CHAIRID) REFERENCES DB2ADMIN.CHAIR (CHAIRID)TABLE DB2ADMIN.LECTURE (VARCHAR (20) NOT NULL ,INTEGER NOT NULL ,VARCHAR (20) NOT NULL ,SMALLINT NOT NULL ,SMALLINT NOT NULL ,SMALLINT NOT NULL ,VARCHAR (20) NOT NULL ,VARCHAR (20) NOT NULL ,KEY (GROUPNAME, LECTURERID, TIMEID, WEEKTYPEID, DAYOFWEEKNUMBER) ,KEY (LECTURERID) REFERENCES DB2ADMIN.LECTURER (LECTURERID) ,KEY (DISCIPLINENUMBER) REFERENCES DB2ADMIN.DISCIPLINE (DISCIPLINENUMBER) ,KEY (TIMEID) REFERENCES DB2ADMIN.TIME (TIMEID) ,KEY (WEEKTYPEID) REFERENCES DB2ADMIN.WEEKTYPE (WEEKTYPEID)
инфологический процедурный база целостность
Приложение Б. SQL-скрипты создания триггеров
TRIGGER TWeekValidCASCADE BEFORE INSERT ON LectureNEW AS newEACH ROW MODE DB2SQL. DAYOFWEEKNUMBER is not null(new. DAYOFWEEKNUMBER 7)SQLSTATE '75001' ('The DayOfWeekNumber is incorrect');
Приложение В. Полные выборки таблиц
* FROM WeekType
WEEKTYPEID NAME
Первая
Вторая
Модульная
Зачетная
record(s) selected.
SELECT * FROM ChairType
CHAIRTYPEID NAME
Общая
Факультетская
Выпускающая
Базовая
record(s) selected.
SELECT * FROM University
UNIVERSITYID NAME ACCREDITATIONLEVEL CREATIONDATE ADDRESS PHONE
Харьковский Национальный университет 4 29/01/1805 Харьковский Национальный Университет имени В.Н. Каразина 61077, Харьков, площадь Свободы, 4. 707-53-75
Национальный Технический Университет - "Харьковский политехнический институт" 4 03/09/1885 Украина 61002, г. Харьков, ул. Фрунзе, 21 706-27-49
Государственный Автомобильно-Дорожный Технический Университет 3 05/08/1925 61002, Украина, г. Харьков, ул.Петровского, 25 700-38-65
Государственный аэрокосмический университет им. Н.Е.Жуковского "ХАИ" 4 06/10/1922 61070, Украина, Харьков, ул.Чкалова д.17 44-11-31
Харьковский Государственный Технический университет Радиоэлектроники 4 02/07/1966 г. Харьков, пр. Ленина 14 702-15-15
record(s) selected.
SELECT * FROM Department
DEPARTMENTID UNIVERSITYID NAME CREATIONDATE
1 Биологический 01/09/1900
1 Геолого-географический 01/09/1910
1 Экономический 01/09/1950
1 Иностранных языков 01/09/1920
2 Компьютерных и информационных технологий 01/09/2003
2 Автоматики и приборостроения 01/09/1995
2 Инженерно-физический 01/09/1985
2 Электроэнергетический 01/09/1965<