Помощь в написании студенческих работ
Антистрессовый сервис

Реализация базы данных и серверной части информационной системы «ГАИ» средствами СУБД Microsoft SQL Server

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

В отношении DRIVERS порядковые номера водителей могут начинаться с 1 и не должны превышать число 9999, водитель не может не иметь ФИО, даты рождения, адреса проживания, паспорта (соответственно, его номера), водительского удостоверения (соответственно, его номера, даты выдачи и категории). В отношении JACKED_CARS порядковые номера угнанных автомобилей могут начинаться с 1 и не должны превышать… Читать ещё >

Реализация базы данных и серверной части информационной системы «ГАИ» средствами СУБД Microsoft SQL Server (реферат, курсовая, диплом, контрольная)

1. Реализация базы данных и серверной части информационной системы «ГАИ» средствами СУБД Microsoft SQL Server

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

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

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

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

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

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

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

1.8 Запросы

1.9 Представления Заключение Список использованных источников Приложение, А ПРОГРАММА СОЗДАНИЯ БАЗЫ ДАННЫХ Приложение Б ДИАГРАММА БАЗЫ ДАННЫХ Приложение В ПРОГРАММА ВВОДА ТЕСТОВЫХ ДАННЫХ Приложение Г РЕАЛИЗАЦИЯ ЗАПРОСОВ НА ЯЗЫКЕ SQL

Работа с информацией в наши дни один из краеугольных камней практически в любой области деятельности человека. Зачастую требуется провести сбор, хранение, изменение, выборку информации по различным критериям. Системы управления базами данных (СУБД) является очень удобным механизмом для систематизации всех процессов, связанных с обработкой информации.

База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей Реляционные базы данных — базы данных, основанные на прикладной логической модели данных, описывающей структурный аспект, аспект целостности и аспект обработки данных.

Система управления базами данных — это комплекс программных и языковых средств, необходимых для создания, обработки баз данных и поддержания их в актуальном состоянии.

Задачей курсовой работы является разработка и реализация базы данных и серверной части информационной системы оптовый склад средствами СУБД Microsoft SQL Server 2008. Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL — является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL)с расширениями.

1. Реализация базы данных и серверной части информационной системы «ГАИ» средствами СУБД Microsoft SQL Server

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

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

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

1) Каждый автомобиль имеет свой уникальный номер;

2) Каждый автомобиль должен иметь дату регистрации;

3) На каждого водителя создается запись с его данными;

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

1) Автомобили — это связь между водителями и кодами марки.

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

2) Угнанные автомобили. Атрибуты: код заявки, дата угона, дата подачи заявления, код автомобиля, код владельца, обстоятельства угона, отметка о нахождении, дата нахождения.

3) Владельцы. Атрибуты: код владельца, ФИО, дата рождения, адрес, номер паспорта, номер прав, дата выдачи прав, категория.

4) Марки. Атрибуты: код марки, название, код фирмы, код страны.

5) Фирмы. Атрибуты: код фирмы, название.

6) Страны. Атрибуты: код страны, название.

1.2 Анализ информационных задач и круга пользователей системы Система создаётся для обслуживания следующих групп пользователей:

1) Сотрудники ГАИ.

2) Владельцы автомобилей.

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

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

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

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

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

база данное пользователь информационный

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

1. Текстовые поля могут содержать только символы русского алфавита, цифры и знаки препинания.

2. В отношении FIRM порядковые номера фирм могут начинаться с 1 и не должны превышать число 9999, фирма не может не иметь названия.

3. В отношении COUNTRY порядковые номера стран могут начинаться с 1 и не должны превышать число 9999, страна не может не иметь названия.

4. В отношении AM_MARK порядковые номера марок автомобилей могут начинаться с 1 и не должны превышать число 9999, марка автомобиля не может не иметь названия.

5. В отношении DRIVERS порядковые номера водителей могут начинаться с 1 и не должны превышать число 9999, водитель не может не иметь ФИО, даты рождения, адреса проживания, паспорта (соответственно, его номера), водительского удостоверения (соответственно, его номера, даты выдачи и категории).

