《数据库原理》知识点总结文档格式.docx

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

《数据库原理》知识点总结文档格式.docx

《《数据库原理》知识点总结文档格式.docx》由会员分享,可在线阅读,更多相关《《数据库原理》知识点总结文档格式.docx(31页珍藏版)》请在冰点文库上搜索。

《数据库原理》知识点总结文档格式.docx

元组:

二维表的一行,即实体;

关系模式:

在实体型的基础上,注明主码。

关系模型:

指一个数据库中全部二维表结构的集合。

数据库系统结构

数据库系统的模式结构

三级模式

1.模式:

是数据库中全体数据的逻辑结构和特征的描述。

模式只涉及数据库的结构;

模式既不涉及应用程序,又不涉及数据库结构的存储;

外模式:

是模式的一个子集,是与某一个应用程序有关的逻辑表示。

特点:

一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。

内模式:

描述数据库结构的存储,但不涉及物理记录。

2.两级映象

外模式/模式映象:

保证数据库的逻辑独立性;

模式/内模式映象:

保证数据库的物理独立性;

3.两级映象的意义

使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。

数据的存取完全由管理,用户不必考虑存取路径。

数据库管理系统

1.的功能:

负责对数据库进行统一的管理与控制。

数据定义:

即定义数据库中各对象的结构

②数据操纵:

包括对数据库进行查询、插入、删除、修改等操作。

数据控制:

包括安全性控制、完整性控制、并发控制、数据库恢复。

2.的组成:

语言

语言

实用程序

一、基本概念

1.码:

能唯一标识元组的属性集。

2.候选码:

一个属性集既能唯一标识元组,且又不含有多余属性,一个关系模式可以有多个候选码。

3.主码:

任选候选码中的一个。

4.主属性:

主码中包含的各个属性。

5.非主属性:

不包含在主码中的各个属性。

6.外码:

设F是关系R的一个属性,不是R的主码,但却是另一个关系S的主码,则称F是关系R的外码。

关系的数学定义

一、域

1.定义:

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

2.域的基数:

域中所含数据的个数。

二、笛卡尔积

给定一组域D123,则D1×

D2×

D3称为笛卡尔积。

2.笛卡尔积D1×

D3对应一个二维表,所含元组的个数等于各个域的基数之积。

三、关系

笛卡儿积的一部分元组称为关系。

2.关系的目(或度):

一个关系所含属性的个数。

3.关系的性质

任意两个元组不能完全相同,但属性名允许重复。

四、关系的完整性

1.实体完整性:

指关系的所有主属性都不能取空值。

实体完整性不仅仅是主码整体不能取空值。

2.参照完整性:

指一个关系外码的取值必须是相关关系中主码的有效值或空值。

五、专门的关系运算

1.选择:

从关系R中选择满足条件的元组。

2.投影:

从关系R中选择若干属性组成新的关系,并把新关系的重复元组去掉。

3.条件连接:

将两关系按一定条件连接成一个新关系

说明:

条件连接:

两关系可以没有公共属性,若有公共属性,则新关系含有重复属性。

4.自然连接:

将两关系按公共属性连接成一个新的关系,并把新关系的重复属性去掉。

①自然连接:

两关系至少有一个公共属性。

②对于R的每个元组,S都从第一个元组开始判断,若两元组的公共属性值相同,则产生一个新元组添加到新关系中,最后把新关系中的重复属性去掉。

关系数据库规范化理论

函数依赖

一、有关概念:

1.函数依赖:

任给R(U),U为属性集,x、y为U的子集,如果对于x的每个值,y有唯一确定的值与之对应,则称x决定y,或y函数依赖于x。

2.完全函数依赖:

若x→y,且对于x的所有真子集x′,都有x′y,则称x完全决定y,或y完全函数依赖于x。

结论:

若x→y,且x只包含一个属性,则

3.部分函数依赖:

若x→y,且存在x的一个真子集x′,满足x′→y,则称x部分决定y,或y部分函数依赖于x。

4.传递函数依赖:

若x→→z,但y∕x,则

二、平凡函数依赖与非平凡函数依赖

设x→y,如果y是x的子集,则该依赖是平凡的。

如果y中至少有一个属性不在x中,则该依赖是非平凡的。

