数据库作业题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库作业题目
作业一:ER 设计
题目一:用ER 图可以表达下列哪些数据完整性约束,不能表达哪些约束?能表达的给出ER 图。
1. 每门课选课人数不能低于10个,不能高于100个
答:不能表达约束 2. 课程名是唯一的
3. 不能供应不存在的零件
4. 性别只能为男或女
答:不能表达约束 5. 每个学生都必须得选课
6. 学生可以参加多个社团,但所参加的社团的活动时间必须不同
答:不能表达约束
7. 学生可以参加多个项目,参加不同的项目其指导老师也不同
课
课供
供
零
供应
零件
零件
零件
学
零
选
学
姓课课程课程
题目二:解答以下问题
1. 列举聚集、弱实体、细化/泛化的实用例子,并用ER 图表示出来。
聚集:客户签订合同与采购产品之间是聚集关系
弱实体:下图中教科书属于弱实体
学
项
老
参
指
细化/泛化:家俱与(桌子、椅子)属于细化/泛化关系
名厂
家
IS
桌椅
编编
2.E1(a1, a2, a3)E2(a3, a4)E3(a5, a6)E4(a3,
a5, a7),其中带下划线的属性标识为所在关系模式的主码。试画出相应的E-R图,使得可以从该E-R图推导出上述关系模式。
E-R图如下:
题目三:考虑设计一个关系数据库,它要存储以下信息:
●教师有教工号、教工名、职称;项目有项目号、项目名称、项目类型、
起始年份、截至时间、资助额;学生有学号、学生名、年龄、学位。
●学生分为本科生和研究生,老师按职称可以分为讲师、副教授、教授,
副教授以上职称的可以作为研究生的导师。
●一个教工可以负责多个项目;每个项目只能有一个负责人;一个老师可
以参与多个项目;一个本科生只能参与一个项目,一个研究生学生可以
参与多个项目;一个项目可以有多个学生和老师参与;学生参与项目时
必须(如果改为可以呢?)有一个老师作为他的指导老师。
E-R图如下:
题目四:下面是一张采购订单的票据,根据上面列出的信息,给出其实体联系模型。
货订
供应提
采编日
名业
货品状
作业二:关系代数
题目一:
S(SNO, SNAME, STATUS, CITY)
P(PNO, PNAME, COLOR, WEIGHT, CITY)
J(JNO, JNAME,CITY)
SPJ(SNO, PNO, JNO, QTY)
S表示供应商,各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市;
P表示零件,各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市;
J表示工程,各属性依次为工程号,工程名,工程所在城市;
SPJ表示供货关系,各属性依次为供应商号,零件号,工程号,供货数量。
基于以上SPJ关系模式用关系代数表达查询:
1.求向北京的工程供应了红色零件的供应商姓名。
∏S.SNAME(σS.SNO=SPJ.SNO∧P.COLOR=’红色’∧J.CITY=’北京’ ( S×P×J×SPJ))
2.求只向北京的工程供应零件的供应商姓名。
∏S.SNAME(σS.SNO=SPJ.SNO∧J.CITY=’北京’( S×J×SPJ))
3.求至少供应了两种不同零件的供应商姓名。
∏S.SNAME(S⋈ (σX.SNO=Y.SNO∧X.PNO ≠Y.PNO (ρX (SPJ) ×ρY (SPJ) ) )
4.求没有供应任何零件的供应商姓名。
∏S.SNAME(S⋈(∏S.SNO(S)- ∏S.SNO(SPJ) )
5.求供应了所有零件的供应商姓名。
∏S.SNAME(S⋈(∏SPJ.SNO,SPJ.PNO( SPJ)÷∏P.PNO (P) ))
6.求供应了所有红色零件的供应商姓名。
∏S.SNAME(S⋈(∏SPJ.SNO,SPJ.PNO( SPJ)÷∏P.PNO (σP.COLOR=’红色’ (P)) ))
7.求供应了s1号供应商所供应的所有零件的供应商的供应商号。
∏SNO, PNO (SPJ) ÷∏PNO (σSNO=’s1’( SPJ))
8.求和s1号供应商所供应的零件完全相同的供应商的供应商号。
∏SNO (SPJ)-∏SNO(∏SNO(SPJ)×∏PNO (σ SNO=’s1’(SPJ)) -∏SNO, PNO (SPJ) ) -∏SNO(∏SNO, PNO (SPJ)-∏SNO(SPJ)×∏PNO (σSNO=’s1’
(SPJ)) )
题目二:
对于关系R(A, B, C),用关系代数来检验A是否取值唯一。
关系R ≠ϕ并且R 中元组{ a, b, c }是唯一的,则:
X.A=Y.A ∧(X.B ≠Y.B∧X.C≠Y.C) (ρX(R)×ρY(R))结果如果恒定为1 ,说明A 的取值是唯一的。
作业三:基本SQL
S(SNO, SNAME, STATUS, CITY)
P(PNO, PNAME, COLOR, WEIGHT, CITY)
J(JNO, JNAME,CITY)
SPJ(SNO, PNO, JNO, QTY)
S表示供应商,各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市;
P表示零件,各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市;
J表示工程,各属性依次为工程号,工程名,工程所在城市;
SPJ表示供货关系,各属性依次为供应商号,零件号,工程号,供货数量。
基于以上SPJ关系模式用SQL完成下面的操作:
1.求没有供应p1和p2两种零件的供应商姓名。
select SNAME