6. В отношении AM порядковые номера автомобилей могут начинаться с 1 и не должны превышать число 9999, поставленный на учет автомобиль не может не иметь владельца (его кода), марки (ее кода), государственного регистрационного номера, номера кузова, номера двигателя, техпаспорта (его номера), даты выпуска, даты регистрации и цвета.

7. В отношении JACKED_CARS порядковые номера угнанных автомобилей могут начинаться с 1 и не должны превышать число 9999, угнанный автомобиль не может быть незарегистрированным, ввиду чего все требования для отношения зарегистрированных автомобилей справедливы для данного отношения.

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

Рис. 1. Структура БД Таблица 1. Автомобили

Имя

столбца

Содержательное

описание

Тип данных

Раз-мер;

ность

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

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

Роль

Пример

AM_CODE

Код автомобиля

Целый

0001−9999

Нет

PK

AM_DRIVER_CODE

Код водителя

Целый

0001−9999

Нет

FK

AM_MARK_CODE

Код марки

Целый

0001−9999

Нет

FK

AM_REG_NUMBER

Госномер

Символьный

«А-Я», «0−9»

Нет

А001АА01

AM_BODY_NUMBER

Номер кузова

Целый

1−999 999 999

Нет

AM_ENGINE_NUMBER

Номер двигателя

Целый

1−999 999 999

Нет

AM_TECHPASSPORT_NUMBER

Номер техпаспорта

Целый

1−999 999 999

Нет

AM_BIRTHDATE

Дата выпуска

Дата

Нет

01.01.2000

AM_REGISTRATION_DATE

Дата регистрации

Дата

Нет

01.01.2000

AM_COLOR

цвет

Символьный

«А-Я», «0−9»

Нет

Белый

Таблица 2. Автомобили в угоне

Имя

столбца

Содержательное

описание

Тип данных

Раз-мер;

ность

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

Возможность

значения

Null

Роль

Пример

JC_CODE

Код угона

Целый

0001−9999

Нет

PK

JC_JACKDATE

Дата угона

Целый

Нет

01.01.2000

JC_REPORT_DATE

Дата подачи заявки

Дата

Нет

01.01.2000

JC_AM_CODE

Код угнанного а/м

Целый

0001−9999

Нет

FK

JC_DRIVER_CODE

Код владельца

Целый

0001−9999

Нет

FK

JC_ADDITIONAL

Доп. Сведения

Символьный

«А-Я», «0−9»

Да

Ночью

JC_FOUND

Отметка о нахождении

Логический

0−1

Да

JC_FOUND_DATE

Дата нахождения

Дата

Да

01.01.2000

Таблица 3. Водители (владельцы а/м)

Имя

столбца

Содержательное

описание

Тип Данных

Раз-мер;

ность

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

Возможность

значения

Null

Роль

Пример

DRIVER_CODE

Код водителя

Целый

0001−9999

Нет

PK

DRIVER_FIO

ФИО

Символьный

«А-Я», «0−9»

Нет

Банников Денис Павлович

DRIVER_BIRTHDATE

Дата рождения

Дата

Нет

06.11.1991

DRIVER_ADRESS

Адрес

Символьный

«А-Я», «0−9»

Нет

Отцовский пер. 1−1

DRIVER_PASSPORT

Номер паспорта

Целый

1 111 111 111−9 999 999 999

Нет

DRIVER_RULES

Номер вод. удостовер.

Символьный

Нет

123А4569Р1

DRIVER_RULES_DATE

Дата выдачи прав

Дата

Нет

06.11.2009

DRIVER_CATEGORY

Категория прав

Символьный

«А-Я»

Нет

В

Таблица 4. Марки автомобилей

Имя

столбца

Содержательное

описание

Тип Данных

Раз-мер;

ность

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

Возможность

значения

Null

Роль

Пример

