《数据库原理及应用》实验报告主要涉及数据库设计与管理的核心概念,包括数据定义语言(DDL)、数据完整性、数据库操作以及单表查询。以下是对实验内容的详细解释:
1. 数据定义:
- 使用DDL(CREATE、ALTER、DROP)语句进行数据库对象的操作。CREATE用于创建数据库和表,ALTER用于修改表结构,DROP用于删除数据库和表。
- 主键(Primary Key):在S表中,SNO为主键;在P表中,PNO为主键;在J表中,JNO为主键。主键用于唯一标识表中的每条记录。
- 外部键(Foreign Key):SPJ表中的SNO、PNO、JNO分别作为S、P、J表的外部键,确保数据的引用完整性。
2. 创建数据库与表:
- 示例SQL语句:创建S表、P表、J表和SPJ表,分别设定主键和外键约束,以维护数据的一致性。
3. 数据库操作:
- DROP TABLE命令:尝试删除S表,由于存在外键约束,导致操作失败,因为这会违反引用完整性。
- 输入数据:输入数据时需遵守实体完整性和参照完整性的规则,例如,输入S表数据时,SNO不能为空;输入SPJ表数据时,SNO、PNO、JNO必须是已存在的主键值。
4. 修改表结构:
- ALTER TABLE语句用于添加、修改或删除列,例如增加TEL字段、修改SNAME的数据类型、删除TEL字段。
- 添加CHECK约束:在P表中,添加零件重量的限制,确保其在0到100之间。
5. 完整性验证:
- 主键约束:不能有重复的主键值,如试图插入重复的SNO记录,会失败。
- 参照完整性:插入SPJ表数据时,SNO、PNO、JNO必须对应S、P、J表的有效主键值,否则插入失败。
- 检查(CHECK)约束:输入P表数据时,必须符合权重的范围,否则无法插入。
6. 单表查询:
- 使用SELECT语句进行数据检索,如查询所有供应商的名称和城市,所有零件的名称、颜色和重量。查询可以包含投影(指定要返回的列)、选择条件(WHERE子句)、排序(ORDER BY子句)和分组(GROUP BY子句)等操作。
通过这个实验,学生能深入理解SQL语句的使用,掌握数据库的基本操作,理解数据完整性的重要性,并能够进行简单的数据查询和处理。在遇到问题时,通常需要检查数据是否符合完整性约束,或者调整SQL语句以满足查询需求。在实际应用中,这些技能是数据库管理和应用开发的基础。