如果y中没有一个属性在x中,则该依赖为完全非平凡的。

关系模式的规范化

一、存在问题

数据冗余大;

修改麻烦;

插入异常:

应该插入到中的数据插不进去。

如:

新开课程没有学生选修时,新开课程的课程号、课程名插不进去。

删除异常:

不应该删除的数据被删掉。

如选修某门课的学生毕业了,在删除学生信息的同时,把课程信息也删除掉。

一个好的关系模式应满足:

冗余应尽可能少;

应尽可能避免插入、删除异常;

消去关系中不合适的属性依赖关系。

二、关系模式的规范化

1.第一范式

(1)

定义:

若关系R的所有属性不能再分,则R∈1

存在问题

原因:

存在非主属性对主码的部分依赖。

解决办法:

消除非主属性对主码的部分依赖,

将关系R一分为二,将满足完全依赖的属性集组成一个关系;

将满足部分依赖的属性集组成另一个关系;

2.第二范式

(2)

若关系R∈1,且它的每个非主属性都完全依赖于主码,则称R∈2。

3.第三范式(3)

若关系R∈2,且它的每个非主属性都不传递依赖于主码,则称R∈3。

4.结论

若R∈1,且主码只含一个属性,则R一定为2。

若R∈2,且只有0~1个非主属性,则R一定为3。

3一般控制了数据冗余,一般避免了操作异常。

范式并非越高越好,适可而止。

数据库设计

一、数据库设计的步骤

①需求分析:

了解分析用户的需要、要求。

②概念结构设计:

根据需求分析的结果画概念模型(即图)。

③逻辑结构设计:

将图转换为某一种数据模型,并优化。

物理结构设计

⑤数据库实施

数据库运行与恢复

概念结构设计

一、局部图设计

1.确定局部范围

通常把系统涉及的各个部门或各个主要功能作为局部。

2.确定实体与属性

①属性是不能再分的数据项;

联系只发生在两实体之间;

原则上,能够作为属性,就不要作为实体。

二、合并成总体图

1.消除各局部图的冲突问题。

2.按公共实体名合并,生成初步图。

3.消除冗余的属性和冗余的联系,生成总体图。

逻辑结构设计

一、联系的属性和主码

(1)联系的属性:

必须包含相关联的各实体型的主码。

(2)联系的主码

1联系:

可以是相关联的任一实体型的主码。

n联系:

必须是n方实体型的主码。

m:

必须是相关联的各实体型的主码之和。

二、图向关系模型的转换

(1)把每个实体型转换为一个关系模式。

(2)1:

可以消化到相关联的任一实体型对应的关系模式中。

(3)1:

可以消化到n方实体名对应的关系模式中。

(4)m:

必须转换为一个关系模式,并且不能消化。

(5)多元联系:

不能消化

物理结构设计与数据库实施

1.物理结构设计

在逻辑设计的基础上,为每个关系模式选择合适的存储结构与存储方式。

选择存储结构:

即决定每个表的记录顺序。

选择存取方式:

即决定为哪些属性建立非聚集索引,以便加快查找速度。

一般把经常查询的属性名指定为非聚集索引。

2.数据库实施

主要工作:

定义数据库结构;

组织数据入库;

编写应用程序;

数据库试运行;

创建和使用数据库

一、数据库文件

1.一个数据库至少有一个主要数据文件和一个事务日志文件。

如果数据库很大,可以使用一个主要数据文件、多个次要数据文件和多个事务日志文件。

主数据文件()

次数据文件()

事务日志文件():

用来记录对数据库对象的所有更新操作。

2.系统数据库

数据库、数据库

二、创建数据库

1.打开数据库:

数据库名

2.删除数据库:

三、修改数据库

1.分离和附加数据库

2.备份和还原数据库

3.数据的导入和导出

创建和使用表

数据类型

1.字符型

(n)、(n)、

2.统一码字符型

每个英文字母、数字、汉字算1个字符,每个字符占2个字节。

3.整型

4.实型

精确数值型

近似数值型

5.贷币型

6.日期时间型

使用对象资源管理器创建和管理表

一、创建表

1.在一个表中只能定义一个标识字段。

2.只有整型和精确数值型(、)字段才能指定为标识字段。

