数据库语言程序设计复习题1005

合集下载

数据库考试题及答案

数据库考试题及答案

数据库考试题及答案一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪项?A. 数据定义B. 数据操纵C. 数据备份D. 数据加密答案:D2. 在关系数据库中,关系是指什么?A. 数据库B. 表C. 列D. 行答案:B3. SQL语言中,用于查询数据的关键字是?A. SELECTB. INSERTC. UPDATED. DELETE答案:A4. 数据库系统的核心是?A. 数据库管理系统B. 数据库C. 数据库管理员D. 数据库应用系统答案:B5. 以下哪个不是数据库系统的特点?A. 数据共享B. 数据独立性C. 数据冗余度高D. 数据控制答案:C6. 以下哪个不是数据库的三级模式?A. 外模式B. 概念模式C. 内模式D. 物理模式答案:D7. 以下哪个不是数据库的完整性约束?A. 实体完整性B. 参照完整性C. 用户定义完整性D. 数据库完整性答案:D8. 在关系数据库中,表与表之间的联系是通过什么实现的?A. 索引B. 视图C. 外键D. 触发器答案:C9. 以下哪个不是数据库设计阶段?A. 需求分析B. 概念设计C. 逻辑设计D. 物理设计答案:A10. 数据库系统与文件系统相比,以下哪个不是数据库系统的优点?A. 数据冗余度低B. 数据独立性高C. 数据安全性高D. 数据共享性低答案:D二、填空题(每题2分,共20分)1. 数据库管理系统(DBMS)是位于用户与______之间的一层数据管理软件。

答案:操作系统2. 在关系数据库中,表中的行称为______。

答案:记录3. SQL语言中,用于删除数据的关键字是______。

答案:DELETE4. 数据库系统的核心是______。

答案:数据库5. 数据库的三级模式包括外模式、______和内模式。

答案:概念模式6. 数据库的完整性约束包括实体完整性、参照完整性和______。

答案:用户定义完整性7. 在关系数据库中,表与表之间的联系是通过______实现的。

数据库复习题及答案

数据库复习题及答案

数据库复习题及答案一、选择题1. 数据库管理系统(DBMS)的主要功能是什么?A. 存储数据B. 管理数据C. 提供数据访问接口D. 所有以上选项答案:D2. 关系数据库中的“关系”指的是什么?A. 数据库文件B. 数据表C. 数据表之间的关系D. 数据库的物理存储答案:C3. SQL语言中的“SELECT”语句用于执行什么操作?A. 插入数据B. 更新数据C. 查询数据D. 删除数据答案:C4. 在数据库中,主键的作用是什么?A. 唯一标识表中的每条记录B. 存储数据C. 用于排序D. 用于数据加密答案:A5. 事务的ACID属性包括哪些?A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、完整性、持久性C. 原子性、隔离性、完整性、持久性D. 原子性、一致性、隔离性、安全性答案:A二、简答题1. 简述数据库的三级模式结构。

答案:数据库的三级模式结构包括外模式、概念模式和内模式。

外模式是用户视图,是用户与数据库交互的接口;概念模式是数据库的全局逻辑结构,描述了数据的逻辑组织;内模式是数据库的物理存储结构,描述了数据在存储介质上的存储方式。

2. 解释什么是范式以及数据库规范化的目的。

答案:范式是数据库设计中用来减少数据冗余和提高数据一致性的标准。

数据库规范化的目的是确保数据库结构的合理性,通过分解数据表来消除数据的重复存储,从而提高数据的一致性和完整性。

三、应用题1. 假设有一个学生信息数据库,包含学生表(Student),课程表(Course),选课表(Enrollment)。

学生表包含学号(StudentID),姓名(Name),年龄(Age);课程表包含课程ID(CourseID),课程名称(CourseName),学分(Credits);选课表包含学号(StudentID),课程ID(CourseID),成绩(Grade)。

请编写SQL 语句,查询所有选修了“数据库原理”课程的学生姓名及其成绩。

数据库设计考试

数据库设计考试

