西南交大数据库原理复习资料Word下载.doc

上传人:wj 文档编号:13050658 上传时间:2022-10-03 格式:DOC 页数:9 大小:500.50KB
下载 相关 举报
西南交大数据库原理复习资料Word下载.doc_第1页
第1页 / 共9页
西南交大数据库原理复习资料Word下载.doc_第2页
第2页 / 共9页
西南交大数据库原理复习资料Word下载.doc_第3页
第3页 / 共9页
西南交大数据库原理复习资料Word下载.doc_第4页
第4页 / 共9页
西南交大数据库原理复习资料Word下载.doc_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

西南交大数据库原理复习资料Word下载.doc

《西南交大数据库原理复习资料Word下载.doc》由会员分享,可在线阅读,更多相关《西南交大数据库原理复习资料Word下载.doc(9页珍藏版)》请在冰豆网上搜索。

西南交大数据库原理复习资料Word下载.doc

(5)数据库的建立和维护功能

(6)其他功能:

包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据的重组织功能和性能监视、分析功能。

5.数据模型:

是一种模型,是对现实世界数据特征的抽象。

组成要素:

数据结构,数据操作,数据的完整性约束条件

分为

(1)概念模型

(2)逻辑模型和物理模型

常用逻辑数据模型有:

层次模型,关系模型,网络模型

6.概念模型:

也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。

7.实体:

客观存在并可相互区别的事物称为实体。

码:

唯一标识实体的属性集称为码

主码:

若一个关系中有多个候选码,则选定其中一个为主码。

(若关系中的某一属性组能唯一地标识一个元组,则称该属性组为候选码)

8.实体型之间的联系分类:

(1)一对一联系(1:

1)

(2)一对多联系(1:

n)(3)多对多联系(m:

n)

9.构建E—R模型(综合运用)实体型——矩形,属性——椭圆,联系——菱形

10.关系模型:

资料(数据)以“关系”的形式表示,也就是以二维表的形式表示,其数据模型就是所谓的关系模型。

在关系模型中,无论是从客观事物中抽象出的实体,还是实体之间的联系,都用单一的结构类型一一关系来表示。

11.关系数据库系统:

就是以关系模型为基础的数据库系统。

第二章关系数据库

12.关系模型的组成:

见14

13.关系模型是关系数据库系统的基础模型。

14.关系模型由关系数据结构、关系操作和完整性约束三部分组成。

15.关系的类型:

基本关系(又称基本表或基表),查询表和视图表。

基本关系的性质:

①列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。

②不同的列可以出自同一域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

③列的顺序无所谓,即列的次序可以任意交换。

④任意两个元组的候选码不能完全相同。

⑤行的顺序无所谓,即行的次序可以任意交换。

⑥分量必须取原子性,即每一列值都必须是不可分的数据项。

16.关系的完整性规则是对关系的某种约束条件。

17实体完整性、参照完整性是关系模型必须满足的完整性约束条件,被称为是关系的两个不变性,应该由关系系统自动支持。

用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。

18.三个完整性约束的含义

(1)实体完整性:

若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。

(2)参照完整性:

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

1.或者取空值(F的每个属性值均为空值)2.或者等于S中某个元组的主码值。

(3)用户定义的完整性:

用户定义的完整性就是针对某一具体关系数据库的约束条件。

第三章关系数据库标准语言SQL

19.SQL的概念:

即结构化查询语言,是关系数据库的标准语言,SQL是一个通用的、功能极强的关系数据库语言。

特点:

①综合统一

②高度非过程化

③面向集合点的操作方式

④以同一种语法结构提供多种使用方式

⑤语言简洁,易学易懂

20.索引的作用:

加快查询速度

21.数据定义语言(综合运用)

1)定义基本表CREATETABLE

CREATETABLE<

表名>

(<

列名>

<

数据类型>

[列级完整性约束条件]

[,<

<

[列级完整性约束条件]]

[,<

表级完整性约束条件>

]);

建表时可定义完整性约束条件,当用户操作表中数据时系统自动检查该操作是否违背这些完整性约束条件。

如果完整性约束条件涉及多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。

定义表的各个属性时需要指明其数据类型及长度。

2)修改基本表ALTERTABLE

ALTERTABLE<

[ADD<

新列名>

[完整性约束]]

[DROP<

完整性约束名>

]

[ALTERCOLUMN<

];

ADD子句用于增加新列和新的完整性约束条件,DROP子句用于删除指定的完整性约束条件,ALTERCOLUMN子句用于修改原有的列定义,包括列名和数据类型。

3)删除基本表DROPTABLE

DROPTABLE<

[RESTRICT/CASCADE]