MARK_CODE

Код марки

Целый

0001−9999

Нет

PK

MARK_NAME

Название марки

Символьный

«А-Я»

Нет

Лада

FIRM_CODE

Код фирмы

Целый

0001−9999

Нет

FK

COUNTRY_CODE

Код страны

Целый

0001−9999

Нет

FK

Таблица 5. Фирмы

Имя

столбца

Содержательное

описание

Тип Данных

Раз-мер;

ность

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

Возможность

значения

Null

Роль

Пример

FIRM_CODE

Код фирмы

Целый

0001−9999

Нет

PK

FIRM_NAME

Название фирмы

Символьный

«А-Я»

Нет

Audi

Таблица 6. Страны

Имя

столбца

Содержательное

описание

Тип Данных

Раз-мер;

ность

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

Возможность

значения

Null

Роль

Пример

COUNTRY_CODE

Код страны

Целый

0001−9999

Нет

PK

COUNTRY_NAME

Название страны

Символьный

«А-Я»

Нет

Россия

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

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

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

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

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

1.6 Разработка хранимых процедур для поддержки сложных ограничений целостности в базе данных Для облегчения работы с БД и реализации сложных ограничений были разработаны следующие процедуры:

1.Процедура просмотра кодов белых автомобилей.

Данная процедура выводит коды всех белых автомобилей.

CREATE PROC PROC1

AS

SELECT AM. AM_CODE AS «KOD»

FROM AM

WHERE AM. AM_COLOR='WHITE'

Выполнение и результат:

Имеем:

SELECT * FROM AM

Рис. 2

EXEC PROC1

Получим:

Рис. 3

2. Процедура поиска автомобиля по номеру Данная процедура выводит цвет и дату выпуска автомобиля с указанным номером

CREATE PROC PROC2

@NOMER char (40)

AS

SELECT AM. AM_REG_NUMBER AS «HOMEP», AM. AM_BIRTHDATE AS 'DATA BbIIIYSKA', AM. AM_COLOR AS 'LI, BET'

FROM AM

WHERE AM. AM_REG_NUMBER=@NOMER

Выполнение и результат:

EXEC PROC2 'A001AA01'

Получим:

Рис. 4

3.Процедура удаления строки автомобиля по коду.

Данная процедура удаляет автомобиль по его коду.

CREATE PROC PROC3

@CODE_AM INT

AS

DELETE AM

WHERE AM. AM_CODE=@CODE_AM

Выполнение и результат:

Рис. 5

EXEC PROC3 7;

SELECT * FROM AM;

Получим:

Рис. 6

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

Для поддержания логической целостности базы данных и реализации сложных ограничений был разработан следующие триггеры:

1)Данный триггер производит удаление всех связей из таблиц автомобилей и угнанных автомобилей при удалении владельца.

Событие: в базе данных производится удаление строки владельца.

Предусмотренные действия: строка будет удалена из таблицы владельцев, будут удалены соответствующие строки из таблиц угона и автомобилей.

CREATE TRIGGER TRIGGERINSERT

ON DRIVERS FOR DELETE

AS

SELECT @id = DRIVER_CODE FROM DELETED

DELETE FROM JACKED_CARS WHERE JC_DRIVER_CODE = @id

DELETE FROM AM WHERE AM_DRIVER_CODE = @id

PRINT 'DRIVER AND DATA DELETED'

2)Данный триггер не позволяет внести в таблицу владельцев повторяющуюся запись.

Событие: в базу данных добавляется запись о водителе с ФИО, которые уже имеются в таблице БД.

Предусмотренные действия: SQL выдаёт сообщение, что такая запись уже есть.

CREATE TRIGGER TRIGGERINSERT

ON DRIVERS FOR INSERT

AS

DECLARE @FIO CHAR (33), @FIO1 CHAR (33)

SELECT @FIO=DRIVER_FIO FROM INSERTED

SELECT @FIO1=DRIVER_FIO FROM DRIVERS WHERE DRIVER_FIO=@FIO