数据库设计考试(答案见尾页)一、选择题1. 数据库设计中,规范化的主要目的是什么?A. 减少数据冗余B. 增加数据一致性C. 提高数据完整性D. 确保数据安全性2. 在数据库设计中,以下哪个术语用来描述关系表中的一列或多列的组合?A. 主键B. 外键C. 列D. 行3. 以下哪个是数据库设计中的第一范式(NF)?A. 实体完整性规则B. 模糊性规则C. 引用完整性规则D. 非规范形式4. 在数据库设计中,什么是第二范式(NF)?A. 消除非主属性对候选键的部分函数依赖B. 消除非主属性对候选键的传递函数依赖C. 消除非主属性对候选键的全局函数依赖D. 消除非主属性对候选键的组合函数依赖5. 什么是数据库的三级模式结构?A. 外模式、模式和内模式B. 用户模式、子模式和存储模式C. 外模式、内模式和存储模式D. 用户模式、全局模式和子模式6. 在数据库设计中,什么是内模式(也称物理模式)?A. 描述数据库全体数据的逻辑结构和特征的程序和数据B. 描述数据库全体数据的高层抽象C. 描述数据在数据库内部的表示D. 描述数据的安全性和完整性7. 什么是数据库的外模式(也称子模式或用户模式)?A. 描述数据库全体数据的逻辑结构和特征的程序和数据B. 描述数据库全体数据的高层抽象C. 描述数据在数据库内部的表示D. 描述数据的安全性和完整性8. 在数据库设计中,什么是概念模型(也称为实体-关系模型)?A. 一种用于描述实体类型、实体间联系以及实体和联系性质的方法B. 一种用于描述数据库物理结构的方法C. 一种用于描述数据库数据的逻辑结构的程序和数据D. 一种用于描述数据库数据的安全性和完整性的方法9. 在数据库设计中,什么是数据库管理员(DBA)?A. 负责数据库的设计、维护和管理的人员B. 负责数据库的备份、恢复和性能优化的人员C. 负责数据库的日常操作和维护的人员D. 负责数据库的用户培训和权限管理的人员10. 在数据库设计中,什么是 E-R 图(实体-关系图)?A. 一种用于描述实体类型、实体间联系以及实体和联系性质的方法B. 一种用于描述数据库物理结构的方法C. 一种用于描述数据库数据的逻辑结构的程序和数据D. 一种用于描述数据库数据的安全性和完整性的方法11. 数据库设计的基本步骤包括哪些?A. 需求分析B. 概念设计C. 逻辑设计D. 物理设计E. 实施与维护12. 在数据库设计中,用来描述实体之间关系的术语是?A. 实体-关系模型B. 数据模型C. 结构模型D. 对象关系模型E. 组件模型13. 关系数据库中的规范化是为了解决数据冗余、插入异常、删除异常和更新异常等问题。

数据库复习试题(附带答案)

数据库复习试题(附带答案)

一、单项选择题(每小题2分,共30分)1.数据库系统的三级模式是指C。

A.外模式、模式、子模式B.子模式、模式、概念模式C.模式(逻辑模式)、外模式(子模式/用户模式)、存储模式(内模式)D.逻辑模式、子模式、模式2.数据库系统的数据独立性是指B。

A.不会因为数据的变化而影响应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构3.数据模型的主要组成要素中,用于描述系统静态特征的是A。

A.数据结构B.数据操作C.数据完整性约束D.数据联系4.关于关系数据库系统叙述错误的是D。

A.关系模型给出了关系操作的能力和特点,关系操作通过关系语言实现B.关系语言的特点是高度的非过程化C.SQL语言介于关系代数和关系演算之间D.关系操作能力可以用三种方式来表示:关系代数、元组关系演算和域关系演算5.要求关系中的元组在组成主键的属性上不能为空,这是B。

A.参照完整性规则B.实体完整性规则C.用户定义完整性规则D.域完整性规则6.在关系代数运算中,五种基本运算为D。

A.并、差、选择、投影、自然连接B.并、差、交、选择、投影C.并、差、交、选择、笛卡尔积D.并、差、选择、投影、笛卡尔积7.在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’→Y,则C。

A.Y函数决定X B.Y对X完全函数依赖C.X为关系R的候选码D.关系R属于2NF8.在关系数据库中,任何二元关系模式的最高范式必定是A。

A.BCNF B.3NF C.2NF D.1NF9.需求分析阶段得到的结果是D。

A.包括存储结构和存取方法的物理结构B.某个DBMS所支持的数据模型C.E-R图表示的概念模型D.数据字典描述的数据需求10.下面的选项中,哪些是数据库管理员的职责A。

