U201614577_CS1603_龙际全_前两次1

preview
需积分: 0 0 下载量 155 浏览量 更新于2022-08-08 收藏 1.46MB DOCX 举报
在这个实践报告中,主要涉及了SQL语言的使用,包括数据建模、数据更新、查询以及数据库管理的一些高级特性。以下是具体的知识点解析: 1. **数据建模**: - 使用SQL语句创建数据库表,如USER、LABEL、MBLOG、B_L、FOLLOW、FRIENDS、SUB、THUMB和TOPDAY。每个表都有明确的字段定义,包含主键和外键,用于维护数据的一致性和完整性。 - 主键是表中唯一标识一条记录的字段,如USER中的UID,而外键则是引用其他表的主键,如MBLOG中的UID和B_L中的BID、LID。 2. **数据更新**: - 增加记录:使用`INSERT INTO`语句向表中添加新的数据行。 - 删除记录:使用`DELETE FROM`语句删除满足特定条件的记录。 - 修改记录:使用`UPDATE`语句更新表中已存在的数据。 3. **批处理操作**: - 插入新表:通过`INSERT INTO SELECT`语句将满足条件的记录批量插入到新表中,例如,将关注3号用户的用户信息插入到FANS_3表。 4. **数据导入导出**: - 学习如何使用DBMS提供的功能将数据导出到文件,再从文件导入到数据库,这通常涉及到`BACKUP`和`RESTORE`命令,或者是使用工具如SQL Server Management Studio的导出/导入向导。 5. **观察性实验**: - 不设置主键的后果:在无主键的关系中,可能会导致数据冗余和不一致,删除和修改操作可能无法达到预期效果。 6. **触发器**: - 触发器是一种特殊的存储过程,它在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行,用于实现业务规则,例如防止用户给自己点赞。 7. **SQL查询**: - 使用`SELECT`语句进行复杂查询,如: - 查询特定用户关注的其他用户信息,使用`JOIN`操作连接USER和FOLLOW表。 - 查找未被点赞的博文,利用子查询和LEFT JOIN排除已被点赞的记录。 - 根据日期和城市筛选进入过头条的博文,结合WHERE和JOIN子句。 - 查找订阅所有分类的用户,利用集合操作(如IN)和子查询。 - 分组和聚合函数(COUNT)用于统计城市或出生年份的用户数。 8. **其他高级查询**: - 使用`CASE`语句和`UNION`操作实现复杂的逻辑条件(出生年份在特定范围之外)。 - 复合分组(GROUP BY)和嵌套的聚合函数(COUNT)用于统计每个城市每个出生年份的用户数。 - `ORDER BY`子句用于排序查询结果,确保输出符合需求的顺序。 这个实践报告覆盖了数据库管理和SQL语言的基础和高级应用,提供了丰富的练习机会,有助于理解数据库系统的工作原理和实际操作技巧。