
- •Содержание
- •Введение
- •Спецификация требования
- •Концептуальное проектирование. Создание er-модели предметной области
- •Логическое проектирование. Построение и проверка реляционной модели данных
- •3.1. Исключение из концептуальной модели особенностей несовместимых с реляционной моделью
- •3.2. Формирование отношений
- •3.3. Определение ограничения целостности
- •Физическое проектирование и реализация базы данных в ms sql Server
- •4.1. Определение состава и структуры таблиц
- •4.2. Реализация ограничений целостности
- •4.3. Проектирование и разработка пользовательских представлений
- •4.3.1. Представление «Транспортное средство»
- •4.3.2. Представление «Протокол»
- •Заключение
- •Список использованных источников
4.3.2. Представление «Протокол»
Для вывода информации по протоколу административного нарушения было разработано пользовательское представление View_Protocol:
CREATE VIEW [dbo].[View_Protocol]
AS
SELECT dbo.Protocol.IdProtocol, dbo.Sotrudnik.IdSotrudnik, dbo.Sotrudnik.Familiya, dbo.Sotrudnik.Imya, dbo.Sotrudnik.Otchestvo, dbo.Sotrudnik.Dolzhnost, dbo.Sotrudnik.Zvanie, dbo.Voditel.IdVU, dbo.Voditel.Familiya AS FamV, dbo.Voditel.Imya AS ImyaV, dbo.Voditel.Otchestvo AS OtchV, dbo.Voditel.Birthday, dbo.Voditel.City, dbo.Voditel.Seriya_VU, dbo.Voditel.N_VU, dbo.View_Transport.RegZnak, dbo.View_Transport.IdTS, dbo.View_Transport.NameMarka, dbo.View_Transport.NameModel, dbo.View_Transport.NameTipTS, dbo.View_Transport.GodVypuska, dbo.View_Transport.N_Dvigatelya, dbo.View_Transport.N_Kuzova, dbo.View_Transport.Cvet, dbo.View_Transport.Seriya_TS, dbo.View_Transport.N_TS, dbo.View_Transport.IdModel, dbo.View_Transport.IdMarka, dbo.View_Transport.IdTipTS, dbo.Protocol.DateTimeNar, dbo.Protocol.MestoNar, dbo.Protocol.OpisanieNar, dbo.StKoAP.IdStatya, dbo.StKoAP.Statya, dbo.ChastStKoAP.ChastSt, dbo.ChastStKoAP.IdChastSt, dbo.Protocol.DateVyd, dbo.Protocol.Oplacheno, dbo.ChastStKoAP.NameChast, dbo.StKoAP.NameStatya
FROM dbo.Sotrudnik INNER JOIN
dbo.Protocol ON dbo.Sotrudnik.IdSotrudnik = dbo.Protocol.IdSotrudnik INNER JOIN
dbo.Voditel ON dbo.Protocol.IdVU = dbo.Voditel.IdVU INNER JOIN
dbo.ChastStKoAP ON dbo.Protocol.IdChastSt = dbo.ChastStKoAP.IdChastSt INNER JOIN
dbo.StKoAP ON dbo.ChastStKoAP.IdStatya = dbo.StKoAP.IdStatya INNER JOIN
dbo.View_Transport ON dbo.Protocol.IdTS = dbo.View_Transport.IdTS
GO
Реализация хранимых процедур и функций:
Выводит список неоплаченных штрафов на определенного водителя:
CREATE PROCEDURE [dbo].[sp_Shtrafy]
@IdVU int
AS
BEGIN
SET NOCOUNT ON;
SELECT st.Razmer, vp.RegZnak, vp.OpisanieNar, vp.MestoNar, vp.DateTimeNar, vp.Statya, vp.NameStatya, vp.ChastSt, vp.NameChast
FROM Shtraf st INNER JOIN
View_Protocol vp ON st.IdChastSt = vp.IdChastSt INNER JOIN
(SELECT MAX([Date]) AS DateSt, IdChastSt
FROM Shtraf
GROUP BY IdChastSt) d ON (d.IdChastSt = st.IdChastSt) AND (d.DateSt = st.[Date])
WHERE (Oplacheno = 0) AND (IdVU = @IdVU)
GROUP BY vp.RegZnak, vp.OpisanieNar, vp.MestoNar, vp.DateTimeNar, vp.Statya, vp.NameStatya, vp.ChastSt, vp.NameChast, vp.IdChastSt, st.Razmer
END
GO
Вычисляет количество нарушений ПДД по определенной статье КоАП РФ:
ALTER FUNCTION [dbo].[f_CountNarusheniy]
(
@IdStatya int
)
RETURNS int
AS
BEGIN
DECLARE @Res int
SELECT @Res = COUNT(IdChastSt)
FROM View_Protocol
WHERE IdStatya = @IdStatya
RETURN @Res
END
Заключение
Цель данного курсового проекта заключалась в проектировании и разработки базы данных для информационной системы «Государственная регистрация автомобилей».
В ходе работы над курсовым проектом было сделано следующее:
Спроектирована концептуальная модель, соответствующая спецификациям требований;
Создана ER-модель предметной области на основе концептуальной модели;
Спроектирована логическая модель, соответствующая спецификациям требований;
Построена реляционная модель базы данных на основе логической модели;
Спроектирована и реализована база данных в MS SQL Server на физическом уровне, соответствующая спецификациям требований;
В результате была разработана база данных для информационной системы «Государственная регистрация автомобилей» с полным функционированием.