①决定数据库中的信息内容和结构②定义数据的安全性要求和完整性约束③应用系统的需求分析和规范说明④确定系统的硬件配置并参与数据库系统的概要设计⑤决定数据库的存储结构和存取策略⑥负责设计应用系统的程序模块⑦数据库中数据的确定、数据库各级模式的设计A.①、②、⑤B.①、②、④、⑤C.①、④、⑤D.②、③、⑥、⑦11.设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是D。

数据库题库及答案精选全文完整版

数据库题库及答案精选全文完整版

可编辑修改精选全文完整版数据库题库及答案数据库技术是计算机科学中重要的一部分,广泛应用于各个领域。

为了更好地学习和理解数据库知识,题库是一个非常有用的资源。

本文提供一些常见的数据库题目及其答案,希望对读者的学习和实践有所帮助。

一、选择题1. 在关系数据库中,用于描述记录之间的关系的是:a) 表格b) 行c) 列d) 键答案:a) 表格2. 数据库管理系统(DBMS)的主要功能包括:a) 数据的存储和管理b) 数据的查询和分析c) 数据的备份和恢复d) 数据的安全性控制答案:a) 数据的存储和管理、b) 数据的查询和分析、c) 数据的备份和恢复、d) 数据的安全性控制3. 关系数据库中,用于唯一标识一条记录的属性被称为:a) 主键b) 外键c) 候选键d) 索引答案:a) 主键4. 数据库的范式用于描述数据库的结构是否符合某种规范。

以下哪一项不是数据库的范式:a) 一范式b) 二范式c) 三范式d) 四范式答案:d) 四范式5. 在SQL语句中,用于插入新记录的关键字是:a) SELECTb) UPDATEc) INSERTd) DELETE答案:c) INSERT二、填空题1. 在关系数据库中,每一行都代表一个________。

答案:记录2. 数据库中具有相同属性的记录集合被称为____________。

答案:表3. 在关系数据库中,用于检索某一部分记录的语句是________。

答案:SELECT4. 数据库设计中常用的三个范式依次是一范式、二范式和__________。

答案:三范式5. 数据库表中,用于唯一标识一条记录的属性被称为________。

答案:主键三、应用题1. 请列举至少三种数据库管理系统(DBMS)的类型,并简要描述它们的特点。

答案:关系型数据库管理系统(RDBMS):采用表格的形式组织数据,具有高度结构化和强一致性的特点。

常见的关系型数据库管理系统有MySQL、Oracle、SQL Server等。

数据库及程序设计总复习试题及答案

数据库及程序设计总复习试题及答案

数据库及程序设计复习资料第1章数据库系统概述一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

在这几个阶段中,数据独立性最高的是阶段。

A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。

A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。

A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。

A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。

A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。

A.数据库与数据库管理系统的相互独立B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。

A.同一个应用中的多个程序共享一个数据集合B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.数据库系统的核心是。

A.数据库 B.数据库管理系统 C.数据模型 D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。

A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10. 数将数据库的结构划分成多个层次,是为了提高数据库的①和②。

数据库编程语言考试

数据库编程语言考试

