48668 (Разработка проекта управления базами данных для процесса "Учет ремонта и ТО автотранспорта"), страница 2
Описание файла
Документ из архива "Разработка проекта управления базами данных для процесса "Учет ремонта и ТО автотранспорта"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48668"
Текст 2 страницы из документа "48668"
CREATE TABLE Condition
(IDCondition INT IDENTITY CONSTRAINT ConditionPrimary PRIMARY KEY,
NameCondition VARCHAR (10) NOT NULL CONSTRAINT NameConditionUnique UNIQUE)
GO
Справочник технического обслуживания (Technical)
Таблица содержит данные о периодичности технического обслуживания подвижного состава. Каждый тип автотранспорта (легковые, автобусы, грузовые автобусы на базе грузовых автомобилей) имеет уникальный номер, который является первичным ключом отношения. Схема отношения имеет вид: R(IDTechnical)={NameTechnical, TO1, TO2}, что аналогично R(ID справочника технического обслуживания)={Название типа автотранспорта, Километраж для TO1, Километраж для TO2}. Атрибут IDTechnical должен быть уникальным и не быть равным NULL, т.к. является первичным ключом. Атрибут NameTechnical должен быть уникален, т.к. совпадающие названия состояний нарушают нормализацию таблицы базы данных, а также не равен NULL. Размер поля NameTechnical содержит символьные значения и максимальный среднестатистический размер атрибута не превышает 46 символа (например, "грузовые автобусы на базе грузовых автомобилей", "легковые", "автобусы"), следовательно, принимая во внимание необходимость избыточности размера поля порядка 13 символов, имеем размер поля NameTechnical типа VARCHAR равным 60 символам. Поле TO1 должно содержать числовые значения о пробеге автотранспорта до первого технического обслуживания, следовательно, поле ТО1 имеет тип INT. Поле TO2 должно содержать числовые значения о пробеге автотранспорта до второго технического обслуживания, следовательно, поле ТО2 имеет тип INT. (см. Таблица 3).
Таблица 3.
Название атрибута | Имя поля | Тип поля | Размер | Ограничения |
ID справочника технического обслуживания | IDTechnical | INT | NOT NULL | |
Название типа автотранспорта | NameTechnical | VARCHAR | 60 | NOT NULL, UNIQUE |
Километраж для TO1 | TO1 | INT | ||
Километраж для TO2 | TO2 | INT |
CREATE TABLE Technical
(IDTechnical INT IDENTITY CONSTRAINT TechnicalPrimary PRIMARY KEY,
NameTechnical VARCHAR (60) NOT NULL CONSTRAINT NameTechnicalUnique UNIQUE,
TO1 INT,
TO2 INT)
Тип марки (TypeMarka)
Таблица содержит данные о типе марки автотранспорта. Каждая марка автотранспорта имеет уникальный номер, который является первичным ключом отношения. Схема отношения имеет вид: R(IDTypeMarka)={IDTechnical, NameTypeMarka}, что аналогично R(Уникальный номер типа марки)={ID справочника технического обслуживания, Название типа марки}. Внешним ключом является IDTechnical (ID справочника технического обслуживания). Атрибут IDTypeMarka должен быть уникальным и не быть равным NULL, т.к. является первичным ключом отношения. Атрибут IDTechnical должен быть уникальным и не быть равным NULL, т.к. является внешним ключом отношения. Атрибут NameTypeMarka должен быть уникален, т.к. совпадающие названия состояний нарушают нормализацию таблицы базы данных, а также не должен быть равен NULL. Размер поля NameTypeMarka должен содержать символьные значения и максимальный среднестатистический размер атрибута равен 20 символов (к примеру, "бортовая платформа", "экс.грейд.бульд.погр"), следовательно, принимая во внимание необходимость избыточности размера поля порядка 15 символов, имеем размер поля NameTypeMarka типа VARCHAR равным 35 символам (см. Таблица 4).
Таблица 4.
Название атрибута | Имя поля | Тип поля | Размер | Ограничения |
Уникальный номер типа марки | IDTypeMarka | INT | NOT NULL, PRIMARY KEY | |
ID справочника технического обслуживания | IDTechnical | INT | NOT NULL, FOREIGN KEY | |
Название типа марки | NameTypeMarka | VARCHAR | 35 | NOT NULL, UNIQUE |
USE autorem;
GO
CREATE TABLE TypeMarka
(IDTypeMarka INT IDENTITY CONSTRAINT TypeMarkaPrimary PRIMARY KEY,
IDTechnical INT NOT NULL,
NameTypeMarka VARCHAR (35) NOT NULL CONSTRAINT NameTypeMarkaUnique UNIQUE
CONSTRAINT TypeMarkaTechnicalForeign FOREIGN KEY (IDTechnical) REFERENCES Technical)
GO
Таблица Марка (Marka).
Таблица содержит данные о марках автотранспорта. Каждая марка имеет уникальный номер, который является первичным ключом отношения. Схема отношения имеет вид: R(IDMarka)={IDTypeMarka, NameMarka, Capacity}, что аналогично R(Уникальный номер марки)={Уникальный номер типа марки, Название марки, Грузоподъемность}. Внешним ключом является IDTypeMarka (Уникальный номер типа марки). Атрибут IDMarka должен быть уникальным и не быть равным NULL, т.к. является первичным ключом. Атрибут IDTypeMarka должен быть уникальным и не быть равным NULL, т.к. является внешним ключом отношения. Атрибут NameMarka должен быть не равен NULL. Размер поля NameMarka должен содержать символьные значения и максимальный среднестатистический размер атрибута равен 10 символов (к примеру, " КамАЗ-5320", "ЗиЛ-433100"), следовательно, принимая во внимание необходимость избыточности размера поля порядка 5 символов, имеем размер поля NameCondition типа VARCHAR равным 15. Поле Capacity должен содержать дробные числовые значения о грузоподъемности автотранспорта, следовательно, поле Capacity имеет тип FLOAT (см. Таблица 5).
Таблица 5.
Название атрибута | Имя поля | Тип поля | Размер | Ограничения |
Уникальный номер марки | IDMarka | INT | NOT NULL, PRIMARY KEY | |
Уникальный номер типа марки | IDTypeMarka | INT | NOT NULL, FOREIGN KEY | |
Название марки | NameMarka | VARCHAR | 15 | NOT NULL |
Грузоподъемность | Capacity | FLOAT |
USE autorem;
GO
CREATE TABLE Marka
(IDMarka INT IDENTITY CONSTRAINT MarkaPrimary PRIMARY KEY,
IDTypeMarka INT NOT NULL,
NameMarka VARCHAR (15) NOT NULL,
Capacity FLOAT,
CONSTRAINT MarkaTypeMarkaForeign FOREIGN KEY (IDTypeMarka) REFERENCES TypeMarka)
GO
Таблица Транспорт (Transport).
Таблица содержит данные об автотранспорте. Каждый автотранспорт имеет уникальный номер, который является первичным ключом отношения. Схема отношения имеет вид: R(IDTransport)={IDAutobase, IDMarka, GarageNumber, GosNumber}, что аналогично R(Уникальный номер единицы автотранспорта)={Уникальный номер автобазы, Уникальный номер марки, Гаражный номер, Госномер}. Внешними ключами являются IDAutobase (Уникальный номер автобазы), IDMarka(Уникальный номер марки). Атрибут IDTransport(Уникальный номер единицы автотранспорта) должен быть уникален и не равным NULL, т.к. является первичным ключом. Атрибут IDAutobase должен быть уникальным и не быть равным NULL, т.к. является внешним ключом отношения. Атрибут IDTypeMarka должен быть уникальным и не быть равным NULL, т.к. является внешним ключом отношения. Атрибут GarageNumber должен быть уникален, т.к. каждая единица автотранспорта имеет свой гаражный номер, а также не равен NULL. Атрибут GosNumber должен быть уникален, т.к. каждая единица автотранспорта имеет свой уникальный госномер, выданный в соответствующей ведомости. Размер поля GosNumber должен содержать символьные значения и максимальный среднестатистический размер атрибута равен 8 символам (к примеру, "В 990 АЕ", "КО 6718", "КУ 2664"), следовательно, принимая во внимание необходимость избыточности размера поля, имеем размер поля NameCondition типа VARCHAR равным 10. Размер поля GarageNumber должен содержать числовые значения о гаражном номере автотранспорта, следовательно, поле GarageNumber имеет тип INT (см. Таблица 6).
Таблица 6.
Название атрибута | Имя поля | Тип поля | Размер | Ограничения |
Уникальный номер единицы автотранспорта | IDTransport | INT | NOT NULL, PRIMARY KEY | |
Уникальный номер автобазы | IDAutobase | INT | NOT NULL, FOREIGN KEY | |
Уникальный номер марки | IDMarka | INT | NOT NULL, FOREIGN KEY | |
Гаражный номер | GarageNumber | INT | NOT NULL, UNIQUE | |
Госномер | GosNumber | VARCHAR | 10 | UNIQUE |
USE autorem;
GO
CREATE TABLE Transport
(IDTransport INT IDENTITY CONSTRAINT TransportPrimary PRIMARY KEY,
IDAutobase INT,
IDMarka INT,
GarageNumber INT NOT NULL CONSTRAINT GarageNumberTransportUnique UNIQUE,
GosNumber VARCHAR(10) CONSTRAINT GosNumberTransportUnique UNIQUE,
CONSTRAINT TransportAutobaseForeign FOREIGN KEY (IDAutobase)REFERENCES Autobase,
CONSTRAINT TransportMarkaForeign FOREIGN KEY (IDMarka) REFERENCES Marka);
GO
Состояние единицы (ConditionUnit)
Таблица содержит данные обо всех состояниях автотранспорта. Каждый автотранспорт имеет уникальный номер, который является первичным ключом отношения. Схема отношения имеет вид: R(IDConditionUnit)={IDCondition, IDTransport, Working, Beginning, Theend}, что аналогично R(Уникальный номер работы)={Уникальный номер единицы автотранспорта, Уникальный номер состояния единицы, Описание работы, Начало состояния, Конец состояния}. Внешними ключами являются IDCondition (Уникальный номер состояния единицы), IDTransport (Уникальный номер единицы автотранспорта). Атрибут IDConditionUnit (Уникальный номер работы) должен быть уникален и не равным NULL, т.к. является первичным ключом. Атрибут IDCondition должен быть уникальным и не быть равным NULL, т.к. является внешним ключом отношения. Атрибут IDTransport должен быть уникальным и не быть равным NULL, т.к. является внешним ключом отношения. Размер поля Working должен содержать символьные значения и максимальный среднестатистический размер атрибута должен равен 200 символов (например, "покраска переднего левого крыла; покраска крыши а/м; покраска передней левой двери; подготовка к покраске и покраска передней левой стойки; чистка хромированных деталей"), следовательно, принимая во внимание необходимость избыточности размера поля порядка 50 символов, имеем размер поля Working типа VARCHAR равным 250. Поля Beginning и Theend должны содержать даты постановки автотранспорта на ремонт и снятие с него, следовательно, типы этих полей определим как DateTime (см. Таблица 7).
Таблица 7.
Название атрибута | Имя поля | Тип поля | Размер | Ограничения |
Уникальный номер работы | IDConditionUnit | INT | NOT NULL, PRIMARY KEY | |
Уникальный номер состояния единицы | IDCondition | INT | NOT NULL, FOREIGN KEY | |
Уникальный номер единицы автотранспорта | IDTransport | INT | NOT NULL, FOREIGN KEY | |
Описание работы | Working | VARCHAR | 250 | |
Начало состояния | Beginning | DateTime | ||
Конец состояния | Theend | DateTime |
USE autorem;
GO