【记录】数据库原理4

第三章数据完整性 习题3.5、3.7

(5)已知关系模式如下:

客户C(客户号CNo,客户名CName,地址CAddr)

产品P(产品号PNo,产品名PName,价格Price,供应商PSupp)

订单R(RNo,CNo,PNo,日期RDate,数量Quant)

如果规定一张订单只能订购一种产品,请用SQL Server2016语言创建上述关系模式,并完成以下完整性约束:

①定义相应的实体完整性

CREATE TABLE C(

	CNo CHAR(4) PRIMARY KEY , CName CHAR(4) NOT NULL , CAddr CHAR(4) NOT NULL )

CREATE TABLE P(

	RNo CHAR(4) PRIMARY KEY , PName CHAR(4) NOT NULL ,

	Price REAL NOT NULL, Quant CHAR(4) NOT NULL)

CREATE TABLE R(

	RNo CHAR(4) PRIMARY KEY , CNo CHAR(4) NOT NULL , PNo CHAR(4) NOT NULL ,

	RDate DATE NOT NULL, Quant CHAR(4) NOT NULL)

②定义相应的参照完整性

ALTER TABLE R

	ADD CONSTRAINT CNo_FK FOREIGN KEY(CNo)

		REFERENCES C(CNo)

ALTER TABLE R

	ADD CONSTRAINT PNo_FK FOREIGN KEY(PNo)

		REFERENCES P(PNo)

③定义价格不得高过60(不含60),且不得低于20(含20)

ALTER TABLE P

	ADD CONSTRAINT Price

		CHECK(Price\>=20 AND Price\<60)

(7)已知雇员关系和部门关系如下:

雇员号雇员名部门号工资
001张三022000
010王宏011200
056马林021000
101张三041500
部门号部门号电话地址
01业务部000A楼
02销售部001B楼
03服务部002C楼
04财务部003D楼

①雇员的主键是哪些属性?

雇员号、工资

②雇员的外键是哪些属性?

部门号

③雇员名是雇员关系的候选键吗?

④如果部门关系中,财务部的部门号需要调整为06,则雇员关系如何调整?

101号的张三,其部门号04改为06

⑤把雇员马林调往服务部,则雇员关系如何调整?

056号的马林,其部门号02改为03
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值