Сегодня 23 июля, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Описания таблиц отвечающих за владение машиной (часть 2)

2012-10-24 23:11:00 (читать в оригинале)


ms sql server

Продолжаю серию практических постов о реализации различных структур в БД. В этом посте речь пойдет о таблицах описывающих владение автомобилем (транспортным средством). Начало серии смотри в этом Описания таблиц отвечающих за человека, паспорт, права (часть 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), для использования в проекте базы данных в солюшене


Тэги: tsql

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.