数据库编程语言考试(答案见尾页)一、选择题1. 什么是数据库编程语言?A. 一种用于与数据库进行交互的语言B. 一种用于编写程序的工具C. 一种数据库管理系统D. A和B2. 在数据库编程中,以下哪个概念描述了如何组织数据?A. 数据库模式B. 数据库模型C. 数据库管理系统D. 数据库体系结构3. 数据库事务的四个特性(ACID)包括哪些?A. 原子性B. 一致性C. 隔离性D. 持久性4. 以下哪个不是SQL语言中的数据类型?A.整数B. 字符串C. 自动编号D. 时间戳5. 在数据库查询中,哪种运算符用于组合多个条件?A. ANDB. ORC. NOTD. ALL6. 关系型数据库管理系统(RDBMS)和非关系型数据库管理系统(NoSQL)的主要区别是什么?A. 数据存储方式B. 数据处理能力C. 数据一致性模型D. 以上都是7. 什么是触发器?A. 一种数据库对象,用于自动执行一系列操作B. 一种数据库约束C. 一种数据库索引D. 以上都不是8. 在数据库设计中,以下哪个术语用于描述表之间的关系?A. 外键B. 子表C. 结构式查询语言(SQL)D. 关联9. 什么是数据库备份?A. 保存数据库所有数据的副本B. 生成数据库所有数据的副本的过程C. 修复数据库错误的操作D. 以上都不是10. 在数据库优化中,哪种策略通常用于提高查询性能?A. 创建更多的索引B. 优化查询语句C. 增加数据库硬件资源D. 重新设计数据库架构11. 下列哪项是关系型数据库管理系统(RDBMS)和非关系型数据库管理系统(NoSQL)之间的主要区别?A. 数据存储方式B. 数据模式C. 并发处理能力D. 数据库部署方式12. 在数据库编程中,什么是事务?A. 一段代码,用于执行特定的业务逻辑B. 一组操作,用于维护数据库的一致性和完整性C. 一个工作单元,用于执行多个数据库操作D. 一个过程,用于数据的导入导出13. 关系型数据库中的表和视图有什么不同?A. 视图是基于查询定义的虚拟表,而表是实际存储数据的实体B. 表是基于查询定义的虚拟表,而视图是实际存储数据的实体C. 视图是基于查询定义的虚拟表,而表是实际存储数据的实体D. 表是基于查询定义的虚拟表,而视图是实际存储数据的实体14. 什么是SQL语言?A. 一种用于创建、查询、更新和删除数据库中的数据的语言B. 一种用于编写数据库应用程序的高级编程语言C. 一种用于管理数据库的脚本语言D. 一种用于数据查询和修改的语言15. 在数据库编程中,什么是外键?A. 一种用于唯一标识表中每一行的约束B. 一种用于强制引用完整性的约束C. 一种用于定义表之间关系的机制D. 一种用于限制用户对表的访问的权限16. 什么是索引?A. 一种用于加速数据检索的数据结构B. 一种用于定义表中列与列之间关系的机制C. 一种用于存储数据的区域D. 一种用于排序和筛选数据的特性17. 在数据库编程中,什么是触发器?A. 一种用于自动执行特定操作的存储过程B. 一种用于响应数据库事件而执行的存储过程C. 一种用于定义表中行与行之间关系的机制D. 一种用于限制用户对表的访问的权限18. 在数据库编程中,什么是分区?A. 一种用于将大型表分成更小的独立单元的技术B. 一种用于定义表中列与列之间关系的机制C. 一种用于存储数据的区域D. 一种用于排序和筛选数据的特性19. 下列哪个不是关系型数据库管理系统(RDBMS)的特点?A. 高并发读写能力B. 用于事务处理和数据恢复C. 提供完整的数据库功能D. 支持面向对象的数据建模20. 以下哪个数据库类型支持SQL查询?A. 关系型数据库B. 非关系型数据库C. 面向对象的数据库D. 都支持21. 什么是数据库事务?A. 数据库中的一系列操作序列B. 一组原子性的SQL查询C. 一个逻辑单位,确保数据库操作的原子性、一致性、隔离性和持久性(ACID)D. 一种用于存储和管理数据的机制22. 在数据库中,什么是索引?A. 用于快速检索数据的数据结构B. 一种用于排序和筛选数据的方法C. 一个存储了数据库中所有记录的表格D. 一种用于唯一标识数据库中的每一行的特性23. 什么是数据库模式?A. 数据库中所有数据的集合B. 数据库中数据的结构和组织方式C. 一个数据库实例D. 一个包含数据库中所有元组的视图24. 在数据库系统中,什么是触发器?A. 一种用于强制数据完整性的机制B. 一种用于执行特定操作的自定义函数C. 当数据库事件发生时自动执行的程序或语句D. 一种用于备份数据库的机制25. 在数据库设计中,什么是规范化?A. 一种用于减少数据冗余的方法B. 一种用于确保数据一致性的方法C. 一种用于描述数据在数据库中的存储方式D. 一种用于设计数据库的过程26. 什么是数据库连接池?A. 一种用于提高数据库访问性能的技术B. 一种用于限制并发数据库连接数量的方法C. 一个数据库管理系统D. 一种用于管理数据库连接的框架27. 下列哪一个不是关系型数据库管理系统(RDBMS)的特点?A. 高并发读写能力B. 用于存储结构化数据C. 提供实时数据备份功能D. 支持事务处理28. 以下哪个数据库类型支持对象关系模型(ORDBMS)?A. 关系型数据库B. 非关系型数据库C. 对象关系型数据库D. 图形化数据库29. 在数据库设计中,什么是主键?A. 用于唯一标识表中的每一行/记录的一个或一组字段B. 用于唯一标识表中的每一列/字段的一个或一组字段C. 用于表示数据之间的关系D. 用于定义数据库中的视图30. 在数据库系统中,什么是外键?A. 一种用于唯一标识表中的每一行/记录的一个或一组字段B. 一种用于唯一标识表中的每一列/字段的一个或一组字段C. 一种用于表示数据之间的关系D. 一种用于定义数据库中的索引31. 在数据库系统中,什么是事务?A. 一系列不可分割的操作,用于保证数据的一致性B. 一种用于存储数据的时间戳C. 一种用于定义数据库权限的机制D. 一种用于数据备份和恢复的机制32. 什么是数据库的三范式?A. 第一范式要求表中的每一列都是原子的B. 第二范式要求表中的所有非主键列都依赖于主键C. 第三范式要求表中不存在非关键字段对主键的传递依赖D. 所有范式都是关系型数据库的标准范式33. 在数据库编程中,哪种数据类型通常用来存储文本信息?A.整数B.浮点数C.字符串D. 布尔值34. 什么是SQL?A. 结构化查询语言B. 面向对象的查询语言C. 数据库查询语言D. A和B都是35. 在数据库系统中,什么是索引?A. 一种数据结构,用于快速检索数据B. 一种数据库管理系统C. 一种用于数据完整性的技术D. A和B都是36. 关系型数据库中的主键具有什么特点?A. 必须唯一B. 可以包含空值C. 必须非空D. A和B都是37. 在数据库设计中,什么是外键?A. 一种数据完整性约束,确保关系型数据库中的数据一致性B. 一种用于数据加密的技术C. 一种数据库访问模式D. A和B都是38. 什么是事务?A. 一系列操作的集合,具有原子性、一致性、隔离性和持久性(ACID)B. 一种编程概念,用于处理多个操作C. 一种数据结构D. A和B都是39. 什么是视图?A. 一种虚拟表,其内容来自一个或多个表B. 一种数据库访问模式C. 一种数据转换技术D. A和B都是二、问答题1. 什么是SQL?它的主要功能是什么?2. 关系数据库中的三大范式是什么?请简述每个范式的含义。

