SQL Server: create table sql script

---Lottery observeh database design Function getSpace lottery
/*
-- Author:geovindu Tu Juwen
-- Date: 20180427 In order to generate code for self-writing. Generate code with comments and relational tables based on Metedata, the table must have a primary key and comments
CREATE DATABASE LotteryDrawing
GO

USE LotteryDrawing
GO
*/
---Award Project List AwardProject
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.AwardProject') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE AwardProject
GO
CREATE TABLE AwardProject
(
	ProjectId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	ProjectName NVARCHAR(300) NOT NULL, -- the project name, displayed at the annual meeting
	ProjectYear VARCHAR(20) NOT NULL, -- year name
	ProjectDate DATETIME DEFAULT(GETDATE()) -- creation date	
)
GO
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'AwardProject', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'獎項項目表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProject', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'項目ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProject', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'project name, display annual meeting' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE' ,@level1name=N'AwardProject', @level2type=N'COLUMN',@level2name=N'ProjectName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年度名稱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProject', @level2type=N'COLUMN',@level2name=N'ProjectYear'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'創建日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProject', @level2type=N'COLUMN',@level2name=N'ProjectDate'
GO

SELECT * FROM dbo.AwardProject
GO


--Lottery employee table Employee
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.Employee') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE Employee
GO
CREATE TABLE Employee
(
	EmployeeId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	EmployeeProjectId INT
		FOREIGN KEY REFERENCES AwardProject(ProjectId), -- foreign key, project ID
	EmployeeNO VARCHAR(30) NOT NULL, -- employee number
	EmployeeName NVARCHAR(100) NOT NULL, -- employee name
	EmployeeMobile VARCHAR(20) NOT NULL, --mobile phone number
											--skype
	EmployeeDate DATETIME DEFAULT(GETDATE())
)
GO

---Table description
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'TicketManage', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'抽獎員工表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'員工ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'EmployeeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外鍵,項目ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'EmployeeProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'員工編號' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'EmployeeNO'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'員工姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'EmployeeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'手機號碼' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'EmployeeMobile'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'EmployeeDate'
GO

SELECT * FROM dbo.Employee
GO



--Award Table AwardType
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.AwardType') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE AwardType
GO
CREATE TABLE AwardType
(
	AwardTypeId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	AwardProjectId INT
		FOREIGN KEY REFERENCES AwardProject(ProjectId), -- foreign key, project ID
	AwardName NVARCHAR(100) NOT NULL, --Award name, such as: Grand Prize, First Prize
	AwardPersonNumber INT DEFAULT(1), -- the number of awards
	AwardVeryNumber INT DEFAULT(1), -- the number of people drawn each time
	AwardVeryProduct INT DEFAULT(1) -- the number of products per person for the award	
	
)
GO
---Table description
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'TicketManage', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖项表 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardType', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖项ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardType', @level2type=N'COLUMN',@level2name=N'AwardTypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外鍵,項目ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardType', @level2type=N'COLUMN',@level2name=N'AwardProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Award name, such as: Grand Prize, First Prize' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N 'TABLE',@level1name=N'AwardType', @level2type=N'COLUMN',@level2name=N'AwardName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'獎項人數' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardType', @level2type=N'COLUMN',@level2name=N'AwardPersonNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'每次抽的人數' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardType', @level2type=N'COLUMN',@level2name=N'AwardVeryNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Awards products per person' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name =N'AwardType', @level2type=N'COLUMN',@level2name=N'AwardVeryProduct'
GO





SELECT * FROM dbo.AwardType
GO


--Award Product
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.AwardProduct') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE AwardProduct
GO
CREATE TABLE AwardProduct
(
	ProductId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	ProductAwardTypeId	INT
		FOREIGN KEY REFERENCES AwardType(AwardTypeId), -- foreign key, award type ID
	ProductName NVARCHAR(200) NOT NULL, -- Prize name
	ProductNo VARCHAR(50) NULL, -- Prize number (easy to scan code)
	ProductTotal INT NOT NULL -- the number of prizes (the total number should be consistent with the number of prizes * the number of each prize, the program needs to verify)
)
GO


---Table description
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'AwardProduct', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'奖品表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProduct', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'獎品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProduct', @level2type=N'COLUMN',@level2name=N'ProductId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外鍵,獎項類型ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProduct', @level2type=N'COLUMN',@level2name=N'ProductAwardTypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'獎品名稱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProduct', @level2type=N'COLUMN',@level2name=N'ProductName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'獎品編號' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProduct', @level2type=N'COLUMN',@level2name=N'ProductNo'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'獎品數量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProduct', @level2type=N'COLUMN',@level2name=N'ProductTotal'
GO

