2023年全国计算机等级考试四级教程—数据库原理.doc
《2023年全国计算机等级考试四级教程—数据库原理.doc》由会员分享,可在线阅读,更多相关《2023年全国计算机等级考试四级教程—数据库原理.doc(85页珍藏版)》请在咨信网上搜索。
全国计算机等级考试四级教程 ——数据库原理(2023版) 2023年4月9日录入 目 录 第1章 数据库原理概述 - 7 - 1.1 数据库技术基本概念 - 7 - 1.1.1 信息、数据与数据解决 - 7 - 1.1.2 数据库、数据字典、数据库管理系统、数据库系统 - 7 - 1.1.3 数据库系统中的人员 - 8 - 1.2 数据管理技术的产生与发展 - 8 - 1.3 数据库方法与文献系统方法 - 9 - 1.3.1 数据库库方法的优势 - 9 - 1.3.2 数据库与文献系统 - 9 - 1.4 数据库应用简史 - 9 - 1.5 数据库技术的研究领域 - 10 - 第2章 数据模型和数据库系统的模式结构 - 10 - 2.1 数据模型和数据模型的组成要素 - 10 - 2.1.1 数据模型的概念 - 10 - 2.1.2 数据模型组成的要素 - 10 - 2.2 数据模型的分类 - 10 - 2.3 概念数据库模型——E-R模型 - 11 - 2.3.1 概念数据模型的产生和基本概念 - 11 - 2.3.2 概念模型的一种表达方法——E-R图 - 11 - 2.4 常用的逻辑数据模型 - 11 - 2.4.1 层次和网状模型 - 11 - 2.4.2 关系模型 - 11 - 2.4.3 面向对象模型 - 12 - 2.4.4 对象-关系数据模型 - 12 - 2.5 数据库系统的模式 - 12 - 2.5.1 数据库系统中模式、实例和数据状态的概念 - 12 - 2.5.2 数据库系统的三级模式结构 - 12 - 2.5.3 数据库的两层映像与数据独立性 - 13 - 第3章 关系数据模型和关系数据库系统 - 13 - 3.1 关系数据库系统概述 - 13 - 3.1.2 关系数据模型 - 13 - 3.2 关系模型的数据结构 - 14 - 3.2.1 关系模型的数据结构和基本术语 - 14 - 3.2.2 关系的形式定义和关系数据库对关系的限定 - 14 - 3.2.3 关系数据库中常用的表达方法 - 14 - 3.3 关系模型的完整性约束 - 15 - 3.3.1 关系模型完整性约束的分类 - 15 - 3.3.2 实体完整性约束 - 15 - 3.3.3 参照完整性约束 - 15 - 3.3.4 用户定义完整性约束 - 15 - 3.3.5 关系模型完整性约束的检查 - 16 - 3.4 关系操作语言——关系代数 - 16 - 3.4.1 关系代数操作的分类 - 16 - 3.4.2 基于传统集合论的关系操作 - 16 - 3.4.3 一元专门关系操作 - 17 - 3.4.4 二元的专门关系操作 - 17 - 3.4.5 扩展关系操作 - 17 - 第4章 关系数据库标准语言SQL(一) - 18 - 4.1 SQL概述 - 18 - 4.1.1 结构化查询语言SQL - 18 - 4.1.2 SQL语言的特点 - 18 - 4.1.3 SQL的数据类型 - 18 - 4.1.4 SQL对关系数据库模 - 19 - 4.1.5 SQL语言的组成和语句类型 - 20 - 4.2 SQL的数据定义 - 20 - 4.2.1 模式的定义和删除 - 21 - 4.2.2 基本表的定义、删除和修改 - 21 - 4.2.3 索引的建立和删除 - 22 - 4.2.4 域的建立和删除 - 22 - 4.3 SQL的数据查询 - 22 - 4.3.1 简朴查询 - 22 - 4.3.2 连接查询 - 24 - 4.3.3 嵌套查询 - 24 - 4.3.4 集合查询 - 25 - 4.3.5 SQL中的连接表和外连接 - 25 - 4.4 SQL的数据修改 - 25 - 4.4.1 插入数据 - 25 - 4.4.2 删除数据 - 26 - 4.4.3 更新数据 - 26 - 4.5 SQL的数据控制 - 26 - 4.5.1 权限授予 - 26 - 4.5.2 权限收回 - 27 - 第5章 关系数据库标准语言SQL(二) - 27 - 5.1 SQL视图 - 27 - 5.1.1 视图的概念和定义 - 27 - 5.1.2 视图的查询 - 28 - 5.1.3 视图的修改 - 28 - 5.1.4 视图的作用 - 28 - 5.2 数据库程序设计 - 28 - 5.2.1 数据库程序设计概述 - 28 - 5.2.2 数据库程序设计方法 - 28 - 5.2.3 数据库程序设计中的交互序列 - 28 - 5.3 SQL的存储过程与SQL/PSM - 29 - 5.3.1 SQL存储过程与函数概述 - 29 - 5.3.2 SQL/PSM - 29 - 5.3.3 创建、执行和删除存储过程和函数 - 30 - 5.3.4 存储过程和函数示例 - 30 - 5.4 SQL触发器 - 32 - 5.4.1 触发器概述 - 32 - 5.4.2 创建触发器 - 32 - 5.4.3 触发器的激活 - 32 - 5.4.4 删除触发器 - 33 - 5.4.5 触发器示例 - 33 - 5.5 嵌入式SQL - 33 - 5.5.1 嵌入式SQL概述 - 33 - 5.5.2 使用嵌入式SQL时应解决三个问题 - 34 - 5.5.3 嵌入式SQL程序的组成 - 34 - 5.5.4 在嵌入式SQL中使用游标检索多个元组 - 34 - 5.6 动态SQL - 35 - 5.6.1 动态SQL的概念和作用 - 35 - 5.6.2 动态SQL的语句类型和执行方式 - 35 - 5.7 SQL的其他功能 - 36 - 第6章 关系数据库的规范化理论与数据库设计 - 36 - 6.1 “不好”的关系模式中存在问题 - 36 - 6.2 函数依赖 - 36 - 6.2.1 函数依赖的定义 - 36 - 6.2.2 函数依赖的逻辑蕴涵 - 37 - 6.2.3 码 - 37 - 6.2.4 函数依赖的公理系统 - 37 - 6.3 1NF、2NF、3NF和BCNF - 37 - 6.3.1 1NF及进一步规范化 - 37 - 6.3.2 2NF - 37 - 6.3.3 3NF - 38 - 6.3.4 BCNF - 38 - 6.4 多值依赖和4NF - 38 - 6.5 关系模式的分解 - 39 - 6.5.1 模式分解的等价标准 - 39 - 6.5.2 关于模式分解的几个事实 - 39 - 6.6 数据库设计 - 40 - 6.6.1 设计过程概览 - 40 - 6.6.2 概念结构设计 - 40 - 6.6.3 逻辑结构设计 - 40 - 6.6.4 物理结构设计 - 41 - 6.7 规范化理论在数据库设计中的应用 - 41 - 第7章 数据库系统实现技术 - 41 - 7.1 数据库管理系统概述 - 41 - 7.1.1 数据库管理系统的基本功能 - 41 - 7.1.2 数据库管理系统的重要成分和工作流程 - 42 - 7.2 存储管理 - 42 - 7.2.1 物理存储介质简介 - 42 - 7.2.2 数据存储组织 - 42 - 7.2.3 缓冲区管理 - 42 - 7.2.4 数据字典 - 43 - 7.2.5 索引结构 - 43 - 7.3 查询解决 - 43 - 7.3.1 查询解决概述 - 43 - 7.3.2 查询执行 - 44 - 7.3.3 查询优化 - 44 - 7.4 事务管理 - 44 - 7.4.2 故障恢复 - 45 - 7.4.3 并发控制 - 45 - 第8章 数据库系统的体系结构和安全性 - 46 - 8.1 概述 - 46 - 8.2 分布式数据库系统体系结构 - 46 - 8.2.1 分布式数据库系统的重要特点 - 46 - 8.2.2 分布式数据库的设计技术 - 46 - 8.2.3 分布式数据库中的查询解决 - 47 - 8.2.4 分布式数据库系统的并发控制 - 47 - 8.2.5 分布式恢复 - 47 - 8.3 客户机/服务器数据库体系结构 - 47 - 8.3.1 客户机/服务器计算模式 - 47 - 8.3.2 面向WEB应用的数据库体系结构 - 48 - 8.3.3 面向WEB应用的软件开发 - 48 - 8.4 安全数据库以及数据库的安全性 - 48 - 8.4.1 数据安全性问题概述 - 48 - 8.4.2 基于授予收回权限的自主访问控制 - 49 - 8.4.3 多级安全性的强制访问控制 - 49 - 8.4.4 基于角色访问控制 - 49 - 8.4.5 记录数据库的安全性 - 49 - 8.4.6 加密 - 49 - 8.4.7 可信计算机系统评估标准 - 50 - 第9章 数据库技术的发展 - 50 - 9.1 对象及对象-关系数据库 - 50 - 9.1.1 面向对象数据库基本概念 - 50 - 9.1.2 对象数据库标准、语言和设计 - 50 - 9.1.3 对象-关系数据库模型 - 51 - 9.2 几种应用数据库系统 - 51 - 9.2.1 积极数据库 - 51 - 9.2.2 移动数据库 - 51 - 9.2.3 多媒体数据库 - 51 - 9.3 数据仓库 - 51 - 9.3.1 数据仓库的基本概念 - 51 - 9.3.2 数据仓库的数据模型 - 52 - 9.3.3 数据仓库体系结构 - 52 - 9.3.4 联机分析解决 - 52 - 9.4 数据挖掘 - 52 - 9.4.1 知识发现与数据挖掘 - 52 - 9.4.2 关联分析 - 53 - 9.4.3 分类和聚类 - 53 - 第1章 数据库原理概述 1.1 数据库技术基本概念 1.1.1 信息、数据与数据解决 1.信息 现实世界事物的存在方式或运动状态的反映。 自然属性:可感知、可存储、可加工、可传递和可再生。 社会属性:资源 2.数据 符号记录,可以鉴别。 涉及:数字、文字、图形、图像、声音及其他特殊符号。数字化后存入计算机。 3.信息与数据的关联 数据是信息符号的表达,载体; 信息是数据的内涵,是数据的语义解释。 4.数据解决的基本环节 原始信息称为源数据。 信息的价值:准确性、及时性、完整性、可靠性。 1.1.2 数据库、数据字典、数据库管理系统、数据库系统 1.数据库 存放数据的仓库。按一定的数据模型组织、较小的冗余、较高的数据独立和易扩展性、在一定范围内共享。 2.数据字典 数据可分:用户数据和系统数据。 系统数据称为数据字典、系统目录或元数据。 对数据库的描术信息、数据库的存储管理信息、数据库的控制信息、用户管理信息和系统事务管理信息。 3.数据库管理系统。 位于用户与系统之间,定义、操纵、管理、构建和维护数据库的软件。 定义数据库中的数据。 操作:查询、插入、删除、更新。 数据库的建立、运营、维护,保证数据安全性、完整性、多用户并发使用,系统恢复、事务支持。 数据库重组织、性能监视、分析。 4.数据库系统 由用户数据库、操作系统、数据库管理系统、应用开发工具、应用系统、数据库管理员和数据库用户构成。 (1)硬件平台 计算机和网络设备 布置方式:集中方式、客户机/服务器方式、浏览器/服务器方式。 DBMS对硬件资源规定: 大内存、大磁盘、通信能力。 (2)软件平台 ①DBMS, ②OS或网络操作系统NOS,③高级语言编译系统,④应用开发工具,⑤数据库应用系统。 (3)人员 数据库管理员、系统分析员、数据库设计人员、应用程序员和最终用户。 1.1.3 数据库系统中的人员 1.数据库管理员DBA ①拟定数据中信息内容与结构; ②拟定数据中存储结构和存取策略(选择索引); ③定义数据的安全性规定和完整性约束; ④监控数据库的使用和运营; ⑤数据库性能改善; ⑥定期对数据库进行重组或重构。 2.系统分析员和数据库设计人员 系统分析员 ①应用系统需求分析和规范说明 ②系统软件配置与数据库系统概要设计 数据库设计人员 ①参与用户需求调查和系统分析 ②数据拟定、各级模式的设计。 3.应用程序员 4.用户。 1.2 数据管理技术的产生与发展 数据库管理技术:对数据的分类、组织、编码、存储、检索和维护的技术。 三个阶段:人工管理、文献系统、数据库系统。 人工管理 文献系统 数据库系统 背 景 应用背景 科学计算 科学计算、数据管理 大规模管理 硬件背景 无直接存取存储设备 磁盘、磁鼓 大容量磁盘、磁盘列阵 软件背景 没有操作系统 有文献系统 有数据库管理系统 特点 解决方式 批解决 联机实时解决、批解决 联机实时解决、分布解决、批解决 数据的管理者 用户(程序员) 文献系统 数据库管理系统 数据面向的对象 某一应用程序 某一应用 现实世界中的某个部门、公司、组织等 数据的共享限度 无共享、冗余度极大 共享性差、冗余度大 共享性高、冗余度小 数据的独立性 不独立、完全依赖于程序 独立性差 具有高度的物理独立性和一定的逻辑独立性 数据的结构化 无结构 记录内有结构、整体无结构 整体结构化、用数据模型描述 数据的控制能力 应用程序自己控制 应用程序自己控制 由数据库管理系统控制,提供数据安全性、完整性、并发控制和恢复能力 1.3 数据库方法与文献系统方法 1.3.1 数据库库方法的优势 与人工管理和文献系统比较 1.自描述特点 数据库系统不仅涉及数据库自身,还涉及数据库数据的结构和约束条件(元数据)。 2.数据结构化 数据之间的联系 3.数据共享性高、冗余度小、易扩充 4.由DBMS进行统一数据管理和控制 ①安全性;②备份和恢复功能;③定义和保证数据库完整性检查;④提供并发控制功能;⑤数据查询解决与优化;⑥提供多用户界面; 1.3.2 数据库与文献系统 数据库劣势:初期对硬件、软件和培训的高额投资,DBMS为了定义和解决数据而提供的性导致额外开销;为安全性、并发控制、恢复和完整性功能而导致的额外开销。 文献系统应用范围: 应用简朴,易于定义并且一般不会发生变化;实用性和专用性规定;不需多个用户访问数据。 1.4 数据库应用简史 1.5 数据库技术的研究领域 1.DBMS管理系统的研究。 2.数据库设计技术和方法的研究 3.数据库理论的研究。 第2章 数据模型和数据库系统的模式结构 2.1 数据模型和数据模型的组成要素 2.1.1 数据模型的概念 模型——现实世界特性的模拟和抽象。 数据模型——描述数据库数据的结构、定义在结构上的操纵、以及数据约束的一组概念和定义,是数据库系统的核心。 数据模型应满足: (1)较真实地模拟现实世界; (2)容易为人们所理解; (3)便于在计算机上实现。 2.1.2 数据模型组成的要素 1.数据结构(静态)。层次、网状、关系。 2.数据操作(动态)。检索和修改(插入、删除、更新)。 3.数据约束。完整性约束、数据安全约束、并发控制约束。 2.2 数据模型的分类 1.概念层模型。形成ER图。 2.逻辑层模型。 3.物理层模型。物理存存储结构,数据存储途径及调整、优化数据库的性能。 目的:提高数据库性能和有效运用存储空间。 2.3 概念数据库模型——E-R模型 2.3.1 概念数据模型的产生和基本概念 用于信息世界的建模,与DBMS无关。 1.信息世界中的基本概念 (1)实休。可区别的事物,如一个供应商、一个学生。 (2)属性。实体的某一特性。 (3)码或键。唯一标记实休的属性的码或键。 (4)域。属性的取值范围。 (5)实体型。相同属性的实体的共同特性或性质。学生(学号,姓名,性别,出生日期) (6)实体集。同型实休的集合,如全体学生。 2.两个实体之间的联系。 (1)一对一联系。 (2)一对多联系。 (3)多对多联系。 同一个实体集内部也可以存在以上关系,如班干部。 2.3.2 概念模型的一种表达方法——E-R图 实体型,用矩形表达。 属性,用椭圆形表达。 联系,用棱形表达。 联系自身也是实体,可以有属性。 优点:近人思维,容易理解,与计算机无关,用户易接受。缺陷是不能具体说明的数据结构。 2.4 常用的逻辑数据模型 有:层次、网状、关系、面向对象、对象-关系数据模型。前三种建立在ER模型上,后两种基于对象的模型。 2.4.1 层次和网状模型 2.4.2 关系模型 用二维表格结构表达各类实体及实体间的联系,由多张二维表组成。 二维表中的数据称为关系实例。表头称关系模式。 2.4.3 面向对象模型 将面向对象方法与数据库相结合。面向对象模型既是概念模型,又是逻辑模型。 将每个对象的状态(对象属性值的集合)和行为(对象状态上的操作)封装在一起。 对象外部靠消息传递来完毕,对数据进行查、增、删。 类继承——单继承,一个类只能有一个超类。 类继承——多重继承,一个类可以有多个超类。 2.4.4 对象-关系数据模型 关系模型与面向对象模型的结合。 关系模型优点:事务解决较好适应性强。 面向对象模型优点:功能强,适应面宽,便于用不方便。 整合后优点: (1)有完整关系模型所有功能,且表达复杂数据结构与抽象数据类型能力。 (2)解决事务应用领域及非事务解决领域应用。 (3)关系表作为基本结构。 (4)风格接近关系模型,易接受。 (5)构建简朴,容易实现。 2.5 数据库系统的模式 层次和角度不同分。 三级模式结构。 最终用户看:集中式、分布式、客户机/服务器结构、面向WEB应用的三层和n层。 2.5.1 数据库系统中模式、实例和数据状态的概念 型:结构和属性。静态 值:具体赋值。动态 数据库模式:逻辑结构和特性的描述,型。 实例:模式的具体值。 状态或快照:具体值或实例的当前集合。 空状态,初始状态, 元数据或数据字典:模式结构的描述和约束。 模式演化。 2.5.2 数据库系统的三级模式结构 三级模式结构:外模式、模式、内模式。 1.模式(Schema):逻辑结构和特性的描述,中间层。不涉及物理存储和硬件环境,也与高级开发语言无关。 一个数据库一个模式,是基础的数据模型。 例:逻辑结构、数据项、取值范围、数据之间的联系、数据有关的安全性、完整性规定。数据定义语言DDL来操作。 2.外模式:用户模式。 一个数据库可以有多个外模式,一个应用程序只能使用一个外模式。 是保证数据安全的有力措施。 3.内模式:物理模式或存储模式。 一个数据库只有一个内模式。 例:存储方式、索引方式组织、数据压缩、是否加密。 2.5.3 数据库的两层映像与数据独立性 1.外模式/模式映像,简称逻辑独立性 2.模式/外模式映像。 保证数据库独立性:物理独立、逻辑独立性,最终用户程序可以不改变。 第3章 关系数据模型和关系数据库系统 3.1 关系数据库系统概述 关系数据库系统——支持关系数据模型的数据库系统。 应用数学方法来解决数据库中的数据。 3.1.2 关系数据模型 由数据结构、关系操作集合、关系完整性约束三大要素组成。 1.关系数据结构 逻辑结构为一张二维表。 2.关系操作集合 选择、投影、连接、除、并、交、差,查询、插入、删除、更新操作两大部分。 特点 (1)集合操作。 (2)高度非过程化。不必建存取途径,不必求助于循环和递归来反复操作。 操作能力表达:代数方式、逻辑方式。 关系语言SQL:数所定义、数据操作、数据控制。 3.关系完整性约束 目的:与现实世界和数据之间对的性、一致性、相容性。 3.2 关系模型的数据结构 3.2.1 关系模型的数据结构和基本术语 (1)关系:一个关系相应一张二维表。 (2)属性和值域。 属性:列字段 元或度:属性的个数。 值域:属性取值范围。 (3)关系模式。行定义。关系名(属性1,属性2,…,属性n) (4)元组。二维表中的一行(记录值) 关系:关系模式和元组的集合。 (5)分量。元组中的一个属性值。 (6)码或键。用于区别元组的不同,唯一标记该关系的元组。 (7)超码或超键。关系码中移去某个属性,它仍是关系的码。 每个关系至少有一个默认的超码或超键,即该关系的所有属性的集合。 (8)候选码或候选键。在关系一的个码或键中,不能移去任何一个属性。 (9)主码或主键。指定用来唯一标记该关系的元组。 (10)全码或全键。所有属性的集合是这个关系的主码或主键。 (11)主属性和非主属性。包含在任何一个候选码中的属性称主属性。 (12)外码或外键。某个属性是此外一个关系的主码时,称该属性为这个关系外码或外键。 (13)参照关系与被参照关系。通过外码相关系。 3.2.2 关系的形式定义和关系数据库对关系的限定 1.关系的形式定义。 定义方法: (1)集体论。关系是一个度为K的元组的有限集合。 (2)值域的概念来定义。关系是属性值域笛卡儿积的一个子休。 2.关系数据库对关系的限定 (1)每一个属性是不可分解的。 (2)每一个关系仅仅有一种关系模式。 (3)属性必须命名,一个关系模式中,属性名必须不同。 (4)元组顺序无关紧要。 (5)属性顺序无关紧要。 (6)不允许出现候选码工候选键值完全相同的元组。 3.2.3 关系数据库中常用的表达方法 (1)大写字母表达关系名。Q、R、S、T (2)小定字母表达关系状态或元组集合。 q、r、s、t (3)小写字母表达元组。W、u、v (4)关系名也表达当前元组集合。STUDENT当前关系状态,STUDENT(s#,sname,sex,age,dept)表达关系模式。 (5)下划线的属性表达关系的主码。 (6)用关系名限定属于它的一个属性。R.A,STUDENT . sname (7)关系中元组表达。 t=<’20230178’,’张明’,‘男’, 21,‘计算机’> t[s#]=<’20230178’>, t[sex,age,dept]= <‘男’, 21,‘计算机’> (8)度为n的关系模式。R(A1,A2,…,An) (9)关系模式的集合和完整性约束IC的集合表达为S={R1,R2,…,Rm} (10)数据库状态集合。 3.3 关系模型的完整性约束 3.3.1 关系模型完整性约束的分类 分实体完整性约束、参照完整性约束、用户定义完整性约束。 3.3.2 实体完整性约束 对主码或主键的约束,主属性不能取空。 包含三层意思: (1)是对关系的约束。 (2)每个关系必须有主码,主码的值唯一,用于标记关系的元组。 (3)主码的属性不能取空值 3.3.3 参照完整性约束 实体间存在联系 即主码与外码的关系。 (1)外码或者取空值 (2)外码或者等于某个元组的主码。 3.3.4 用户定义完整性约束 重要用于对属性取值进行限定,域完整性约束。 域完整性约束:类型、精度、取值范围、是否允许空值、是否有默认值 分类:静态定义和动态定义两种。 3.3.5 关系模型完整性约束的检查 1.执行插入时:实体完整性约束——检查参照完整性约束——用户定义完整性约束 2.执行删除检查:参照完整性约束检查,进行外码引用检查。 检查后有如下操作方法:拒绝删除、空值删除、联级删除。 3.执行更新检查。实际分为先执行删除操作,再执行插入操作。 3.4 关系操作语言——关系代数 操作对象、操作符、操作结果是操作的三大要素。 3.4.1 关系代数操作的分类 (1)基于传统的集合论操作,关系的水平方向。并、交、差、笛卡儿积。 (2)专门的关系操作。一元操作(选择、投影)、二元操作(连接和除) 连接操作又分:θ连接、等值连接、自然连接。 (3)扩充关系操作。广义投影、赋值、外连接、半连接、聚集、外部并等。 关系代数常用到的操作符 操作符 含义 集合操作符 ∪ 并 - 差 ∩ 交 × 广义笛卡儿积 专门的关系操作符 σ 选择 π 投影 连接 ÷ 除 比较操作符 > 大于 ≥ 大于等于 < 小于 ≤ 小于等于 = 等于 ≠ 不等于 逻辑操作符 ┐ 非 ∧ 与 ∨ 或 t∈R表达t是R的一个元组,t[Ai]表达元组t中相应于属性Ai的一个分量。 3.4.2 基于传统集合论的关系操作 并 差 交 笛卡儿积 3.4.3 一元专门关系操作 (1)选择:行分解记作σF(R)。 F表达条件(表达式为XθY, θ表达比较操作符),R表达关系。 例3.5 查询全体学生。 σdept=’信息’(STUDENT)或σ5=’信息’(STUDENT) (2)投影。列分解,记作πA(R),A表达指定的列,并消除反复元组。 例3.7 查询学生的姓名和所在系 πsname,dept(STUDENT)或π2,5(STUDENT) 3.4.4 二元的专门关系操作 1.连接。记作 (1)等值连接。选取笛卡儿积中A、B属性值相等的元组。 (2)自然连接。等值连接的角度,还要取消反复列。 2.除。记作R÷S 3.4.5 扩展关系操作 扩展关系操作重要有广义投影、赋值、外连接、半连接、聚集和外部并。 1.广义投影。算述表达式上投影。 例3.11 查询关系中学号为20230438的学生年龄增长2岁后的年龄 2.赋值。赋值给新的关系R←S 例3.12 增长新课程 COURSE ←COURSE∪(’C06’,’电子商务’,’陈伟钢’) 例3.13 删除同学信息选课信息 SC←SC-() 3.外连接。不想抛弃自然连接时没有的元组就使用,记作 ,右外连接 ,左外连接 4.半连接 5.聚集,加G 例:求女同学平均年龄 求选修数据库课程的平均成绩 6. 外部并是为了得到从两个不满足相容性条件的关系得到它们的元组集合而被开发的。 第4章 关系数据库标准语言SQL(一) 4.1 SQL概述 4.1.1 结构化查询语言SQL 4.1.2 SQL语言的特点 1.综合统一。数据定义语言(DDL)、数据操纵语言(DML)、数据控制语。 2.高度非过程化。只需指出做什么,不必规定怎么做。 3.面向集合的操作方式。一次多记录。 4.灵活的使用方式。自含语言,又是嵌入语言。 5.语言简洁,易学易用,功能强。 SQL语言的动词 SQL功能 动词 数据查询 SELECT 数据定义 CREATE、DROP、ALTER 数据操纵 INSERT、UPDATE、DELETE 数据控制 GRANT、REVOKE 4.1.3 SQL的数据类型 四类:预定义、构造、用ALTER户定义、大对象数据类型。 SQL数据类型及其说明 分类 类型 类型名 说明 预 定 义 数 据 类 型 数 值 型 INT 整数类型 SMALLINT 短整数类型 REAL 浮点类型 DOUBLE PRECISION 双精度浮点数类型 FLOAT(n) 浮点类型,精度至少为n位数字 NUMERIC(p,d) 定点数类型,共p位数字,小数点后面有d位数字 字符 串型 CHAR(n) 长度为n的定长字符串类型 VARCHAE(n) 最大长度为n的可变长字符串类型 位串型 BIT(n) 长度为n的二进制位串类型 BIT VARYING(n) 最大长度为n的变长二进制位串类型 时 间 型 DATE 日期类型,形如YYYY-MM-DD TIME 时间类型,形如:HH:MM:SS TIMESTAMP 时间戳类型(DATE加TIME) 布尔型 BOOLEAN 值可为TRUE、FALSE、UNKNOWN 构造数 据类型 由特定保存字和预定义数据类型构造而成,如用REF定义引用类型,用ROW定义行类型,用ARRAY定义聚合数据类型等 用户定义 数据类型 是一个对象类型,由用户按照一定的规则用预定义数据类型组合定义的用户自己专用的数据类型 大对象 型 可存储多达10亿字节的串,LOB又可分BLOB,二进制大对象,用于存储音频,图像。CLOB,字串大对象,用于存储长字串数据 4.1.4 SQL对关系数据库模 SQL支持数据库三级模式结构 元组相应表中的行(Row),属性相应表中的列(Column) 具体说明: (1)数据库模式——基本表集合。 (2)一个关系——一个基本表 (3)一个表可以若干索引,索引存放在存储文献中 (4)存储文献的逻辑结构构成内模式。 (5)一个SQL表可以是基本,也可以是视图。 (6)一个基本表可以跨一个或多个存储文献,一个存储文献可以放多个基本表,每个存储文献相应一个物理文献。 (7)SQL用户可以是应用程序,也可以是用户。 (8)SQL环境是SQL数据存在和SQL语句执行的语境,环境还涉及用户标记和授权。 (9)目录用目录名标记,每个目录可以饮食若干个SQL模式。 (10)SQL模式用模式名标记,模式元素涉及:基本表、约束、视图、域、和其他构造。 4.1.5 SQL语言的组成和语句类型 1.组成 (1)数据定义语言(DDL) (2)数据操纵语言(DML) (3)数据控制语言(DCL) (4)嵌入式和动态SQL规则,用于高级语言。 (5)SQL调用和会话规则。 2.语句类型 (1)SQL定义语句:创建、更改、删除数据库模式及其对象(或元素)。 (2)SQL操纵语句:查询和插入、删除、更新操作SELECT\INSERT\DELETE\UPDATE。 (3)SQL事务控制语句:完毕数据库授权、事务管理、以及控制SQL语句集的运营。 GRANT\REVOKE\START TRANSACTION\COMMIT\ROBACK\SAVEPOINT\LOCK\NULOCK\CALL. (4)SQL连接、会话和诊断语句:建立数据库连接,为SQL会话设立参数,获取诊断等。SET CONNECTION\SET ZONE\SET SESSION AUTHORIZATION\GET DIAGNOSTICS等。 3.SQL的语句基本结构由动词、SQL对象、限定词等组成。 聚簇(Cluster)、授权ID、特权(Privilege)、目录(Catalog)、模式(Schema)、表(Table)、列(Column)、SQL域(Domain)、用户定义类型(User Defined Type)、约束和断言(Constraint and Assertion)、字符集(Character Set)、聚合(Collation)、翻译(Translation)、触发器(Trigger)、模块(Module)、调用例程(SQL-Invoked Routime) 4.2 SQL的数据定义 操作对象 操作方式 创建 删除 修改 模式 CREATE SCHEMA DROP SCHEMA 基本表 CREATE TABLE DROP TABLE ALTER TABLE 视图 CREATE VIEW DROP VIEW 索引 CREATE INDEX DROP INDEX 域 CREATE DOMAIN DROP DOMAIN 过程 触发器 定义约束 定义默认值 4.2.1 模式的定义和删除 1.定义模式 create schema <模式名> authorization <用户名> 2.删除模式 drop schema <模式名> [cascade|restrict] --表达连级删除或约束删除 4.2.2 基本表的定义、删除和修改 1.创建基本表 create table [模式名.]<表名>( <列名><数据类型>[列级完整性约束, ...., <表级完整性约束>,]) [其他参数] 假如涉及多表的完整性约束,必须在表级上定义。 示例: create table s_sc_c.student( S# char(8), sname char(20) not null unique, sex char(2) not null default '男', age int, dept char(20), primary key(s#)) 2.扩充和修改基本表 alter table <表名> [add <列名> <数据类型> [完整性约束]][add <完整性约束>] [drop <列名>{cascade|restrict}][drop <完整性约束>] [modify <列名><数据类型>] 注意: (1)本来表中是否有数据,新增列一律为允许空值; (2)被指定为主码的列必须是值非空且唯一。 3.删除基本表 drop table s_sc_c.student [cascade|restrict) 4.2.3 索引的建立和删除 建立一个或多个索引,以提供存取途径,加快查找速度。 1.创建索引 create [unique][cluser] index<索引名> on <表名>(<列名>[<顺序>[,<列名>[顺序]]...]) 唯一索引:指一个索引项只相应唯一的数据。 聚簇索引:指索引项的顺序与表中记录的物理顺序一致的索引。 一个表上只能建一个聚簇索引。 用法: 经常更新的列不宜建聚簇索引。 示例: create index no_index on student(S# ASC,sname DESC) 2.删除索引 drop index [on <表名>] <索引名> 4.2.4 域的建立和删除 域:用户自定义的数据类型,带有域约束的数据类型和默认值一起构成。 create domain <域名> [as] <数据类型> [default<默认值>][check<约束条件>] 删除域 drop domain <域名> 4.3 SQL的数据查询 SELECT [ALL|DISTINCT]<目的列>[,<目的列表达式>]… FROM <基本表名(或视图)>[, <基本表名(或视图)]… [WHERE <条件表达式>] [GROUP BY <列名1>[HAVING<条件表达式>]] [ORDER BY <列名2>[ASC|DESC]] 4.3.1 简朴查询 即单表查询 1.表中查询若干列(投影操作) select * from s_sc_c.student 2.查询经计算的值 select sname,2023-age from s_sc_c.student 3.消除取值反复的行 select distinct S#- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 全国 计算机等级考试 教程 数据库 原理
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文