数据库原理 第四章作业

本文详细介绍了如何使用SQL语句进行数据查询,包括查询特定品牌服装信息、顾客购买记录等,并通过实例展示了如何在教学管理数据库中进行学生信息、课程信息及选课情况的查询与管理。

作业完成者 :王典 2013211958

3、针对上题建立的表完成如下查询

-- 查询所有“佐丹奴”服装的服装ID、型号、颜色和价格



-- 查询购买了“美津浓”服装的顾客姓名和电话



-- 查询没有购买任何服装的顾客的信息



-- 查询购买所有“佐丹奴”服装的顾客信息

4、设有一个简单的教学管理数据库,其关系模式为:

学生(学号,姓名,专业,年龄)

课程(课程号,课程名,学分,先行课课程号)

选修(学号,课程号,成绩)

用SQL语句完成如下查询

-- 查询“通信工程”专业的所有学生信息


-- 查询所有课程的课程号和学分


-- 查询学生张珊所选课程的课程号及成绩


-- 查询选了所有课程的学生的学号


-- 查询没有选课的学生的信息



-- 查询选修了“数据库原理”的先行课的学生的学号


-- 删除学号为“9501”的同学的所有选课记录

原来的表:

操作:

后来的表:



-- 修改张林“数据库原理”课程的成绩为89

按照我的表,C005为数据库原理,9505位张林的学号

张林原来的成绩:

操作:

后来的成绩:


-- 建立选修了“数据库原理”的所有学生的学号、姓名、成绩的视图

视图的生成:

生成结果:



-- 在小题9的视图基础上,查询成绩大于90的相关信息


### 数据库原理第二章作业题目及答案 以下是关于数据库原理第二章(关系数据库知识)的一些典型作业题目及相关解答: #### 一、选择题 1. **下列哪一项不是关系模型的基本术语?** A. 属性 B. 元组 C. 单 D. 域 正确答案是C。单并非关系模型中的基本术语,而属性、元组和域均属于关系模型的核心概念[^1]。 2. **在关系数据库中,“候选键”的定义是什么?** A. 能唯一标识一条记录的一个或多个字段组合 B. 可以为空值的字段 C. 关系模式中任意选取的一列 D. 外部引用的关键字 正确答案是A。“候选键”是指能够唯一标识一条记录的一个或多个字段组合,这些字段不允许有重复值或空值。 --- #### 二、填空题 1. 在关系数据库中,______ 是指由若干个具有相同特性的元组构成的数据集合。 答案:关系 2. 如果一个关系满足第一范式,则该关系中的每一个分量都必须是一个不可分割的 ______ 。 答案:原子项 --- #### 三、简答题 1. **什么是关系代数中的投影操作?举例说明其作用。** 投影操作是从关系中选出某些特定的列形成一个新的关系。例如,在学生`Student(Sno, Sname, Sage)`中,如果只需要获取学生的姓名列,则可以执行如下SQL语句来实现投影操作: ```sql SELECT Sname FROM Student; ``` 这里只选择了`Sname`这一列作为新的结果集的一部分[^4]。 2. **解释规范化的作用以及它如何帮助减少数据冗余。** 规范化是一种通过分解关系的方式来消除冗余的过程。它的主要目标是将数据库设计成一组相互独立的关系,从而降低存储空间的需求并提高数据一致性。例如,当存在大量重复的信息时,可以通过将其拆分为不同的格并通过外键关联起来的方式解决这个问题。 --- #### 四、编程题 1. **假设有一个名为 `Course` 的,其中包含以下字段:`Cid`(程编号), `Cname`(程名称),编写 SQL 查询语句找出所有程名称中含有“计算机”三个字的课程信息。** 解决方案如下所示: ```sql SELECT * FROM Course WHERE Cname LIKE '%计算机%'; ``` 2. **给定两个:`Student(Sno,Sname,Sage)` 和 `SC(Sno,Cid,Grade)` ,请写出查询选修了程号为 K002 的学生的学号和姓名的四种方法(连接查询、普通子查询、相关子查询、使用 exists 关键字的相关子查询)。** 方法一:连接查询 ```sql SELECT DISTINCT S.Sno, S.Sname FROM Student AS S INNER JOIN SC ON S.Sno = SC.Sno WHERE SC.Cid = 'K002'; ``` 方法二:普通子查询 ```sql SELECT Sno, Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cid = 'K002'); ``` 方法三:相关子查询 ```sql SELECT Sno, Sname FROM Student AS S WHERE EXISTS ( SELECT * FROM SC WHERE SC.Sno = S.Sno AND SC.Cid = 'K002' ); ``` 方法四:使用 exists 关键字的相关子查询 ```sql SELECT Sno, Sname FROM Student AS S WHERE EXISTS ( SELECT * FROM SC WHERE SC.Sno = S.Sno AND SC.Cid = 'K002' ); ``` --- #### 五、综合分析题 1. **试述关系数据库的设计原则,并结合实际案例讨论如何避免异常情况的发生。** 设计良好的关系数据库应遵循一定的原则,比如实体完整性约束、参照完整性约束等。具体来说,为了防止更新异常、插入异常和删除异常等问题,通常会采用逐步规范化的方法对初始设计方案进行改进。例如,在处理员工工资管理系统时,若直接在一个大中保存每位员工的所有信息可能会引发上述问题;因此可考虑把部门信息单独提取出来作为一个新并与原建立联系,这样既简化了结构又增强了系统的灵活性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值