Разработка базы данных и серверной части информационной системы учета технического обслуживания станков средствами СУБД Microsoft SQL Server

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    563,48 Кб
  • Опубликовано:
    2013-02-01
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка базы данных и серверной части информационной системы учета технического обслуживания станков средствами СУБД Microsoft SQL Server

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Федеральное государственное бюджетное образовательное

учреждение высшего профессионального образования

"Пензенский государственный университет"

(ФГБОУ ВПО "Пензенский государственный университет")

Кафедра "Математическое обеспечение и применение ЭВМ"






Разработка базы данных и серверной части информационной системы  учета технического обслуживания станков средствами СУБД Microsoft SQL Server

Пояснительная записка к курсовому проекту по дисциплине

"Системы управления базами данных"

ПГУ 230105-5КР101.16 ПЗ

Автор работы Борунов А.А.

Группа 10ВП2

Специальность 230105

Руководитель работы Казакова И.А.



Пенза 2012 г.

Реферат


Пояснительная записка содержит 28 листов, 23 рисунка, 5 таблиц, 2 использованных источника и 4 приложения.

MS SQL SERVER 2008, СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД), ТАБЛИЦЫ, ЗАПРОСЫ, ИНФОРМАЦИОННАЯ СИСТЕМА, ПРЕДМЕТНАЯ ОБЛАСТЬ.

Объектом разработки является информационная система, созданная с использованием средств, предоставляемых современными СУБД реляционного типа.

Предмет разработки - программные средства для реализации базы данных и серверной части информационной системы "учета технического обслуживания станков" средствами СУБД Microsoft SQL Server 2008

Цель работы - разработка серверной части информационной системы "учета технического обслуживания станков"

Результаты работы

В процессе разработки проводилось изучение основных средств, предоставляемых средой MS SQL SERVER 2008, и на основе их использования разработана и реализована программа.

Содержание

Реферат

Введение

1. Разработка базы данных и серверной части информационной системы "учета технического обслуживания станков"

1.1 Анализ предметной области

1.2 Анализ информационных задач и круга пользователей системы

1.3 Выработка требований и ограничений

1.4 Разработка проекта базы данных

1.5 Программная реализация проекта базы данных

1.6 Разработка триггеров для поддержки сложных ограничений целостности в базе данных

1.7 Запросы

1.8 Представления

Заключение

Список использованных источников

Приложения

Введение


Основной целью курсового проекта является разработка серверной части информационной системы "система учета технического обслуживания станков". Для её выполнения нужно воспользоваться СУБД (в данном случае Microsoft SQL Server 2008).

Задачи, которые преследует курсовой проект:

1.      Изучение возможностей СУБД Microsoft SQL Server 2008 для построения информационных систем,

2.      Изучение языка TRANSACT SQL

3.      Разработать структуру БД и описать её отношения

.        Реализовать несколько запросов, которыми могут воспользоваться пользователи

.        Создание представлений

.        Создание триггеров и хранимых процедур для поддержания целостности

база серверный информационная система

1. Разработка базы данных и серверной части информационной системы "учета технического обслуживания станков"

1.1 Анализ предметной области


БД создаётся для управления станками. БД должна содержать данные о станках, работниках, видах ремонта и предоставлять возможность получать разнообразные отчёты.

В соответствии с предметной областью система строится с учётом следующих особенностей:

)        Каждому станку соответствует свой номер;

2)      Каждому работнику соответствует свой номер;

)        Каждая должность имеет свой номер;

Выделим базовые сущности этой ПО:

1)      Ремонт. Атрибуты ремонта - код ремонта, код станка, код работника, дата начала, дата окончания, код вида ремонта, примечания.

2)      Станки. Атрибуты станков - код станка, месторасположение, год выпуска, марка.

3)      Работник. Атрибуты работника - код работника, ФИО работника, код должности.

4)      Должность. Атрибуты должности - код должности, название должности, оклад.

5)      Виды ремонта. Атрибуты видов ремонта - код вида ремонта, продолжительность, стоимость, примечания.

