Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «tsql»

Описания таблиц отвечающих за владение машиной (часть 2) 2012-10-24 23:11:00
... конце архив с TSQL скриптами для каждой ...
+ развернуть текст сохранённая копия
Продолжаю серию практических постов о реализации различных структур в БД. В этом посте речь пойдет о таблицах описывающих владение автомобилем (транспортным средством). Начало серии смотри в этом
Описания таблиц отвечающих за человека, паспорт, права (часть 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
Official: Elon Musk explains why Tesla has its own stores, defends service program 2012-10-24 21:31:00
Filed under: EV/Plug-in, Tesla Motors
Elon Musk is taking his argument for a different kind of ...
+ развернуть текст сохранённая копия
Filed under: EV/Plug-in, Tesla Motors
Elon Musk is taking his argument for a different kind of customer-dealer relationship directly to the people. In this case, the Tesla Motors CEO writes on his company's blog to list the reasons why the luxury elec...
Тэги: categorized, ev/plug-in, motor, tesla
Описания таблиц отвечающих за человека, паспорт, права (часть 1) 2012-10-24 00:09:00
... приводятся в виде TSQL скрипта, который можно ... конце архив с TSQL скриптами для каждой ...
+ развернуть текст сохранённая копия
Этим постом я начинаю серию постов о различных структурах в БД. Это описания части таблиц из некоторых проектов, в которых я участвовал. Особой коммерческой ценности они не представляют, но могут помочь вам в разработке ваших проектов. Большая часть из них реально работала и испытывалась. Описания таблиц приводятся в виде TSQL скрипта, который можно исполнить в Microsoft SQL Server Management Studio. Оформление таблиц делалось в соответствии с Об одном из способов именования таблиц, представлений, хранимых процедур.... Единственное отличие это то, что все части и вспомогательные сущности помещаются в таблицы с "типом" TOB. Сначала скрипт будет идти просто как текст поста, чтобы вы могли посмотреть о чем идет речь. Потом будут диаграммы этой части БД. Потом скрипт целиком для накатывания на БД. И в конце архив с TSQL скриптами для каждой сущности в отдельности, для того чтобы их было удобно использовать в проекте базы данных в солюшене. Для простоты ссылки ведущие на таблицы, описания которых я не собираюсь публиковать, оформлены просто как значения типа идентификатор (в общем скрипте). В этом проекте это GUID (uniqueidentifier). Скрипты из последующих постов серии, будут, возможно, ссылаться на скрипты из предыдущих постов. Так что если вы захотите создать таблицы из некоторого поста в БД, то вам придется перед этим накатить скрипты из предыдущих постов (в некоторых случаях).
USE [CarDB]
GO
-- данные водительских прав
-- кроме общей информации о человеке хранимой в tblPersonBOBPerson
CREATE TABLE [dbo].[tblPersonBOBDriverLicence]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Comment nvarchar(max) NULL, -- некое доп. пояснение
Category nchar(1) NULL, -- категория прав - буква
Series nvarchar(8) NULL, -- серия прав
Number nvarchar(16) NOT NULL, -- номер прав
WhoIsIssuer nvarchar(512) NULL, -- кто выдал
IssueDate date NULL, -- дата выдачи
ExpireDate date NULL, -- дата окончания действия
YearsOfExperience tinyint NULL, -- стаж вождения
PreviousSeries nvarchar(8) NULL, -- серия предыдущих прав
PreviousNumber nvarchar(16) NULL, -- номер предыдущих прав
LastChangeDate datetime2
)
GO
-- дополнительные паспортные данные
-- основные данные о человеке хранятся в tblPersonBOBPerson
CREATE TABLE [dbo].[tblPersonBOBPassport]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Comment nvarchar(max) NULL, -- некое доп. пояснение
Series nvarchar(8) NOT NULL, -- серия паспорта
Number nvarchar(16) NOT NULL, -- номер паспорта
IssueDate date NULL, -- дата выдачи
WhoIsIssuer nvarchar(max) NULL, -- кто выдал
AddressOfResidence uniqueidentifier NULL, -- адрес постоянной прописки
AddressOfRegistration uniqueidentifier NULL, -- адрес временной регистрации
LastChangeDate datetime2
)
GO
-- описывает пол персоны, пока их четыре: муж, жен, неизвестно, не важно
CREATE TABLE [dbo].[tblPersonDICGender]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Value nvarchar(16) NOT NULL, -- краткое название пола
Comment nvarchar(max) NULL -- некое длинное пояснение
)
GO
-- семейное положение человека
CREATE TABLE [dbo].[tblPersonDICMaritalType]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Value nvarchar(24) NOT NULL,
Comment nvarchar(max) NULL
)
GO
-- социальный статус человека: VIP, обычный лох
-- человек может быть клиентом, доверенным лицом и т.п.
CREATE TABLE [dbo].[tblPersonDICSocialStatus]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Value nvarchar(24) NOT NULL, -- название типа подакции
Comment nvarchar(max) NULL -- некое длинное пояснение
)
GO
-- человек (персона) в системе
CREATE TABLE [dbo].[tblPersonBOBPerson]
(
Id uniqueidentifier PRIMARY KEY DEFAULT NEWSEQUENTIALID() ROWGUIDCOL,
Comment nvarchar(max) NULL, -- некое доп. пояснение
FirstName nvarchar(64) NOT NULL, -- имя
Surname nvarchar(64) NOT NULL, -- фамилия
PatronymicName nvarchar(64) NULL, -- отчество
Gender uniqueidentifier REFERENCES tblPersonDICGender(Id) NULL, -- пол
Marital uniqueidentifier REFERENCES tblPersonDICMaritalType(Id) NULL, -- семейный статус
BirthDate date NULL, -- дата рождения
Children tinyint NULL, -- количество детей
PrivateContacts uniqueidentifier NULL, -- свои контакты (без места)
CurrLivingPlace uniqueidentifier NULL, -- текущее место жительства
-- паспортные данные дополнительные
AddPassportData uniqueidentifier REFERENCES tblPersonBOBPassport(Id) NULL,
-- данные водительских прав
AddDriveLicData uniqueidentifier REFERENCES tblPersonBOBDriverLicence(Id) NULL,
SocialStatus uniqueidentifier REFERENCES tblPersonDICSocialStatus NULL, -- VIP или обычный
SybaseIdAc_member numeric(16,0) NULL,
LastChangeDate datetime2
)
go
create index ind_tblPersonBOBPerson_Surname on tblPersonBOBPerson(Surname)
go
Это скрипт целиком в виде одного файла - CarDB_Person.sql (8,80 kb)
А это скрипты создания каждой отдельной таблицы - CarDB_Person.zip (3,71 kb), для использования в проекте базы данных в солюшене
Тэги: tsql
Romney again attacks Tesla, Fisker in presidential debate with Obama 2012-10-23 19:24:00
Filed under: EV/Plug-in, Tesla Motors, Legislation and Policy, USA, Fisker
On the electric car ...
+ развернуть текст сохранённая копия
Filed under: EV/Plug-in, Tesla Motors, Legislation and Policy, USA, Fisker
On the electric car front, Dan Senor has failed.
Senor was supposed to be the guy to convince Republican presidential nominee Mitt Romney that electric cars were a good idea, ...
Тэги: categorized, ev/plug-in, fisker, legislate, motor, policy, tesla, usa
Report: Lawsuits filed against Tesla stores in NY, MA 2012-10-22 17:24:00
Filed under: EV/Plug-in, Tesla Motors
Questions about the legality of Tesla selling its electric ...
+ развернуть текст сохранённая копия
Filed under: EV/Plug-in, Tesla Motors
Questions about the legality of Tesla selling its electric vehicles in its own retail stores have been floating around since the days of the Roadster. Last week, the recent wranglings between auto dealer associati...
Тэги: categorized, ev/plug-in, motor, tesla
Главная / Главные темы / Тэг «tsql»
|
Взлеты Топ 5
Падения Топ 5
|