数据库综合练习题讲课稿

据库综合练习题

谢谢2 综合练习题(E-R图、SQL、规范化、事务) 1、设某商业集团数据库中有三个实体集。 一是“商店”实体集,属性有商店编号、商店名、地址等; 二是“商品”实体集,属性有商品号、商品名、规格、单价等; 三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 2、请设计一个公司车队数据库,此数据库中需要保存的信息描述如下: 部门:部门号、名称、负责人,其中部门号为唯一标识,名称不能为空; 车队:车队号、名称、地址,其中车队号为唯一标识; 司机:司机号、姓名、执照号、电话、工资,其中司机号为唯一标识; 车辆:车牌号、车型、颜色、载重,其中车牌号为唯一标识; 保险公司:保险公司号、名称、地址,其中保险公司号为唯一标识。 它们之间的联系如下: 该公司有若干车队,一个车队有多辆车,一辆车只能属于一个车队;公司中也有若干部门,一个部门可以调用多个车队的车辆,一个车队可以被多个部门调用,调用时需保存出车日期、车程、费用以及车辆数目信息;一个车队可以聘用多名司机,但一名司机只能为一个车队服务;一辆车只能在一家保险公司投保,但一家保险公司可为多辆车担保,投保时需保存投保日期、保险种类以及费用信息。 3、工厂管理系统中,需要管理的数据由五部分组成:职工、部门、产品、零件、供应商。 其属性如下: 职工:职工号、姓名、性别、年龄、工种、级别 部门:部门号、部门名、负责人、电话 产品:产品号、产品名、型号

谢谢3 零件:零件代号、零件名称、规格、价格 供应商:供应商名、地址、联系人、电话 语义说明:职工隶属一个部门,每个职工有一个直属领导;一个产品由多个职工加工,由一个职工检验;一个产品由多种零件组装,一种零件可以组装多种产品;零件可以由供应商供应,对应有供应的数量和日期 4、下面的题目基于已知的四个关系模式: 供应商表:s(sno,sname,city),其属性的名字依次为供应商号、供应商名和所在城市; 项目表:j(jno,jname,city),其属性的名字依次为项目号、项目名、所在城市; 零件表:p(pno,pname,color,weight),其属性的名字依次为零件号、零件名、颜色和重量;供应表:spj(sno,pno,jno,qty),其属性的名字依次为供应商

号、零件号、项目号和数量。请使用SQL语句完成下面的操作: (1)创建零件表,其中零件号为主键,重量的值默认为0,颜色只能取“红”、“澄”、“黄”、“绿”、“蓝”、“紫”。 (2)查询在“济南”的供应商号和名称。 (3)查询项目名以“三建”开头的项目号和所在城市。 (4)查询重量大于20的红色零件的零件信息。 (5)查询项目“j1”使用的“p1”零件的总数量。 (6)查询至少供应了项目“j2”使用的全部零件的供应商号。 (7)查询既供应项目“j1”零件“p1”,又供应项目“j3”零件“p1”的供应商号。 (8)假设数据库中存在项目使用零件表jp(jno,pno,sumqty),其属性分别为项目号、零件号、总数量。现在spj表上建立了一个触发器insert_spj,其定义如下: Create trigger insert_spj on spj after insert As

谢谢4 Begin Declare @jno char(4), @pno char(4),@sumqty int; Select @jno=jno, @pno=pno from inserted; Select @sumqty=sum(qty) from spj where jno=@jno and pno=@pno; If @sumqty>1000 Begin If exists(select * from jp where jno=@jno and pno=@pno) Update jp set sumqty=@sumqty where where jno=@jno and pno=@pno; Else Insert into jp values(@ jno, @pno, @sumqty ); End End 请说明上述触发器的含义。 (9)建立项目名为“三建”的项目视图,显示项目号、所在城市、供应商号、零件号、数量 (10)修改j表,增加负责人manager属性列 (11)创建新用户使其对s表有select和update的权限 5、设有如下关系R 课程名 教师名 教师地址 C1 C2 C3 C4 马千里 于得水 余快 于得水 D1 D1 D2 D1 (1)它为第几范式? 为什么? (2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的? (3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? 6. 4 设A=1,B=1,有如下两个事务:T1: 读B; A=B+2; 写回 A; T2: 读A; B=A+3; 写回B。若这两个事务并发执行,列出可能结果。并发事务执行是否正确的标准是什么?

相关文档
最新文档