求个数据库原理的作业 写出创建如下三张表的SQL语句,在定义表的同时定义数据的完整性约束: "图书

求个数据库原理的作业
写出创建如下三张表的SQL语句,在定义表的同时定义数据的完整性约束:
"图书表"结构如下:
书号:统一字符编码定长类型,长度为6,主码;
书名:统一字符编码可变长类型,长度为30,非空;
第一作者:普通编码定长字符类型,长度为10,非空;
出版日期:小日期时间型;
价格:定点小数,小数部分1位,整数部分3位。

“书店表”结构如下:
书店编号:统一字符编码定长类型,长度为6,主码;
店名:统一字符编码可变长类型,长度为30,非空;
电话:普通编码定长字符类型,8位长,每一位的取值均是0-9的数字;
地址:普通编码可变长字符类型,40位长。
邮政编码:普通编码定长字符类型,6位长。

“图书销售表”结构如下:
书号:统一字符编码定长类型,长度为6,非空;
书店编号:统一字符编码定长类型,长度为6,非空;
销售日期:小日期时间型,非空,
销售数量:微整型,大于等于1。
主码为(书号,书店编号,销售日期);
其中“书号”为引用“图书表”的“书号”的外码。
“书店编号”为引用“书店表”的“书店编号”的外码。

同学要好好学习哦!

CREATE TABLE [dbo].[书店表] (
[书店编号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[店名] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[电话] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[地址] [char] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[邮政编码] [char] (6) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[图书表] (
[书号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[书名] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[第一作者] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[出版日期] [smalldatetime] NULL ,
[价格] [numeric](4, 1) NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[图书销售表] (
[书号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[书店编号] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[销售日期] [smalldatetime] NOT NULL ,
[销售数量] [smallint] NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[书店表] WITH NOCHECK ADD
CONSTRAINT [PK_书店表] PRIMARY KEY CLUSTERED
(
[书店编号]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[图书表] WITH NOCHECK ADD
CONSTRAINT [PK_图书表] PRIMARY KEY CLUSTERED
(
[书号]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[图书销售表] WITH NOCHECK ADD
CONSTRAINT [PK_图书销售表] PRIMARY KEY CLUSTERED
(
[书号],
[书店编号],
[销售日期]
) ON [PRIMARY]
GO追问

谢谢啦

那个书店编号,是统一字符编码定长类型,是不是应该是nchar啊

追答

是的,‘统一字符编码定长类型’的都改为nchar

追问

嗯嗯哪,,好的!谢谢

额,冒昧再问一下,这些是什么? COLLATE Chinese_PRC_CI_AS

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-27
一点也不会?
代做作业,这事就没意思了。

可以教你一个小技巧:
1、在SSMS中,用【创建表】来设计,包括约束;然后保存
2、选中该新表,右键【编写表脚本】,SQL就有了追问

不是一点也不会,是想看看正确答案,自己写一半老觉得不对...😖

第2个回答  2015-03-26
亲,解决没有,解决了我就不马后炮了追问

没呢

😭

求解答,

亲,你回来啊,还在不,😭

第3个回答  2015-03-26
用的是什么数据库?MySQL,SQL server,还是Oracle追问

SQL server 吧

还在不?写出来就采纳,急需啊,谢谢啦,😊