3.把某个字段指定为公式字段。

二、设置约束

1.主键约束:

每个表中只能有一列或一个组合被指定为主键,主键中的各个列不能为空值。

2.外键约束:

创建外键约束,就是定义两个表的永久关联,这两个表分别称为主键表、外键表。

外键表中外键的值只能是主键表中主键的有效值或空值。

3.唯一性约束:

主键约束与唯一性约束的区别是:

(1)在一个表中只能定义一个主键约束,但可定义多个唯一性约束;

(2)指定为主键约束的列不能取空值,但指定为唯一性约束的列允许取空值。

4.唯一性约束:

用于限制输入到一列或多列的值的范围,保证数据库的数据完整性。

5.默认值约束:

一、语言的特点

语言集数据定义、数据查询、数据操纵、数据控制的功能于一体。

所有的都支持语言。

基础

一、创建和使用数据库

1.创建数据库

2.使用数据库

数据库名

3.删除数据库

二、定义表

1.创建表

表名(属性名类型,…,属性名类型)

指定标识字段:

(标识种子,标识增量)

指定公式字段:

属性名表达式

2.删除表

表名,…,表名

三、语句

*/表达式表

[新表]

表名,…,表名

[条件]

[属性名]

[属性名][]

1.子句

*代表所有属性名

若一个属性名来自多个表,则属性名前须冠以表名,格式为:

表名.属性名

设置表达式的别名:

表达式别名

限制查询结果的记录行数:

返回全部记录

n返回前面n行记录

表示取消重复行

说明:

n只能放在关键字的后面;

、只能放在关键字或聚合函数的后面。

2.子句

的格式:

属性名(常量,…,常量)

属性名通配字符串

在子句中指定连接:

表名1.属性名=表名2.属性名

3.子句

属性名1[],属性名2[]

4.聚合函数

5.子句

使用子句时,子句只能使用分组项字段和聚合函数

6.子句

子句只能跟在子句之后,且只能使用聚合函数和分组项字段。

子句放在子句之前,甚至可以没有子句;

且不能包含聚合函数。

7.子句

功能:

将查询结果保存到新的基表中。

一、查询的分类

单表查询

连接查询

嵌套查询

五、数据操纵

1.语句

(1)每次插入一条记录

表名[(属性名表)](表达式表)

(2)插入子查询的结果

表名[(属性名表)]

表名属性名=值,…,属性名=值[条件]

缺省子句,默认为更新全部记录。

3.语句

表名[条件]

程序设计基础

一、常量:

字符型:

由单引号括住

整型

实型

二、变量:

局部变量:

由用户定义和赋值,以@开头。

全局变量:

由系统定义和赋值,以开头。

1.声明局部变量

变量名类型

2.给局部变量赋值

①使用语句:

变量名=表达式

②使用语句

变量名=表达式,……,变量名=表达式

[表名]

若表达式中含有属性名,则必须使用子句。

3.输出表达式的值:

①使用语句

表达式

②使用语句

表达式,……,表达式

4.局部变量的作用域:

只能在声明它的批处理中使用。

批处理

1.什么叫批处理?

一个脚本由一个或多个批处理组成,批处理以作为结束标志。

2.批处理是脚本的编译单位,当一个批处理中的某个语句出现编译错误,则批处理中的任何语句均无法执行。

3.当一个批处理中的某个语句出现运行错误,则批处理中当前语句和它之后的语句将无法执行。

流程控制语句

一、…语句

二、语句

当逻辑表达式包含子查询时,子查询必须用括号括住。

三、表达式

表达式不是语句,不能单独执行。

四、语句

2.专用于循环体的语句:

强制退出语句,执行其后续语句。

返回语句的入口。

、必须放在循环体内,并常与语句结合使用。

二、其它语句

1.语句

2.存储过程

①创建存储过程

③删除存储过程

函数

1.创建函数

函数名(@形参名类型)类型

函数体

注:

函数体最后一条语句必须是语句。

两类函数:

标量函数、内嵌表值函数

2.执行函数

@变量名1=函数名常量|@变量名

函数名(常量|@变量名)

3.删除函数

函数名

高级应用

一、查询的分类

一、连接查询:

在子句中指定连接

1.内连接:

表名1.属性名=表名2.属性名

2.自身连接:

给一个表取两个别名,子句的格式为:

别名1.属性名=别名2.属性名

3.左外连接:

表名1.属性名*=表名2.属性名

意义:

查询结果包含了表1的全部记录和表2满足条件的记录。

4.右外连接:

表名1.属性名=*表名2.属性名

查询结果包含了表2的全部记录和表1满足条件的记录。

三、连接查询:

表名1表名2条件

2.左外连接:

3.右外连接:

4.完全外连接:

表名1[]表名2条件

5.交叉连接

四、嵌套查询

事务处理

1.什么叫事务?

事务是用户定义的一组操作序列。

1事务是并发控制的基本单位。

2一个事务包含的诸操作要么都执行,要么都不执行。

1.事务的属性

3原子性:

指事务中包含的诸操作要么都执行,要么都不执行。

4一致性:

事务必须使数据库从一个一致性状态变到另一个一致性状态。

5隔离性:

一个事务的执行不能被其他事务干扰。

6持久性

3.显式定义事务

4.在事务内设置保存点

使用游标

一、游标的概念

1.每个表均有一个游标,它可以指向表的任意一条记录。

2.移动游标的方法:

在触发器或存储过程中,使用语句定义和使用游标。

在前台应用程序中,使用主语言实现对游标的移动。

二、游标的使用:

1.声明游标

游标名

[/][]

[]

语句

(只进游标):

只能进行操作,缺省为。

(滚动游标)

[]:

缺省为:

2.打开游标

游标名

打开游标时,游标指向查询结果集的第一条记录之前。

3.提取游标

[//]游标名

[局部变量名表]

缺省子句:

移动游标,并显示当前记录的内容。

含子句:

移动游标,并将当前记录各属性值依次赋给局部变量。

缺省游标移动方式,则为。

4.关闭游标

5.释放游标

索引

一、索引的概念:

如果把数据表比作一本书,那么表的索引就是这本书的目录。

可见,索引使用户能快速访问数据表的特定信息。

索引包括两项:

索引字段值、原记录号

索引必须依附于某个基本表,不能单独存在。

二、索引的类型:

聚集索引:

影响数据表的记录顺序

非聚集索引:

不会影响数据表的记录顺序

一个表只能建立一个聚集索引,但可以建立若干个非聚集索引。

三、创建索引

1.自动创建索引:

如果在数据表的某个属性设置主键约束或唯一约束,则系统将在这些属性上自动创建唯一索引。

自动创建的索引随约束的存在而存在,随约束的消失而消失。

2.使用语句创建索引

[][]索引名

表名(属性名[],属性名[])

若未指定,则创建非聚集索引;

若未指定排序方式,则为;

类型的字段不能指定为索引字段。

四、删除索引:

索引名,…,索引名

视图

一、视图的特点:

视图只有结构,没有记录,是虚表;

一个视图总对应着一个语句;

对视图的查询、更新,实际上是对基本表的查询、更新。

二、定义视图:

1.创建视图:

视图名[(属性名,…,属性名)]

子查询

[]

视图的属性个数必须与子查询中子句的表达式个数相同。

2.删除视图:

视图名,…,视图名

三、查询视图:

视图名,…,视图名

[条件]

四、操纵视图:

1.向视图插入一条记录

视图名[(属性名表)](表达式表)

2.修改视图中的数据

视图名属性名=值,…,属性名=值[条件]

3.删除视图中的记录

视图名[条件]

触发器

一、维护数据完整性的措施:

创建约束,创建触发器基于一个表创建

创建规则:

以单独的对象创建,可以绑定到数据库的所有表中。

二、触发器类型:

1.触发器:

1.触发器:

三、创建触发器:

触发器名

表名|视图名

||触发操作

语句序列

或,表示创建触发器。

触发操作是指、、中的一个或多个。

五、删除触发器

触发器名[,触发器名]

把一个登录名指定为数据库的和,则登录名对该数据库拥有全部权限。

数据库的构建与数据装入

(1)图书信息表

(2)读者信息表

(3)管理员信息表

(4)借阅表

(5)管理员—书籍

(6)管理员—学生

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

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

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

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