1.2 Анализ информационных задач и круга пользователей системы


Система создаётся для обслуживания следующих групп пользователей:

)        Начальство;

2)      работники;

Функциональные возможности:

1)      ведение базы данных (запись, чтение, модификация, удаление);

2)      реализация триггеров для поддержания сложных ограничений целостности в базе данных;

)        реализация наиболее часто встречающихся запросов и представлений для определенного круга пользователей в готовом виде;

1.3 Выработка требований и ограничений


Основные ограничения целостности:

.        Значения всех числовых атрибутов - больше 0.

2.      Значения всех атрибутов должны быть not null, т.е. нуждаются в обязательном заполнении.

1.4 Разработка проекта базы данных


Разработанная структура базы данных может быть представлена в следующем виде:

Рисунок 1. Разработанная структура данных

Для таблицы "Станки"

Имя столбца

Тип данных

Размерность

Область допустимых значений

Возможность значения Null

Роли

Пример

Примечание

CodeSt

Код станка

целый

4

0001 - 9999

нет

PK

3456

 

Mesto

Месторасположение

символьный

40

"00-99", "А--Я"

нет

 

1-й цех

 

Godvip

Год выпуска

дата и время

20

01.01.1991-01.01.2099

нет

 

2008

 

Marca

Марка

символьный

11

"0001-9999" "А-Я" "-"

нет

 

2241-Янтарь

 


Для таблицы "Виды ремонта"

Имя столбца

Содержательное описание

Тип данных

Размерность

Область допустимых значений

Возможность значения Null

Роли

Пример

Примечание

CodeVR

Код вида ремонта

целый

3

001-500

нет

PK

123456


Prod

Продолжительность

символьный

20

"001-999" "А-Я"

нет


20 дней


Stoim

Стоимость

5

"00001-99999" "А-Я"

нет


12000 рублей


Primech

Примечания









Для таблицы "Ремонт"

Имя столбца

Содержательное описание

Тип данных

Размерность

Область допустимых значений

Возможность значения Null

Роли

Пример

Примечание

CodeRe

Код ремонта

целый

3

001-500

нет

PK

123


CodeSt

Код станка

целый

4

0001-9999

нет

FK

1234


CodeRa

Код работника

целый

4

0000-9999

нет

FK

4321


DataN

Дата начала

Дата и время

20

01.01.1991-01.01.2099

нет


16.07.2010


DataO

Дата окончания

Дата и время

20

01.01.1991-01.01.2099

нет


28.07.2010


CodeVR

Код вида ремонта

целый

3

001-500

нет

FK

20


Primech

Примечания

символьный

1000

‘А - Я’

да





Для таблицы "Работник"

Имя столбца

Тип данных

Размерность

Область допустимых значений

Возможность значения Null

Роли

Пример

Примечание

CodeRa

Код работника

целый

4

0000-9999

нет

PK

0265454


FIORa

ФИО работника

символьный

30

‘А - Я’ ‘ ’

нет


Безяков Ярослав Сергеевич


CodeDol

Код должности

целый

4

0001-9999

нет

FK

5672



Для таблицы "Должность"

Имя столбца

Содержательное описание

Тип данных

Размерность

Область допустимых значений

Возможность значения Null

Роли

Пример

Примечание

CodeDol

Код должности

целый

3

001-500

нет

PK

231


NameDol

Название должности

символьный

30

‘А - Я’

нет


главный ремонтник

 

Oklad

Оклад

символьный

7

‘00000-99999’,’А-Я’

нет


15000 рублей




1.5 Программная реализация проекта базы данных


Программная реализация проекта базы данных выполнена с помощью операторов языка SQL CREATE DATABASES, CREATE TABLE.

Текст программы создания базы данных приведен в приложении А.

Для спроектированной базы данных средствами СУБД Microsoft SQL Server 2008 построена диаграмма, которая приведена в приложении Б.

Текст программы ввода тестовых данных приведен в приложении В.

1.6 Разработка триггеров для поддержки сложных ограничений целостности в базе данных

