|
Какой рейтинг вас больше интересует?
|
Описания таблиц отвечающих за владение машиной (часть 2)2012-10-24 23:11:00 (читать в оригинале)
Продолжаю серию практических постов о реализации различных структур в БД. В этом посте речь пойдет о таблицах описывающих владение автомобилем (транспортным средством). Начало серии смотри в этом Описания таблиц отвечающих за человека, паспорт, права (часть 1) посте. Оформление таблиц делалось в соответствии с Об одном из способов именования таблиц, представлений, хранимых процедур.... Единственное отличие это то, что все части и вспомогательные сущности помещаются в таблицы с "типом" TOB. Сначала скрипт будет идти просто как текст поста, чтобы вы могли посмотреть о чем идет речь. Потом будут диаграммы этой части БД. Потом скрипт целиком для накатывания на БД. И в конце архив с TSQL скриптами для каждой сущности в отдельности, для того чтобы их было удобно использовать в проекте базы данных в солюшене. Для простоты ссылки ведущие на таблицы, описания которых я не собираюсь публиковать, оформлены просто как значения типа идентификатор (в общем скрипте). В этом проекте это GUID (uniqueidentifier). Скрипты из последующих постов серии, будут, возможно, ссылаться на скрипты из предыдущих постов. Так что если вы захотите создать таблицы из некоторого поста в БД, то вам придется перед этим накатить скрипты из предыдущих постов (в некоторых случаях).
USE [CarDB]
GO
-- тип покраски ТС
-- например: обычная, хамелеон, матовая, металик ...
CREATE TABLE [dbo].[tblVehOwnDICColoringType]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Value nvarchar(16), -- название типа покраски
Comment nvarchar(max) NULL -- некое дополнительное пояснение
)
GO
-- цвет покраски ТС - его описание 2-3 словами
-- например: кофе с молоком, navy, bianco, testa rossa, niger...
CREATE TABLE [dbo].[tblVehOwnDICColor]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Value nvarchar(32), -- название цвета, 2-мя - 3-мя словами
Comment nvarchar(max) NULL, -- некое дополнительное пояснение
)
GO
-- тип владельца транспортного средства
-- например, физическое или юридическое лицо
CREATE TABLE [dbo].[tblVehOwnDICVehicleOwnerType]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Value nvarchar(32) NOT NULL, -- это надпись которую видит (сразу) пользователь в GUI
Comment nvarchar(max) NULL -- некое средней длины дополнительное пояснение
)
GO
-- страховая компания и ее параметры
CREATE TABLE [dbo].[tblVehOwnBOBKaskoInsurer]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
CompanyName nvarchar(64) NOT NULL, -- это название компании которое видит пользователь в GUI
PhoneNumber nvarchar(12) NULL, -- номер телефона call центра страховщика
Comment nvarchar(max) NULL -- некое средней длины дополнительное пояснение
)
GO
-- автомобильная страховка связана с владением (N страховок к 1-му владению)
CREATE TABLE [dbo].[tblVehOwnBOBKaskoInsurance]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Comment nvarchar(max) NULL, -- некое средней длины дополнительное пояснение
Number nvarchar(32) NOT NULL, -- номер страховки
Insurer uniqueidentifier REFERENCES tblVehOwnBOBKaskoInsurer(Id) NOT NULL, -- страховая компания
BeginDate date NULL, -- дата начала страхового периода
EndDate date NULL, -- дата окончания страхового периода
-- владение во время которого застраховали
Ownership uniqueidentifier NOT NULL, -- REFERENCES tblVehOwnBOBVehicleOwnership(Id)
LastChangeDate datetime2
)
GO
-- владение конкретным экземпляром транспортного средства (N владений к 1-му ТС)
CREATE TABLE [dbo].[tblVehOwnBOBVehicleOwnership]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Comment nvarchar(max) NULL, -- коментарий к этому владению
Vehicle uniqueidentifier NOT NULL, -- транспортное средство REFERENCES tblVehicleBOBVehicle(Id)
VehRegNumber nvarchar(10) NULL, -- государственный регистрационный номер ТС
PassprotNumber nvarchar(10) NULL, -- номер пасспорта транспортного средатва (номер ПТС)
BeginDate date NOT NULL, -- дата начала владения транспортным средством
EndDate date NULL, -- дата окончания владения транспортным средством
Color uniqueidentifier REFERENCES tblVehOwnDICColor(Id) NOT NULL, -- цвет покраски ТС
ColoringType uniqueidentifier REFERENCES tblVehOwnDICColoringType(Id) NOT NULL, -- тип покраски ТС
VehOwnerType uniqueidentifier REFERENCES tblVehOwnDICVehicleOwnerType(Id) NOT NULL,-- тип владельца
VehicleOwner uniqueidentifier NOT NULL, -- владелец
CurrKaskoInsurance uniqueidentifier REFERENCES tblVehOwnBOBKaskoInsurance(Id) NULL,-- текущая страх-ка
DealerCompany uniqueidentifier NULL, -- ссылка на компанию, продавшую машину
SybaseIdAc_car numeric(16,0),
LastChangeDate datetime2
)
GO
Это скрипт целиком в виде одного файла - CarDB_VehicleOwnership.sql (7,37 kb) А это скрипты создания каждой отдельной таблицы - CarDB_VehicleOwnership.zip (3,47 kb), для использования в проекте базы данных в солюшене
|
Категория «Кино»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.