SELECT * FROM dbo.AwardProduct
GO



-- Prize picture table
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.AwardProductImage') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE AwardProductImage
GO
CREATE TABLE AwardProductImage
(
	ProductImageId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	ProductImageProductId	INT
		FOREIGN KEY REFERENCES AwardProduct(ProductId), -- foreign key, product ID
	ProductImageByte IMAGE -- product image			
)
GO

---Table description
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'AwardProductImage', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'獎品圖片表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProductImage', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'圖片ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProductImage', @level2type=N'COLUMN',@level2name=N'ProductImageId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外鍵,產品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProductImage', @level2type=N'COLUMN',@level2name=N'ProductImageProductId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'產品圖片' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AwardProductImage', @level2type=N'COLUMN',@level2name=N'ProductImageByte'
GO

SELECT * FROM dbo.AwardProductImage
GO


-- Winner List LuckyWinner --- Prize confirmation
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.LuckyWinner') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE LuckyWinner
GO
CREATE TABLE LuckyWinner
(
	WinnerId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	WinnerEmployeeId INT
		FOREIGN KEY REFERENCES Employee(EmployeeId), -- foreign key, employee ID	
	WinnerAwardTypeId	INT
		FOREIGN KEY REFERENCES AwardType(AwardTypeId), -- foreign key, award type ID	
	WinnerIsOk BIT DEFAULT(0), --Whether to sign for confirmation
	WinnerSinger NVARCHAR(50) NULL, -- signer (or agent)
	WinnerDate datetime NULL --Confirm receipt date		
)
GO


---Table description
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'LuckyWinner', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'获奖者列表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LuckyWinner', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'获奖者ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LuckyWinner', @level2type=N'COLUMN',@level2name=N'WinnerId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外鍵,員工ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LuckyWinner', @level2type=N'COLUMN',@level2name=N'WinnerEmployeeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外鍵,獎項類型ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LuckyWinner', @level2type=N'COLUMN',@level2name=N'WinnerAwardTypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否簽收确認' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LuckyWinner', @level2type=N'COLUMN',@level2name=N'WinnerIsOk'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'簽收人(或代理人)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LuckyWinner', @level2type=N'COLUMN',@level2name=N'WinnerSinger'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'确認簽收日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'LuckyWinner', @level2type=N'COLUMN',@level2name=N'WinnerDate'
GO




SELECT * FROM dbo.LuckyWinner
GO


--WinnerSms for winners to send text messages, SKYPE information, etc.
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.WinnerSms') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE WinnerSms
GO
CREATE TABLE WinnerSms
(
	SmsId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	SmsEmployeeId INT
		FOREIGN KEY REFERENCES Employee(EmployeeId), -- foreign key, employee ID
	SmsContent NVARCHAR(2000) NOT NULL, -- SMS content
	SmsDate DATETIME DEFAULT(GETDATE()) --send time	
)
GO
---Table description
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'WinnerSms', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Winner texting table' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE' ,@level1name=N'WinnerSms', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'短信ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WinnerSms', @level2type=N'COLUMN',@level2name=N'SmsId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外鍵,員工ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WinnerSms', @level2type=N'COLUMN',@level2name=N'SmsEmployeeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'短信內容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WinnerSms', @level2type=N'COLUMN',@level2name=N'SmsContent'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'發送時間' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WinnerSms', @level2type=N'COLUMN',@level2name=N'SmsDate'
GO

SELECT * FROM dbo.WinnerSms
GO

--Window background image
IF EXISTS (select * from sysobjects where id = object_id(N'dbo.FormBackground') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE FormBackground
GO
CREATE TABLE FormBackground
(
	BackgroundId INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
	BackgroundImage IMAGE,
	BackgroundFmName NVARCHAR(200)
)
GO
IF NOT EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'SCHEMA',N'dbo', N'TABLE',N'FormBackground', null,null))
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'窗口背景圖表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FormBackground', @level2type=NULL,@level2name=NULL
GO
--column description
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FormBackground', @level2type=N'COLUMN',@level2name=N'BackgroundId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'背景圖' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FormBackground', @level2type=N'COLUMN',@level2name=N'BackgroundImage'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'窗口名稱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FormBackground', @level2type=N'COLUMN',@level2name=N'BackgroundFmName'
GO


SELECT * FROM dbo.FormBackground

  

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324936994&siteId=291194637