1.      Триггер на команду вставки

Данный триггер добавляет сведения о пассажире, при этом проверяет правильность ввода данных.

create trigger name_valemployeeinsert, update@@rowcount=1@p char (30), @i int, @s char@p=FIOra from employee@i=1@i<=len (@p)@s=substring (@p, @i, 1)not ( (@s between 'À' and 'ß') or (@s between 'à' and 'ÿ') or (@s=' ') or (@s='-')(@s between 'A' and 'Z') or (@s between 'a' and 'z'))'Отмена: неправильно указана фамилия сотрудника'tran@i=@i+1'Добавление/изменение выполнено'

Результат работы триггера для данного примера приведен на рисунках 2, 3

Рисунок 2.

Вызов триггера осуществляется запросами вида:

into employee values (10, 'Ульянов Петр Петрович',3);

Рисунок 3.

.        Триггер на команду удаления

Данный триггер удаляет все данные о пассажире.

Такой триггер необходим для очистки ненужных данных.

TRIGGER delemployee FOR INSERT@FIO char (40), @Cod int@Fio = employee. FIORa from deleted employee@Cod = employee. FIORa from deleted employeeemployee. FIORa = @FIO@Cod is not null@Codfrom employee where employee. CodeRa = @Cod;;

Вызов триггера осуществляется запросами вида:

delete from employee where CodeRa = 3;

Результат работы триггера для данного примера приведен на рисунках 3,4.

Рисунок 4.

Рисунок 5. Работа триггера на команду удаления

.        Триггер на команду обновления

Данный тригер меняет стоимость работы.

TRIGGER repDobrepairs FOR INSERT@@ROWCOUNT = 1@bc INTEGER, @cm INTEGER@bc = i. Stoim, @cm = i. CodeVRinserted i@bc > 55500'Ошибка! Указанная стоимость превышает максимум. 'TRANrepairsrepairs. Stoim = @bcrepairs. CodeVR = @cm

Вызов триггера осуществляется запросами вида:

update repairsrepairs. Stoim = 500repairs. CodeVR = 3;

Результат работы триггера для данного примера приведен на рисунке 4.

Рисунок 6.

Рисунок 7. Работа триггера на команду обновления.

1.7 Запросы


Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью предложения SELECT.

В общем случае результатом реализации предложения SELECT является другая таблица. В курсовой работе разработаны следующие запросы:

Простые запросы

•        Найти все коды вида ремонта

•        По коду вида ремонта определить стоимость.

•        Показать все станки марки "Янтарь’.

Сложные запросы

•        . По коду станка определить стоимость его вида ремонта.

•        Узнать марку станка по коду вида ремонта.

•        Найти все ФИО работников, имеющих оклад 20000 рублей.

•        . Определить все марки станков, находящихся в 1 цеху.

•        Показать фамилию работника, который выполнял самый продолжительный ремонт.

•        Найти должность работников, выполняющих самый дорогостоящий вид ремонта.

Найти все марки станков, которые обслуживал Иванов Иван Иванович.

Программная реализация запросов приведена в приложении Д.

1.8 Представления

.        Необновляемое представление, маскирующее строки и столбцы. Задать новые имена для столбцов.

VIEW data ASAS [Дата начала],As [Дата окончания]repair WHERE DataN <> '2011-08-10' AND DataO <> '2011-08-11';* FROM data WHERE [Дата начала] = '2011-08-14';

Рисунок 8.

2.      Агрегирующее представление.

VIEW CAShs AS(DISTINCT Stoim) AS [Общая стоимость]repairs;* FROM CAShs;

Рисунок 9.

3.      Представление, основанное на нескольких таблицах.

·        create VIEW Dates AS

AS [Название должности],AS [ФИО]post, employeeCodeDol = a_CodeDol;* FROM Dates;

Рисунок 10.

·        create VIEW Mon AS

AS [Оклад],AS [ФИО]post, employeeCodeDol = a_CodeDol;* FROM Mon;

Рисунок 11.

·        create VIEW smotr AS