IF @FIO=@FIO1

BEGIN

ROLLBACK TRANSACTION

PRINT 'THIS DRIVER ALREADY EXISTS'

END

ELSE

PRINT 'DRIVER ADDED'

1.8 Запросы

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

В курсовой работе разработаны следующие запросы:

1. Показать коды всех белых автомобилей

2. Показать все немецкие марки автомобилей

3. Показать всех водителей с фамилией Гришин (GRISHIN)

4. Показать информацию по белым автомобилям, владельцами которых являются водители категории В

5. Показать все угнанные автомобили, выпущенные после 10.10.1991

6. Показать все угнанные после 01.01.2003 автомобили

7. Показать все угнанные после 01.01.2003 белые автомобили

8. Показать все угнанные у водителей категории В после 01.01.2003 автомобили

9. Показать всех водителей AUDI

10. Показать всех водителей белых AUDI

Подробный текст запросов и результаты их выполнения приведены в приложении Г.

1.9 Представления В данной работе были разработаны следующие представления, основанные на нескольких таблицах:

1. Создаем представление, включающее в себя ФИО водителя, марку его автомобиля и его цвет.

CREATE VIEW VIEW1 («BODuTEJIb», «MAPKA», «LI, BET»)

AS SELECT DRIVERS. DRIVER_FIO, AM_MARK.MARK_NAME, AM. AM_COLOR

FROM DRIVERS, AM_MARK, AM

WHERE AM. AM_DRIVER_CODE=DRIVERS.DRIVER_CODE AND AM. AM_MARK_CODE=AM_MARK.MARK_CODE

Рис. 7

2. Создадим агрегирующие представление, включающее в себя дату выпуска, цвет и номер автомобиля.

CREATE VIEW VIEW2 («DATA BbIIIYCKA», «LI, BET», «HOMEP»)

AS SELECT MAX (AM.AM_BIRTHDATE), AM. AM_COLOR, AM. AM_REG_NUMBER

FROM AM

GROUP BY AM. AM_BIRTHDATE, AM. AM_COLOR, AM. AM_REG_NUMBER

Рис. 8

3. Создадим представление, которое можно использовать для быстрого анализа владельца и его автомобиля.

CREATE VIEW VIEW3 («BODuTEJIb», «IIACIIOPT», «ADPEC», «HOMEP», «LI, BET», «MAPKA»)

AS SELECT DRIVERS. DRIVER_FIO, DRIVERS. DRIVER_PASSPORT, DRIVERS. DRIVER_ADRESS, AM. AM_REG_NUMBER, AM. AM_COLOR, AM_MARK.MARK_NAME

FROM DRIVERS, AM, AM_MARK

WHERE AM. AM_DRIVER_CODE=DRIVERS.DRIVER_CODE AND AM. AM_MARK_CODE=AM_MARK.MARK_CODE

Рис. 9

Заключение

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

Разработана структура базы данных, состоящая из 6 таблиц.

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

Разработаны наиболее часто употребляемые в данной предметной области запросы.

Разработаны и отлажены хранимые процедуры, упрощающие работу с БД.

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

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

Таким образом, были успешно реализованы все особенности предметной области и требования, выработанные на этапе проектирования.

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

1. М. Грабер «ПониманиеSQL».

2. И. Казакова. «Основы языка TransactSQL» — ПГУ, 2010 г.

3. Электронный справочник по Transact SQL

http://www.sql.ru/docs/mssql/tsql_ref/

Приложение, А ПРОГРАММА СОЗДАНИЯ БАЗЫ ДАННЫХ

CREATE DATABASE GAI

GO

—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 GAI

CREATE TABLE FIRM

(

FIRM_CODE INT PRIMARY KEY CHECK (FIRM_CODE < 9999 AND FIRM_CODE > 0000),

FIRM_NAME CHAR (30) NOT NULL,

)

CREATE TABLE COUNTRY