数据库复习题

数据库复习题

数据库复习题# 数据库复习题## 一、选择题1. 数据库管理系统(DBMS)的主要功能是:A. 数据存储B. 数据处理C. 数据安全D. 数据管理2. 关系型数据库中,数据以什么形式组织?A. 树形结构B. 网状结构C. 表格形式D. 层次结构3. SQL语言中的“SELECT”语句用于:A. 插入数据B. 更新数据C. 查询数据D. 删除数据4. 在数据库设计中,规范化的目的是:A. 提高查询速度B. 减少数据冗余C. 增加数据安全性D. 简化数据结构5. 数据库事务的四大特性是:A. 原子性、一致性、隔离性、持久性B. 可扩展性、可维护性、可移植性、可用性C. 并发性、一致性、可靠性、安全性D. 原子性、一致性、完整性、持久性## 二、填空题1. 数据库的三级模式结构包括:_______、_______和_______。

2. 在数据库中,_______是最小的数据单位,_______是数据库中数据的最小存储单位。

3. 数据库的完整性约束包括:_______、_______、_______和_______。

4. 数据库的并发控制主要包括:_______、_______和_______。

5. 数据库备份的类型包括:_______、_______和_______。

## 三、简答题1. 简述数据库的三大范式,并说明它们各自的作用。

2. 解释什么是数据库的索引,并说明索引对数据库性能的影响。

3. 描述数据库的恢复机制,并举例说明其在实际应用中的重要性。

## 四、论述题1. 论述数据库设计过程中,如何平衡数据的规范化与反规范化?2. 讨论数据库安全性的重要性,并提出几种常见的数据库安全措施。

## 五、应用题1. 假设你正在设计一个图书馆管理系统的数据库,请列出至少五个实体,并为每个实体列出至少三个属性。

