《数据库系统原理》知识点概念0809Word格式文档下载.docx

上传人:b****4 文档编号:7852016 上传时间:2023-05-09 格式:DOCX 页数:68 大小:55.85KB
下载 相关 举报
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第1页
第1页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第2页
第2页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第3页
第3页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第4页
第4页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第5页
第5页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第6页
第6页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第7页
第7页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第8页
第8页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第9页
第9页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第10页
第10页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第11页
第11页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第12页
第12页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第13页
第13页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第14页
第14页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第15页
第15页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第16页
第16页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第17页
第17页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第18页
第18页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第19页
第19页 / 共68页
《数据库系统原理》知识点概念0809Word格式文档下载.docx_第20页
第20页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《数据库系统原理》知识点概念0809Word格式文档下载.docx

《《数据库系统原理》知识点概念0809Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《数据库系统原理》知识点概念0809Word格式文档下载.docx(68页珍藏版)》请在冰点文库上搜索。

《数据库系统原理》知识点概念0809Word格式文档下载.docx

这一层的数据抽象称为物理数据模型。

关系模型

1.2.5

关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。

关系

关系(relation):

一个关系对应一张二维表,每一个关系有一个名称即关系名。

元组

元组(tuple):

表中的一行称为一个元组。

属性

属性(attribute):

表中的一列称为一个属性,每一个属性有一个名称即属性名。

码(key):

也称为码键。

表中的某个属性或属性组,它可以唯一地标识表中的一行。

域(domain):

属性的取值范围。

分量

分量(component):

元组中的一个属性值。

外码

外码(foreignkey):

表中的某个属性或属性组,用来描述本关系中的元组(实体)与另一个关系中的元组(实体)之间的联系,因此,外码的取值范围对应于另一个关系的码的取值范围的子集。

关系模式

关系模式(relationalschema):

通过关系名和属性名列表对关系进行描述,相当于二维表的表头部分(即表格的描述部分)。

关系模型的优缺点

关系模型的主要优点:

①关系模型建立在严格的数学概念的基础之上,有关系代数作为语言模型,有关系数据理论作为理论基础;

②关系模型的概念单一,无论实体还是实体之间的联系都是用关系来表示,对数据(关系)的操作(查询和更新)结果还是关系,所以其数据结构简单、清晰,用户易懂易用;

③关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作,提高了软件的开发和维护效率。

关系模型的主要缺点:

由于存取路径对用户透明,查询效率往往不如非关系数据模型。

数据库三级模式

1.3

数据库的三级模式结构是指数据库管理系统提供的外模式、模式和内模式3个不同抽象级别观察数据库中数据的角度,它是对数据的3个级别的抽象,它将数据的具体组织留给DBMS管理,使用户能够逻辑地、抽象地看待和处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。

模式

模式也称为逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

外模式

外模式也称子模式或用户模式,对应于视图层数据抽象,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示。

内模式

内模式也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式。

数据库两层映像

为了能够在系统内部实现数据库中3个抽象层次的数据之间的联系和转换,DBMS在外模式、模式和内模式之间提供了两层映像:

外模式/模式映像、模式/内模式映像。

正是这两层映像保证了数据库管理系统中的数据能够具有较高的逻辑独立性和物理独立性。

数据库系统

(DBS)

1.4

数据库系统(databasesystem,DBS)是指在计算机系统中引入数据库后的系统。

Term1_CH02

2.1.1

关系模型的数据结构就是二维表,亦称为关系,每个表(关系)有唯一的名字,即关系名。

表中一行代表的是若干值之间的关联,即表的一行是由有关联的若干值构成。

关系数据库

关系数据库是表的集合,即关系的集合。

在一个给定的应用领域中,所有实体以及实体之间的联系所对应的关系的集合就构成一个关系数据库。

域是一组具有相同数据类型的值的集合。

空值

空值(用null表示)是所有可能的域的一个取值,表明值未知或不存在。

笛卡尔积

给定一组域D1,D2,…,Dn,它们之中可以有相同的域。

D1,D2,…,Dn的笛卡尔积为:

D1×

D2×

…×

Dn={(d1,d2,…,dn)∣di∈Di,i=1,2,…,n},其中,集合中的每一个元素(d1,d2,…,dn)称为一个n元组,简称为元组;

元素中的每一个值di称为一个分量。

关系的描述称为关系模式。

它可以形式化地表示为:

r(U,D,DOM,F),其中,r为关系名,U为组成该关系的属性名的集合,D为属性集U中所有属性所来自的域的集合,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合(即体现一个元组的各属性取值之间的“关联”性)。

超码

