版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021年5月6日 第第1 1章章 数据库发展史数据库发展史 1. 1. 数据管理技术的发展数据管理技术的发展(3 3阶段)阶段) 人工管理阶段人工管理阶段 文件系统阶段(倒排文件系统文件系统阶段(倒排文件系统 ) 数据库阶段数据库阶段 文件系统的缺陷文件系统的缺陷 (数据冗余性、数据不一致性、数据联系弱)(数据冗余性、数据不一致性、数据联系弱) 第第1 1章章 数据库发展史数据库发展史 2. 2. 数据库技术的产生(数据库技术的产生(3 3件事情)件事情) 进入数据库阶段的标志是进入数据库阶段的标志是2020世纪世纪6060年代末的三件大事:年代末的三件大事: 19681968年年ibmib
2、m公司研制的公司研制的imsims系统系统-典型的层次典型的层次dbs;dbs; 19691969年美国年美国codasylcodasyl组织组织 dbtgdbtg报告提出报告提出-网状网状dbsdbs的概念的概念; ; 19701970年美国年美国ibmibm公司的公司的e.f.codde.f.codd发表的论文提出发表的论文提出-关系模型的思想关系模型的思想 数据库阶段的特点:数据库阶段的特点: 采用数据模型表示复杂的数据结构采用数据模型表示复杂的数据结构( (数据库的三级体系结构数据库的三级体系结构) ); 有较高的数据独立性有较高的数据独立性( (逻辑数据独立性、物理数据独立性逻辑数据
3、独立性、物理数据独立性) ); 数据库系统为用户提供了方便的用户接口;数据库系统为用户提供了方便的用户接口; 数据库系统提供四方面的数据控制功能:数据库的并发控制,数据库系统提供四方面的数据控制功能:数据库的并发控制, 数据库的恢复,数据的完整性,数据安全性。数据库的恢复,数据的完整性,数据安全性。 对数据的操作以数据项为单位,增加了系统的灵活性。对数据的操作以数据项为单位,增加了系统的灵活性。 3. 3. 数据库技术的术语数据库技术的术语 db db dbms dbms dbs dbs dba dba dddd 4. 4. 数据库技术的发展数据库技术的发展 第第2 2章章 数据库系统结构数据
4、库系统结构 1. 1. 数据描述数据描述 从事物的特性到计算机中的具体表示,分别经历了三个阶段从事物的特性到计算机中的具体表示,分别经历了三个阶段: : 概念设计中的数据描述概念设计中的数据描述(实体、属性、实体集、实体标识符)(实体、属性、实体集、实体标识符) 逻辑设计中的数据描述逻辑设计中的数据描述(记录、字段、文件、关键码)(记录、字段、文件、关键码) 物理设计中的数据描述物理设计中的数据描述(位、字节、字、块、桶、卷)(位、字节、字、块、桶、卷) 注意他们的差别:注意他们的差别: 概念设计中的数据描述与逻辑数据描述的差别;概念设计中的数据描述与逻辑数据描述的差别; 逻辑数据描述与物理数
5、据描述的差别。逻辑数据描述与物理数据描述的差别。 2. 2. 数据模型数据模型: : 表示实体类型及实体间联系的模型表示实体类型及实体间联系的模型 概念概念数据数据模型模型(对现实世界的第一层抽象)(对现实世界的第一层抽象) 是按用户的观点对数据建模,强调其语义表达能力是按用户的观点对数据建模,强调其语义表达能力。 (独立于计算机系统的模型,用于建立信息世界的数据模型独立于计算机系统的模型,用于建立信息世界的数据模型)。 逻辑数据模型逻辑数据模型 “结构数据模型结构数据模型”:对现实世界的第二层抽象对现实世界的第二层抽象 是直接面向数据库的逻辑结构,与是直接面向数据库的逻辑结构,与dbmsdb
6、ms无关。无关。 ( (从计算机的观点对数据建模,从计算机的观点对数据建模,用于建立机器世界的数据模型用于建立机器世界的数据模型) ) 概念数据模型概念数据模型-实体联系模型实体联系模型(er模型模型) 在在er模型中有四个基本成分:模型中有四个基本成分: 矩形框矩形框表示实体类型表示实体类型; 菱形框菱形框表示联系类型(实体间的联系)表示联系类型(实体间的联系); 椭圆形框椭圆形框表示实体类型和联系类型的属性表示实体类型和联系类型的属性; 用直线连接用直线连接:实体与属性;:实体与属性; 联系与属性;联系与属性; 实体与实体;实体与实体; 相应的命名均记人各种框中。相应的命名均记人各种框中。
7、 对于关键码的属性,在属性名下划一横线。对于关键码的属性,在属性名下划一横线。 数据联系的描述数据联系的描述 联系的元数:与一个联系有关的实体集的个数联系的元数:与一个联系有关的实体集的个数 联系的类型:联系的类型: 一对一(一对一(1:1) 一对多(一对多(1:n) 多对多(多对多(m:n) 一元联系:一元联系: 二元联系:二元联系: 三元联系:三元联系: 收银员收银员 商品商品 顾客顾客 运动员运动员 职职 工工 零零 件件 学号学号学生学生 班级班级 学生学生 课程课程学生学生 建立 建立erer模型的步骤如下:模型的步骤如下: 首先确定实体类型和联系类型,首先确定实体类型和联系类型,
8、接着把实体类型和联系类型组合成接着把实体类型和联系类型组合成erer图图; ; 然后确定实体类型和联系类型的属性,然后确定实体类型和联系类型的属性, 再确定实体类型的键,在属于键的属性名下划一横线。再确定实体类型的键,在属于键的属性名下划一横线。 (包括第六章(包括第六章erer模型的扩充)模型的扩充) 逻辑数据模型逻辑数据模型:面向数据库逻辑结构的模型。:面向数据库逻辑结构的模型。 逻辑数据模型逻辑数据模型( (三要素三要素) ):数据结构、数据操作和数:数据结构、数据操作和数 据完整性约束。据完整性约束。 数据结构数据结构是指对实体类型和实体间联系的表达和实现;是指对实体类型和实体间联系的
9、表达和实现; 数据操作数据操作是指对数据库的检索和更新(包括插入、是指对数据库的检索和更新(包括插入、 删除、修改)两类操作的实现;删除、修改)两类操作的实现; 数据完整性约束数据完整性约束给出数据及其联系应具有的制约和依赖给出数据及其联系应具有的制约和依赖 规则。规则。 逻辑数据模型主要有:逻辑数据模型主要有: 层次模型:层次模型:用用树型结构树型结构来表示实体类型及实体之间联系的模型来表示实体类型及实体之间联系的模型 称为层次模型。(数据之间的联系通过称为层次模型。(数据之间的联系通过指针指针实现)实现) 网状模型:网状模型:用用有向图结构有向图结构表示实体类型及实体间联系的模型表示实体类
10、型及实体间联系的模型 称为网状模型。(数据之间的联系通过称为网状模型。(数据之间的联系通过指针指针实现)实现) 关系模型:关系模型:用用二维表格结构二维表格结构来表示实体集。来表示实体集。( (数据之间的联系数据之间的联系 是通过是通过外键和主键间外键和主键间联系实现的联系实现的 即:公共属性即:公共属性) 面向对象模型:面向对象模型:数据之间嵌套、递归联系是通过对象标识符实现的数据之间嵌套、递归联系是通过对象标识符实现的 4. . 数据库的体系结构数据库的体系结构 三级模式结构三级模式结构 三级结构和两级映象三级结构和两级映象 数据独立性定义数据独立性定义 两级数据独立性两级数据独立性: :
11、 物理数据独立性、逻辑数据独立性物理数据独立性、逻辑数据独立性 用户用户1 1 用户用户2 2 用户用户n n 外模式外模式 局部逻辑结构局部逻辑结构 映像功能映像功能 (逻辑独立性)(逻辑独立性) 模式模式 全局逻辑结构全局逻辑结构 映像功能映像功能 (物理独立性)(物理独立性) 内模式内模式 数据库的物理结构数据库的物理结构 5. .数据库管理系统数据库管理系统 dbmsdbms的工作模式的工作模式: 应用程序应用程序 dbms db 数据请求低层指令 数据 (处理结果) 数据 (查询结果) db os dbms 数数 据据 字字 典典 应用程序应用程序 db的系统缓冲区的系统缓冲区 外模
12、式外模式 模式模式 内模式内模式 用户访问数据的过程用户访问数据的过程 : dbms dbms的主要功能的主要功能: 1 1数据库的定义功能数据库的定义功能 2 2数据库的操纵功能数据库的操纵功能 3 3数据库的保护功能数据库的保护功能 4 4数据库的维护功能数据库的维护功能 5. 5. 数据字典数据字典 dbmsdbms的模块组成的模块组成 从模块结构来观察,从模块结构来观察,dbmsdbms由两大部分组成:由两大部分组成: 查询处理器和存储管理器。查询处理器和存储管理器。 查询处理器有四个主要成分:查询处理器有四个主要成分:ddlddl编译器,编译器,dmldml编译器,嵌入编译器,嵌入
13、式式dmldml的预编译器及查询运行核心程序。的预编译器及查询运行核心程序。 存储管理器有四个主要成分:权限和完整性管理器,事务管存储管理器有四个主要成分:权限和完整性管理器,事务管 理器,文件管理器及缓冲区管理器。理器,文件管理器及缓冲区管理器。 查询处理器 查询处理器 存储管理器存储管理器 应用程序应用程序 目标码目标码 嵌入型嵌入型dml 预编译器预编译器 dml 编译器编译器 ddl 编译器编译器 查询运行查询运行 核心程序核心程序 权限和完权限和完 整性管理器整性管理器 事务事务 管理器管理器 缓冲区缓冲区 管理器管理器 文件文件 管理器管理器 数据库管理系统:数据库管理系统:模块结
14、构模块结构 6、数据库系统、数据库系统dbsdbs dbsdbs的组成的组成: 数据库数据库db 硬件硬件 软件软件 数据库管理员数据库管理员dba dbs dbs的全局结构的全局结构 dbsdbs结构的分类结构的分类 dbsdbs的效益的效益 数据库管理员数据库管理员dbadba:dbadba是控制数据整体结构的一组人员,负责是控制数据整体结构的一组人员,负责 dbsdbs的正常运行,承担创建、监控和维护数据库结构的责任。的正常运行,承担创建、监控和维护数据库结构的责任。 dbadba的主要职责:的主要职责: 定义模式定义模式 定义内模式定义内模式 与用户的联络。包括定义外模式、应用程序的设
15、计、与用户的联络。包括定义外模式、应用程序的设计、 提供技术培训等专业服务。提供技术培训等专业服务。 定义安全性规则,对用户访问数据库的授权。定义安全性规则,对用户访问数据库的授权。 定义完整性规则,监督数据库的运行。定义完整性规则,监督数据库的运行。 数据库的转储与恢复工作。数据库的转储与恢复工作。 第第3 3章章 关系运算关系运算 1、基本概念、基本概念 关系模型:关系模型:用二维表格表示实体集,用关键码表示实体间用二维表格表示实体集,用关键码表示实体间 联系的数据模型;联系的数据模型; 关键码:关键码: 超键、候选键、主键和外键;超键、候选键、主键和外键;(p.37) 关系的定义和关系的
16、定义和特点特点;(p.36-p.37,p.41) 三类完整性规则:三类完整性规则:实体完整性规则、参照完整性规则、实体完整性规则、参照完整性规则、 用户定义的完整性规则;用户定义的完整性规则;(p.40-p.41) 过程性语言与非过程性语言:过程性语言与非过程性语言: 过程性语言:编程时必须指出过程性语言:编程时必须指出“干什么干什么”及及“怎么干怎么干”的语言的语言; 非过程性语言:编程时只须指出非过程性语言:编程时只须指出“干什么干什么”,不必指出,不必指出“怎么干怎么干 ” 。 过程性语言过程性语言非过程性语言非过程性语言 编程时,必须指出编程时,必须指出“怎么干怎么干”编程时,不必指出
17、编程时,不必指出“怎么干怎么干” 由用户进行数据导航由用户进行数据导航由系统进行数据导航由系统进行数据导航 单记录处理方式单记录处理方式集合处理方式集合处理方式 属于属于3gl3gl范畴范畴属于属于4gl4gl范畴范畴 c语言,层次、网状语言,层次、网状dmldml等等关系关系dmldml,软件开发工具等,软件开发工具等 非过程性语言与过程性语言的区别非过程性语言与过程性语言的区别 关系运算包括:关系代数和关系演算两类。关系运算包括:关系代数和关系演算两类。 2、关系代数(关系代数(p.42p.51)理论基础:)理论基础:集合运算集合运算 五个基本操作五个基本操作(并、差、笛卡儿积、投影、选择
18、);(并、差、笛卡儿积、投影、选择); 四个组合操作四个组合操作(交、联接、自然联接、除);(交、联接、自然联接、除); 三个扩充的关系代数操作三个扩充的关系代数操作(外联接、外部并、半联接);(外联接、外部并、半联接); 3、关系演算关系演算 (p.52-p.56) 理论基础:理论基础:谓词演算谓词演算 元组关系演算和域关系演算的原子公式、公式的定义。元组关系演算和域关系演算的原子公式、公式的定义。 无限关系无限关系(指元组个数为无穷多个的关系);(指元组个数为无穷多个的关系); 无穷验证无穷验证(验证公式真假时需要进行无限次验证)。(验证公式真假时需要进行无限次验证)。 关系关系 演算的安
19、全性和等价性。演算的安全性和等价性。 4、查询优化、查询优化(p.57-p.64) 关系代数表达式的优化问题;关系代数表达式的优化问题; 关系代数表达式的等价变换规则;关系代数表达式的等价变换规则; 优化的策略;优化的策略; 优化算法、优化算法、例例 3.24 关系代数表达式的运用技巧关系代数表达式的运用技巧 (1)一般规则)一般规则 对于只涉及到选择、投影、联接的查询可用下列表达式表示:对于只涉及到选择、投影、联接的查询可用下列表达式表示: (rs) 或者或者 (rs) (2) 对于否定的操作,一般要用差操作表示对于否定的操作,一般要用差操作表示; 例如例如: “检索不学检索不学c2c2课的
20、学生姓名课的学生姓名”。 不能用下式表示:不能用下式表示: sname, ,age( (cnoc2(ssc) 一定要用一定要用“差差”的形式:的形式: sname, ,age( (s)sname, ,age( (cno=c2(ssc) (3)(3) 对于具有对于具有“全部全部”或或“包含包含”问题的检索问题的检索,一般要用除法操作表一般要用除法操作表 示。示。 例例: “检索学习检索学习全部课程全部课程的学生学号的学生学号”: sno, ,cno( (sc)cno(c) 不能表示为:不能表示为:sno (sccno(c) 第第4 4章章 关系数据库语言关系数据库语言sql sql (p.67-
21、p.97)(p.67-p.97) 1. sqlsql数据库的体系结构,数据库的体系结构,sqlsql的组成。的组成。 2. sql2. sql的数据定义的数据定义:sqlsql模式、基本表和索引的创建模式、基本表和索引的创建 和撤销,和撤销,sql提供的数据类型提供的数据类型。 3. sqlsql的数据查询:的数据查询:selectselect语句的格式,单表和多表查询,语句的格式,单表和多表查询, 基本表的联接操作基本表的联接操作,聚合和分组,集合操作。聚合和分组,集合操作。 4. sqlsql的数据更新:的数据更新:插入、删除和修改语句。插入、删除和修改语句。 5. 视图的创建和撤消,视图
22、的创建和撤消,对视图更新操作的限制对视图更新操作的限制。 6. 6. 嵌入式嵌入式sqlsql:预处理方式,使用规定,使用技术预处理方式,使用规定,使用技术。 内容分析内容分析 selectselect语句是语句是sqlsql的核心内容,应掌握下列内容。的核心内容,应掌握下列内容。 1 1selectselect语句的来历语句的来历 在关系代数中最常用的式子是下列表达式:在关系代数中最常用的式子是下列表达式: a1, a1,an,an( (f f(r(r1 1r rm m) 这里这里r r1 1、r rm m为关系,为关系,f f是公式,是公式,a a1 1、a an n为属性。为属性。 为此
23、为此sqlsql设计成设计成selectselectfromfromwherewhere句型:句型: select aselect a1 1,a an n from rfrom r1 1,r rm m where fwhere f 该句型是从关系代数表达式演变来的,但该句型是从关系代数表达式演变来的,但wherewhere子句中的条件表子句中的条件表 达式达式f f要比关系代数中公式更灵活。要比关系代数中公式更灵活。 2 2selectselect语句中出现的基本表名,语句中出现的基本表名,应理解为基本表中的元组变应理解为基本表中的元组变 量,而列名应理解为元组分量。量,而列名应理解为元组分量
24、。 3 3selectselect语句的语义通常有三种情况(语句的语义通常有三种情况(sqlsql标准标准): : 以学生表以学生表s s(snosno,snamesname,ageage,sexsex)为例说明。)为例说明。 第一种情况第一种情况:select:select语句中未使用分组子句语句中未使用分组子句, ,也未使用聚合操作也未使用聚合操作, 那么那么selectselect子句的语义是对查询的结果执行投影操作。子句的语义是对查询的结果执行投影操作。 如:如:select snoselect sno,snamesname from s from s where sex= where
25、 sex= m m ; 第二种情况:第二种情况:selectselect语句中未使用分组子句,但在语句中未使用分组子句,但在selectselect子句中子句中 使用了聚合操作,此时使用了聚合操作,此时selectselect子句的语义是对查询结子句的语义是对查询结 果执行聚合操作。果执行聚合操作。 如:如:select countselect count(* *),),avgavg(ageage) from s where sex=from s where sex= m m ; 该语句是求男同学的人数和平均年龄。该语句是求男同学的人数和平均年龄。 第三种情况:第三种情况:selectsele
26、ct语句使用了分组子句和聚合操作语句使用了分组子句和聚合操作, ,此时此时selectselect 子句的语义是子句的语义是对查询结果的每一分组去做聚合操作。对查询结果的每一分组去做聚合操作。 例例:求平均人数大于十人的男同学每一年龄的人数。:求平均人数大于十人的男同学每一年龄的人数。 select ageselect age,countcount(* *) from sfrom s where sex= where sex=男男 and count( and count(* *)10;)10; 例例:求平均人数大于十人的男同学每一年龄的人数。:求平均人数大于十人的男同学每一年龄的人数。 se
27、lect ageselect age,countcount(* *) from sfrom s where sex= where sex=男男 group by age having count( group by age having count(* *)10 )10 ; sql sql的数据更新:的数据更新:插入、删除和修改语句插入、删除和修改语句 (p.89-p.91) 数据插入数据插入 1 1、插入单个元组:、插入单个元组: insert into insert into 基本表名(列名表)基本表名(列名表) values values (元组值)(元组值) 2 2、插入子查询的结果:
28、、插入子查询的结果: insert into insert into 基本表名(列名表)基本表名(列名表) select select 查询语句;查询语句; 数据删除数据删除 删除关系中满足条件的元组语句的句法如下:删除关系中满足条件的元组语句的句法如下: delete from delete from where where 数据修改数据修改 update update 基本表名基本表名 set set 列名列名= =值表达式值表达式 ,列名,列名= =值表达式值表达式 where where 条件表达式条件表达式 视图的更新操作视图的更新操作 (p.91-p.92)(p.91-p.92)
29、对于视图元组的更新操作(对于视图元组的更新操作(insertinsert、deletdelet、updataupdata),有以下),有以下 三条规则:三条规则: 如果一个视图是从多个基本表使用联接操作导出的,那么不如果一个视图是从多个基本表使用联接操作导出的,那么不 允许对这个视图执行更新操作。允许对这个视图执行更新操作。 如果在导出视图的过程中,使用了分组和聚合操作,也不允如果在导出视图的过程中,使用了分组和聚合操作,也不允 许对这个视图执行更新操作。许对这个视图执行更新操作。 如果视图是从单个基本表使用选择、投影操作导出的,并且如果视图是从单个基本表使用选择、投影操作导出的,并且 包含了基本表的主键或某个候选键,那么这样的视图称为包含了基本表的主键或某个候选键,那么这样的视图称为“行列子行列子 集视图集视图”,并且可以被执行更新操作。,并且可以被执行更新操作。 在在sql2sql2中中, ,允许更新的视图在定义时允许更新的视图在定义时, ,必须加上必须加上“with check with check optionoption”短语。短语。 嵌入式嵌入式sqlsql的使用技术的使用技术: : 嵌入式嵌入式sqlsql的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽黄山黄山区部分事业单位招聘急需紧缺人才12人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年安徽黄山市供销农副产品专业合作社联合社招聘8人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年安徽马鞍山市含山博物馆招考1人管理单位笔试遴选500模拟题附带答案详解
- 2025年安徽蚌埠市广播电视台公开招聘10人管理单位笔试遴选500模拟题附带答案详解
- 2025-2030年中国新型制剂资金申请报告
- 2024-2030年撰写:中国农村电网改造行业发展趋势及竞争调研分析报告
- 2024-2030年国家甲级资质:中国城市应急联动融资商业计划书
- 2024-2030年中国齿科植入材料市场发展前景规划及投资风险评估报告
- 2024年粤教版七年级科学下册月考试卷185
- 2024年度小学生编程家教辅导服务协议3篇
- GB 2758-2012食品安全国家标准发酵酒及其配制酒
- 四川氏宗亲新春联谊会策划方案
- 耳鸣、耳聋课件
- 栏杆百叶安装施工方案
- 共享单车投放可行性分析报告
- DG-TJ 08-2360-2021 装配整体式混凝土结构工程监理标准
- 快递公司消防安全管理制度范本(通用5篇)
- QCDSM目标管理五大要素
- OA协同办公系统运行管理规定
- 某小区建筑节能保温工程监理实施细则
- 高一语文必修一二册背诵课文默写
评论
0/150
提交评论