数据库基础知识点.docx
- 文档编号:13880285
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:34
- 大小:58.40KB
数据库基础知识点.docx
《数据库基础知识点.docx》由会员分享,可在线阅读,更多相关《数据库基础知识点.docx(34页珍藏版)》请在冰点文库上搜索。
数据库基础知识点
数据库
1、数据库系统基本概念
1、数据库的基本概念
(1)信息:
信息是现实世界事物的存在方式或运动状态的反映,是对事物间相互联系、相互作用的描述。
信息具有可感知、可存储、可加工、可传递和可再生的自然属性。
(2)数据:
数据是描述现实世界事物的符号记录。
(3)信息与数据的关系:
数据是信息的符号表示,或称载体;信息是数据的内涵,是数据的语义解释。
(4)数据库:
数据库是按一定结构组织并可以长期存储在计算机内的、在逻辑上保持一致的、可共享的大量相关联数据的集合。
(5)数据库中的数据通常分为两部分:
用户数据和系统数据
(6)系统数据:
亦称为数据字典,包括对数据库的描述信息、数据库的存储管理信息、数据库的控制信息、用户管理信息和系统事务管理信息等。
数据字典亦称为元数据或系统目录。
(7)数据库管理系统:
是位于用户和操作系统之间的一个定义、操纵、管理、构建和维护数据库的系统软件,是数据库和用户之间的一个接口。
(8)数据库管理员(DBA)的职责:
确定数据库中的信息内容和结构
确定数据库的存储结构和存储策略
定义数据的安全性要求和完整性约束
监控数据库的使用和运行
数据库的性能改进
定期对数据库进行重组和重构,以提高系统的性能
(9)系统分析员的职责:
负责应用系统的需求分析和规范说明
确定系统的软硬件配置并参与数据库系统的概要设计
(10)数据库设计人员的职责:
参加用户需求调查和系统分析
负责数据库中数据的确定、数据库各级模式的设计
(11)1968年,美国IBM公司推出第一个数据库管理系统IMS
(12)1970年,美国IBM公司的高级研究员E.F.Codd提出了关系数据模型及其相关概念。
奠定了关系数据库的理论基础。
2、数据库方法的主要特征
(1)数据库方法的优势:
数据库系统自描述特点
数据结构化
数据共享性高、冗余度小、易扩充
数据独立性高
由DBMS进行统一的数据管理和控制
(2)DBMS的数据控制功能:
提供数据库数据的安全性保护,限制非授权的访问
提供数据库的备份和恢复功能
提供定义和确保数据库完整性检查
提供并发控制功能
提供高效的数据查询处理和优化
提供多用户界面
3、数据库系统的构成成分(P2)
(1)构成:
数据库操作系统、数据库管理系统、应用开发工具、应用系统、数据库管理员、数据库用户
4、数据库技术的研究领域
(1)数据库管理系统软件的研究
研究的目的:
提高系统的性能和提高用户的生产率
(2)数据库设计技术和方法的研究
(3)数据库理论的研究
2、数据模型
1、数据模型基本概念和主要成分
(1)数据模型:
数据模型是用来描述数据库数据的结构、定义在结构上的操纵,以及数据间的约束的一组概念和定义,描述了数据库的静态特征与动态行为,为数据库的表示和操纵提供框架。
(2)数据模型应满足的三点要求:
能比较真实地模拟现实世界
容易为人所理解
便于在计算机上实现
(3)数据模型组成的要素:
数据结构:
以一种统一的方式描述基本数据项的类型与性质以及数据与数据间的关联
数据操作:
表示数据模型的动态结构
数据约束:
既刻画了数据静态特征,也表示了数据动态行为准则
主要是数据完整性约束
(4)数据模型是数据库系统的核心和基础。
2、数据模型的抽象层次和相互关联
3、各抽象层次的主要数据模型
(1)数据模型的分类:
概念层模型、逻辑层模型、物理层模型
(2)概念层模型:
简称概念模型,是现实世界到信息世界的语义抽象,主要用于数据库概念设计。
(3)逻辑层模型:
简称逻辑模型,用于描述数据库数据的整体逻辑结构。
传统的逻辑模型是基于记录的模型,分为:
层次模型、网状模型和关系模型。
面向对象模型不是传统的基于记录的模型。
(4)物理层模型:
简称物理模型,描述逻辑模型的物理实现,是数据库最底层的抽象。
它确定数据的物理存储结构、数据存储路径以及调整、优化数据库的性能。
物理模型的设计目标是提高数据库性能和有效利用存储空间
4、概念数据模型——E-R模型
(1)概念模型用于信息世界的建模,与具体的DBMS无关
(2)几个概念:
实体:
客观存在并可以相互区别的事物称为实体。
属性:
实体所具有的某一特性称为属性。
域:
属性的取值范围称为该属性的域。
实体型:
用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
实体集:
同类实体的集合,称为实体集。
(3)两个实体型之间的联系:
一对一联系(1:
1)
一对多联系(1:
n)
多对多联系(m:
n)
一对一联系是一对多联系的例,一对多联系是多对多联系的特例
(4)概念模型的表示方法——实体-联系模型(E-R模型)
(5)E-R模型是一个图示化模型,提供了表示实体型、属性和联系的方法。
实体型:
用矩形表示,矩形框内写明实体名
属性:
用椭圆形表示,并用无向边将其与相应的实体型连接起来。
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁边标注上联系的类型(1:
1、1:
n或m:
n)
注:
联系型本身也是一种实体型,也可以有属性
(6)E-R模型的两个优点:
接近人的思维方式,容易理解
与计算机无关,用户容易接受
(7)E-R模型由于其易理解性且易于向关系模型转换,成为数据库概念设计的最一般的模型
5、常用的逻辑数据模型
(1)逻辑数据模型分类:
层次数据模型、网状数据模型、关系数据模型、面向对象数据模型,以及对象-关系数据模型
(2)层次模型和网状模型
层次模型主要反映现实世界中实体间的层次关系,是以树状结构表示各类实体以及他们的联系
层次模型的存储结构通过邻接法、链接法和邻接-链接混合法实现数据的存储链接。
层次模型引入冗余数据和指针来实现实体的多对多联系
(3)关系模型
关系模型是目前最常用的一种数据模型
关系模型用二维表格结构表示各类实体及实体间的联系,一个关系数据库一般由多张二维表组成,每张二维表称为一个关系。
二维表的表头称为关系模式;二维表中的数据称为关系实例,简称关系
(4)面向对象模型
面向对象模型既是概念模型又是逻辑模型
6、数据库系统的三级模式结构和数据独立性
(1)从数据库管理系统角度看,数据库系统常采用三级模式结构:
外模式、模式及内模式。
这是数据库系统内部的系统结构。
(2)从数据库最终用户角度看,数据库系统的结构分为集中式结构、分布式结构、客户机/服务器结构以及面向Web应用的三层和n层体系结构。
这是数据库系统外部的体系结构。
(3)型:
是指对某一类数据的结构和属性的描述,值是型的一个具体赋值。
数据库的型是固定不变的,而数据库的值是随时间变化的。
数据库的型亦称为数据库的内涵,数据库的值亦称为数据库的外延
(4)数据库的模式:
是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及“型”的描述,不涉及具体的“值”。
(5)在某个特定时刻,数据库中的数据被称为一个数据库状态,也称为数据库的具体值的当前集合。
每个模式机构都有它自己实例的当前集合。
(6)数据库系统的三级模式:
外模式、模式、内模式。
这是数据库系统内部的体系结构或总体结构。
模式:
也称逻辑模式或概念模式。
一个数据库只能有一个模式。
外模式:
也称子模式或用户模式。
一个数据库可以有多个外模式。
内模式:
也称物理模式或存储模式。
一个数据库只能有一个内模式。
(7)外模式/模式映像:
保证数据与程序的逻辑独立性,简称数据的逻辑独立性。
(8)模式/内模式映像:
保证数据与程序的物理独立性,简称数据的物理独立性。
(9)数据模型和数据库系统的三级模式和两层映像的体系结构是整个数据库系统的核心和基础。
3、关系数据模型
1、关系数据库系统基本概念
(1)关系数据模型由关系数据结构、关系操作集合和关系完整性约束三大要素组成。
(2)关系数据结构:
(3)关系操作集合:
关系操作的特点:
集合操作方式。
这种操作方式也称为一次一个集合的方式。
菲关系数据模型的数据操作方式则为一次一个记录方式。
用户不必请求DBA为他建立特殊的存取路径,存取路径的选择由DBMS的优化机制来完成。
用户不必要求助于循环和递归来完成数据的重复操作。
两种表示方式:
代数方式和逻辑方式
(4)关系完整性约束:
数据库的数据完整性指数据库中数据的正确性、一致性和相容性
2、关系模型的数据结构和基本术语
(1)关系:
一个关系对应一个二维表,二维表名就是关系名。
(2)属性:
在二维表中的列(字段),称为属性。
(3)关系模式:
在二维表中的行定义(记录的型),即对关系的描述称为关系模式。
(4)元组:
在二维表中的行(记录的值),称为元组。
(5)分量:
元组中的一个属性值
(6)候选码或候选键:
如果在关系的一个码或键中,不能从中移去任何一个属性,否则它就不是这个关系的码或键,则称这样的码或键为该关系的候选码或候选键。
(7)超码或超键:
如果在关系的一个码中移去某个属性,它仍然是这个关系的码,则称这样的码或键为该关系的超码或超键。
每个关系至少有一个默认的超码或超键,即该关系的所有属性的集合,也是这个关系的最大超码或超键。
(8)主码或主键:
在一个关系中的若干个候选码或候选键中指定一个用来唯一标识该关系的元组,则称这个被指定的候选码或候选键为该关系的主码或主键。
(9)主属性和非主属性:
关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。
(10)外码或外键:
当关系中的某个属性(或属性组)虽然不是这个关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码或外键。
(11)参照关系与被参照关系:
参照关系也称从关系,被参照关系也称主关系。
以外码为主码的关系称为被参照关系,外码所在的关系称为参照关系。
(12)以数学的观点定义关系称为关系的形式定义:
用集合论的观点定义关系:
关系是一个度为K的元组的有限集合,即这个关系有若干个元组,每个元组有K个属性值(把关系看成一个集合,集合中的元素是元组。
)
用值域的概念来定义关系:
关系是属性值域笛卡儿积的一个子集
(13)关系数据库对关系的限定:
每一个属性是不可分解的
每一个关系仅仅有一种关系模式
每一个关系模式中的属性必须命名,在同一个关系模式中,属性名必须是不同的
在关系中元组的顺序是无关紧要的,可任意交换。
在关系中属性的顺序是五关紧要的,可任意交换。
同一个关系中不允许出现候选码或候选键值完全相同的元组
3、关系操作的特征、关系代数
(1)关系代数的操作可分为三类:
基于传统集合论的操作:
从行的角度进行的,有并、交、差、笛卡儿积
专门的关系操作:
分为一元操作和二元操作。
一元操作有选择和投影,二元操作有连接和除
扩充的关系操作:
主要有广义投影、赋值、外连接、半连接、聚集、外部并
(2)并、差、笛卡儿积、选择、投影是五种基本的操作。
(3)基于传统集合论的关系操作是集合上的标准数学操作,包括并、交、差、笛卡儿积四种操作,它们都是二元操作。
前三种操作必须满足相容性条件。
(4)如果两个关系满足相容性条件,则这两个关系具有相同的属性个数,并且每对相对应的属性都具有相同的域。
(5)P42-P49.相应操作的定义,以及关系代数。
4、关系的完整性约束
(1)关系数据模型的完整性约束主要包括实体完整性约束、参照完整性约束和用户定义完整性约束。
(2)实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系数据库管理系统(DBMS)自动支持
(3)实体完整性约束
实体完整性约束是对关系中主码或主键属性值的约束。
由实体完整性规则实现。
实体完整性规则:
若属性A是关系R的主属性,则属性A不能取空值。
由此可见:
实体完整性约束是对关系的约束
每个关系必须有主码,主码的值唯一,用于标识关系的元组
组成主码的属性都不能取空值,而不仅仅是主码属性集整体不能取空值
(4)参照完整性约束
不仅两个或两个以上的关系间可以存在参照关系,同一个关系的属性间也可能存在参照关系。
外码不一定要与相应的主码同名
参照完整性规则:
若属性(或属性组)F是关系R的外码,它与关系S的主码K相对应(关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须:
或者取空值(F的每个属性值均为空值)
或者等于S中某个元组的主码值
参照完整性规则中,R和S可以是同一个关系
(5)用户定义完整性约束
主要是对属性的取值进行限定,所以主要是域完整性约束
域完整性约束是对属性的值域的约束,是指对关系中属性取值的正确性限制,包括数据类型、精度、取值范围、是否允许空值、是否有默认值等。
取值范围又分为静态定义和动态定义两种。
域完整性约束还包括定义属性间的依赖关系,这包括函数依赖和多值依赖。
注意:
多个属性具有相同的域是可能的,甚至在同一个关系中的不同属性也可以有相同的域。
4、关系数据库基本语言SQL
1、SQL的基本概念和主要特点
(1)SQL的语言特点:
综合统一
高度非过程化
面向集合的操作方式
灵活的使用方式
语言简洁,易学易用,功能强
(2)SQL语言集数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)的功能于一体。
(3)SQL语言的动词
SQL功能
动词
数据查询
select
数据定义
Create\drop\alter
数据操纵
Insert\update\delete
数据控制
Grant\revoke
(4)SQL的数据类型(P56-57)
预定义数据类型
构造数据类型
用户定义数据类型
大对象类型
(5)SQL语言支持数据库三级模式结构,其中,外模式对应于视图和部分基本表;模式对应于基本表;内模式对应于存储文件。
(6)元组对应于表中的行,属性对应于表中的列,具体如下:
一个SQL数据库模式是该数据库中基本表的集合
一个关系对应于一个SQL表,行对应于元组,列对应于属性
一个表中可以有多个索引,索引可以存放在存储文件中
存储文件的逻辑结构组成了SQL数据库的内模式
一个SQL表可以是一个基本表,也可以是一个视图
一个基本表可以跨一个或多个存储文件存放,一个存储文件也可以存放一个或多个基本表
SQL用户可以是应用程序,也可以是用户
SQL环境是SQL数据存在和SQL语句执行的语境
(7)SQL语言的组成
数据定义语言(DDL):
包括数据库模式、表、视图、索引、域、触发器、自定义类型等
数据操纵语言(DML)
数据定义语言(DCL)
嵌入式和动态SQL规则
SQL调用和会话规则
(8)P59
2、SQL的数据定义功能
(1)定义SQL模式:
Createschema<模式名>authrization<用户名>
例:
创建一个名为s_sc_c的学生-选课-课程数据库模式,属主食Jin
Createschemas_sc_cauthrizationJin
(2)删除SQL模式:
Dropschema<模式名>|cascade|restrict|
当选用dropschema语句删除数据库模式时,有以下两种方式:
选用cascade(级联方式),则当删除数据库模式时,该数据库模式连同其下属的模式对象(基本表、视图、索引等)全部被删除。
选用restrict(约束方式),则当删除数据库模式时,该数据库模式下属的模式对象(基本表、视图、索引等)预先已被全部删除,才能执行对该数据库模式的删除,否则拒绝删除。
例:
删除一个名为s_sc_c的学生-选课-课程数据库模式。
Dropschemas_sc_ccascade
(3)创建基本表:
Createtable[模式名]<表名>(<列名><数据类型>[列级完整性约束])
(4)扩充和修改基本表:
SQL语言用ALTERTABLE语句扩充和修改基本表
(5)删除基本表:
Droptable<表名>[cascade|restrict]
当使用DROPTABLE语句删除基本表时,可以选用两种方式:
选用cascade(级联方式),则在删除基本表时,该基本表中的数据、表定义本身以及在该基本表上创建的视图和索引也随之消失;
选用restrict(约束方式),只有在预先已经清除了该基本表中的所有数据以及在该基本表上所创建的视图和索引后,才能删除这个空表,否则拒绝删除该表。
默认值为CASCADE
(6)在基本表上建立一个或多个索引目的:
提供多种存储路径,加快查找速度。
(7)创建索引:
Create[unique][cluster]index<索引名>
Unique表示此索引的每一个索引值只对应唯一的数据
Cluster表示要建立的索引为聚簇索引,聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。
(8)在一个基本表上只能建立一个聚簇索引。
(9)删除索引:
DROPindex[on<表名>]<索引名>
3、SQL的数据查询功能
(1)select*from
(2)字符_(下划线)表示可以和任意的单个字符匹配
字符%(百分号)表示可以和任意长的字符串匹配
(3)P65-71
4、SQL的数据修改功能
(1)SQL的数据修改语句包括插入、删除和更新三类语句。
(2)插入语句:
insertinto表名value
(3)删除语句:
deletefrom<表名>[where<条件表达式>]
(4)更新语句:
update<表名>
Set<列名>=<表达式>
[where<条件表达式>]
5、SQL的数据控制功能
(1)SQL的数据控制包括安全性控制、完整性控制、事务控制、并发控制和故障控制。
(2)SQL语言主要使用GRANT语句和REVOKE语句实现权限授予和权限收回。
(3)授予角色语句的一般格式:
Grant<角色>to{<用户>|public|}
(4)授予权限语句的一般格式:
Grant{<权限>[,<权限>,...]|ALL}
[on<对象名>]
TO{<用户>|<角色>[,<用户>|<角色>,...]|public}
[withgrantoption]
语义:
把对指定操作对象的指定操作权限授予指定的用户或角色。
(5)grant语句可以一次向一个用户授权,也可以一次向多个用户授权。
(6)权限收回与权限授予的语句一样。
6、SQL中视图的概念、定义、操作、意义
(1)视图:
视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
(2)视图是从一个或多个基本表(或其他视图)中使用selectfrom语句导出的表。
它与基本表不同,是一个虚表。
(3)视图的创建:
Createview<视图名>
As<子查询>
[withcheckoption]
子查询一般不含有ORDERBY子句和DISTINCT短语的SELECT语句。
在CREATEVIEW语句中可仅指定视图名,省略组成视图的各个属性列名
以下情况必须明确指定组成视图的所有列名:
其中某个目标列不是单纯的属性名,而是集合函数或列表达式
多表连接时选出了几个同名列作为视图中的列
需要在视图中为某列重新命名
(4)视图不仅可以建立在一个或多个基本表上,也可以建立在一个或多个已定义好的视图上,或同时建立在基本表与视图上。
(5)根据视图定义中的查询语句,将视图分为以下几类:
行列子视图:
一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,称这类视图为行列子视图
带表达式的视图:
一个视图带有由基本数据经过各种计算派生出的虚拟列,则称为带表达式的视图。
分组视图:
一个视图在创建它的SELECT语句中使用了聚集函数和GROUPBY子句,这样的视图称为分组视图。
连接视图:
一个视图在创建它的SELECT语句中使用两个或多个表的连接,这样的视图称为连接视图。
(6)视图的删除:
dropview<视图名>[cascade]
如果给出选项cascade,则由该视图导出的所有视图也同时删除。
(7)视图物化:
指在视图第一次被查询的时候物理地建立一个临时的视图表(实表),并假设基于这个视图的其他查询会紧随其后,因而保留这个临时视图表。
(8)由于视图是虚表,因此对视图的修改,最终要转换为对基本表的修改。
并不是所有的视图都是可修改的
(9)视图的作用:
视图能够简化结构和复杂查询操作
视图使用户能以多种角度、更灵活地观察和共享同一数据
视图提高了数据的逻辑独立性
视图能够提供安全保护
(10)数据库程序设计方法:
将数据库命令嵌入到通用程序设计语言中
使用数据库函数库
设计一种全新的语言
7、SQL中存储过程、触发器、嵌入式SQL、动态SQL的概念和作用
(1)存储过程:
是为了完成特定的功能而汇集成的一组语句,对该组语句命名、编译和优化后存储在数据库服务器中。
(2)使用存储过程的优点:
减少重复工作,还可以增强软件的模块
减少客户与服务器之间的数据传输和通信代价,提高运行效率。
通过为数据库用户提供更复杂类型的导出数据,增强视图所提供的建模能力
(3)SQL/PSM结合了SQL的数据操作能力和过程化预言的流程控制能力,是对SQL的过程化扩展,是一种实用而方便的数据库程序设计语言。
(4)触发器是用户定义在表上的一类特殊存储过程,触发器的执行是通过事件来触发执行的,所以成为触发器。
(5)触发器据有强大的数据控制和监视审计能力,是维护数据库完整性和安全性的简便而有效的方法,也是使数据库系统具有主动性的简便而有效的方法。
(6)创建/删除触发器:
create/droptrigger<触发器>
(7)P93-96
(8)动态SQL:
动态SQL是SQL标准提供的一种语句运行机制,它允许在SQL客户模块或嵌入式宿主程序的执行过程中执行动态生成的SQL语句。
动态SQL语句是指在程序编译时尚未确定,其中有些部分需要在程序的执行过程中临时生成的SQL语句。
(9)动态SQL的语句类型
可变的SQL的语句:
在程序运行时临时输入完整的SQL语句
条件可变的SQL的语句:
SQL语句中的条件子句具有可变性
数据库对象、条件都可变的SQL的语句:
SQL语句中的数据库对象和条件子句都是可变的
(10)动态SQL语句的执行方式:
立即执行方式
先准备后执行方式
5、关系数据理论和数据库设计
1、关系数据库规范化理论的基本概念
(1)规范化理论提供了判断关系模式优劣的理论标准。
(2)规范化理论不仅对于关系模式数据库的设计有重要意义,而且对于其他模型数据库的设计也有重要的指导意义。
(3)关系模式SUPPLIER有以下问题:
数据冗余
更新异常
插入异常
删除异常
2、函数依赖的定义及函数依赖的公理系统
(1)函数依赖的定义:
若
,若
则称
为平凡的函数依赖。
(选择题)
若
则称X为决定因素
若
若Y不函数依赖于X,则记为
(公式不对,见P105)
若
但Y不完全函数依赖于X,则称Y对X部分函数依赖。
(2)公理系统三条规则:
:
(自反律)。
若
:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基础 知识点