Информационная система для предметной области “Поликлиника”
Курсовая работа, 16 Февраля 2013, автор: пользователь скрыл имя
Описание работы
SQL символизирует собой структурированный язык запросов. Это язык, который дает возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах.
Мир БД становится все более и более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться для функционирования в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять, и передавать информацию, независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.
В нашем все более и более взаимосвязанном компьютерном мире, пользователь, снабженный таким языком, имеет огромное преимущество в использов
Содержание работы
Введение……………….………………………………………………………...
1 Информационная система для предметной области “Поликлиника” ….....
1.1 Анализ предметной области………………………………………….….
1.2 Анализ информационных задач…………...……….….…………….......
1.3 Выработка требований и ограничений …………………………………
1.4 Проектирование базы данных …………………….…………………….
1.5 Программная реализация проекта базы данных ……………………….
1.6 Триггеры…………………………………………………………………
1.7 Запросы ……..……………………………………………………………
1.8 Представления……………………………………………………………
Заключение…………………………………………………………..………….
Список использованных источников………………………………..…..……
Приложение А Текст программы создания базы данных....……….………...
Приложение Б Диаграмма базы данных……………………………………...
Приложение В Ввод тестовых данных...……………………………………..
Приложение Г Программная реализация триггеров..………………………..
Приложение Д Программная реализация запросов……...………………….
Приложение Е Программная реализация представлений и запросов к ним
Приложение Ж Интерфейс для работы с информационной системой……..
Файлы: 1 файл
СУБД Контрольная.docx
— 3.15 Мб (Скачать файл)
Сущность «Мед. персонал» (Med_personal)
Имя столбца |
Содержательное описание |
Тип данных |
Размерность |
ОДЗ |
Возможность Null |
Роль |
Пример |
Number_ personala |
№ персонала |
int |
6 |
[0..9] |
нет |
PrimaryKey |
1 |
Number_ diploma |
№ диплома |
int |
6 |
[0..9] |
нет |
Attribute |
123456 |
FIO_ personala |
ФИО персонала |
varchar (30) |
30 |
[А..Я, а..я] |
нет |
Attribute |
Иванов Иван Иванович |
DomАdress |
домашний адрес |
varchar (35) |
35 |
[А..Я, а..я] [0..9] |
нет |
Attribute |
Кирова 45 |
Data_ rogdenia |
дата рождения |
varchar (10) |
10 |
[0..9] |
нет |
Attribute |
11.11.1987 |
ZP |
Зарплата |
int |
5 |
[0..9] |
нет |
Attribute |
6000 |
Number_ dolgnosti |
№ должности |
int |
6 |
[0..9] |
нет |
ForeignKey |
1 |
Number_ specialista |
№ специалиста |
int |
6 |
[0..9] |
нет |
ForeignKey |
1 |
Сущность «Вид приема» (Vid_priema)
Имя столбца |
Содержательное описание |
Тип данных |
Размерность |
ОДЗ |
Возможность Null |
Роль |
Пример |
Number |
№ приема |
int |
6 |
[0..9] |
нет |
PrimaryKey |
1 |
Name_ priema |
название приема |
varchar (20) |
20 |
[0..9] |
нет |
Attribute |
по записи |
Сущность «Специалист» (Specialist)
Имя столбца |
Содержательное описание |
Тип данных |
Размерность |
ОДЗ |
Возможность Null |
Роль |
Пример |
Number_ specialista |
№ специалиста |
int |
6 |
[0..9] |
нет |
PrimaryKey |
1 |
Name_ specialista |
название специалиста |
varchar (20) |
20 |
[0..9] |
нет |
Attribute |
Окулист |
1.5 Программная реализация проекта базы данных
На данном этапе использовались следующие операторы:
- CREATE DATABASE – создание базы данных;
- CREATE TABLE – создание таблицы;
- INSERT INTO TABLE– заполнение таблицы;
- CREАTE TRIGGER – создание триггера;
- CREATE VIEW – создание представления
Текст программы создания базы данных приведен в приложении А.
Для спроектированной базы данных построена диаграмма, которая приведена в приложении Б.
Текст программы ввода текстовых данных приведен в приложении В.
1.6 Триггеры
Триггер – это предварительно определенные действия или последовательность действий, автоматически осуществляемые при выполнении операций удаления, обновления, добавления.
Компоненты триггера:
- ограничения, для реализации которых создается триггер;
- событие, которое характеризует возникновение ситуации, требующей проверки ограничений;
- предусмотренное действие, которое осуществляется за счет выполнения процедуры или последовательности процедур, с помощью которых реализуется логика, требуемая для реализации ограничений.
Типы триггеров:
- INSERT – определяет действия, которые будут производиться после добавления записей в таблицу;
- UPDATE – определяет действия, которые будут производиться после обновления записей в таблице;
- DELETE – определяет действия, которые будут производиться после удаления записей из таблицы.
Преимущества использования триггеров:
- триггер всегда выполняется при реализации действий:
- при необходимости триггер можно менять централизовано, непосредственно в базе данных;
- система обработки данных, использующая триггер, обладает лучшей переносимостью в архитектуру «клиент – сервер».
В курсовой работе разработаны следующие триггеры:
- триггер Proverka_ZP, осуществляющий проверку зарплаты;
2) триггер Priem, осуществляющий проверку наличия записи к какому-либо специалисту на определенное время;
3) триггер Proverka_vozrasta_
Программная реализация триггеров приведена в приложении Г.
1.7 Запросы
Запрос - команда, которая задается программе БД, и которая сообщает ей, чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера.
Запросы выполняются с помощью команды select. В общем случае, команда SELECT начинается с ключевого слова SELECT, сопровождаемого пробелом. После этого должен следовать список имен столбцов, которые вы хотите видеть, отделяемые запятыми. Если вы хотите видеть все столбцы таблицы, вы можете заменить этот список звездочкой (*). Ключевое слово FROM следующее далее, сопровождается пробелом и именем таблицы, к которой делается запрос. В заключение, точка с запятой ( ; ) должна использоваться, чтобы закончить запрос и указать что команда готова к выполнению. [1]
Список запросов:
- Вывести весь мед. персонал;
- Вывести всех пациентов, старше 30 лет;
- Вывести всех врачей – окулистов, старше 40 лет и работающих в поликлиники № 2;
- Вывести пациентов, которые записаны на 15.05.2008 на прием к хирургу;
- Вывести мед.персонал с соответствующими должностями;
- Вывести мед.персонал с зарплатой выше средней;
- Вывести пациентов, которые записаны на прием к врачу Петрову П.П.;
- Вывести количество мед. персонала, который получает зарплату выше средней и среднее значение зарплаты;
- Вывести все записи приема по направлению;
- По фамилии врача определить фамилии его пациентов
Программная реализация запросов приведена в приложении Д.
1.8 Представления
Представления – это таблицы, чье содержание выбирается или получается из других таблиц. Они работают в запросах точно также как и основные таблицы, но не содержат никаких собственных данных. Представления - подобны окнам, через которые просматривается информация (как она есть, или в другой форме), которая фактически хранится в базовой таблице. Представление - это фактически запрос, который выполняется всякий раз, когда представление становится темой команды. Вывод запроса при этом в каждый момент становится содержанием представления. [2]
В курсовой работе были разработаны следующие представления:
- представление, содержащее информацию о медицинском персонале, выбранную из одной таблицы;
- представление, которое считает количество записей к определенному врачу;
- представление, содержащее информацию о медицинском персонале, основанное на нескольких таблицах.
К представлениям разработаны следующие запросы:
- выбрать сотрудников, которые работают медсестрами;
- выбрать сотрудников, у которых зарплата ниже средней.
Программная реализация представлений и запросов к ним приведена в приложении Е.
Заключение
В ходе курсового проектирования создана информационная система для предметной области “Поликлиника”. В ходе выполнения курсовой работы были разработаны 7 таблиц, 10 запросов к ним, 3 триггера, 3 представления и 2 запроса к ним.
В курсовой работе были выполнены анализ предметной области, информационных задач и круга пользователей системы, проектирование и программная реализация базы данных.
Список использованных источников
- Мартин Грабер. Понимание SQL (электронный учебник)
- Т. Конноли, К. Берг, А Страчан. Базы данных: проектирование, реализация и сопровождение. Теория и практика. – СПб.: Вильямс, 2003г., 1440 с.
ПРОГРАММА СОЗДАНИЯ БАЗЫ ДАННЫХ
Приложение А
(обязательное)
Удаление уже существующей базы
IF EXISTS (SELECT *
FROM master..sysdatabases
WHERE name = N'Poliklinika')
DROP DATABASE Poliklinika
GO
Создание новой базы
CREATE DATABASE Poliklinika
GO
Создание таблицы «Вид приема»
Create Table Vid_Priema
(
Number int
check (Number>0 and Number<=10)
primary key,
Name_priema varchar(20) not null
)
Создание таблицы «Специалист»
Create Table Specialist
(
Number_specialista int
check (Number_specialista>0 and Number_specialista<=12)
primary key,
Name_specialista varchar(20) not null
)
Создание таблицы «Должность»
Create Table Dolgnost
(
Number_dolgnosti int
check (Number_dolgnosti>0 and Number_dolgnosti<=20)
primary key,
Name varchar(20) not null,
Sred_ZP int
check (Sred_ZP>0 and Sred_ZP <=99999) not null
)
Создание таблицы «Корпус»
Create Table Korpus
(
Number_korpusa int
check (Number_korpusa>0 and Number_korpusa<=10)
primary key,
Adress varchar(30) not null
)
Создание таблицы «Пациент»
Create Table Pacient
(
Number_polisa int
check (Number_polisa>0 and Number_polisa<=999999)
primary key,
FIO varchar(35) not null,
Pasport_dan Bigint
check (Pasport_dan>0 and Pasport_dan<=9999999999) not null,
Dom_adress varchar(30) not null,
God_rogdenia varchar(10) not null
)
Создание таблицы «Медицинский персонал»
Create Table Med_personal
(
Number_personala int
check (Number_personala>0 and Number_personala<=100)
primary key,
Number_diploma int
check (Number_diploma>0 and Number_diploma<=999999) not null,
FIO_personala varchar(30) not null,
Dom_Adress varchar(35) not null,
Data_rogdenia varchar(10) not null,
ZP int
check (ZP>0 and ZP<=99999) not null,
Number_dolgnosti int
foreign key (Number_dolgnosti) references Dolgnost (Number_dolgnosti) not null,
Number_specialista int
foreign key (Number_specialista) references Specialist (Number_specialista) not null
)
Создание таблицы «Запись»
Create Table Zapis
(
Number_zapisi int
check (Number_zapisi>0 and Number_zapisi<=100)
primary key,
Vremja_priema varchar(18) not null,
Number_specialista int
check (Number_specialista>0 and Number_specialista<=100) not null,
Number_polisa int
foreign key (Number_polisa) references Pacient (Number_polisa) not null,
Number_personala int
foreign key (Number_personala) references Med_personal (Number_personala) not null,
Number int
foreign key (Number) references Vid_priema (Number) not null,
Number_korpusa int
foreign key (Number_korpusa) references Korpus (Number_korpusa) not null
)
ДИАГРАММА БАЗЫ ДАННЫХ
Приложение Б
(обязательное)
ВВОД ТЕСТОВЫХ ДАННЫХ
Приложение В
(обязательное)