对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码。

候选码

对于关系r的一个或多个属性的集合A,如果属性集A是关系r的超码,且属性集A的任意真子集都不能成为关系r的超码,则称属性集A为候选码。

主码

若一个关系有多个候选码,则可以选定其中的一个候选码作为该关系的主码。

设F是关系r的一个属性(或属性集),Ks是关系s的主码。

如果F与Ks相对应(即关系r中属性F的取值范围对应于关系s中主码Ks的取值范围的子集),则称F是关系r参照关系s的外码。

关系数据库模式

关系数据库也有型和值之分,关系数据库的型就是关系数据库模式,关系数据库模式就是它所包含的所有关系模式的集合,是对关系数据库的描述;

关系数据库的值就是这些关系模式在某一时刻所对应的关系的集合,通常就称为关系数据库实例。

关系完整性约束

2.1.2

关系模式中有3类数据完整性约束:

实体完整性、参照完整性和用户自定义完整性。

实体完整性

若属性集A是关系r的主码,则A不能取空值null。

参照完整性

若关系r的外码F参照关系s的主码,则对于关系r中的每一个元组在属性F上的取值,要么为空值null,要么等于关系s中某个元组的主码值。

数据库模式导航图

两个关系之间的多对一(或一对一)联系或一个关系内部的多对一(或一对一)联系通过有向连线来表示,且连线由多的一方指向一的一方,即由外码指向主码。

这种带有有向连线的数据库模式图称为数据库模式导航图,它有利于理解一个关系数据库中各关系之间的有机联系。

用户自定义完整性

用户自定义完整性就是针对不同应用业务的语义而由用户自己定义的一些完整性约束条件。

关系操作

2.1.3

关系模型中的关系操作有查询操作和更新操作(包括插入、删除和修改)两大类。

关系操作的特点是集合操作方式,即操作的对象和结果都是集合。

抽象层次上的关系查询语言有关系代数、关系演算和SQL语言等。

关系代数

2.2

关系代数是通过关系代数运算来构造查询表达式。

基本的关系代数运算有选择、投影、集合并、集合差、笛卡尔积和更名等。

在这些基本运算之外,还有一些其他运算,即集合交、自然连接、除和赋值等。

并运算

2.2.1

r∪s={t∣tr∨ts}

交运算

r∩s={t∣tr∧ts}

差运算

r-s={t∣tr∧ts}

笛卡尔积运算

s={tr·

ts∣trr∧tss}

选择运算

2.2.2

σP(r)={t∣tr∧P(t)},其中P表示谓词(即选择条件),它是一个逻辑表达式,取值为“真”或“假”。

简单谓词的形式为:

XopY,其中op为比较运算符,包括<

、<

=、>

、>

=、=和!

=(或<

>

);

运算对象X、Y可以是属性名、常量或简单函数等。

通过非()、与(∧)、或(∨)等逻辑运算符可以将多个简单谓词连接起来构成更复杂的谓词。

投影运算

∏A(r)={t[A]∣tr},其中:

A为关系r的属性集合。

连接运算

r⋈θs={tr·

ts∣trr∧tss∧(r.Aops.B)},θ连接运算就是从关系r和s的笛卡尔积r×

s中,选取r关系在A属性集上的值与s关系在B属性集上的值满足连接谓词θ的所有元组,即r⋈θs=

自然连接运算

r⋈s={tr·

ts∣trr∧tss∧(r.A1=s.A1∧r.A2=s.A2∧…∧r.Ak=s.Ak)}

除运算

设关系r(R)和s(S),属性集S是R的子集,即SR,则关系r÷

s是关系r中满足下列条件的元组在属性集R-S上的投影:

trr,记x=tr[R-S],则关系r中属性集R-S的取值x的象集Sx包含关系s。

记作

s={tr[R-S]∣trr∧sSx}

象集

给定一关系r(A,B),A和B为属性集。

tr,记t[A]=x,则在关系r中属性集A的某个取值x的象集定义为:

Bx={t[B]∣tr,t[A]=x},它表示关系r中属性集A上取值为x的所有元组在属性集B上的投影。

Term1_CH03

视图

3.1

视图是指从一个或几个基本表(或视图)导出的表,是虚表,只存放视图的定义而不存放对应的数据。

查询表

查询表是指查询结果对应的表。

SQL查询

3.2~

3.7

SQL查询语句SELECT共有6个子句,其中SELECT和FROM是必须的,其它是可选项,它们必须严格按照如下顺序排列:

SELECT[ALL|DISTINCT]<

目标列表达式>

[AS][<

别名>

][,<

]...]

