数据库系统概论复习要点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章

数据库系统概述

数据库的基本概念:DB、DBMS、DBS、DBA

数据管理的发展:人工管理、文件系统和数据库系统

数据库管理系统功能数据库定义功能;数据组织、存储和管理;数据操纵功能。

据库事务和运行管理;数据库的建立和维护功能。

数据库系统的结构数据库系统三级模式结构:模式、内模式和外模式

数据库系统的三级模式结构

模式(逻辑模式)

数据库中全体数据的逻辑结构和特征的描述;所有用户的公共数据视图,综合了所有用户的需求;

一个数据库只有一个模式

内模式(存储模式):是数据物理结构和存储方式的描述;是数据在数据库内部的表示方式

一个数据库只有一个内模式

外模式(子模式或用户模式):数据库用户使用的局部数据的逻辑结构和特征的描述

数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

一个数据库可以有多个外模式。

数据库系统的二级映象

三级模式是对数据的三个抽象级别,二级映象在DBMS内部实现这三个抽象层次的联系和转换

外模式/模式映象

1. 定义外模式与模式之间的对应关系

2. 保证数据的逻辑独立性

模式/内模式映象

1. 定义了数据全局逻辑结构与存储结构之间的对应关系。

2. 保证数据的物理独立性

数据库系统的特点数据结构化数据的共享性高,冗余度低,易扩充数据独立性高

数据由DBMS统一管理和控制

数据模型的分两类:概念模型、逻辑模型和物理模型

数据模型的三要素:数据结构、数据操作、数据的完整性约束

三种主要数据模型:关系模型、层次模型、网状模型

第二章

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

关系数据结构

关系二维表,属性是列,元组是行

关系模式对关系的描述R(U,F)

关系数据库关系的集合

关系的码

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

简单情况: 候选码只包含一个属性。

极端情况: 关系的所有属性是关系模式的候选码,称为全码(All-key)

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

候选码的诸属性称为主属性。

不包含在任何侯选码中的属性称为非主属性。

外码(FK)设F是关系R的一个或一组属性,但不是关系R的码。如果F与关系S的主码Ks相对应,则称F是关系R的外码

关系R称为参照关系关系S称为被参照关系

选修关系的“学号” 与学生关系的主码“学号”相对应

选修关系的“课程号”与课程关系的主码“课程号”相对应

“学号”和“课程号”是选修关系的外码

学生关系和课程关系均为被参照关系

选修关系为参照关系

学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)

选修(学号,课程号,成绩)

关系的数据操作

关系数据操作语言

关系代数

传统的集合运算并、差、交、笛卡尔积

∪-∩×

专门的关系运算选择、投影、连接、除

σ(选择) 水平方向选取子集

π(投影)垂直方向选取子集

(连接) 从笛卡尔积中选取子集

÷(除法)同时从水平、垂直方向选取子集

关系演算元组演算,域演算

关系数据操作查询数据更新插入、删除、修改

关系操作的特点:一次一集合方式

(操作的对象和结果都是集合)

关系的三类完整性规则关系的完整性规则是对关系的约束条件

实体完整性关系的主码不能取空值。

参照完整性外码必须是另一个表中主码的有效值,或者是空值。

用户定义的完整性

是针对某一具体数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。

实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。

第三章

1.定义表

CREA TE TABLE <表名> (

<列名1> <类型>[ <列级约束> ,]

<列名2> <类型>[ <列级约束> ,] …………… ,

[<表级完整性约束条件> ] );

例建立“学生选课表” SC,它由学号Sno、课程号Cno,成绩Grade组成,其中(Sno, Cno)为主码。CREATE TABLE SC(

Sno CHAR(9) ,

Cno CHAR(3) ,

Grade int CHECK (Grade>=0 and Grade<=100),

Primary key (Sno, Cno),

);

2. 查询语句

SELECT [] <目标列表>

FROM <表名>

WHERE <条件>;

[GROUP BY <列名> ...]

[HA VING <条件表达式>]

[ORDER BY <列名> [ASC|DESC] … ];

常用查询:

(1) 单表查询(2) 连接查询(3) 嵌套查询(4) 集合查询(1)单表查询一般形式

SELECT <目标列表>

FROM <表名>

WHERE <条件>;

例1:查询所有年龄在20岁以下的学生姓名及其年龄。

SELECT Sname,Sage

FROM Student

WHERE Sage < 20;

例2:查询选修了课程的学生学号。

SELECT DISTINCT Sno

FROM SC;

例3:查询年龄在20岁以下的姓王的学生姓名及其年龄。

SELECT Sname,Sage

FROM Student

WHERE Sage<20 AND

Sname LIKE ‘王%’;

(2) 连接查询一般形式

SELECT <目标列表>

FROM <表名1 > , <表名2 > ……

WHERE <连接条件>

AND <查询条件>;

外链接查询一般形式

SELECT <目标列表>

FROM <表名1 > JOIN <表名2 > ON <连接条件>

WHERE <查询条件>;

例1:查询选修2号课程且成绩在90分以上的所有学生的学号、姓名

SELECT Student.Sno, student.Sname

FROM Student, SC

WHERE Student.Sno=SC.Sno AND /* 连接条件*/

o= ‘2’ AND /* 其他限定条件*/

SC.Grade > 90;/* 其他限定条件*/

(3) 嵌套查询一般形式

SELECT-FROM-WHERE <比较符/ 谓词>

SELECT-FROM-WHERE <比较符/ 谓词>

SELECT-FROM-WHERE <比较符/ 谓词>

嵌套查询分类

不相关子查询子查询的查询条件不依赖于父查询

相关子查询子查询的查询条件依赖于父查询

例1:不相关子查询常用IN嵌套

相关文档
最新文档