Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект (2).doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.32 Mб
Скачать

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

Заключение

Цель данного курсового проекта заключалась в проектировании и разработки базы данных для информационной системы «Государственная регистрация автомобилей».

В ходе работы над курсовым проектом было сделано следующее:

  1. Спроектирована концептуальная модель, соответствующая спецификациям требований;

  2. Создана ER-модель предметной области на основе концептуальной модели;

  3. Спроектирована логическая модель, соответствующая спецификациям требований;

  4. Построена реляционная модель базы данных на основе логической модели;

  5. Спроектирована и реализована база данных в MS SQL Server на физическом уровне, соответствующая спецификациям требований;

В результате была разработана база данных для информационной системы «Государственная регистрация автомобилей» с полным функционированием.