2. 给出一个SQL查询语句,用于检索所有借阅了书籍的读者的姓名和借阅日期。

## 六、案例分析题1. 分析以下SQL语句的执行逻辑,并指出可能存在的问题:```sqlSELECT * FROM Orders WHERE OrderDate BETWEEN '2023-01-01' AND '2023-01-31';```2. 考虑一个电子商务网站数据库,讨论如何设计其数据库以支持高并发的用户访问和数据一致性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库语言程序设计》复习题一、分析题(15分)一个图书馆理系统中有如下信息:图书:书号、书名、数量、位置借书人:借书证号、姓名、单位出版社:出版社名、邮编、地址、电话、E-mail其中约定:任何人可以借多种书,任何一种书可以被多个人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社名具有惟一性。

根据以上情况,完成如下设计:(1)设计系统的E-R图;5分(2)将E-R图转换为关系模式;5分(3)指出转换后的每个关系模式的关系键(主键,外键)。

5分解答:(1)图书关系模式:图书(书号,书名,数量,位置,出版社名)主键:书号外键:出版社名借书人关系模式:借书人(借书证号,姓名,单位)主键:借书证号出版社关系模式:出版社(出版社名,邮编,地址,电话,E-mail)主键:出版社名借阅关系模式:借阅(借书证号,书号,借书日期,还书日期)主键:(借书证号,书号)外键1:借书证号外键2:书号二、设计题1有一个[学生课程]数据库,数据库中包括三个表:学生表(学号,姓名,性别,年龄,所在系)课程表(课程号,课程名,先修课号,学分)成绩表(学号,课程号,成绩)用SQL语言编写实现下列功能的代码:1、建立一个[学生表],要求设置学号属性为主键,规定年龄大于16。

2、查询年龄在20至23岁之间的学生的姓名、系别、和年龄。

3、查询各系的人数及平均年龄。

4、计算“数据库原理”课程的学生平均成绩。

5、将计算机科学系全体学生的成绩置零。

6、创建一个“经济系”全体学生的视图V_JJX。

7、创建一个自定义函数,可以求解任意数n的阶乘累加和,即计算S = 1!+2!+3!+…… + n!,并用n=10调用该函数。

8、创建一个触发器,要求当更新课程表的课程号时,能更新成绩表中相应的课程号。

答案:1、建立一个学生表。

CREATE TABLE 学生表(学号 CHAR(5) PRIMARY KEY,姓名CHAR(20),性别 CHAR(2),年龄 INT CHECK(年龄>16),所在系 CHAR(15))2、查询年龄在20至23岁之间的学生的姓名、系别、和年龄SELECT 姓名, 所在系, 年龄FROM 学生表WHERE 年龄 BETWEEN 20 AND 233、查询各系的人数及平均年龄。

SELECT 所在系,COUNT(*),AVG(年龄)FROM 学生表GROUP BY 所在系4、计算数据库应用课程的学生平均成绩SELECT AVG(成绩)FROM 成绩表WHERE 课程号in( SELECT 课程号 FROM 课程表WHERE 课程名 ='数据库应用')5、将计算机科学系全体学生的成绩置零UPDATE 成绩表SET 成绩=0WHERE 学号 in( SELECT 学号 FROM 学生表WHERE 所在系 ='计算机科学系')6、create view V_JJXasselect * from 学生表WHERE 所在系 ='经济系'7、CREATE FUNCTION FC(@n INT)RETURNS BIGINT ASBEGINDECLARE @i int , @p bigint, @s bigintSELECT @i=1, @p=1, @s=0WHILE @i<=@nBEGINSET @p=@p*@iSET @s=@s+@pSET @i=@i+1ENDReturn @SENDGoselect dbo.FC(10) --调用8、Create trigger trupkc on kcFor updateAsDeclare @khold char(3), @khnew char(3)Select @khold=deleted.课程号, @khnew=inserted.课程号From deleted d , inserted iWhere d.课程名=i.课程名Update xs_kc set 课程号=@khnewWhere 课程号=@khold二、设计题2现有关系数据库如下:数据库名:医院管理医生表(医生编号,姓名,性别,出生日期,职称)病人表(病人编号,姓名,性别,年龄,身份证号)医疗表(ID,病人编号,医生编号,入院日期,病历描述)用SQL语言写出实现下列功能的语句代码:1. 创建数据库,库名“医院管理”,指定所有文件存放在e:\data\,其他参数均使用默认值。

