ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: kramer
24. октября 2012 23:11

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), для использования в проекте базы данных в солюшене

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Описания таблиц отвечающих за описание машины (часть 3)
Продолжаю серию практических постов о реализации различных структур в БД. В этом посте речь пойдет о таблицах описывающих марку, модель, модификацию машины, а также ее параметры. Начало серии смотри в этом Описания таблиц отвечающих за человека, паспорт, права (часть 1) посте. Оформление таблиц делалось в соответствии с Об одном из способов именования таблиц, пр...

Способы заработка на сайте
На этом блоге было много постов про производство и раскрутку сайтов. Но пока не было про заработок на них. Пора исправить этот недочет. Здесь будут описаны по возможности не фантастичные, и не супер низко прибыльные способы. Также упор будет сделан именно на организацию процесса, а не технических деталях, которых в обилии в интернете. Несмотря на то, что как пр...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий