我试图在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个字节的开销)。并且存储的字符串也不会在定义长度的末尾填充空格。 –