AS [Название Станка],AS [ФИО],AS [Стоимость работы]machines, employee, repair, repairsCodeSt = a_CodeStCodeRa = a_CodeRaCodeVR = a_CodeVR;* FROM smotr;

Рисунок 12.

Заключение

В ходе курсового проектирования создана база данных для предметной области "Система учета технического обслуживания станков".

Разработана структура базы данных, состоящей из 6 таблиц. Разработано 3 триггера, 3 представления.

Изучены основы языка программирования TRANSACT SQL.

Список использованных источников


1.      Грофф Дж., Вайнберг П. SQL: Полное руководство. / 2-е изд. - К., 2001.

2.      Казакова И.А. Основы языка Transact SQL, учебное пособие. - Издательство ПГУ, г. Пенза, 2010 г.

Приложения


Программа создания базы данных


.        Запрос создания базы данных "Система учета технического обслуживания станков":

CREATE DATABASE repair_of_machines;

2.      Запрос создания отношения Станки:

create table machines

(INT NOT NULL CHECK (CodeSt BETWEEN 0 AND 9999) PRIMARY KEY,(40) NOT NULL,DATETIME NOT NULL,VARCHAR (11) NOT NULL,

);

3.      Запрос создания отношения Виды ремонта:

create table repairs

(INT NOT NULL CHECK (CodeVR BETWEEN 0 AND 500) PRIMARY KEY,(20) NOT NULL,(5) NOT NULL,(1000),

);

4.      Запрос создания отношения Должность:

create table post

(INT NOT NULL CHECK (CodeDol BETWEEN 0 AND 500) PRIMARY KEY,VARCHAR (30) NOT NULL,(7) NOT NULL,

);

5.      Запрос создания отношения Работник:

create table employee

(INT NOT NULL CHECK (CodeRa BETWEEN 0 AND 9999) PRIMARY KEY,VARCHAR (30) NOT NULL,INT NOT NULLa_CodeDolFOREIGN KEY REFERENCES post (CodeDol),

);

6.      Запрос создания отношения Ремонт:

create table repair

(NULL(CodeRe BETWEEN 1 AND 500) PRIMARY KEY,INT NOT NULLCodeStFOREIGN KEY REFERENCES machines (CodeSt),INT NOT NULLCodeRaFOREIGN KEY REFERENCES employee (CodeRa),DATETIME NOT NULL,DATETIME NOT NULL,INT NOT NULLCodeVRFOREIGN KEY REFERENCES repairs (CodeVR),VARCHAR (1000),

);

Приложение Б

Диаграмма базы данных

Рисунок 13. Диаграмма базы данных

Приложение В

Текст программы ввода текстовых данных

Отношение Работник:

insert into employee values (1, 'Петров Василий Николаевич', 1);into employee values (2, 'Сидорова Елена Петровна',

);into employee values (3, 'Мазурков Роман Олегович',

);into employee values (4, 'Онегина Василиса Сергеевна',

);into employee values (5, 'Прокин Александр Иванович',

)into employee values (6, 'Копьева Ольга Сергеевна',

);into employee values (7, 'Грланова Кристина Сергеевна',

);into employee values (8, 'Каширов Александр Олегович',

);into employee values (9, 'Красов Игорь Сергеевич',

);

Отношение Станки:into machines values (1, '1-й цех', '2011-08-10', 'Янтарь');into machines values (2, '2-й цех', '2011-08-11', 'Ячмень');into machines values (3, '3-й цех', '2011-08-12', 'Клинцы');into machines values (4, '4-й цех', '2011-08-13', 'Магр');into machines values (5, '5-й цех', '2011-08-14', 'Авангард');into machines values (6, '6-й цех', '2011-08-15', 'Кедр');into machines values (7, '7-й цех', '2011-08-16', 'Атлант');into machines values (8, '8-й цех', '2011-08-17', 'Полюс');into machines values (9, '9-й цех', '2011-08-18', 'Скиф');

Отношение Должность:

insert into post values (1, 'Главный ремонтник', '10000');

