Информационная подсистема абитуриенты
Общая характеристика и структура проектируемой базы данных, содержание основных таблиц и запросов, предъявляемые требования. Механизм построения информационной и реляционной модели. Описание данных и инициализация, реализация серверного приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 31.03.2015 |
Размер файла | 586,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Курсовая работа
Информационная подсистема абитуриенты
1. Постановка задачи
Разработать информационную подсистему абитуриенты для автоматизации работы приемной комиссии вуза.
2. Анализ задачи
Анкета включает следующие данные об абитуриенте: регистрационный номер; фамилию, имя и отчество; дату рождения; сведения об оконченном среднем учебном заведении Анкета включает следующие данные об абитуриенте: регистрационный номер; фамилию, имя и отчество; дату рождения; сведения об оконченном среднем учебном заведении
3. Информационная модель
Информационная модель предполагает наличие следующих сущностей.
1. Абитуриент - представляет собой информацию об абитуриентах
· ID_абитуриента
· Фамилия
· Имя
· Отчество
· Дата_рождения
· Медаль
· Код_специальности
2. Адрес - представляет собой информацию о месте проживания каждого абитуриента.
· ID_абитуриента
· Индекс
· Территория
· Населенный_пункт
· Улица
· Номер_дома
· Телефон
3. ВУЗ - представляет информацию о специальностях, имеющихся в ВУЗе и дисциплины, необходимые при поступлении.
· Код_специальности
· Дисциплина_1
· Дисциплина_2
· Дисциплина_3
· Дисциплина_4
4. Оконченное_СУЗ - представляет собой информацию об СУЗе, который окончил абитуриент.
· ID_абитуриента
· Название
· Город
· Дата_окончания
4. Реляционная модель
Преобразуем информационную модель в реляционную (рис. 1 Диаграмма).
Табл.1. Описание таблиц
Имя таблицы |
Поле |
Тип поля |
Описание полей |
|
Абитуриент |
ID_абитуриента |
varchar (20) |
Код абитуриента |
|
Фамилия |
varchar(60) |
Фамилия |
||
Имя |
varchar(60) |
Имя |
||
Отчество |
varchar(60) |
Отчество |
||
Дата_рождения |
varchar (20) |
д.р. абитуриента |
||
Медаль |
varchar(20) |
Наличие медали |
||
Код_специальности |
varchar (20) |
Специальность, на которую поступает абитуриент |
||
Адрес |
ID_абитуриента |
varchar (20) |
Код абитуриента |
|
Индекс |
varchar (20) |
Его индекс |
||
Территория |
varchar(20) |
Территория проживания |
||
Населенный_пукт |
varchar(20) |
Населенный пункт |
||
Улица |
varchar(20) |
Улица |
||
Номер_дома |
varchar(20) |
Номер дома |
||
Телефон |
varchar(10) |
Номер телефона |
||
ВУЗ |
Код_специальности |
varchar (20) |
Код специальности |
|
Дисциплина_1 |
varchar(20) |
Первая дисциплина |
||
Дисциплина_2 |
varchar(20) |
Вторая дисциплина |
||
Дисциплина_3 |
varchar(20) |
Третья дисциплина |
||
Дисциплина_4 |
varchar(20) |
Четвертая дисциплина |
||
Оконченное_ СУЗ |
ID_абитуриентв |
varchar (20) |
Код абитуриента |
|
Название |
varchar(20) |
Название СУЗ |
||
Город |
varchar(20) |
Город, в котором находится СУЗ |
||
Дата_окончанич |
varchar (20) |
Год окончания СУЗа |
Для хранения адреса абитуриента сущаствует таблица Адрес. Адрес имеет внешний ключ ID_абитуриента, который связан с ID_абитуриента в основной таблице Абитуриенты.
Для хранения информации об оконченном, абитуриентом, СУЗ, имеется таблица Оконченное_СУЗ. Она имеет внешний ключ ID_абитуриента, который связан с ID_абитуриента в основной таблице Абитуриенты.
Для хранения имеющихся в ВУЗе специальностей и дисциплин, необходимых для поступления на них, существует таблица ВУЗ. Таблица Абитуриенты имеет внешний ключ Код_специальности, который связан Код_специальности таблицы ВУЗ.
Рис. 1. Описание данных и инициализация БД
5. Описание данных и инициализация БД
- Занесение данных в таблицы и запросы к ним:
· заносятся данные о 5 специальностях (рис. 2);
· заносятся 5 записей об абитуриентах (рис. 3);
· заносятся 5 записей об адресах абитуриентов (рис. 4);
· заносятся 5 записей об оконченных, абитуриентами, СУЗ (рис. 5);
Рис. 3 Выборка данных из таблицы Абитуриент после занесения начальных данных
Рис. 4 Выборка данных из таблицы Арес после занесения начальных данных
Рис. 5 Выборка данных из таблицы СУЗ после занесения начальных данных
6. Реализация серверного приложения и демонстрация его работы
Процедуры добавления данных в таблицы:
- Добавление Новой специальности, проверка ее существования
use test
go
create procedure addSPEC
@Код_специальности varchar(20),
@Дисциплина_1 varchar(20),
@Дисциплина_2 varchar(20),
@Дисциплина_3 varchar(20),
@Дисциплина_4 varchar(20)
as
begin
set nocount on
if ((select COUNT(*) from ВУЗ where Код_специальности=@Код_специальности)!=0)
begin
print 'Такая специальность уже имеется'
return (1)
end
begin try
insert into ВУЗ (Код_специальности, Дисциплина_1, Дисциплина_2, Дисциплина_3, Дисциплина_4)
values (@Код_специальности,@Дисциплина_1,@Дисциплина_2,@Дисциплина_3,@Дисциплина_4)
print 'Добавлено'
return scope_identity()
end try
begin catch
return (-1)
end catch
end
Рис. 5 Выборка данных из таблицы ВУЗ после внесения новых данных
- Добавление нового абитуриента. Проверка наличия абитуриента с таким ID в базе, проверка наличия такой специальности в базе.
create procedure addABITUR
@ID_абитуриента varchar(20),
@Фамилия varchar(60),
@Имя varchar(60),
@Отчество varchar(60),
@Дата_рождения varchar(20),
@Медаль varchar(20),
@Код_специальности varchar(20),
@Индекс varchar(20),
@Территория varchar(20),
@Населенный_пункт varchar(20),
@Улица varchar(20),
@Номер_дома varchar(20),
@Телефон varchar(20),
@СУЗ varchar(20),
@Город varchar(20),
@Дата_окончания varchar(20)
as
begin
set nocount on
if ((select COUNT(*) from Абитуриент where ID_абитуриента=@ID_абитуриента)!=0)
begin
print 'Абитуриент с таким ID уже есть в базе'
return (1)
end
begin try
if ((select COUNT(*) from ВУЗ where Код_специальности=@Код_специальности)=0)
begin
print 'Такой специальности не существует'
return (1)
end
begin try
insert into Абитуриент (ID_абитуриента, Фамилия, Имя, Отчество, Дата_рождения, Медаль, Код_специальности)
values (@ID_абитуриента,@Фамилия,@Имя,@Отчество,@Дата_рождения,@Медаль,@Код_специальности)
insert into Адрес (ID_абитуриента, Индекс, Территория, Населенный_пункт, Улица, Номер_дома, Телефон)
values (@ID_абитуриента,@Индекс,@Территория,@Населенный_пункт,@Улица,@Номер_дома,@Телефон)
insert into Оконченное_СУЗ (ID_абитуриента, Название, Город, Дата_окончания)
values (@ID_абитуриента,@СУЗ,@Город,@Дата_окончания)
print 'Добавлено'
return scope_identity()
end try
begin catch
return (-1)
end catch
end try
begin catch
return (-1)
end catch
end
Рис. 6 Выборка данных из таблиц, содержащих данные о добавленном абитуриенте
- представление данных об абитуриентах.
use test
go
create view Абитуриенты
as
select a.ID_абитуриента as 'ID', a. Фамилия as 'Фамилия', a. Имя as 'Имя', a. Отчество as 'Отчество', a. Дата_рождения as 'Д.р.',
a. Медаль as 'Медаль', a. Код_специальности as 'Специальность',
b. Индекс as 'Индекс', b. Территория as 'Территория',
b. Населенный_пункт as 'Город', b. Улица as 'Улица', b. Номер_дома as 'Дом', b. Телефон as 'Телефон',
c. Город as 'Город_СУЗ', c. Дата_окончания as 'Дата_окончания'
from Абитуриент a
inner join Адрес b on a.ID_абитуриента = b.ID_абитуриента
inner join Оконченное_СУЗ c on a.ID_абитуриента = c.ID_абитуриента
go
go
CREATE VIEW ViewOfVoshogdenie
AS
Рис. 7 Представление всей информации об абитуриентах.
use test
go
create view Абитуриенты_с_медалью
as
select a.ID_абитуриента as 'ID', a. Фамилия as 'Фамилия', a. Имя as 'Имя', a. Отчество as 'Отчество', a. Дата_рождения as 'Д.р.',
a. Медаль as 'Медаль', a. Код_специальности as 'Специальность',
b. Индекс as 'Индекс', b. Территория as 'Территория',
b. Населенный_пункт as 'Город', b. Улица as 'Улица', b. Номер_дома as 'Дом', b. Телефон as 'Телефон',
c. Город as 'Город_СУЗ', c. Дата_окончания as 'Дата_окончания'
from Абитуриент a
inner join Адрес b on a.ID_абитуриента = b.ID_абитуриента
inner join Оконченное_СУЗ c on a.ID_абитуриента = c.ID_абитуриента
where a. Медаль='да'
go
Рис. 8 Представление информации об абитуриентах с медалью
Удаление данных:
- Удаление специальности.
create procedure delSPEC
@Код_специальности varchar(20)
as
begin
delete from ВУЗ where Код_специальности=@Код_специальности
print 'Удалено'
end
- Удаление абитуриента.
create procedure delABITUR
@ID_абитуриента varchar(20)
as
begin
delete from Адрес where ID_абитуриента=@ID_абитуриента;
delete from Оконченное_СУЗ where ID_абитуриента=@ID_абитуриента;
delete from Абитуриент where ID_абитуриента=@ID_абитуриента;
print 'Удалено'
end
Коррекция данных:
- Изменение информации о специальности.
create procedure editSPEC
@id varchar(20),
@Дисциплина_1 varchar(20),
@Дисциплина_2 varchar(20),
@Дисциплина_3 varchar(20),
@Дисциплина_4 varchar(20)
as
begin
set nocount on
if ((select COUNT(*) from ВУЗ where Код_специальности=@id)=0)
begin
print 'Такой специальности не существует'
return (-1)
end
begin try
update ВУЗ set Дисциплина_1=@Дисциплина_1, Дисциплина_2=@Дисциплина_2, Дисциплина_3=@Дисциплина_3, Дисциплина_4=@Дисциплина_4
where Код_специальности=@id
print 'Изменено'
end try
begin catch
print error_message()
return (-1)
end catch
end
execute editSPEC '10350', 'Химия', 'Физика', 'Биология', 'Русский'
Рис. 9 Выборка из таблицы ВУЗ после выполнения скрипта на изменение
- Изменение информации об абитуриенте.
create procedure editABITUR
@ID_абитуриента varchar(20),
@Фамилия varchar(60),
@Имя varchar(60),
@Отчество varchar(60),
@Дата_рождения varchar(20),
@Медаль varchar(20),
@Код_специальности varchar(20),
@Индекс varchar(20),
@Территория varchar(20),
@Населенный_пункт varchar(20),
@Улица varchar(20),
@Номер_дома varchar(20),
@Телефон varchar(20),
@СУЗ varchar(20),
@Город varchar(20),
@Дата_окончания varchar(20)
as
begin
set nocount on
if ((select COUNT(*) from Абитуриент where ID_абитуриента=@ID_абитуриента)=0)
begin
print 'Абитуриента с таким ID нет в базе'
return (-1)
end
begin try
if ((select COUNT(*) from ВУЗ where Код_специальности=@Код_специальности)=0)
begin
print 'Такой специальности не существует'
return (1)
end
begin try
update Абитуриент set Фамилия=@Фамилия, Имя=@Имя, Отчество=@Отчество, Дата_рождения=@Дата_рождения, Медаль=@Медаль, Код_специальности=@Код_специальности
where ID_абитуриента=@ID_абитуриента
update Адрес set Индекс=@Индекс, Территория=@Территория, Населенный_пункт=@Населенный_пункт, Улица=@Улица, Номер_дома=@Номер_дома, Телефон=@Телефон
where ID_абитуриента=@ID_абитуриента
update Оконченное_СУЗ set Название=@СУЗ, Город=@Город, Дата_окончания=@Дата_окончания
where ID_абитуриента=@ID_абитуриента
print 'Изменено'
return scope_identity()
end try
begin catch
return (-1)
end catch
end try
begin catch
return (-1)
end catch
end
Приложение
create database Абитуриенты
go
use Абитуриенты
CREATE TABLE Абитуриент (ID_абитуриента varchar (20) NOT NULL, Фамилия varchar (60), Имя varchar (60), Отчество varchar (60), Дата_рождения varchar(20), Медаль varchar(20), Код_специальности varchar(20))
CREATE TABLE Адрес (ID_абитуриента varchar (20), Индекс varchar (20), Территория varchar(20), Населенный_пункт varchar (20), Улица varchar (20), Номер_дома varchar (20), Телефон varchar (10))
CREATE TABLE Оконченное_СУЗ (ID_абитуриента varchar (20), Название varchar (20), Город varchar(20), Дата_окончания varchar(20))
CREATE TABLE ВУЗ (Код_специальности varchar(20) NOT NULL, Дисциплина_1 varchar (20), Дисциплина_2 varchar (20), Дисциплина_3 varchar (20), Дисциплина_4 varchar (20))
go
alter table Абитуриент
add constraint k1 primary key (ID_абитуриента)
alter table ВУЗ
add constraint k2 primary key (Код_специальности)
alter table Адрес
add constraint k3 foreign key (ID_абитуриента) references Абитуриент (ID_абитуриента)
alter table Оконченное_СУЗ
add constraint k4 foreign key (ID_абитуриента) references Абитуриент (ID_абитуриента)
alter table Абитуриент
add constraint k5 foreign key (Код_специальности) references ВУЗ (Код_специальности)
go
insert into
ВУЗ (Код_специальности, Дисциплина_1, Дисциплина_2, Дисциплина_3, Дисциплина_4) values ('10500', 'Математика', 'Русский', 'Информатика', 'Физика')
insert into ВУЗ (Код_специальности, Дисциплина_1, Дисциплина_2, Дисциплина_3, Дисциплина_4) values ('10350', 'Математика', 'Русский', 'Биология', 'Химия')
insert into ВУЗ (Код_специальности, Дисциплина_1, Дисциплина_2, Дисциплина_3, Дисциплина_4) values ('00182', 'Обществознание', 'Русский', 'История', 'Право')
insert into ВУЗ (Код_специальности, Дисциплина_1, Дисциплина_2, Дисциплина_3, Дисциплина_4) values ('48151', 'Рисунок', 'Русский', 'Математика', 'Иностранный')
insert into ВУЗ (Код_специальности, Дисциплина_1, Дисциплина_2, Дисциплина_3, Дисциплина_4) values ('62342', 'Иностранный', 'Русский', 'Обществознание', 'География')
insert into Абитуриент (ID_абитуриента, Фамилия, Имя, Отчество, Дата_рождения, Медаль, Код_специальности) values ('1', 'Шабалин', 'Никита', 'Александрович', '24.03.1992', 'да', '10500')
insert into Абитуриент (ID_абитуриента, Фамилия, Имя, Отчество, Дата_рождения, Медаль, Код_специальности) values ('2', 'Немировский', 'Денис', 'Юрьевич', '17.10.1992', 'нет', '10500')
insert into Абитуриент (ID_абитуриента, Фамилия, Имя, Отчество, Дата_рождения, Медаль, Код_специальности) values ('3', 'Тутубалин', 'Алексей', 'Сергеевич', '08.02.1993', 'нет', '62342')
insert into Абитуриент (ID_абитуриента, Фамилия, Имя, Отчество, Дата_рождения, Медаль, Код_специальности) values ('4', 'Роскрут', 'Руслан', 'Батькович', '27.03.1991', 'да', '00182')
insert into Абитуриент (ID_абитуриента, Фамилия, Имя, Отчество, Дата_рождения, Медаль, Код_специальности) values ('5', 'Крупская', 'Надежда', 'Константиновна', '09.07.1992', 'да', '48151')
insert into Адрес (ID_абитуриента, Индекс, Территория, Населенный_пункт, Улица, Номер_дома, Телефон) values ('1', '600025', 'Владимирская обл.', 'г. Владимир', 'Нижняя дуброва', '8', '424437')
insert into Адрес (ID_абитуриента, Индекс, Территория, Населенный_пункт, Улица, Номер_дома, Телефон) values ('2', '600014', 'Владимиркая обл.', 'с. Красная Ушна', 'Ленина', '4', '352463')
insert into Адрес (ID_абитуриента, Индекс, Территория, Населенный_пункт, Улица, Номер_дома, Телефон) values ('3', '600028', 'Владимирская обл.', 'г. Владимир', 'Лакина', '147б', '249141')
insert into Адрес (ID_абитуриента, Индекс, Территория, Населенный_пункт, Улица, Номер_дома, Телефон) values ('4', '600124', 'Ивановская обл.', 'г. Иваново', 'Красноармейская', '42', '421463')
insert into Адрес (ID_абитуриента, Индекс, Территория, Населенный_пункт, Улица, Номер_дома, Телефон) values ('5', '600036', 'Владимирская обл.', 'г. Владимир', 'Суздальский пр-кт', '12', '432412')
insert into Оконченное_СУЗ (ID_абитуриента, Название, Город, Дата_окончания) values ('1', 'Школа №4', 'Владимир', '2007')
insert into Оконченное_СУЗ (ID_абитуриента, Название, Город, Дата_окончания) values ('2', 'Школа №1', 'Красная Ушна', '2007')
insert into Оконченное_СУЗ (ID_абитуриента, Название, Город, Дата_окончания) values ('3', 'Школа №2', 'Владимир', '2007')
insert into Оконченное_СУЗ (ID_абитуриента, Название, Город, Дата_окончания) values ('4', 'Школа №8', 'Иваново', '2008')
insert into Оконченное_СУЗ (ID_абитуриента, Название, Город, Дата_окончания) values ('5', 'Школа №24', 'Владимир', '2008')
go
Размещено на Allbest.ru
Подобные документы
Общая характеристика и состав информационных запросов к проектируемой базе данных, требования к ней и внутренняя структура, принципы нормализации и разработка логической модели. Создание таблиц и связей между ними. Язык структурированных запросов.
курсовая работа [985,6 K], добавлен 22.05.2014Проектирование автоматизированной информационной системы, позволяющей оформлять заказы на продажу керамической плитки. Разработка реляционной модели данных. Структура и содержание таблиц базы данных, формирование запросов к ней и назначение ее форм.
курсовая работа [4,9 M], добавлен 26.07.2013Выделение основных сущностей проектируемой системы, описание их взаимосвязи. Построение базы данных и приложений: разработка таблиц и связей между ними, локальных представлений данных, форм, запросов, меню. Инструкция для работы пользователя с программой.
курсовая работа [380,9 K], добавлен 06.04.2015Теоретические основы разработки приложения для автоматизации данных по Олимпиаде. Основные свойства объектов, связей, их атрибуты. Создание отчета на примере "спортсмены занявшие места с 1 по 3". Структура запросов, таблиц базы данных в Microsoft Access.
курсовая работа [1,1 M], добавлен 09.12.2013Общая характеристика инфологической модели информационной системы. Знакомство с особенностями проектирования базы данных "Библиотека", анализ основных этапов. Рассмотрение способов составления запросов по выборке информации из таблиц базы данных.
контрольная работа [831,2 K], добавлен 08.12.2013Понятие базы данных в Microsoft Access, описание таблицы как объекта. Назначение запросов, форм, отчетов и страниц. Макросы и модули в СУБД. Порядок создания базы данных, ввод описания поля. Свойства полей таблиц. Построение реляционной модели данных.
презентация [389,6 K], добавлен 18.01.2014Минимальные системные требования к техническому и программному обеспечению для применения базы данных. Структура базы данных, создание таблиц (сотрудники, контакты, контракты, клиенты), запросов и форм. Описание действий при работе с базой данных.
практическая работа [1,0 M], добавлен 13.02.2011Особенности разработки инфологической модели и создание структуры реляционной базы данных. Основы проектирования базы данных. Разработка таблиц, форм, запросов для вывода информации о соответствующей модели. Работа с базами данных и их объектами.
курсовая работа [981,4 K], добавлен 05.11.2011Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.
курсовая работа [1,7 M], добавлен 18.01.2012Разработка концептуальной модели базы данных "Чемпионат авто": описание предметной области, каталог задач, описание таблиц, схема данных, ER-диаграмма. Проектирование реляционной модели "Спортивный комплекс". Реализация и результат работы базы данных.
курсовая работа [3,7 M], добавлен 14.06.2011