CASE-END在数据库SQL中的应用——评分系统与T-SQL讲解

需积分: 11 2 下载量 145 浏览量 更新于2024-07-12 收藏 3.09MB PPT 举报
"CASE-END示例-高级数据库sql——课件" 这篇课件主要探讨了在SQL中如何使用CASE-END语句处理数据分类的问题,特别是针对成绩的五级评分标准。CASE-END语句允许根据特定条件对数据进行逻辑判断,并返回不同的结果。在这个示例中,它被用来将学生的笔试成绩转化为ABCDE五个等级。 课件首先介绍了美国的ABCDE评分标准: - A级:90分以上 - B级:80-89分 - C级:70-79分 - D级:60-69分 - E级:60分以下 接着,课件提到了两个数据库对象,sysdatabases和sysobjects,这两个是SQL Server中的系统视图,用于管理和查看数据库中的对象信息。sysdatabases提供关于数据库的信息,而sysobjects则包含所有数据库对象的详细列表。 课件还涵盖了数据库设计的一些元素,例如: 1. 主键(PK_stuNo):表示一个唯一标识每个学生的键,确保数据的完整性。 2. 唯一性约束(UNIQUE(stuID)):防止stuID字段中的重复值。 3. 默认值(DEFAULT('地址不详') FOR stuAddress):当没有提供stuAddress时,自动填充为'地址不详'。 4. 年龄范围约束(stuAge BETWEEN 15 AND 40):限制stuAge字段的值在15到40之间。 5. 检查约束(stuNo NOT stuInfo(stuNo)):确保stuInfo表中的stuNo不存在于stuNo字段中,避免自关联。 在T-SQL(Transact-SQL,SQL Server的扩展)部分,课件讲解了变量的使用,包括局部变量(@)和全局变量(@@)。局部变量仅在当前批处理或存储过程中有效,而全局变量在整个会话中都有效。讲解了如何声明、赋值以及使用SET和SELECT语句的区别。SET用于简单的赋值,SELECT用于从查询结果中赋值,但必须保证返回单条记录,否则可能会导致未预期的结果。 课件提出了一个问题,如何找到“李文才”的同桌(张秋丽和李斯文),通过这个问题引导学生思考如何利用SQL查询相邻的记录。这个问题的解决步骤包括获取李文才的座位号,然后查询座位号加1或减1的记录。 此外,课件还提到了print语句,它用于在控制台输出信息,类似于Java的printf()函数。同时,讲解了convert函数,用于数据类型的转换,这对于处理日期、时间或其他数据类型的数据非常有用。 最后,课件介绍了SQL Server的IF-ELSE语句和BEGIN-END块,这是条件控制结构,与Java等编程语言中的if-else语句类似,用于执行基于条件的代码块。 总结来说,这个课件涵盖了CASE-END语句在成绩分类中的应用,数据库设计原则,T-SQL变量的使用,查询相邻记录的方法,以及控制流结构的介绍,这些都是数据库管理和开发中的关键概念。