insert into post values (2, 'Охранник', '15000');into post values (3, 'Инженер', '12000');into post values (4, 'Главный инженер', '20000');into post values (5, 'Ремонтник', '7000');into post values (6, 'Бригадир', '11000');into post values (7, 'Бухгалтер', '5000');into post values (8, 'Рабочий', '6000');into post values (9, 'Финансовый директор', '30000');

Отношение Ремонт:into repair values (1, 1, 1, '2011-08-10', '2011-08-11', 1, ' ');into repair values (2, 2, 2, '2011-08-11', '2011-08-12', 2, ' ');into repair values (3, 3, 3, '2011-08-12', '2011-08-13', 3, ' ');into repair values (4, 4, 4, '2011-08-13', '2011-08-14', 4, ' ');into repair values (5, 5, 5, '2011-08-14', '2011-08-15', 5, ' ');into repair values (6, 6, 6, '2011-08-15', '2011-08-16', 6, ' ');into repair values (7, 7, 7, '2011-08-16', '2011-08-17', 7, ' ');into repair values (8, 8, 8, '2011-08-17', '2011-08-18', 8, ' ');into repair values (9, 9, 9, '2011-08-18', '2011-08-19', 9, ' ');

Отношение Виды ремонта:into repairs values (1, '10 дней', '100', ' ');into repairs values (2, '12 дней', '120', ' ');into repairs values (3, '20 дней', '200', ' ');into repairs values (4, '13 дней', '130', ' ');into repairs values (5, '14 дней', '140', ' ');into repairs values (6, '15 дней', '150', ' ');into repairs values (7, '16 дней', '160', ' ');into repairs values (8, '18 дней', '180', ' ');into repairs values (9, '17 дней', '170', ' ');

Приложение Г

Реализация запросов на языке SQL

Простые запросы:

1.      Найти все названия видов ремонта

SELECT CodeVR AS Код_вида_ремонтаrepairs

Рисунок 14.

2.      По продолжительности работы, определить стоимость

SELECT Stoim AS Стоимость, Prod AS ПродолжительностьrepairsProd = '12 дней';

Рисунок 15.

3.      Показать все станки марки "Янтарь’

SELECT Marca AS Марка, CodeSt AS Код_станкаmachinesMarca = 'Янтарь';

Рисунок 16.

Сложные запросы:

.        По названию станка определить стоимость его вида ремонта

SELECT Marca AS Название_станка, Stoim AS Стоимость, CodeVR AS Код_вида_ремонтаrepairs, machinesMarca = 'Клинцы';

Рисунок 17.

.        Узнать марку станка по названию вида ремонта

SELECT CodeVR AS Код_вида_ремонта, Marca AS Марка_станкаrepairs, machinesCodeVR = 9;

Рисунок 18.

.        Найти всех работников, имеющих оклад 20000 рублей

SELECT Oklad AS Оклад, FIORa AS ФИОpost, employeeOklad = '20000';

Рисунок 19.

.        Определить все ФИО работников, находящихся в 1 цеху

SELECT Mesto AS Место, FIORa AS ФИОmachines, employeeMesto = '1-й цех';

Рисунок 20.

.        Показать ФИО работника, который выполнял ремонт сроком 20 дней

SELECT FIORa AS ФИО, Prod AS Время_ремонтаemployee, repairsProd = '20 дней';

Рисунок 21.

.        Найти должность работников, выполняющих ремонт, стоимостью 150

SELECT NameDol AS Название_должности, Stoim AS Стоимость_ремонтаpost, repairsStoim = '150'NameDol <> 'Бухгалтер'NameDol <> 'Финансовый директор'NameDol <> 'Охранник';

Рисунок 22.

.        Найти все марки станков, которые обслуживал Прокин Александр Иванович

SELECT Marca AS Марка_станка, FIORa AS ФИОemployee, machinesFIORa = 'Прокин Александр Иванович';

Рисунок 23.

Похожие работы на - Разработка базы данных и серверной части информационной системы учета технического обслуживания станков средствами СУБД Microsoft SQL Server

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!