《数据库概论》课程期中复习题目汇总
一、为某百货公司设计一个E-R模型。
百货管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只
能服务于一家商店。
实体类型商店”的属性有:商店编号,店号,店址,店经理。实体类型商品”的属性有:商品编号,商品名,单价,产地。实体类型职工”的属性有:职工编号,职工名,性别,工
试画出反映商店、商品、职工实体类型及联系类型的ER图,并将其转换成关系模式
答;实体,商店(店号,店名,店址,店经理〉亠
商品(商品编号,商品名,单价,产地)*职工(职工编号,职工名,性别,工资)+联系:P1(职工编号'店号,工作日期)
P2(店号,商品编号.销售目期,销售数量)”
二、关系代数
设有三个关系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
说明:S#——学号SNAME――学生姓名AGE――年龄SEX――性别
C#——课程号CNAME——课程名TEACHER——教师GRADE——成绩试用关系代数写出查询语句。
(1)检索LIU老师所授课程的课程号、课程名。
(2)检索年龄大于23岁的男学生的学号与姓名。
(3)检索学号为S3学生所学课程的课程名与任课教师名。
(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。
⑸检索WANG同学不学的课程号。
(6)检索至少选修两门课程的学生学号。
(7)检索全部学生都选修的课程的课程号与学生学号。
(8)检索选修课程包含LIU老师所授课程的学生学号。
(用汰代表自然连接):
(1)nc#,CNAME((jTEACHER='LIU'(C))
(2)ns#,SNAME((AGE>'23'人SEX二'男'(S))
(3)nCNAME,TEACHER(A#='S3'(SCTOC))
(4)nSNAME(AEX='女'人TEACHER二'LIU'(S00SC^C))
(5)nc#(c)-nc#(ANAME='WANG'(S00SC))
(6)ns#(A=4A2^5(SCXSC))(SC自乘之后,同一个学号下两个课程号不同的元组)
(7)nc#,s#(SCo(n#,C#(SC)*n#(S))))
(8)ns#(AEACHER='LIU'(S00SCOC))
三、SQL语句(1)
1、建立一个数据库和五张表的表结构。
(1)/*员工人事表employee*/
1)分别为每张表建立主键约束。
3)在表employee加入CHECK约束:输入的员工编号必须以E开头的5位数编号,性别只能为
M/F。
4)为销售主表sales中的发票编号字段建立UNIQUE约束。
5)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址
6)对视图添加一条记录数据(注意:分别查看customer表和该视图的结果)
7)删除视图中所有姓王”的客户数据
8)通过视图修改表内某一客户的姓名
9)有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额
10)将上述视图中订单号为10001的记录的销售总金额改为60000
11)给上述视图添加一条记录数据
12)删除上述视图
(1)建立数据库jianghong
createdatabasejianghong
on
(name='jianghong',
数据库\jianghong.mdf,
size=3,
maxsize=10,
1)logon
(name='jianghonglog',
数据库\jianghonglog.ldf.
size=1,
maxsize=5,
)
go
(2)建立数据表
①创建employee表:createtableemployee
(emp_nochar(5)notnullprimarykey,emp_namechar(10)notnull,sexchar(1)notnull,
deptchar(4)notnull,titlechar(6)notnull,data_hireddatetimenotnull,birthdaydatetimenull,salaryintnotnull,addrchar(50)null,
Mod_datedatetimeDefault(getdate()),)②创建customer表:createtablecustomer
(cust_idchar(5)notnullprimarykey,cust_namechar(20)notnull,addrchar(40)notnull,tel_nochar(10)notnull,zipchar(6)null,)
③创建sales表:createtablesales(order_nointnotnullprimarykey,cust_id
char(5)notnull,
sale_idchar(5)notnull,tot_amtnumeric(9,2)notnull,order_datedatetimenotnull,ship_datedatetimenotnull,invoice_nochar(10)notnull,)
④创建sale_item表:
createtablesale_item
(order_nointnotnull,prod_idchar(5)notnull,qtyintnotnull,unit_price
numeric(7,2)notnull,order_datedatetimenull,primarykey(order_no,prod_id),)⑤创建product表:createtableproduct(prod_idchar(5)notnullprimarykey,
prod_namechar(20)notnull,)
①altertablesalesaddforeignkey(cust_id)referencescustomer(cust_id);
②altertablesale_itemaddforeignkey(order_no)references
sales(order_no);
③altertablesale_itemaddforeignkey(prod_id)referencesproduct(prod_id);
(4)为表employee加入check约束:
altertableemployeeaddconstraintc1check(emp_nolike'E___'
and(sex='M'orsex='f'));
(5)为表sales发票号建立unique约束:
altertablesalesaddunique(invoice_no);
(6)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址:create