若选RESTRICT则表的删除是有限制条件,缺省为RESTRICT

若选CASCADE则该表的删除没有限制条件。

4)建立索引CREATEINDEX

用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。

系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能选择索引。

CREATE[UNIQUE][CLUSTER]INDEX<

索引名>

ON<

(<

[<

次序>

][,<

]]...);

索引可以建在表的一列或多列上。

可在每个<

后面指定索引值的排列次序。

ASC表示升序,DESC表示降序,缺省值为ASC。

UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。

CLUSTER表示建聚簇索引。

所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。

用户可以在最常查询的列上建立聚簇索引以提高查询效率。

显然在一个基本表上最多只能建立一个聚簇索引。

建立聚族索引后,更新索引列数据时,往往导致表中记录的物理顺序的变更,代价较大,因此对于经常更新的列不宜建立聚簇索引。

5)删除索引DROPINDEX<

22.数据查询语言(综合运用)

1)SELECT

SELECT[ALL|DISTINCT]<

目标列表达式>

[,<

]…

FROM<

表名或视图名>

]...

[WHERE<

条件表达式>

]

[GROUPBY<

列名1>

[HAVING<

]]

[ORDERBY<

列名2>

[ASC|DESC]];

SELECT语句的含义:

根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。

如果有GROUP子句,则将结果按<

的值进行分组,该属性列值相等的元组为一个组。

通常会在每组中作用聚集函数。

如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出。

如果有ORDERBY子句,则结果表还要按<

的值的升序或降序排序。

A单表查询

(1)查询指定列

例1查询全体学生的学号与姓名

SELECTSno,SnameFROMStudent;

(2)查询全部列

例3查询全体学生的详细记录

SELECT*FROMStudent;

(3)消除取值重复的行

指定DISTINCT可掉重复行:

SELECTDISTINCTSnoFROMSC;

(4)查询满足条件的元组

查询满足指定条件的元组可以通过WHERE子句实现。

WHERE子句常用的查询条件如表

谓词LIKE可用来进行字符串的匹配。

其语法格式如下:

[NOT]LIKE'

匹配串>

'

[ESCAPE'

换码字符>

]

其含义是查找指定的属性列值与<

相匹配的元组。

可以是一个完整的字符串,也可以含有通配符%和_。

%(百分号)代表任意长度(长度可以为0)的字符串。

_(下横线)代表任意单个字符。

例14查所有姓刘的学生的姓名、学号和性别

SELECTSname,Sno,Ssex

FROMStudent

WHERESnameLIKE‘刘%’;

如果用户要查询的匹配字符串本身就含有%或_,这时就要使用ESCAPE‘<

’短语对通配符进行转义了。

(5)对查询结果排序ORDERBY(ASC、DESC)

例23查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列

SELECTSno,Grade

FROMSC

WHERECno=’3'

ORDERBYGradeDESC;

(6)使用集函数

COUNT([DISTINCT|ALL]*)统计元组个数

COUNT([DISTINCT|ALL]<

)统计一列中值的个数

SUM([DISTINCT|ALL]<

)计算一列值的总和

AVG([DISTINCT|ALL]<

)计算一列值的平均值

MAX([DISTINCT|ALL]<

)求一列值中的最大值

MIN([DISTINCT|ALL]<

)求一列值中的最小值

例28查询学习1号课程的学生最高分数

SELECTMAX(Grade)

FROMSCWHERECno='

1'

;

(7)对查询结果分组

GROUPBY子句可以将查询结果表的各行按一列或多列,将值相等的作为一组。

例29查询各个课程号与相应的选课人数

SELECTCno,COUNT(Sno)

GROUPBYCno;

该SELECT语句对SC表按Cno的取值进行分组,所有具有相同Cno值的元组为一组,然后对每一组作用集函数COUNT以求得该组的学生人数。

如果分组后还要求按一定的条件对这些组进行筛选条,最终只输出满足指定的组,则可以使用HAVING短语指定筛选条件。

例31查询选修了3门以上课程的学生学号。

SELECTSno

FROMSC

GROUPBYSnoHAVINGCOUNT(*)>3;

这里先用GROPUBY子句按Sno进行分组,再用集函数COUNT对每一组计数。

HAVING短语指定选择组的条件,只有满足条件的组才会被选出来。

WHERE子句与HAVING短语的区别在于作用对象不同。

WHERE子句作用于基本表或视图,从中选择满足条件的元组。

HAVING短语作用于组,从中选择满足条件的组。

2)连接查询

若一个查询同时涉及两个以上的表,则称之为连接查询。

连接查询主要包括等值连接、非等值连接查询、自身连接

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1