(

COUNTRY_CODE INT PRIMARY KEY CHECK (COUNTRY_CODE < 9999 AND COUNTRY_CODE > 0000),

COUNTRY_NAME CHAR (30) NOT NULL,

)

CREATE TABLE AM_MARK

(

MARK_CODE INT PRIMARY KEY CHECK (MARK_CODE > 0000 AND MARK_CODE < 9999),

MARK_NAME CHAR (30) NOT NULL,

FIRM_CODE INT NOT NULL CHECK (FIRM_CODE < 9999 AND FIRM_CODE > 0000),

COUNTRY_CODE INT NOT NULL CHECK (COUNTRY_CODE > 0000 AND COUNTRY_CODE < 9999),

FOREIGN KEY (FIRM_CODE) REFERENCES FIRM (FIRM_CODE),

FOREIGN KEY (COUNTRY_CODE) REFERENCES COUNTRY (COUNTRY_CODE),

)

CREATE TABLE DRIVERS

(

DRIVER_CODE INT PRIMARY KEY CHECK (DRIVER_CODE > 0000 AND DRIVER_CODE < 9999),

DRIVER_FIO CHAR (30) NOT NULL,

DRIVER_BIRTHDATE DATE NOT NULL,

DRIVER_ADRESS CHAR (30) NOT NULL,

DRIVER_PASSPORT INT NOT NULL,

DRIVER_RULES CHAR (12) NOT NULL,

DRIVER_RULES_DATE DATE NOT NULL,

DRIVER_CATEGORY CHAR (1) NOT NULL,

)

CREATE TABLE AM

(

AM_CODE INT PRIMARY KEY CHECK (AM_CODE < 9999 AND AM_CODE > 0000),

AM_DRIVER_CODE INT NOT NULL,

AM_MARK_CODE INT NOT NULL,

FOREIGN KEY (AM_DRIVER_CODE) REFERENCES DRIVERS (DRIVER_CODE),

FOREIGN KEY (AM_MARK_CODE) REFERENCES AM_MARK (MARK_CODE),

AM_REG_NUMBER CHAR (8) NOT NULL,

AM_BODY_NUMBER INT NOT NULL,

AM_ENGINE_NUMBER INT NOT NULL,

AM_TECHPASSPORT_NUMBER INT NOT NULL,

AM_BIRTHDATE DATE NOT NULL,

AM_REGISTRATION_DATE DATE NOT NULL,

AM_COLOR CHAR (7) NOT NULL,

)

CREATE TABLE JACKED_CARS

(

JC_CODE INT PRIMARY KEY CHECK (JC_CODE > 0 AND JC_CODE < 9999),

JC_JACKDATE DATE NOT NULL,

JC_REPORT_DATE DATE NOT NULL,

JC_AM_CODE INT NOT NULL,

FOREIGN KEY (JC_AM_CODE) REFERENCES AM (AM_CODE),

JC_DRIVER_CODE INT NOT NULL,

FOREIGN KEY (JC_DRIVER_CODE) REFERENCES DRIVERS (DRIVER_CODE),

JC_ADDITIONAL CHAR (100),

JC_FOUND BIT,

JC_FOUND_DATE DATE,

)

Приложение Б ДИАГРАММА БАЗЫ ДАННЫХ Рис. 10.Диаграмма БД

Приложение В ПРОГРАММА ВВОДА ТЕСТОВЫХ ДАННЫХ

INSERT INTO AM_MARK VALUES (1, 'LADA', 1, 1);

INSERT INTO AM_MARK VALUES (2, 'VW', 2, 2);

INSERT INTO AM_MARK VALUES (3, 'AUDI', 3, 3);

INSERT INTO AM_MARK VALUES (4, 'NISSAN', 4, 4);

INSERT INTO AM_MARK VALUES (5, 'HONDA', 5, 5);

INSERT INTO COUNTRY VALUES (1, 'RUSSIA');

INSERT INTO COUNTRY VALUES (2, 'GERMANY');