FROM{<

表名>

|<

视图名>

查询表>

}[AS][<

][,{<

[WHERE<

条件表达式>

]

[GROUPBY<

列名1>

[,<

列名2>

...]

[HAVING<

]]

[ORDERBY<

列名表达式>

[ASC|DESC][,<

[ASC|DESC]...]]

3.2

SELECT子句对应于关系代数中的投影运算,用来指定查询结果中所需要的属性或表达式。

FROM子句对应于关系代数中的笛卡尔积,用来给出查询所涉及的表,表可以是基本表、视图或查询表。

WHERE子句对应于关系代数中的选择运算,用来指定查询结果元组所需要满足的选择条件。

WHERE子句中常用的查询条件有:

比较运算(>

=、<

=、=、<

)、范围运算(BETWEEN...AND)、集合运算(IN)、空值判别运算(ISnull)、字符匹配运算(LIKE)和逻辑运算(AND、OR、NOT)。

排序运算

ORDERBY子句实现排序运算,可以实现按指定属性、函数或表达式进行排序,ASC(可缺省)指定按升序排序;

DESC指定按降序排序。

3.3

通过在WHERE子句中加入连接多个关系的连接条件实现多表之间的连接运算,连接谓词中的属性称为连接属性,连接属性之间必须具有可比性。

因此,SQL查询的连接运算可以理解为笛卡尔积(FROM子句)基础上的选择运算(WHERE子句)。

连接运算是关系数据库中使用最广泛的一种运算,包括等值连接、自然连接、非等值连接、自表连接和外连接等。

分组聚合运算

3.4

在SQL查询中,往往需要对数据进行分类聚合运算(即分组聚合运算),分组聚合运算的目的是为了细化聚合函数的作用对象,SELECT语句中通过使用GROUPBY和HAVING子句来实现分组聚合运算。

SQL查询提供的聚合函数主要包括:

元组计数函数count、计算元组属性值的总和函数sum、计算元组属性值的平均值函数avg、求元组属性值的最大值函数max、求元组属性值的最小值函数min。

嵌套子查询

3.5

在SQL查询中,一个SELECT-FROM-WHERE查询语句称为一个查询块,将一个查询块嵌入到另一个查询块的WHERE子句或HAVING子句中,称为嵌套子查询(简称为子查询)。

可分为非相关子查询和相关子查询。

嵌套子查询可通过使用元素与集合之间的IN运算符、元素与集合之间的比较运算符(如>

ANY、<

=ALL等)、谓词[NOT]EXISTS等方式来构造。

SQL查询允许多层嵌套子查询,但是在子查询中,不允许使用ORDERBY子句,该子句仅用于最后的输出结果排序。

非相关子查询

3.5.1

3.5.2

非相关子查询是指子查询的结果不依赖于上层查询。

相关子查询

3.5.3

相关子查询是指当上层查询的元组发生变化时,其子查询必须重新执行。

SQL数据定义语言

3.8

数据库中的关系集合必须由数据定义语言DDL来定义,包括:

数据库模式、关系模式(含每个属性的名称、值域等)、关系完整性约束、每个关系的索引集合和关系的物理存储结构等。

定义数据库

3.8.1

定义数据库操作的语法为:

CREATEDATABASE<

databaseName>

[ON[<

filespec>

[,...n]][,<

filegroup>

[,...n]]]

[LOGON{<

[,...n]}]

定义基本表

3.8.2

创建基本表操作的语法为:

CREATETABLE<

tableName>

<

columnName1>

<

dataType>

[default<

defaultValue>

][NULL/NOTNULL],

columnName2>

 

][NULL/NOTNULL],……

[CONSTRAINT<

constraintName1>

{UNIQUE/PRIMARYKEY}

(<

columName>

…][ON<

filegroupName>

])],

constraintName2>

FOREIGNKEY(<

columName1>

columName2>

…])],

[REFERENCE[<

dbName>

.owner.]<

refTable>

(<

refColumn1>

refColumn2>

…])],...)ON<

索引

3.8.3

索引通常是由指针构成的记录,索引中的记录按照索引码值进行排序,但不改变表中记录的物理顺序。

建立索引后,系统存取数据时会自动选择合适的索引作为存取路径。

索引是加快数据检索的一种工具,一张表可以建立多个索引,可从不同的角度加快查询速度,但是如果索引建立得较多,会给数据维护带来较大的系统开销。

定义索引

建立索引操作的语法为:

CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]

INDEX<

indexName>

ON<

[ASC|DESC],

[ASC|DESC],…)

[ON<

]

SQL数据更新语言

3.9

