数据库系统概论知识点整理

发布时间 : 星期三 文章数据库系统概论知识点整理更新完毕开始阅读

本关系S的主码K想对应,则称F是基本关系R的外部码,简称外码。

关系的3类完整性约束概念

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

参照完整性:若属性(或属性组)F是基本关系R的外码,它是基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。

用户定义的完整性:针对某一具体关系数据库的约束条件。反映某一具体应用所设计的数据必须满足的语义要求。

关系操作的特点,关系代数中的各种运算

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

关系代数1、并(R∪S)仍为n目关系,由属于R或属于S的元组组成。R∪S = { t|t ∨

2、差(R – S)仍为n目关系,由属于R而不属于S的所有元组组成。R -∧

3、交(R∩S)仍为n目关系,由既属于R又属于S的元组组成。R∩∧

R∩S = R –(R-S)

4、笛卡尔积R: n目关系,k1个元组;S: m目关系,k2个元组;R×S。 9、选择:选择又称为限制(Restriction)σ:对元组按照条件进行筛选。在关系R中选择满足给定条件的诸元组σF(R) = {t|t?R∧F(t)= '真'}。

10、投影:投影运算符π的含义:从R中选择出若干属性列组成新的关系πA(R) = { t[A

A:R中的属性列投影操作主要是从列的角度进行运算。但投影之后不仅

取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)。

11、连接:连接也称为θ连接:两张表中的元组有条件的串接。从两个关系的笛

卡尔积中选取属性间满足一定条件的元组∧∧tr[A]θts[B] }

外连接:如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。

左外连接:如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)。

右外连接:如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。

12、除÷ :给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组;R中的Y与S 中的Y可以有不同的属性名,但必须出自相同的域集;R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在 X 属性列上的投影

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

注意:SQL(Oracle除外)一般不提供修改视图定义和索引定义的操作,需要先删除再重建

定义基本表:CREATE TABLE <表名> (<列名> <数据类型>[ <列级完整性约束条件> ] [,<列名> <数据类型>[ <列级完整性约束条件>] ] … [,<表级完整性约束条件> ] ); 列级完整性约束--涉及到该表的一个属性

? ? ? ?

NOT NULL :非空值约束

UNIQUE:唯一性(单值约束)约束 PRIMARY KEY:主码约束

DEFAULT <默认值>:默认(缺省)约束

? ? ? ? ? ?

Check < (逻辑表达式) >:核查约束,定义校验条件 NOT NULL :非空值约束

UNIQUE:唯一性(单值约束)约束 PRIMARY KEY:主码约束

DEFAULT <默认值>:默认(缺省)约束 Check < (逻辑表达式) >:核查约束,定义校验条件

表级完整性约束--涉及到该表的一个或多个属性。

? ? ? 表)]

? ?

Check(<逻辑表达式>) :检查约束 PRIMARY KEY与 UNIQUE的区别? UNIQUE(属性列列表) :限定各列取值唯一 PRIMARY KEY (属性列列表) :指定主码

FOREIGN KEY (属性列列表) REFERENCES <表名> [(属性列列

例:建立“学生”表Student,学号是主码,姓名取值唯一 CREATE TABLE Student

(Sno CHAR(9) PRIMARY KEY,/*主码*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)); 数据类型

修改基本表:ALTER TABLE <表名> [ ADD <新列名> <数据类型> [ 完整性约束 ] ] [ DROP <列名> |<完整性约束名> ] [ ALTER COLUMN<列名> <数据类型> ];

例:向Student表增加“入学时间”列,其数据类型为日期型 ALTER TABLE Student ADD S_entrance DATE;

不论基本表中原来是否已有数据,新增加的列一律为空值

将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数 ALTER TABLE Student ALTER COLUMN Sage INT; 注:修改原有的列定义有可能会破坏已有数据 增加课程名称必须取唯一值的约束条件。 ALTER TABLE Course ADD UNIQUE(Cname);

直接删除属性列:(新标准) 例: ALTER TABLE Student Drop Sage; 删除基本表 :DROP TABLE <表名>[RESTRICT| CASCADE];

RESTRICT:(受限) 欲删除的基本表不能被其他表的约束所引用,如果存在依赖该表的对象(触发器,视图等),则此表不能被删除。

CASCADE:(级联)在删除基本表的同时,相关的依赖对象一起删除。

联系合同范文客服:xxxxx#qq.com(#替换为@)