Реализация проекта в 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, 'ПИвМ')
8. Использованная литература:
1)Диго С.М., «Базы Данных», Москва, «Финансы и статистика», 2005г.
2)Советов Б.Я., Цехановский В.В., Чертовской В.Д., «Базы данных: Теория и практика»М: Высшая Школа,2007г.