SQL数据更新语句包括3条:

插入INSERT、删除DELETE和修改UPDATE。

插入

INSERTINTO<

[(<

...])]

VALUES(<

value1>

value2>

...]])

删除

DELETEFROM<

[WHERE<

predicate>

修改

UPDATE<

SET<

=<

expr1>

expr2>

...]

[FROM<

tableName1|queryName1|viewName1>

aliasName1>

]

[,<

tableName2|queryName2|viewName2>

aliasName2>

定义视图

3.10

CREATEVIEW<

viewName>

[<

<

...]

AS<

subquery>

[WITHCHECKOPTION]

Term1_CH04

数据库设计

4.1

数据库设计就是根据各种应用处理的要求、硬件环境及操作系统的特性等,将现实世界中的数据进行合理组织,并利用已有的数据库管理系统(DBMS)来建立数据库系统的过程。

具体地说,是对于一个给定的应用环境,构造出最优的数据库逻辑模式和物理模式,并以此来建立数据库及其应用系统,使之能够有效地存储和管理数据,满足用户的信息要求和处理要求。

数据库设计过程

数据库设计过程通常可分为如下6个步骤:

需求分析、概念设计、逻辑设计、模式求精、物理设计、应用与安全设计。

需求分析

该步骤是了解和分析系统将要提供的功能及未来数据库用户的数据需求。

例如,分析系统具有哪些功能需求,哪些数据要存储在数据库中,使用数据的业务规则是什么,数据之间有什么联系及约束,哪些数据会被频繁访问,有哪些性能需求等等,即了解用户真正希望从数据库中得到什么。

概念设计

根据需求分析中得到的信息,选择适当的工具将这些需求转化为数据库的概念模型。

本书主要介绍基于E-R模型的数据库概念设计,其目的是通过实体、联系、属性等概念和工具精确地描述系统的数据需求、数据联系及约束规则。

逻辑设计

本步骤是将数据库的概念设计转化为所选择的数据库管理系统支持的逻辑数据模型,即数据库模式。

由于本书只讨论关系数据库,因此逻辑数据库设计的任务是将E-R模型转化为关系数据库模式。

模式求精

以关系数据理论做指导,对已得到的关系数据库模式进行分析,找出潜在的问题并加以改进和优化,如减少数据冗余,消除更新、插入与删除异常等。

需求分析与概念设计显得比较主观,而模式求精则是基于完善的关系数据理论进行的。

实体

4.2.1

实体是客观世界中可区别于其他事物的“事物”或“对象”。

实体集

实体集是指具有相同类型及相同性质(或属性)的实体集合。

4.2.2

实体是通过一组属性来描述的,属性是实体集中每个实体都具有的特征描述。

简单属性

简单属性是指不能再分为更小部分的属性。

复合属性

复合属性是指可以进一步划分为更小部分的属性。

单值属性

如果某属性对一个特定实体任何时候都只能有单独的一个值,则称该属性为单值属性,否则为多值属性。

多值属性

派生属性

如果某属性的值可以从其它相关属性或实体(集)派生出来,则该属性称为派生属性。

多值属性的变换

多值属性的一个可选的建模方案是:

将多值属性转换为多个单值属性进行表示。

多值属性的另一个可选建模方案是:

将多值属性单独建模为一个弱实体集,它依赖于原实体集而存在。

联系

4.2.3

联系是指多个实体间的相互关联,联系集是同类联系的集合。

如果El,E2,…,En为n个实体集,那么联系集R是{(e1,e2,…,en)︱e1∈E1,e2∈E2,…,en∈En}的一个子集,而(e1,e2,…,en)是一个联系。

联系集

多联系

给定的各实体之间可以有多种不同的联系,即多个不同的联系集可以定义在一些相同的实体集上,我们称之为实体之间的多联系。

联系集的度

参与联系集的实体集的数目称为联系集的度。

E-R模型

4.2

E-R模型(亦称为E-R图)是通过实体、联系、属性等概念和工具精确地描述系统的数据需求、数据联系及约束规则,用于数据库概念建模。

在E-R图中,实体集用矩形表示;

属性用椭圆表示,多值属性用双椭圆表示,派生属性用虚线椭圆表示;

联系集用菱形表示;

属性与实体集、联系集之间用连线表示,实体集与联系集之间也用连线表示。

完整性约束

4.3

E-R模型可以定义一些实体集(或联系集)中的实体(或联系)必须满足的完整性约束,主要包括映射基数约束、码约束、依赖约束及参与约束等。

其中,码约束体现了实体完整性的要求,映射基数约束、依赖约束及参与约束体现了参

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2