《数据库原理》第三章课后SQL习题与解答

需积分: 11 0 下载量 32 浏览量 更新于2024-09-15 1 收藏 83KB PDF 举报
"数据库原理第三章课后习题答案,涉及关系数据库标准语言SQL的创建表、查询操作" 在《数据库原理》课程的第三章中,主要讨论了关系数据库的标准语言——SQL(Structured Query Language)。本章节的课后习题集中于使用SQL语句创建数据库表以及进行相关的查询操作。以下是这些习题的关键知识点: 1. **创建表**:SQL语句用于创建表,定义了表的结构,包括字段名、数据类型和约束条件。例如,创建S、P、J和SPJ四个表。在创建表时,`CREATE TABLE`语句用于指定表名,`CHAR`用于定义字符串类型,`INT`用于定义整型,`PRIMARY KEY`定义主键,`UNIQUE`和`NOT NULL`作为字段约束,`FOREIGN KEY`则定义外键,确保数据的一致性和完整性。 - S表:存储供应商信息,包含SNO(供应商编号,主键)、SNAME(供应商名称,唯一且非空)、STATUS(状态)、CITY(城市)。 - P表:存储零件信息,包含PNO(零件编号,主键)、PNAME(零件名称,非空)、COLOR(颜色)、WEIGHT(重量,检查其是否大于等于0)。 - J表:存储工程信息,包含JNO(工程编号,主键)、JNAME(工程名称,非空)、CITY(城市)。 - SPJ表:存储供应商、零件和工程之间的关联信息,包含SNO、PNO、JNO(分别作为外键引用S、P、J表的主键)和QTY(数量,检查其是否大于等于0),同时SNO、PNO、JNO组合构成复合主键。 2. **查询操作**:SQL的`SELECT`语句用于从表中检索数据,`DISTINCT`用于去除重复的查询结果,`WHERE`子句用于设定查询条件。 - (1) 查询供应工程J1的所有供应商号码SNO:通过`WHERE JNO='J1'`筛选出与工程J1相关的供应商。 - (2) 查询供应工程J1零件P1的供应商号码SNO:在(1)的基础上添加`AND PNO='P1'`,进一步限制查询条件。 - (3) 查询供应工程J1零件为红色的供应商号码SNO:需要联接SPJ和P表,通过`JOIN`操作将两个表关联,然后在`WHERE`子句中设置`JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红色'`。 这些习题不仅涵盖了基本的SQL语法,还涉及到数据库设计中的实体关系模型和数据完整性,是理解和掌握数据库操作的重要实践。通过解决这些习题,学生可以深入理解如何使用SQL来创建和操作数据库,这对于后续的数据库管理和数据分析工作至关重要。