《SQL Server2008数据库技术应用》习题2 《SQL Server2008数据库技术应用》习题2 概述 ■数据库:数据库(Database,.简称DB)是长期储存在计算机内、有组织的、 共享的大量数据集合】 特点 数据 一定的数据模型组织、描述和存储。 数据之间相互关联 可为各种用户共享 冗余度较小 数据独立性较高 ■DBMS:什么是DBMS 数据库管理系统(Database Management System,简称DBMS)是位于用户与 操作系统之间的一层数据库管理软件。为用户或应用程序提供访问数据库的 方法,是用来管理数据库的计算机应用软件。 DBMS的用途 为用户提供访问数据库的接口,使用户能方便地管理和控制数据库。 ■DBS:数据库系统(Database System,DBS)是实现有组织地、动态地存 储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系 盆,即采用工数据库技术的计算机系统 从狭义上来讲,数据库系统主要是指数据库、数据库管理系统和用户。从 义上来讲,它不仅包括数据库、数据库管理系统和用户,还包括计算机硬件、 操作系统和维护人员。其中,数据库管理系统是数据库系统的核心和主体, 它保证了数据库的独立性和共享性。 特点:数据独立、数据结构化 数据共享性高、 余度低、易扩充 数据由DBMS统一管理和控制 ■为什么要用数据库系统代替文件系统管理数据? 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷: 数据冗余(redundancy 数据与应用的独立性差(independency) 数据联系弱(poor data relationship) 数据库系统: 数据由DBMS统一管理与控制 数据的整体性 数据的共享性高,冗余少 数据的独立性高 数据的整体结构化
《SQL Server 2008 数据库技术应用》习题 2 《SQL Server 2008 数据库技术应用》习题 2 概述 ◼ 数据库:数据库(Database,简称 DB)是长期储存在计算机内、有组织的、 可共享的大量数据集合。 特点: 数据按一定的数据模型组织、描述和存储。 数据之间相互关联 可为各种用户共享 冗余度较小 数据独立性较高 ◼ DBMS:什么是 DBMS 数据库管理系统(Database Management System,简称 DBMS)是位于用户与 操作系统之间的一层数据库管理软件。为用户或应用程序提供访问数据库的 方法,是用来管理数据库的计算机应用软件。 DBMS 的用途: 为用户提供访问数据库的接口,使用户能方便地管理和控制数据库。 ◼ DBS :数据库系统(Database System,DBS)是实现有组织地、动态地存 储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系 统,即采用了数据库技术的计算机系统。 从狭义上来讲,数据库系统主要是指数据库、数据库管理系统和用户。从广 义上来讲,它不仅包括数据库、数据库管理系统和用户,还包括计算机硬件、 操作系统和维护人员。其中,数据库管理系统是数据库系统的核心和主体, 它保证了数据库的独立性和共享性。 特点:数据独立、数据结构化 数据共享性高、冗余度低、易扩充 数据由 DBMS 统一管理和控制 ◼ 为什么要用数据库系统代替文件系统管理数据? 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷: 数据冗余(redundancy) 数据与应用的独立性差(independency) 数据联系弱(poor data relationship) 数据库系统: 数据由 DBMS 统一管理与控制 数据的整体性 数据的共享性高,冗余少 数据的独立性高 数据的整体结构化
《SQL Server2008数据库技术应用》习题2 使用数据库系统的优点: 便于数据的集中管理,减少数据冗余,提高数据的利用率和一致性 可以大 提高应用开发的效率,减少开发人员的工作量, 维护方便,可以减轻数据库系统管理人员维护系统的负担。 ■数据库系统由哪些部件构成? 数据库管理系统(及其开发工具)、应用系统、数据库管理员 (和用户)构成。 ■数据库系统的三级模式结构以及它是如何保证数据库系统的两级数据独 立性的? (1)外模式、模式、内模式 应用A应用B应用C应用D应用E 外模式力外模式2外模式3 ■丁外模式/模式映象 棋式 桃式/内模式映象 内模式 数据库 外模式/模式映象的用途: 保证数据的逻辑独立性 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持 不变 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据 与程序的逻辑独立性,简称数据的逻辑独立性。 模式/内模式映象的用途: 保证数据的物理独立性 当数据库的存储结检改变了(例如选用了另一种存储结构),数据库管理员 修改模式/内模式映象,使模式保持不变 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。 数据模型 现实世界中的信息如何能够进入计算机 将这些信息转化成计算机能处理的数据,数据库中用数据模型来抽象、描述和处 理现实世界中的数据
《SQL Server 2008 数据库技术应用》习题 2 使用数据库系统的优点: 便于数据的集中管理,减少数据冗余,提高数据的利用率和一致性。 可以大大提高应用开发的效率,减少开发人员的工作量。 维护方便,可以减轻数据库系统管理人员维护系统的负担。 ◼ 数据库系统由哪些部件构成? 由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员 (和用户)构成。 ◼ 数据库系统的三级模式结构以及它是如何保证数据库系统的两级数据独 立性的? (1)外模式、模式、内模式 应用 A 应用 B 应用 C 应用 D 应用 E 外模式 1 外模式 2 外模式 3 外模式/模式映象 模式 模式/内模式映象 内模式 数据库 外模式/模式映象的用途: 保证数据的逻辑独立性 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持 不变 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据 与程序的逻辑独立性,简称数据的逻辑独立性。 模式/内模式映象的用途: 保证数据的物理独立性 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员 修改模式/内模式映象,使模式保持不变 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。 数据模型 ◼ 现实世界中的信息如何能够进入计算机? 将这些信息转化成计算机能处理的数据,数据库中用数据模型来抽象、描述和处 理现实世界中的数据
《SQL Server2008数据库技术应用》习题2 ■数据模型的两个层次 1概今模型 也称信息模型,它是按用户的观点来对数据和信息建模。概念 模型不依赖计算机及DBMS 结构模型也称为逻辑模型它是按计算机系统的观点对数据建模,受到计算 机平台、DBMS的限制,直接影响数据库的最终实现。主要包括网状模型、 层次模型、关系模型等。 ■概念模型有什么特点?通常如何表示? (1)能真实、充分地反映现实世界。 易于更改 (2)E-R图 ■实体之间的联系有哪些类型?(举例) 1:1.1n.mn 1:1:读者与读者卡号 mn:由于 本图书可以借给多个学生阅读,而一个学生又可以借阅多本图 书,因此图书与读者之间是mn的联系: 1:由于一个读者属于一种读者类型,一种读者类型包括多名读者,因此读 者类型与读者之间是1n的联系。 ■粉据模刑的二要者 数据结构 数据操作 数据完整性约束 ■常见的三种数据模型 非关系模型 数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系 3)关系模型(Relational Model 数据结构: 层次模型、网状模型、关系模型 ■关系模型是如何来表达有关现实世界中的事物及事物之间的联系的信息 的? 关系模型用二维表格表示数据之间的联系,是目前最重要的数据模型。 关系模型建立在严格的数学概念的基础上,从用户角度来看,关系模型由 组关系组成,每个关系的数据结构是一张规范化的二维表。 数据库设计 数据库系统设计包括哪些内容? 一需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库的运行和维护
《SQL Server 2008 数据库技术应用》习题 2 ◼ 数据模型的两个层次 1.概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。概念 模型不依赖计算机及 DBMS。 2.结构模型 也称为逻辑模型它是按计算机系统的观点对数据建模,受到计算 机平台、DBMS 的限制,直接影响数据库的最终实现。主要包括网状模型、 层次模型、关系模型等。 ◼ 概念模型有什么特点?通常如何表示? (1) 能真实、充分地反映现实世界。 易于理解 易于更改 (2)E-R 图 ◼ 实体之间的联系有哪些类型?(举例) 1:1,1:n,m:n 1:1:读者与读者卡号 m:n:由于一本图书可以借给多个学生阅读,而一个学生又可以借阅多本图 书,因此图书与读者之间是 m:n 的联系; 1:n:由于一个读者属于一种读者类型,一种读者类型包括多名读者,因此读 者类型与读者之间是 1:n 的联系。 ◼ 数据模型的三要素 数据结构 数据操作 数据完整性约束 ◼ 常见的三种数据模型 非关系模型 1) 层次模型(Hierarchical Model) 2) 网状模型(Network Model ) 数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系 3) 关系模型(Relational Model) 数据结构:表 →层次模型、网状模型、关系模型 ◼ 关系模型是如何来表达有关现实世界中的事物及事物之间的联系的信息 的? 关系模型用二维表格表示数据之间的联系,是目前最重要的数据模型。 关系模型建立在严格的数学概念的基础上,从用户角度来看,关系模型由一 组关系组成,每个关系的数据结构是一张规范化的二维表 。 数据库设计 数据库系统设计包括哪些内容? – 需求分析 – 概念结构设计 – 逻辑结构设计 – 物理结构设计 – 数据库实施 – 数据库的运行和维护
《SQL Server2008数据库技术应用》习题2 ■物据库系练设补的各个先警的红客是什久? 1、需求分析: 准确了 分析用户需求(这是整个数据库设计的基础)。需求分 析要收集数据库所有用户的信息内容和处理要求,并加以归纳和分析,建立系统 说明文档。 2、概念结构设计:通过对用户的需求进行综合归纳与抽象,形成一个独立于具 体DBMS的概念模型,是整个数据库设计的关键 、逻辑结构设计 在概念模型的基础上 根据实际应用的需要导出一种DBMS 支持的逻辑数据模型,并进行优化。该模型满足数据库存储、一致性及运行等各 方面的用户需求。 4、物理结构设计: 目标是从一个满足用户需求的己确定的逻辑模型出发,在限定的软、硬件环境下, 利用DBMS提供的各种手段设计一个可实现的、运行高效的物理数据库结构, 包括选择数据库文件的存储结构、选择索引、分配存储空间以形成数据库的内模 式 5、数据库实施: 设计人员运用DBMS提供的数据定义语言及宿主语言,根据逻辑设计和物理设 计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 库云行和雄护 数据库系统经过试运行后,即可投入正式运行。在数据库系统运行过程中需要不 析地对其进行评价、调整与修改。 例题:数据库设计 工厂广答理数据库要求存储下述信息 产品:产品编号,产品名,规格等 工人: 工人编号,姓名,性别,年龄,职称等 车间:车间名称,负责人,地址等 并约定:: 一个车间可生产多种产品,一种产品可由多个车间生产,并记录每个车间生产的 每种产品的数量 一个车间可有多个工人,一个工人只能属于一个车间。 (1)根据上述信息设计数据库的概念模型,画出E-R图,用下划线标明各实体 的主码,并标明实体间的联系的类型(1n,mn,1:1) (2)将上述概念模型转化为关系模式,并标明主码(加下划线)和外码(用文 字道明) 概念设计
《SQL Server 2008 数据库技术应用》习题 2 ◼ 数据库系统设计的各个步骤的任务是什么? 1、需求分析:准确了解与分析用户需求(这是整个数据库设计的基础)。需求分 析要收集数据库所有用户的信息内容和处理要求,并加以归纳和分析,建立系统 说明文档。 2、概念结构设计:通过对用户的需求进行综合归纳与抽象,形成一个独立于具 体 DBMS 的概念模型,是整个数据库设计的关键。 3、逻辑结构设计:在概念模型的基础上,根据实际应用的需要导出一种 DBMS 支持的逻辑数据模型,并进行优化。该模型满足数据库存储、一致性及运行等各 方面的用户需求。 4、物理结构设计: 目标是从一个满足用户需求的已确定的逻辑模型出发,在限定的软、硬件环境下, 利用 DBMS 提供的各种手段设计一个可实现的、运行高效的物理数据库结构, 包括选择数据库文件的存储结构、选择索引、分配存储空间以形成数据库的内模 式。 5、数据库实施: 设计人员运用 DBMS 提供的数据定义语言及宿主语言,根据逻辑设计和物理设 计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 6、数据库运行和维护: 数据库系统经过试运行后,即可投入正式运行。在数据库系统运行过程中需要不 断地对其进行评价、调整与修改。 例题:数据库设计 一个工厂管理数据库要求存储下述信息: 产品:产品编号,产品名,规格等 工人:工人编号,姓名,性别,年龄,职称等 车间:车间名称,负责人,地址等 并约定:: 一个车间可生产多种产品,一种产品可由多个车间生产,并记录每个车间生产的 每种产品的数量; 一个车间可有多个工人,一个工人只能属于一个车间。 (1)根据上述信息设计数据库的概念模型,画出 E-R 图,用下划线标明各实体 的主码,并标明实体间的联系的类型(1:n,m:n,1:1) 。 (2)将上述概念模型转化为关系模式,并标明主码(加下划线)和外码(用文 字说明)。 概念设计
《SQL Server2008数据库技术应用》习题2 产品编竖 产品色规格 产品 m 生产数量○ 1 性别D n 车间中 工作 工人 负责人车间名地址)工号 (年龄) 职称○ (姓名 逻辑设计 ■产品(产品编号,产品名,规格》 ■车间(车间名称,负责人,地址) ■工人(工人编号,姓名,性别,年龄,职称,车间),车间为外码,引用 车间关系的车间名称 ■生产(产品编号,车间名称,生产数量) 产品编号,车间名称为外码,分别引用车间关系和产品关系中的车间名称和产品 编号。 个仓储管理数据库要求存储下述信息: (1)商品:商品代码,商品名称,数量,单价,存放的仓库等 (2)供应商:厂名,地址,联系人等 (3)仓库:仓库号,地点,负责人等 并约定: ()一种商品可以由多个供应商供货,一个供应商供应多种商品,且需要记录 每个供应商所供应的不同商品的数量。 (2)一种商品只能存储在某一个仓库,而一个仓库可存储多种商品 【考的就是这个例子、还好不是很难、真是谢谢老师了。。】 关系数据库 ■关系的完整性(具体应用) ■实体完整性 ■参照完整性 ■用户定义的完整性 ■如何来实现上述的关系数据库完整性约束? 实体完整性:给每个关系定义主码。 参照完整性:建立关联
《SQL Server 2008 数据库技术应用》习题 2 逻辑设计 ◼ 产品(产品编号,产品名,规格) ◼ 车间(车间名称,负责人,地址) ◼ 工人(工人编号,姓名,性别,年龄,职称,车间),车间为外码,引用 车间关系的车间名称 ◼ 生产(产品编号,车间名称,生产数量) 产品编号,车间名称为外码,分别引用车间关系和产品关系中的车间名称和产品 编号。 其他例子 ◼ 一个仓储管理数据库要求存储下述信息: (1)商品:商品代码,商品名称,数量,单价,存放的仓库等 (2)供应商:厂名,地址,联系人等 (3)仓库:仓库号,地点,负责人等 并约定: (1) 一种商品可以由多个供应商供货,一个供应商供应多种商品,且需要记录 每个供应商所供应的不同商品的数量。 (2)一种商品只能存储在某一个仓库,而一个仓库可存储多种商品 【考的就是这个例子、还好不是很难、真是’谢谢’老师了。。。】 关系数据库 ◼ 关系的完整性(具体应用) ◼ 实体完整性 ◼ 参照完整性 ◼ 用户定义的完整性 ◼ 如何来实现上述的关系数据库完整性约束? 实体完整性:给每个关系定义主码。 参照完整性:建立关联
《SQL Server2008数据库技术应用》习题2 用户自定义的完整性:定义有效性规则、应用程序控制。 关系代数 U(并运算 一(差运算) n(交运算) 0(洗择) π(投影) (连接 学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,学分,课程性质) 选课(学号 课程号, 成绩) 1.查询选修了课程名为“数据库”的学生的学号和姓名。 π学号、姓名((o课程名=‘数据库’(学生∞选课)) 2.查询“计算机系”的学生所选修的课程的课程号和课程名? π课程号、课程名(。所在系=‘计算机系'(学生∞课程)) 3.没有选修课程号为C02课程的学生学号 π学号(学生) π学号(课程号 C02 ”(选课) 4.查询每个学生的学号、姓名、选修的课程名及成绩。 π学号、姓名、课程名、成绩(学生∞选课∞课程) 5.查询选修了课程号为C01课程的学生的学号、姓名和成绩 工学号、姓名 成绩(0里积号=‘C01学生∞选里)) 6. 查询选修了C01号课程或C02号课程的学生学号和成绩 π学号、成绩(o课程号=‘C01’V0课程号=‘C02’(选课) 7.查询同时选修C012课程和选修C02课程的学生学号和成绩。 π学号、成绩(o课程号=‘C01'(选课)∩π学号、成绩(σ课程号=‘C02' (选课) TSQL语言 ■创建表、修改表(见表的管理实验) ■数据输入、删除和修改 ■查询 条件、排序、分组统计、联接 使用T-SQL命令在teachingData数据库中创建表SInfo表,SInfo表的表结构如 下 列名 做据类型长度备注 SID myID 主关键字 SName myNamel 不允许为空 char 其值只能为“男”或“女
《SQL Server 2008 数据库技术应用》习题 2 用户自定义的完整性:定义有效性规则、应用程序控制。 关系代数 ∪(并运算) -(差运算) ∩(交运算) σ(选择) π(投影) ∞(连接) 学生选课库的关系模式为: 学生(学号,姓名,性别,年龄,所在系); 课程(课程号,课程名,学分,课程性质); 选课(学号,课程号,成绩). 1. 查询选修了课程名为“数据库”的学生的学号和姓名。 π学号、姓名(σ课程名=‘数据库’(学生∞选课)) 2. 查询“计算机系”的学生所选修的课程的课程号和课程名? π课程号、课程名(σ所在系=‘计算机系’(学生∞课程)) 3. 没有选修课程号为 C02 课程的学生学号。 π学号(学生)—π学号(σ课程号=‘C02’(选课)) 4. 查询每个学生的学号、姓名、选修的课程名及成绩。 π学号、姓名、课程名、成绩(学生∞选课∞课程) 5. 查询选修了课程号为 C01 课程的学生的学号、姓名和成绩。 π学号、姓名、成绩(σ课程号=‘C01’(学生∞选课)) 6. 查询选修了 C01 号课程或 C02 号课程的学生学号和成绩。 π学号、成绩(σ课程号=‘C01’∨σ课程号=‘C02’(选课)) 7. 查询同时选修 C012 课程和选修 C02 课程的学生学号和成绩。 π学号、成绩(σ课程号=‘C01’(选课))∩π学号、成绩(σ课程号=‘C02’ (选课)) T-SQL 语言 ◼ 创建表、修改表(见表的管理实验) ◼ 数据输入、删除和修改 ◼ 查询 条件、排序、分组统计、联接 使用 T-SQL 命令在 teachingData 数据库中创建表 SInfo 表,SInfo 表的表结构如 下: 列名 数据类型 长度 备注 SID myID 主关键字 SName myName1 不允许为空 Sex char 2 其值只能为“男”或“女
《SQL Server2008数据库技术应用》习题2 Birthday smalldatetime Dept nyDept major archar Class varchar 18 8 不允许为空 创建表 create table sinfo (SIDmyID not nul Sex char(2)check(Sex=男'or Sex=-女'), Birthday smalldatetime, Dept myDept, r30 IDCardNo char(18)not null) 修改表 ■修改表SInfo表的表结构,设置DCardNo值为唯一的,设置Sex的默认值 为“男”。 alter table SInfo add unique(IDCardNo) alter table SInfo alter constraint defa sex default (for Sex 数据输入、删除、修改 1.将所有学生的年龄增加1岁。 UpdatesInfo 大奖位里架课的成绩。(学号1026,课程号c02,成绩86 =Birthday+l Update =86 where 学号=100026and课程号-C0002 3.删除某一门课的选课记录。(课程号C0005) Delete from courselnfo Where CID=‘C0o05 4册别除某个学生的洗课记录。(学号100026 Delete from courselnfo Where SID=100026' and stulnfo.SID=courselnfo.SID 数据查询 学生(学号,姓名,性别,年龄,所在系,专业) 课程(课程号,课程名,学分,课程性质):
《SQL Server 2008 数据库技术应用》习题 2 Birthday smalldatetime Dept myDept major varchar 30 Class varchar 18 IDCardNo char 18 不允许为空 创建表 create table SInfo (SID myID primary key, Sname myName1 not null, Sex char(2) check(Sex='男'or Sex='女'), Birthday smalldatetime, Dept myDept, major varchar(30), Class varchar(18), IDCardNo char(18) not null) 修改表 ◼ 修改表 SInfo 表的表结构,设置 DCardNo 值为唯一的,设置 Sex 的默认值 为“男”。 。 alter table SInfo add unique(IDCardNo) alter table SInfo alter constraint defa_sex default (‘男’) for Sex 数据输入、删除、修改 1. 将所有学生的年龄增加 1 岁。 Update sInfo Set Birthday= Birthday+1 2. 输入某位学生某门课的成绩。(学号 100026,课程号 C0002,成绩 86) Update scoreInfo Set 成绩=86 where 学号=100026 and 课程号=C0002 3. 删除某一门课的选课记录。(课程号 C0005) Delete from courseInfo Where CID=‘C0005’ 4. 删除某个学生的选课记录。(学号 100026) Delete from courseInfo Where SID=‘100026’and stuInfo.SID=courseInfo.SID 数据查询 学生(学号,姓名,性别,年龄,所在系,专业) 课程(课程号,课程名,学分,课程性质);
《SQL Server2008数据库技术应用》习题2 选课(学号,课程号,成绩) 查询某个学生的选课记录,包括课程号、成绩,并按课程号降序排序。(学 号为0001026或姓名为王萍 Select课程号,成绩from选课 Where学号=‘0001026 Order by课程号DESC Select课程号,成绩from选课 Where (select姓名from学生 Where字生. 学号=选课学号) 2.查询所有学号以101开头或结尾(或姓张)的学生的学号、姓名和所在 系。 Select学号,姓名,所在系from学生 Where学号like‘101%/%101'/姓名1ike ‘张0%” 3. 查询某个系年龄不大于20岁的男同学的姓名及其年龄(如计算机系)。 Select姓名,年龄from学生 Where年龄<=20and所在系=‘计算机系'and性别=‘男' 4.查询选修某一门课的学生的学号和成绩,查询结果按分数降序排列。(课 程名为数据分析”) Select学号,成绩from选课,课程 Where选课课程号=课程.课程号and课程名=‘数据分析 Order by分数DESC 5.查询某个系的学生的选课情况,包括学号、姓名、课程号和成绩,按课 程号降序排列(如计算机系)。 Order by课程号DESC 6.查询学生表中都有哪些专业或者选课表中都有哪些课被选了。 Select distinct专业from学生 Select课程号on选课 分组统计每 、学生的选课门数,显示学号和选课门数 Select学号AS学号,count(◆)AS选课门数from课程 Group by学号 8.分组统计查询每门课的平均分、最高分、最低分,显示课程号、平均分、 最高分和最低分。 Select课程号AS课程号,max(score)AS最高分,min(score)AS最低 分,avg(score)AS平均分from选课 Group by课程号 视图 ■视图与基本表的区别联系 1)区别 视图是从一个或多个基本表或视图中导出的虚表。 视图和基本表有本质上的区别,视图在数据库中只是存储视图的定义,而不是查 询出来的数据
《SQL Server 2008 数据库技术应用》习题 2 选课(学号,课程号,成绩). 1. 查询某个学生的选课记录,包括课程号、成绩,并按课程号降序排序。(学 号为 0001026 或姓名为王萍) Select 课程号,成绩 from 选课 Where 学号=‘0001026’ Order by 课程号 DESC Select 课程号,成绩 from 选课 Where ‘王萍’=(select 姓名 from 学生 Where 学生.学号=选课.学号) 2. 查询所有学号以 101 开头或结尾(或姓张)的学生的学号、姓名和所在 系。 Select 学号,姓名,所在系 from 学生 Where 学号 like‘101%’ / ‘%101’ / 姓名 like ‘张%’ 3. 查询某个系年龄不大于 20 岁的男同学的姓名及其年龄(如计算机系) 。 Select 姓名,年龄 from 学生 Where 年龄<=20 and 所在系=‘计算机系’ and 性别=‘男’ 4. 查询选修某一门课的学生的学号和成绩, 查询结果按分数降序排列。(课 程名为“数据分析”) Select 学号,成绩 from 选课,课程 Where 选课.课程号=课程.课程号 and 课程名=‘数据分析’ Order by 分数 DESC 5. 查询某个系的学生的选课情况,包括学号、姓名、课程号和成绩,按课 程号降序排列(如计算机系)。 Select 学生.学号,姓名,课程号,成绩 from 学生,选课 Where 学生.学号=选课.学号 and 所在系=‘计算机系’ Order by 课程号 DESC 6. 查询学生表中都有哪些专业或者选课表中都有哪些课被选了。 Select distinct 专业 from 学生 Select distinct 课程号 from 选课 7. 分组统计每个学生的选课门数,显示学号和选课门数。 Select 学号 AS 学号,count(*)AS 选课门数 from 课程 Group by 学号 8. 分组统计查询每门课的平均分、最高分、最低分,显示课程号、平均分、 最高分和最低分。 Select 课程号 AS 课程号,max(score)AS 最高分,min(score)AS 最低 分,avg(score)AS 平均分 from 选课 Group by 课程号 视图 ◼ 视图与基本表的区别联系 (1)区别: 视图是从一个或多个基本表或视图中导出的虚表。 视图和基本表有本质上的区别,视图在数据库中只是存储视图的定义,而不是查 询出来的数据
《SQL Server2008数据库技术应用》习题2 (2)联系:通过视图的定义,对视图查询最终转化为对基本表的查询。 ■视图的用途: 可以通过定义数据视图来查看数据库中存储的数据 (1)为用户集中数据,简化用户的数据查询和处理, (2)屏蔽数据库的复杂性。 (3)简化用户权限的管理」 (4便千数据共享 (5)方便程序维护 数据库安全保护 ■数据库安全性及控制方法(数据库系统安全模型) 安全性:数据库安全性是指保护数据库以防止非法使用造成的数据泄露、更 改或破红 控制方法: ●用户标识与鉴定:系统提供的最外层安全保护措施。只有在DBMS成 功注册了的人员才是该数据库的用户,才可以访问数据库。 ·存取控制:用户标识与鉴定解决了检查用户是否合法的问题,但是合 法用户的存取权限不尽相同。数据安全性的核心间题是DBMS的存取 机制, 确保进入系统的用户只能进行合法的操作。 ·视图:可以屏蔽一些用户不应该访问的数据。 ●审计:记录用户的操作,监测可能的不合法行为。 ·操作系统一级的保护措施。 ●加密:数据最后还可以以加密的形式存储到数据库中。 ■SQLServer的安全体系结构? ■用户如何才能访问SQL Server数据库中的数据? 1.只有在DBMS成功注册了的人员才是数据库的用户,才可以访 问数据库。任何数据库用户要访问数据库时,首先由系统将用户 提供的身份标识与系统内部记录的合法用户标识进行核对,通过 鉴定后才提供对系统的访问权。 2.用户要访问SQL Server时,需要经过两个认证过程:一是身份验 证,只验证用户是否有链接到SQL Server数据库服务器的资格: 二是权限认证,检验用户是否有对指定数据库的访问权,并且当 用户操作数据库中的数据或对象时验证用户是否有相应的操作 权限。 ■SQL Server登录帐号和用户帐号 登录帐号是指能登录到SQL Server服务器的帐号,属于服务器的层面,本身 并不能让用户访间服务器中的数据库」 如果用户想要访问某个数据库 ,还需要给这个用户授予访问某个数据库的 权限,也就是在所要访问的数据库中为该用户创建一个数据库用户账号。 ■数据库故障恢复的必要性及技术
《SQL Server 2008 数据库技术应用》习题 2 (2) 联系:通过视图的定义,对视图查询最终转化为对基本表的查询。 ◼ 视图的用途: 可以通过定义数据视图来查看数据库中存储的数据。 (1)为用户集中数据,简化用户的数据查询和处理。 (2)屏蔽数据库的复杂性。 (3)简化用户权限的管理。 (4)便于数据共享。 (5)方便程序维护。 数据库安全保护 ◼ 数据库安全性及控制方法(数据库系统安全模型) 安全性:数据库安全性是指保护数据库以防止非法使用造成的数据泄露、更 改或破坏。 控制方法: ⚫用户标识与鉴定:系统提供的最外层安全保护措施。只有在 DBMS 成 功注册了的人员才是该数据库的用户,才可以访问数据库。 ⚫存取控制:用户标识与鉴定解决了检查用户是否合法的问题,但是合 法用户的存取权限不尽相同。数据安全性的核心问题是 DBMS 的存取 控制机制,确保进入系统的用户只能进行合法的操作。 ⚫视图:可以屏蔽一些用户不应该访问的数据。 ⚫审计:记录用户的操作,监测可能的不合法行为。 ⚫操作系统一级的保护措施。 ⚫加密:数据最后还可以以加密的形式存储到数据库中。 ◼ SQL Server 的安全体系结构 ? ◼ 用户如何才能访问 SQL Server 数据库中的数据? 1. 只有在 DBMS 成功注册了的人员才是数据库的用户,才可以访 问数据库。任何数据库用户要访问数据库时,首先由系统将用户 提供的身份标识与系统内部记录的合法用户标识进行核对,通过 鉴定后才提供对系统的访问权。 2. 用户要访问 SQL Server 时,需要经过两个认证过程:一是身份验 证,只验证用户是否有链接到 SQL Server 数据库服务器的资格; 二是权限认证,检验用户是否有对指定数据库的访问权,并且当 用户操作数据库中的数据或对象时验证用户是否有相应的操作 权限。 ◼ SQL Server 登录帐号和用户帐号 登录帐号是指能登录到 SQL Server 服务器的帐号,属于服务器的层面,本身 并不能让用户访问服务器中的数据库。 如果用户想要访问某个数据库,还需要给这个用户授予访问某个数据库的 权限,也就是在所要访问的数据库中为该用户创建一个数据库用户账号。 ◼ 数据库故障恢复的必要性及技术
《SQL Server2008数据库技术应用》习题2 必要性: 故障是是不可避免的。如:计算机硬件故障、系统软件和应用软件的错误、 操作员的失误 正意 破坏 这些故障轻则造成运行事物非正常中断,影响数据库中数据的正确性,重则 破坏数据库,使数据库中全部或部分数据丢失,数据一旦遭到破坏或丢失可 能造成不可挽回的损失。因此数据库管理系统将数据库从错误状态恢复到某 已知的正确状态,即数据故障恢复很有必要性。 技术: 恢复机制涉及的关键问题 1.建立冗余数据 1)数据转储(backup) 2)登录日志文件(10g 利用这些冗余数据实施数据库恢复
《SQL Server 2008 数据库技术应用》习题 2 必要性: 故障是是不可避免的。如:计算机硬件故障、系统软件和应用软件的错误、 操作员的失误、恶意的破坏 这些故障轻则造成运行事物非正常中断,影响数据库中数据的正确性,重则 破坏数据库,使数据库中全部或部分数据丢失,数据一旦遭到破坏或丢失可 能造成不可挽回的损失。因此数据库管理系统将数据库从错误状态恢复到某 一已知的正确状态,即数据故障恢复很有必要性。 技术: 恢复机制涉及的关键问题 1. 建立冗余数据 1) 数据转储(backup) 2) 登录日志文件(logging) 利用这些冗余数据实施数据库恢复