Описание структуры базы данных
база данные управление server
Логическая структура базы данных должна быть спроектирована и описана для конкретной СУБД. Для нашей базы данных была выбрана СУБД MS SQL Server. Необходимо перейти от ER-модели к таблицам в базе данных.
Студент (таб_номер студента, ФИО, форма обучения, специальность, основа обучения, кол-во ак_задолженностей, код_группы)
Группа (код_группы, название группы, вид группы, выпуск кафедра)
Служебная записка (номер сз, дата сз, таб_номер студента, код предмета, таб_номер преподавателя)
Кафедра (код кафедры, сокращенное название)
Преподаватель (таб_номер преподавателя, ФИО, должность, код кафедры)
Комиссия (номер комиссии, название, номер распоряжения, дата распоряжения)
Предмет (код предмета, название)
Комиссия_преподаватель (номер комиссии, таб_номер преподавателя)
Предмет_преподаватель (таб_номер преподавателя, код предмета)
Вынесение на сессию(код группы, код предмета, семестр)
Недопуск (номер сз, дата сз, таб_номер_преподавателя, код предмета, таб_номер_студента, дата)
Контрольное мероприятие (код предмета, таб_номер_студента, дата, таб_номер_преподавателя, вид к/м, вид сдачи, оценка, номер оправдательного документа, дата оправдательного документа)
Экстернат_сессия (семестр, таб_номер_студента, код предмета, вид к/м, дата)
Служебная_студент (номер сз, дата сз, таб_номер_студента)
Ограничения целостности связи заданы в схеме данных
Проектирование физической структуры базы данных
Физическая модель – это привязка логической модели к конкретной среде хранения и методам хранения данных. При проектировании физической модели базы данных необходимо описать среду и метод хранения информации. Для этого необходимо изучить особенности организации данных выбранной СУБД. Для проектирования базы данных для контроля за сессионной успеваемостью студентов была выбрана СУБД 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 (08012, 'Никитина', 'Ирина', 'Андреевна', 80801)
insert into STUDENTIKI
values (08017, 'Рубцов', 'Артем', 'Александрович', 90105)
insert into STUDENTIKI
values (08005, 'Бондарик', 'Александр', 'Владимирович', 10503)
insert into STUDENTIKI
values (08032, 'Хомченко', 'Екатерина', 'Александровна', 230102)
insert into STUDENTIKI
values (08024, 'Самчук', 'Виктория', 'Игоревна', 80800)
insert into STUDENTIKI
values (08014, 'Акивис', 'Владимир', 'Александрович', 80802)
insert into STUDENTIKI
values (08007, 'Позднякова', 'Ирина', 'Александровна', 80801)
insert into STUDENTIKI
values (80022, 'Макагон', 'Алексей', 'Константинович', 10503)
insert into STUDENTIKI
values (80020, 'Кореев', 'Олег', 'Алексеевич', 90105)
insert into STUDENTIKI
values (80011, 'Климова', 'Дарья', '', 80800)
insert into STUDENTIKI
values (80019, 'Гудков', 'Максим', 'Константинович', 230102)
Таблица Кафедры:
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 (230102, 'АСОИиУ')
insert into SPEC
values (090105, 'КОИБАС')
insert into SPEC
values (010503, 'МОиАИС')
insert into SPEC
values (080800, 'ПИ')
insert into SPEC
values (080801, 'ПИвЭ')
insert into SPEC
values (080802, 'ПИвМ')