Реализация базы данных и серверной части информационной системы "ГАИ" средствами СУБД Microsoft SQL Server
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ли нескольких таблиц выполняются с помощью предложения SELECT. В общем случае результатом реализации предложения SELECT является другая таблица.
В курсовой работе разработаны следующие запросы:
1.Показать коды всех белых автомобилей
.Показать все немецкие марки автомобилей
3.Показать всех водителей с фамилией Гришин (GRISHIN)
4.Показать информацию по белым автомобилям, владельцами которых являются водители категории В
5.Показать все угнанные автомобили, выпущенные после 10.10.1991
6.Показать все угнанные после 01.01.2003 автомобили
.Показать все угнанные после 01.01.2003 белые автомобили
.Показать все угнанные у водителей категории В после 01.01.2003 автомобили
.Показать всех водителей AUDI
.Показать всех водителей белых AUDI
Подробный текст запросов и результаты их выполнения приведены в приложении Г.
1.9 Представления
В данной работе были разработаны следующие представления, основанные на нескольких таблицах:
. Создаем представление, включающее в себя ФИО водителя, марку его автомобиля и его цвет.
CREATE VIEW VIEW1 ("BODuTEJIb", "MAPKA", "LI,BET")SELECT DRIVERS.DRIVER_FIO, AM_MARK.MARK_NAME, AM.AM_COLORDRIVERS, AM_MARK, AMAM.AM_DRIVER_CODE=DRIVERS.DRIVER_CODE AND AM.AM_MARK_CODE=AM_MARK.MARK_CODE
Рис. 7
. Создадим агрегирующие представление, включающее в себя дату выпуска, цвет и номер автомобиля.
CREATE VIEW VIEW2 ("DATA BbIIIYCKA", "LI,BET", "HOMEP")SELECT MAX(AM.AM_BIRTHDATE), AM.AM_COLOR, AM.AM_REG_NUMBERAMBY AM.AM_BIRTHDATE,AM.AM_COLOR, AM.AM_REG_NUMBER
Рис. 8
. Создадим представление, которое можно использовать для быстрого анализа владельца и его автомобиля.
CREATE VIEW VIEW3 ("BODuTEJIb", "IIACIIOPT", "ADPEC", "HOMEP", "LI,BET", "MAPKA")SELECT DRIVERS.DRIVER_FIO, DRIVERS.DRIVER_PASSPORT, DRIVERS.DRIVER_ADRESS,AM.AM_REG_NUMBER, AM.AM_COLOR, AM_MARK.MARK_NAMEDRIVERS, AM, AM_MARKAM.AM_DRIVER_CODE=DRIVERS.DRIVER_CODE AND AM.AM_MARK_CODE=AM_MARK.MARK_CODE
Рис. 9
Заключение
В ходе курсового проектирования разработана и реализована база данных и серверная части информационной системы ГАИ.
Разработана структура базы данных, состоящая из 6 таблиц.
Разработаны ограничения целостности для сохранения логической непротиворечивости данных в системе.
Разработаны наиболее часто употребляемые в данной предметной области запросы.
Разработаны и отлажены хранимые процедуры, упрощающие работу с БД.
Разработаны и отлажены триггеры, осуществляющие проверку сложных логических условий и синхронизацию таблиц между собой при их изменении.
Разработаны представления, повышающие комфорт и безопасность работы с системой.
Таким образом, были успешно реализованы все особенности предметной области и требования, выработанные на этапе проектирования.
Список использованных источников
1.М. Грабер ПониманиеSQL.
2.И. Казакова. Основы языка TransactSQL - ПГУ, 2010г.
.Электронный справочник по Transact SQL
Приложение А
ПРОГРАММА СОЗДАНИЯ БАЗЫ ДАННЫХ
CREATE DATABASE GAI
-ON PRIMARY
-(NAME = GAI, FILENAME = C:\GAI.MDF, SIZE = 100MB, MAXSIZE = 150, FILEGROWTH = 20)
-LOG ON
-(NAME = GAI_LOG, FILENAME = C:\GAI.LDF, SIZE = 100MB, MAXSIZE = 150, FILEGROWTH = 20)
-USE GAITABLE FIRM
(_CODE INT PRIMARY KEY CHECK (FIRM_CODE 0000),_NAME CHAR(30) NOT NULL,
)TABLE COUNTRY
(_CODE INT PRIMARY KEY CHECK (COUNTRY_CODE 0000),_NAME CHAR(30) NOT NULL,
)TABLE AM_MARK
(_CODE INT PRIMARY KEY CHECK ( MARK_CODE > 0000 AND MARK_CODE 0000 AND COUNTRY_CODE < 9999),KEY (FIRM_CODE) REFERENCES FIRM (FIRM_CODE),KEY (COUNTRY_CODE) REFERENCES COUNTRY (COUNTRY_CODE),
)TABLE DRIVERS
(_CODE INT PRIMARY KEY CHECK (DRIVER_CODE > 0000 AND DRIVER_CODE < 9999),_FIO CHAR (30) NOT NULL,_BIRTHDATE DATE NOT NULL,_ADRESS CHAR (30) NOT NULL,_PASSPORT INT NOT NULL,_RULES CHAR (12) NOT NULL,_RULES_DATE DATE NOT NULL,_CATEGORY CHAR (1) NOT NULL,
)TABLE AM
(_CODE INT PRIMARY KEY CHECK (AM_CODE 0000),_DRIVER_CODE INT NOT NULL,_MARK_CODE INT NOT NULL,KEY (AM_DRIVER_CODE) REFERENCES DRIVERS (DRIVER_CODE),KEY (AM_MARK_CODE) REFERENCES AM_MARK (MARK_CODE),_REG_NUMBER CHAR (8) NOT NULL,_BODY_NUMBER INT NOT NULL,_ENGINE_NUMBER INT NOT NULL,_TECHPASSPORT_NUMBER INT NOT NULL,_BIRTHDATE DATE NOT NULL,_REGISTRATION_DATE DATE NOT NULL,_COLOR CHAR (7) NOT NULL,
)TABLE JACKED_CARS
(_CODE INT PRIMARY KEY CHECK (JC_CODE > 0 AND JC_CODE < 9999),_JACKDATE DATE NOT NULL,_REPORT_DATE DATE NOT NULL,_AM_CODE INT NOT NULL,KEY (JC_AM_CODE) REFERENCES AM (AM_CODE),_DRIVER_CODE INT NOT NULL,KEY (JC_DRIVER_CODE) REFERENCES DRIVERS (DRIVER_CODE),_ADDITIONAL CHAR (100),_FOUND BIT,_FOUND_DATE DATE,
)
Приложение Б
ДИАГРАММА БАЗЫ ДАННЫХ
Рис.10.Диаграмма БД
Приложение В
ПРОГРАММА ВВОДА ТЕСТОВЫХ ДАННЫХ
INSERT INTO AM_MARK VALUES (1, LADA, 1, 1);
INSERT INTO AM_MARK VALUES (2, VW, 2, 2);INTO AM_MARK VALUES (3, AUDI, 3, 3);INTO AM_MARK VALUES (4, NISSAN, 4, 4);INTO AM_MARK VALUES (5, HONDA, 5, 5);INTO COUNTRY VALUES (1, RUSSIA);INTO COUNTRY VALUES (2, GERMANY);INTO COUNTRY VALUES (3, JAPAN);INTO COUNTRY VALUES (4, FRANCE);INTO COUNTRY VALUES (5, UK);INTO FIRM VALUES (1, LADA);INTO FIRM VALUES (2, VW);INTO FIRM VALUES (3, AUDI);INTO FIRM VALUES (4, NISSAN);INTO FIRM VALUES (5, HONDA);INTO DRIVERS VALUES (1, IGNATOVA POLINA OLEGOVNA, 01.01.1992, AVTONOMNAYA 1-2, 1234567890, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (2, BORMOTOVA VIKTORIYA PAVLOVNA, 02.02.1991, AKSAKOVA 2-3, 1234567891, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (3, MISKO KSENIA ANATOLIEVNA, 03.03.1990, AKTIVNAYA 3-4, 1234567892, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (4, SERIKOVA ULIYA DMITRIEVNA, 04.04.1989, ANTONOVA 4-5, 1234567893, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (5, ASHAKINA GALINA SERGEEVNA, 05.05.1988, AUSTRINA 5-6, 1234567894, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (6, BONDAREVA TATYANA MIHAILOVNA, 06.06.1987, BAIDUKOVA 6-7, 1234567895, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (7, GRISHIN DMITRY ANDREEVICH, 07.07.1986, BAKUNINA 7-8, 1234567896, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (8, MARCHENDO ELENA ANDREEVNA, 08.08.1985, BATAISKAYA 8-9, 1234567897, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (9, MILKOVSKY EVGENY DENISOVICH, 09.09.1984, BELINSKOGO 9-10, 1234567898, 123AP1234567, 01.01.2010, B);INTO DRIVERS VALUES (10, KUZNETSOV DENIS SERGEEVICH