《全国计算机等级考试四级教程—数据库原理.doc》由会员分享,可在线阅读,更多相关《全国计算机等级考试四级教程—数据库原理.doc(122页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试四级教程数据库原理资料仅供参考全国计算机等级考试四级教程数据库原理( ) 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章 数据模型和数据库系统的模式结构-
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 数据库系统中模式、实例和数据状态的概念- 1
3、2 -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、.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语
5、言的组成和语句类型- 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的数据控制
6、- 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
7、 -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的概念和作
8、用- 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- 3
9、8 -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
10、-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 分布式数据库中的查询
11、处理- 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
12、.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
13、数据挖掘- 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
14、数据库、数据字典、数据库管理系统、数据库系统1.数据库存放数据的仓库。按一定的数据模型组织、较小的冗余、较高的数据独立和易扩展性、在一定范围内共享。2.数据字典数据可分:用户数据和系统数据。系统数据称为数据字典、系统目录或元数据。对数据库的描术信息、数据库的存储管理信息、数据库的控制信息、用户管理信息和系统事务管理信息。3.数据库管理系统。位于用户与系统之间,定义、操纵、管理、构建和维护数据库的软件。定义数据库中的数据。操作:查询、插入、删除、更新。数据库的建立、运行、维护,保证数据安全性、完整性、多用户并发使用,系统恢复、事务支持。数据库重组织、性能监视、分析。4.数据库系统由用户数据库、操
15、作系统、数据库管理系统、应用开发工具、应用系统、数据库管理员和数据库用户构成。(1)硬件平台计算机和网络设备布置方式:集中方式、客户机/服务器方式、浏览器/服务器方式。DBMS对硬件资源要求:大内存、大磁盘、通信能力。(2)软件平台DBMS, OS或网络操作系统NOS,高级语言编译系统,应用开发工具,数据库应用系统。(3)人员数据库管理员、系统分析员、数据库设计人员、应用程序员和最终用户。1.1.3 数据库系统中的人员1.数据库管理员DBA确定数据中信息内容与结构;确定数据中存储结构和存取策略(选择索引);定义数据的安全性要求和完整性约束;监控数据库的使用和运行;数据库性能改进;定期对数据库进
16、行重组或重构。2.系统分析员和数据库设计人员系统分析员应用系统需求分析和规范说明系统软件配置与数据库系统概要设计数据库设计人员参加用户需求调查和系统分析数据确定、各级模式的设计。3.应用程序员4.用户。1.2 数据管理技术的产生与发展数据库管理技术:对数据的分类、组织、编码、存储、检索和维护的技术。三个阶段:人工管理、文件系统、数据库系统。人工管理文件系统数据库系统背景应用背景科学计算科学计算、数据管理大规模管理硬件背景无直接存取存储设备磁盘、磁鼓大容量磁盘、磁盘列阵软件背景没有操作系统有文件系统有数据库管理系统特点处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理数据的管理者用
17、户(程序员)文件系统数据库管理系统数据面向的对象某一应用程序某一应用现实世界中的某个部门、企业、组织等数据的共享程度无共享、冗余度极大共享性差、冗余度大共享性高、冗余度小数据的独立性不独立、完全依赖于程序独立性差具有高度的物理独立性和一定的逻辑独立性数据的结构化无结构记录内有结构、整体无结构整体结构化、用数据模型描述数据的控制能力应用程序自己控制应用程序自己控制由数据库管理系统控制,提供数据安全性、完整性、并发控制和恢复能力1.3 数据库方法与文件系统方法1.3.1 数据库库方法的优势与人工管理和文件系统比较1.自描述特点数据库系统不但包括数据库本身,还包括数据库数据的结构和约束条件(元数据)
18、。2.数据结构化数据之间的联系3.数据共享性高、冗余度小、易扩充4.由DBMS进行统一数据管理和控制安全性;备份和恢复功能;定义和确保数据库完整性检查;提供并发控制功能;数据查询处理与优化;提供多用户界面;1.3.2 数据库与文件系统数据库劣势:初期对硬件、软件和培训的高额投资,DBMS为了定义和处理数据而提供的性导致额外开销;为安全性、并发控制、恢复和完整性功能而导致的额外开销。文件系统应用范围:应用简单,易于定义而且一般不会发生变化;实用性和专用性要求;不需多个用户访问数据。1.4 数据库应用简史1.5 数据库技术的研究领域1.DBMS管理系统的研究。2.数据库设计技术和方法的研究3.数据
19、库理论的研究。第2章 数据模型和数据库系统的模式结构2.1 数据模型和数据模型的组成要素2.1.1 数据模型的概念模型现实世界特征的模拟和抽象。数据模型描述数据库数据的结构、定义在结构上的操纵、以及数据约束的一组概念和定义,是数据库系统的核心。数据模型应满足:(1)较真实地模拟现实世界;(2)容易为人们所理解;(3)便于在计算机上实现。2.1.2 数据模型组成的要素1.数据结构(静态)。层次、网状、关系。2.数据操作(动态)。检索和修改(插入、删除、更新)。3.数据约束。完整性约束、数据安全约束、并发控制约束。2.2 数据模型的分类1.概念层模型。形成ER图。2.逻辑层模型。3.物理层模型。物
20、理存存储结构,数据存储路径及调整、优化数据库的性能。目标:提高数据库性能和有效利用存储空间。2.3 概念数据库模型E-R模型2.3.1 概念数据模型的产生和基本概念用于信息世界的建模,与DBMS无关。1.信息世界中的基本概念(1)实休。可区别的事物,如一个供应商、一个学生。(2)属性。实体的某一特性。(3)码或键。唯一标识实休的属性的码或键。(4)域。属性的取值范围。(5)实体型。相同属性的实体的共同特征或性质。学生(学号,姓名,性别,出生日期)(6)实体集。同型实休的集合,如全体学生。2.两个实体之间的联系。(1)一对一联系。(2)一对多联系。(3)多对多联系。同一个实体集内部也能够存在以上
21、关系,如班干部。2.3.2 概念模型的一种表示方法E-R图实体型,用矩形表示。属性,用椭圆形表示。联系,用棱形表示。联系本身也是实体,能够有属性。优点:近人思维,容易理解,与计算机无关,用户易接受。缺点是不能详细说明的数据结构。2.4 常见的逻辑数据模型有:层次、网状、关系、面向对象、对象-关系数据模型。前三种建立在ER模型上,后两种基于对象的模型。2.4.1 层次和网状模型2.4.2 关系模型用二维表格结构表示各类实体及实体间的联系,由多张二维表组成。二维表中的数据称为关系实例。表头称关系模式。2.4.3 面向对象模型将面向对象方法与数据库相结合。面向对象模型既是概念模型,又是逻辑模型。将每
22、个对象的状态(对象属性值的集合)和行为(对象状态上的操作)封装在一起。对象外部靠消息传递来完成,对数据进行查、增、删。类继承单继承,一个类只能有一个超类。类继承多重继承,一个类能够有多个超类。2.4.4 对象-关系数据模型关系模型与面向对象模型的结合。关系模型优点:事务处理较好适应性强。面向对象模型优点:功能强,适应面宽,便于用不方便。整合后优点:(1)有完整关系模型全部功能,且表示复杂数据结构与抽象数据类型能力。(2)处理事务应用领域及非事务处理领域应用。(3)关系表作为基本结构。(4)风格接近关系模型,易接受。(5)构建简单,容易实现。2.5 数据库系统的模式层次和角度不同分。三级模式结构
23、。最终用户看:集中式、分布式、客户机/服务器结构、面向WEB应用的三层和n层。2.5.1 数据库系统中模式、实例和数据状态的概念型:结构和属性。静态值:具体赋值。动态数据库模式:逻辑结构和特征的描述,型。实例:模式的具体值。状态或快照:具体值或实例的当前集合。空状态,初始状态,元数据或数据字典:模式结构的描述和约束。模式演化。2.5.2 数据库系统的三级模式结构三级模式结构:外模式、模式、内模式。1.模式(Schema):逻辑结构和特征的描述,中间层。不涉及物理存储和硬件环境,也与高级开发语言无关。一个数据库一个模式,是基础的数据模型。例:逻辑结构、数据项、取值范围、数据之间的联系、数据有关的
24、安全性、完整性要求。数据定义语言DDL来操作。2.外模式:用户模式。一个数据库能够有多个外模式,一个应用程序只能使用一个外模式。是保证数据安全的有力措施。3.内模式:物理模式或存储模式。一个数据库只有一个内模式。例:存储方式、索引方式组织、数据压缩、是否加密。2.5.3 数据库的两层映像与数据独立性1.外模式/模式映像,简称逻辑独立性2.模式/外模式映像。保证数据库独立性:物理独立、逻辑独立性,最终用户程序能够不改变。第3章 关系数据模型和关系数据库系统3.1 关系数据库系统概述关系数据库系统支持关系数据模型的数据库系统。应用数学方法来处理数据库中的数据。3.1.2 关系数据模型由数据结构、关
25、系操作集合、关系完整性约束三大要素组成。1.关系数据结构逻辑结构为一张二维表。2.关系操作集合选择、投影、连接、除、并、交、差,查询、插入、删除、更新操作两大部分。特点(1)集合操作。(2)高度非过程化。不必建存取路径,不必求助于循环和递归来重复操作。操作能力表示:代数方式、逻辑方式。关系语言SQL:数所定义、数据操作、数据控制。3.关系完整性约束目标:与现实世界和数据之间正确性、一致性、相容性。3.2 关系模型的数据结构3.2.1 关系模型的数据结构和基本术语(1)关系:一个关系对应一张二维表。(2)属性和值域。属性:列字段元或度:属性的个数。值域:属性取值范围。(3)关系模式。行定义。关系
26、名(属性1,属性2,属性n)(4)元组。二维表中的一行(记录值)关系:关系模式和元组的集合。(5)分量。元组中的一个属性值。(6)码或键。用于区别元组的不同,唯一标识该关系的元组。(7)超码或超键。关系码中移去某个属性,它仍是关系的码。每个关系至少有一个默认的超码或超键,即该关系的所有属性的集合。(8)候选码或候选键。在关系一的个码或键中,不能移去任何一个属性。(9)主码或主键。指定用来唯一标识该关系的元组。(10)全码或全键。所有属性的集合是这个关系的主码或主键。(11)主属性和非主属性。包含在任何一个候选码中的属性称主属性。(12)外码或外键。某个属性是另外一个关系的主码时,称该属性为这个
27、关系外码或外键。(13)参照关系与被参照关系。经过外码相关系。3.2.2 关系的形式定义和关系数据库对关系的限定1.关系的形式定义。定义方法:(1)集体论。关系是一个度为K的元组的有限集合。(2)值域的概念来定义。关系是属性值域笛卡儿积的一个子休。2.关系数据库对关系的限定(1)每一个属性是不可分解的。(2)每一个关系仅仅有一种关系模式。(3)属性必须命名,一个关系模式中,属性名必须不同。(4)元组顺序无关紧要。(5)属性顺序无关紧要。(6)不允许出现候选码工候选键值完全相同的元组。3.2.3 关系数据库中常见的表示方法(1)大写字母表示关系名。Q、R、S、T(2)小定字母表示关系状态或元组集
28、合。 q、r、s、t(3)小写字母表示元组。W、u、v(4)关系名也表示当前元组集合。STUDENT当前关系状态,STUDENT(s#,sname,sex,age,dept)表示关系模式。(5)下划线的属性表示关系的主码。(6)用关系名限定属于它的一个属性。R.A,STUDENT . sname(7)关系中元组表示。t=ts#=,tsex,age,dept= (8)度为n的关系模式。R(A1,A2,An)(9)关系模式的集合和完整性约束IC的集合表示为S=R1,R2,Rm(10)数据库状态集合。3.3 关系模型的完整性约束3.3.1 关系模型完整性约束的分类分实体完整性约束、参照完整性约束、用
29、户定义完整性约束。3.3.2 实体完整性约束对主码或主键的约束,主属性不能取空。包含三层意思:(1)是对关系的约束。(2)每个关系必须有主码,主码的值唯一,用于标识关系的元组。(3)主码的属性不能取空值3.3.3 参照完整性约束实体间存在联系即主码与外码的关系。(1)外码或者取空值(2)外码或者等于某个元组的主码。3.3.4 用户定义完整性约束主要用于对属性取值进行限定,域完整性约束。域完整性约束:类型、精度、取值范围、是否允许空值、是否有默认值分类:静态定义和动态定义两种。3.3.5 关系模型完整性约束的检查1.执行插入时:实体完整性约束检查参照完整性约束用户定义完整性约束2.执行删除检查:
30、参照完整性约束检查,进行外码引用检查。检查后有如下操作方法:拒绝删除、空值删除、联级删除。3.执行更新检查。实际分为先执行删除操作,再执行插入操作。3.4 关系操作语言关系代数操作对象、操作符、操作结果是操作的三大要素。3.4.1 关系代数操作的分类(1)基于传统的集合论操作,关系的水平方向。并、交、差、笛卡儿积。(2)专门的关系操作。一元操作(选择、投影)、二元操作(连接和除)连接操作又分:连接、等值连接、自然连接。(3)扩充关系操作。广义投影、赋值、外连接、半连接、聚集、外部并等。关系代数常见到的操作符操作符含义集合操作符并差交广义笛卡儿积专门的关系操作符选择投影连接除比较操作符大于大于等
31、于小于小于等于等于不等于逻辑操作符非与或tR表示t是R的一个元组,tAi表示元组t中相应于属性Ai的一个分量。3.4.2 基于传统集合论的关系操作并差交笛卡儿积3.4.3 一元专门关系操作(1)选择:行分解记作F(R)。F表示条件(表示式为XY, 表示比较操作符),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
32、、B属性值相等的元组。(2)自然连接。等值连接的角度,还要取消重复列。2.除。记作RS3.4.5 扩展关系操作扩展关系操作主要有广义投影、赋值、外连接、半连接、聚集和外部并。1.广义投影。算述表示式上投影。例3.11 查询关系中学号为 0438的学生年龄增加2岁后的年龄2.赋值。赋值给新的关系RS例3.12 增加新课程COURSE COURSE(C06,电子商务,陈伟钢)例3.13 删除同学信息选课信息SCSC-()3.外连接。不想抛弃自然连接时没有的元组就使用,记作,右外连接,左外连接4.半连接5.聚集,加G例:求女同学平均年龄求选修数据库课程的平均成绩6. 外部并是为了得到从两个不满足相容
33、性条件的关系得到它们的元组集合而被开发的。第4章 关系数据库标准语言SQL(一)4.1 SQL概述4.1.1 结构化查询语言SQL4.1.2 SQL语言的特点1.综合统一。数据定义语言(DDL)、数据操纵语言(DML)、数据控制语。2.高度非过程化。只需指出做什么,不必要求怎么做。3.面向集合的操作方式。一次多记录。4.灵活的使用方式。自含语言,又是嵌入语言。5.语言简洁,易学易用,功能强。SQL语言的动词SQL功能动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE4.1.3 SQL的数据类型四类:
34、预定义、构造、用ALTER户定义、大对象数据类型。SQL数据类型及其说明分类类型类型名说明预定义数据类型数值型INT整数类型SMALLINT短整数类型REAL浮点类型DOUBLEPRECISION双精度浮点数类型FLOAT(n)浮点类型,精度至少为n位数字NUMERIC(p,d)定点数类型,共p位数字,小数点后面有d位数字字符串型CHAR(n)长度为n的定长字符串类型VARCHAE(n)最大长度为n的可变长字符串类型位串型BIT(n)长度为n的二进制位串类型BITVARYING(n)最大长度为n的变长二进制位串类型时间型DATE日期类型,形如YYYY-MM-DDTIME时间类型,形如:HH:M
35、M:SSTIMESTAMP时间戳类型(DATE加TIME)布尔型BOOLEAN值可为TRUE、FALSE、UNKNOWN构造数据类型由特定保留字和预定义数据类型构造而成,如用REF定义引用类型,用ROW定义行类型,用ARRAY定义聚合数据类型等用户定义数据类型是一个对象类型,由用户按照一定的规则用预定义数据类型组合定义的用户自己专用的数据类型大对象型可存储多达10亿字节的串,LOB又可分BLOB,二进制大对象,用于存储音频,图像。CLOB,字串大对象,用于存储长字串数据4.1.4 SQL对关系数据库模SQL支持数据库三级模式结构元组对应表中的行(Row),属性对应表中的列(Column)具体说
36、明:(1)数据库模式基本表集合。(2)一个关系一个基本表(3)一个表能够若干索引,索引存放在存储文件中(4)存储文件的逻辑结构构成内模式。(5)一个SQL表能够是基本,也能够是视图。(6)一个基本表能够跨一个或多个存储文件,一个存储文件能够放多个基本表,每个存储文件对应一个物理文件。(7)SQL用户能够是应用程序,也能够是用户。(8)SQL环境是SQL数据存在和SQL语句执行的语境,环境还包括用户标识和授权。(9)目录用目录名标识,每个目录能够饮食若干个SQL模式。(10)SQL模式用模式名标识,模式元素包括:基本表、约束、视图、域、和其它构造。4.1.5 SQL语言的组成和语句类型1.组成(
37、1)数据定义语言(DDL)(2)数据操纵语言(DML)(3)数据控制语言(DCL)(4)嵌入式和动态SQL规则,用于高级语言。(5)SQL调用和会话规则。2.语句类型(1)SQL定义语句:创立、更改、删除数据库模式及其对象(或元素)。(2)SQL操纵语句:查询和插入、删除、更新操作SELECTINSERTDELETEUPDATE。(3)SQL事务控制语句:完成数据库授权、事务管理、以及控制SQL语句集的运行。GRANTREVOKESTART TRANSACTIONCOMMITROBACKSAVEPOINTLOCKNULOCKCALL.(4)SQL连接、会话和诊断语句:建立数据库连接,为SQL会
38、话设置参数,获取诊断等。SET CONNECTIONSET ZONESET SESSION AUTHORIZATIONGET DIAGNOSTICS等。3.SQL的语句基本结构由动词、SQL对象、限定词等组成。聚簇(Cluster)、授权ID、特权(Privilege)、目录(Catalog)、模式(Schema)、表(Table)、列(Column)、SQL域(Domain)、用户定义类型(User Defined Type)、约束和断言(Constraint and Assertion)、字符集(Character Set)、聚合(Collation)、翻译(Translation)、触发
39、器(Trigger)、模块(Module)、调用例程(SQL-Invoked Routime)4.2 SQL的数据定义操作对象操作方式创立删除修改模式CREATE SCHEMADROP SCHEMA基本表CREATE TABLEDROP TABLEALTER TABLE视图CREATE VIEWDROP VIEW索引CREATE INDEXDROP INDEX域CREATE DOMAINDROP DOMAIN过程触发器定义约束定义默认值4.2.1 模式的定义和删除1.定义模式create schema authorization 2.删除模式drop schema cascade|restri
40、ct -表示连级删除或约束删除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|restrictdrop mod
41、ify 注意:(1)原来表中是否有数据,新增列一律为允许空值;(2)被指定为主码的列必须是值非空且唯一。3.删除基本表drop table s_sc_c.student cascade|restrict)4.2.3 索引的建立和删除建立一个或多个索引,以提供存取路径,加快查找速度。1.创立索引create uniquecluser indexon (,顺序.)唯一索引:指一个索引项只对应唯一的数据。聚簇索引:指索引项的顺序与表中记录的物理顺序一致的索引。一个表上只能建一个聚簇索引。用法:经常更新的列不宜建聚簇索引。示例:create index no_indexon student(S# AS
42、C,sname DESC)2.删除索引drop index on 4.2.4 域的建立和删除域:用户自定义的数据类型,带有域约束的数据类型和默认值一起构成。create domain as defaultcheck删除域drop domain 4.3 SQL的数据查询SELECT ALL|DISTINCT,FROM , 基本表名(或视图)WHERE GROUP BY HAVINGORDER BY ASC|DESC4.3.1 简单查询即单表查询1.表中查询若干列(投影操作)select * from s_sc_c.student2.查询经计算的值select sname, -age from s_sc_c.student3.消除取值重复的行sele