我試圖在SQL Server 2012 Management Studio中創建表。使用SQL Server 2012 Management Studio創建表
我想創建一個表列:category
,customer
,Costume
,Payment
和rental
。
這裏是SQL我到目前爲止:
CREATE TABLE dbo.CATEGORY
(
CATEGORY_ID CHAR(5) PRIMARY KEY,
CATEGORY_DESC CHAR(50) NOT NULL
);
CREATE TABLE dbo.COSTUME
(
Costume_ID CHAR(5),
Costume_Desc CHAR(50),
Costume_Size CHAR(5),
Costume_RentalPricE DECIMAL(12,2),
Category_ID CHAR(5)
);
CREATE TABLE dbo.CUSTOMER
(
Customer_ID CHAR(5),
Customer_LastName CHAR(50),
Customer_FirstName CHAR(50),
Customer_Address CHAR(30),
Customer_City CHAR(50),
Customer_State CHAR(2),
Customer_Zip CHAR(10),
Customer_Phone CHAR(10),
Category_ID CHAR(5)
);
CREATE TABLE dbo.Payment
(
Payment_ID CHAR(5),
Customer_ID CHAR(5),
Payment_Date DATE,
Payment_Amount DECIMAL(12,2),
Payment_Comment VARCHAR,
);
CREATE TABLE dbo.Rental
(
Rental_ID --it says this needs to be Long integer for field size?
Customer_ID CHAR(5),
Costume_ID CHAR(5),
Rental_Date DATE,
Rental_DueDate DATE,
Rental_CheckIn --YES OR NO? i'M NOT SURE HOW TO DO THIS.
Rental_Penalty DECIMAL(12,2)
);
我如何創建一個布爾列和一個長的領域?
評論:我會建議使用'INT'作爲你的'ID'列 - 如果你有超過5個字符,我會st rongly使用'CHAR(n)'向**推薦** - 這些字符串將被填充空格至定義的長度,例如,即使您的數據只有1個字符長度,也會存儲50個字符 - >巨大的浪費。對於超過5個字符的任何內容,使用'VARCHAR(n)'! –
所以然後使用VARCHAR(n)n是50或者我正在使用正確的? – Jazzi
準確地說 - 在這種情況下,您的列可以容納*最多50個字符 - 但是如果您只存儲10個字符,則只需要10個字節(加上2個字節的開銷)。並且存儲的字符串也不會在定義長度的末尾填充空格。 –