2. 创建上述三表的建表代码;要求使用:主键(师医生表.编号,病人表.课号)、外键(病历表.医生编号,病历表.病人课号)、非空(职称,姓名)、检查(性别),自动编号(ID)3. 将下列医生信息插入到医生表编号姓名性别出生日期职称100001 王医生男 1963-5-18 副主任医师100002 郭医生女 1950-7-26 副主任医师100003 刘医生男 1973-9-18 医师4. 修改数据:将编号为100002的医生职称改为‘主任医师’5. 删除数据:删除职称为空且没有病人的医生信息6. 修改数据表,为病人表增加一列“联系电话”,约束为11位数字;为“入院日期”设置默认值约束为系统当前日期,用该默认值填充表中已有行的新列。

ALTER TABLE 病人表ADD CONSTRAINT date_dflt DEFAULT getdate() FOR 入院日期WITH V ALUES7. 查询:检索管有出生年份(从身份证号中截取)在1950到1960之间的病人的医生信息。

7. 查询:检索管有病人年龄在50到60之间的的医生信息。

8. 查询:查询所有姓王的病人姓名、病历描述、以及病人所对应的医生编号;9. 创建视图:医生患者视图(医生姓名,病人姓名,入院日期,病历描述);10.创建存储过程并执行该存储过程:输出某医生的看病人数(要求输入参数为:医生姓名,输出参数为:病人数)。

解答:1.CREATE DATABASE [医院管理]ON(NAME = 'yygl_Data',FILENAME ='E:\data\yygl_Data.MDF')LOG ON(NAME = 'yygl_Log',FILENAME ='E:\data\yygl_log.LDF' )gouse [医院数据库]go2.create table 医生表([医生编号] char(6) primary key,[姓名] nchar(4) not null,[性别] nchar(1) check([性别] in ('男', '女')),[出生日期]datetime ,[职称] char(18) not null)create table病人表([病人编号] char(6) primary key,[姓名] nchar(4) not null,[性别] nchar(1) check([性别] in ('男', '女')),[民族] nchar(10),[身份证号] char(18) not null)create table医疗表(ID IDENTITY(1, 1),[病人编号] char(6) references 病人表(病人编号),[医生编号] char(6) references 医生表(医生编号),[入院日期] datetime ,[病历描述] text)3.insert 医生表 values('100001', '王医生', '男', '1963-5-18', '副主任医师')insert 医生表 values('100002', '郭医生', '女', '1950-7-26', '副主任医师')insert 医生表 values('100003', '刘医生', '男', '1973-9-18', '医师')4.update医生表 set 职称='主任医师' where 医生编号='100002'5.Delete 医生表 where 职称 is null and 医生编号 not in (select 医生编号 from 医疗表) 6.Alter table 病人表Add 联系电话 char(11) CHECK (联系电话 LIKE ' [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]'ALTER TABLE 病人表ADD CONSTRAINT date_dflt DEFAULT getdate() FOR 入院日期 WITH VALUES7.select 医生编号, 姓名, 性别, 出生日期, 职称from 医生表where 医生编号 in (select 医生编号 from 医疗表 and病人编号 in(select 病人编号 from 病人表 where 年龄 between 30 and 50))8.Select br.姓名, br.病历描述, yl.医生编号from 病人表 br left join 医疗表 ylon br.病人编号 = yl.病人编号where br.姓名like ‘王%’9.create view [医生患者视图] (医生姓名,病人姓名,入院日期,病历描述)asselect ys.姓名,br.姓名, yl.入院日期,yl.病历描述from 病人表 as br join 医疗表 as ylon br.病人编号=yl.病人编号 join 医生表 as yson yl.医生编号=ys.医生编号10.create procedure [医生看病人数]@医生姓名 nchar(4), @人数 int outputasselect @人数=count(病人编号)from 医疗表where 医生编号 in(select 医生编号 from 医生表 where 姓名=@医生姓名)godeclare @TOTAL intexecute [医生看病人数] '王医生', @TOTAL二、设计题3(填空题)1、计算 1+2*3+4*5+6*7……+96*97+98*99的和,并使用PRINT显示计算结果。

相关文档
最新文档