INSERT INTO COUNTRY VALUES (3, 'JAPAN');

INSERT INTO COUNTRY VALUES (4, 'FRANCE');

INSERT INTO COUNTRY VALUES (5, 'UK');

INSERT INTO FIRM VALUES (1, 'LADA');

INSERT INTO FIRM VALUES (2, 'VW');

INSERT INTO FIRM VALUES (3, 'AUDI');

INSERT INTO FIRM VALUES (4, 'NISSAN');

INSERT INTO FIRM VALUES (5, 'HONDA');

INSERT INTO DRIVERS VALUES (1, 'IGNATOVA POLINA OLEGOVNA', '01.01.1992', 'AVTONOMNAYA 1−2', 1 234 567 890, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (2, 'BORMOTOVA VIKTORIYA PAVLOVNA', '02.02.1991', 'AKSAKOVA 2−3', 1 234 567 891, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (3, 'MISKO KSENIA ANATOLIEVNA', '03.03.1990', 'AKTIVNAYA 3−4', 1 234 567 892, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (4, 'SERIKOVA ULIYA DMITRIEVNA', '04.04.1989', 'ANTONOVA 4−5', 1 234 567 893, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (5, 'ASHAKINA GALINA SERGEEVNA', '05.05.1988', 'AUSTRINA 5−6', 1 234 567 894, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (6, 'BONDAREVA TATYANA MIHAILOVNA', '06.06.1987', 'BAIDUKOVA 6−7', 1 234 567 895, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (7, 'GRISHIN DMITRY ANDREEVICH', '07.07.1986', 'BAKUNINA 7−8', 1 234 567 896, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (8, 'MARCHENDO ELENA ANDREEVNA', '08.08.1985', 'BATAISKAYA 8−9', 1 234 567 897, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (9, 'MILKOVSKY EVGENY DENISOVICH', '09.09.1984', 'BELINSKOGO 9−10', 1 234 567 898, '123AP1234567', '01.01.2010', 'B');

INSERT INTO DRIVERS VALUES (10, 'KUZNETSOV DENIS SERGEEVICH', '10.10.1983', 'BAUMANA 10−11', 1 234 567 899, '123AP1234567', '01.01.2010', 'B');

INSERT INTO JACKED_CARS VALUES (1, '01.01.2001', '02.01.2001', 1, 1, 'V NOCH NA 29E', 0, NULL);

INSERT INTO JACKED_CARS VALUES (2, '02.02.2002', '03.02.2002', 2, 2, 'SO STOYANKI', 0, NULL);

INSERT INTO JACKED_CARS VALUES (3, '03.03.2003', '04.03.2003', 3, 3, 'SIGNALIZACIYA NE SRABOTALA', 0, NULL);

INSERT INTO JACKED_CARS VALUES (4, '04.04.2004', '05.04.2004', 4, 4, 'UGNANA DVUMYA NEIZVESTNYMI', 0, NULL);

INSERT INTO JACKED_CARS VALUES (5, '05.05.2005', '06.05.2005', 5, 5, 'S POMOSCHYU EVAKUATORA', 0, NULL);

INSERT INTO AM VALUES (1, 1, 1, 'A001AA01', 123 456 789, 987 654 321, 789 456 321, '01.10.1990', '03.10.1990','WHITE');

INSERT INTO AM VALUES (2, 2, 1, 'A002AA01', 123 456 788, 987 654 322, 789 456 322, '02.09.1991', '04.09.1991','BLACK');

INSERT INTO AM VALUES (3, 3, 1, 'A003AA01', 123 456 787, 987 654 323, 789 456 323, '03.08.1992', '05.08.1992','WHITE');

INSERT INTO AM VALUES (4, 4, 2, 'A004AA01', 123 456 786, 987 654 324, 789 456 324, '04.07.1993', '06.07.1993','RED');

INSERT INTO AM VALUES (5, 5, 2, 'A005AA01', 123 456 785, 987 654 325, 789 456 325, '05.06.1994', '07.06.1994','GREEN');

INSERT INTO AM VALUES (6, 6, 2, 'A006AA01', 123 456 784, 987 654 326, 789 456 326, '06.05.1995', '08.05.1995','BLUE');

INSERT INTO AM VALUES (7, 7, 3, 'A007AA01', 123 456 783, 987 654 327, 789 456 327, '07.04.1996', '09.04.1996','GRAY');

INSERT INTO AM VALUES (8, 8, 3, 'A008AA01', 123 456 782, 987 654 328, 789 456 328, '08.03.1997', '10.03.1997','WHITE');

INSERT INTO AM VALUES (9, 9, 3, 'A009AA01', 123 456 781, 987 654 329, 789 456 329, '09.02.1998', '11.02.1998','BLUE');

INSERT INTO AM VALUES (10, 10, 4, 'A010AA01', 123 456 780, 987 654 320, 789 456 320, '10.01.1999', '12.01.1999','GRAY');

Приложение Г РЕАЛИЗАЦИЯ ЗАПРОСОВ НА ЯЗЫКЕ SQL

1. Показать коды всех белых автомобилей

SELECT AM. AM_CODE «KOD»

FROM AM

WHERE AM. AM_COLOR='WHITE'

Рис. 11

2. Показать все немецкие марки автомобилей

SELECT AM_MARK.MARK_NAME 'MAPKA'

FROM AM_MARK

WHERE AM_MARK.COUNTRY_CODE LIKE 2

Рис. 12

3. Показать всех водителей с фамилией Гришин (GRISHIN)

SELECT DRIVERS. DRIVER_FIO «FIO»

FROM DRIVERS

WHERE DRIVERS. DRIVER_FIO LIKE 'GRISHIN%'

Рис. 13

4. Показать информацию по белым автомобилям, владельцами которых являются водители категории В

SELECT S.*

FROM AM S, DRIVERS I

WHERE S. AM_DRIVER_CODE=I.DRIVER_CODE AND I. DRIVER_CATEGORY='B' AND S. AM_COLOR='WHITE'

Рис. 14

5. Показать все угнанные автомобили, выпущенные после 10.10.1991

SELECT S.*, I. AM_BIRTHDATE «BbIIIYCK»

FROM JACKED_CARS S, AM I

WHERE S. JC_CODE=I.AM_CODE AND I. AM_REGISTRATION_DATE>'10.10.1991'

Рис. 15

6. Показать все угнанные после 01.01.2003 автомобили

SELECT S.*

FROM JACKED_CARS S, AM I

WHERE S. JC_CODE=I.AM_CODE AND S. JC_JACKDATE>'01.01.2003'

Рис. 16

7. Показать все угнанные после 01.01.2003 белые автомобили

SELECT S.*

FROM JACKED_CARS S, AM I

WHERE S. JC_CODE=I.AM_CODE AND S. JC_JACKDATE>'01.01.2003' AND I. AM_COLOR='WHITE'

Рис. 17

8. Показать все угнанные у водителей категории В после 01.01.2003 автомобили

SELECT S.*

FROM JACKED_CARS S, AM I, DRIVERS O

WHERE S. JC_AM_CODE=I.AM_CODE AND S. JC_JACKDATE>'01.01.2003' AND I. AM_DRIVER_CODE=O.DRIVER_CODE AND O. DRIVER_CATEGORY='B'

Рис. 18

9. Показать всех водителей AUDI

SELECT D.*

FROM DRIVERS D, AM A

WHERE D. DRIVER_CODE=A.AM_DRIVER_CODE AND A. AM_MARK_CODE=3

Рис. 19

10. Показать всех водителей белых AUDI

SELECT D.*

FROM DRIVERS D, AM A

WHERE D. DRIVER_CODE=A.AM_DRIVER_CODE AND A. AM_MARK_CODE=3 AND A. AM_COLOR = 'WHITE'

Рис. 20

Показать весь текст
Заполнить форму текущей работой