学习笔记整理-数据库系统原理复习2-数据库和表的基本操作、关系的键与关系完整性、关系代数


以下内容为个人的学习笔记整理,如有错误,请指出,谢谢~


一、关系数据库的相关概念

1、数据模型一般由数据结构、数据操作、数据我完整性约束三部分组成。

2、关系模型的数据结构及定义:
①域:是一组具有相同数据类型的值的集合。
c79f67ddcbf84d8b91e6be2a28823ca3.png

②笛卡尔积:实际一个二维表7f5e2ff5c84a419f80041be4f40308ce.png

 关系是笛卡尔积的有限子集,所有的关系也是一个二维表,实际应用中关系是笛卡尔积所取有意义的子集。

3、关系的码:
候选码(候选键):能唯一识别关系中元组的一个属性或者属性集称为候选码,唯一性、最小性。
主码(主关系键):从多个候选码中选一个作为查询、插入或删除元组的操作变量。每个关系必定有且仅有一个主关系键。
主属性与非主属性:包含在候选键中的各个属性称为主属性。不包含在任何候选码中的属性称为非主属性。
全码:所有属性的组合是关系的候选键
外码:被参照关系的主码和参照关系的外码必须定义在同一个域上。

4、关系的性质:
①关系中的每一个属性值都具有原子性,不可分解。
②每一列中的分量必须是同一个类型的数据。
③不用列可来自同一个域,每一列称为属性,不同属性必须有不同的名字。
④列的顺序可以任意交换。
⑤元组的顺序可任意(行)。
⑥关系中不允许出现重复元组。
315319de1e9b46f3b5ae7f96f1d37cc6.png

二、数据库和表的基本操作

1、数据库相关:

①创建数据库(littlelibrary):create database littlelibrary;
②查看数据库:show databases;
③修改数据库字符串为gbk:alter database littlelibrary character set gbk;
④删除数据库:drop database littlelibrary;

2、表的基本操作:
2cd82ca2413142b0a8bfe66796b914a8.png

 

①创建表(Booklnfo):create table Booklnfo;
1aca4e646ab04279ba3cb84870580837.png

②新增一列(disc):alter table Booklnfo add disc char(2);
③修改列的数据类型:alter table Booklnfo modify colum disc char(10);
④删除字段(disc):alter table Booklnfo drop colum disc;
⑤将表明重命名为book:alter table Booklnfo rename to Book;
⑥将book表中的字段bookid改为book:alter table book change bookid id varchar(30);
⑦复制表:create table book_bak select * from book;
⑧删除表:drop table book;
注意:不能删除user等系统表;删除有外键约束的表需要先删除其外键约束;删除表时,该表的约束和触发器也会被删除。
⑨添加约束:alter table 表名 add constraint 约束名 (age betwwen 0 and 100)

 

三、关系完整性 

1、完整性约束(①②必须满足):
实体完整性:主码不能为空或部分为空。
参照完整性:外键不能为空。
用户自定义完整性:主要包括字段有效性约束和记录有效性约束。

2、定义数据库表的约束:
2b776df9f5c345a68ea2e6376274cc06.png

null/not null:是否值可以为空,默认为null(主键不允许为空)
unique(惟一约束):表明某一列或者多列的取值必须惟一。
primary key(主键约束):用于定义基本表的主键,起惟一标识作用,不能为空,不能重复
注意:
只能有一个primary key,但是可以有多个unique
指定为primary key的一列或者多列不可以为null,但unique可以为null
不能为同一列或者一组列既定义primary key和unique
④foreign key(外键约束):另一个表的主键。
foreign key(cid) references customer(cid)
⑤default(默认约束)
⑥auto_increment(自增属性):整型、每张表只允许一个字段设置。
fccec6b622ce4a8d8f0123d8f4c84581.png

  四、关系代数

1、关系代数的分类及其运算符
①集合运算符:268c4c3c0be2437397c8ec52dfdacbe0.png

 ②关系运算符:611eb0684fc547c5a49ef869d060dac0.png

③比较运算符:2f7240177a2d42bdbd1d641de2a601ba.png 

④逻辑运算符:29832fe200564275837301ce70278f99.png 

 2、相容性:两个关系R、S满足
①具有相同的度。②R的第i个属性和S中第i个属性必须来自同一个域

dc67f393a63c46e382c41095d35da9d7.png

 传统集合运算:
①∪并:7516bd4cf4de472ebaf404e656d86362.png

②∩交:156fe0479d334d51a16b8b6125967b7e.png 

③-差:9a0360899b59404196b19776b3b28700.png 

 ④X广义笛卡尔积:3b8edfa80f2d498aa5cf1dc666ddc5d9.png

 3、象集:761ecbd94553407b98944b38241fe3c3.png

4、选择和投影:
①选择:235e9e263702435495e485752702db42.png

②投影:ac804434d53e492396f29f0f3186bbb2.png 

5、连接:

9af3ef78137d4aeea2e790cb4b4e3b90.png
①等值连接
d715d5c76257410fa4ff7de89c3e0b1f.png
②自然连接(等值连接的情况下,当连接属性XY具有相同属性组时,把在连接结果中重复的属性列去掉44195fac52f246068860b4c45dd677b3.png

③大于/小于连接 

629998f089e64688aa1c00b796d04b2d.png

④等值连接和自然连接的区别:
两个关系中只有同名属性才能进行自然连接,而等值连接不要求。
自然连接去掉重复属性,而等值连接不去掉重复。

6、除法:
96e42f8406204a078b87cfb97197e8e3.png

 

 ①找出被除数(R)中与S不同的属性:
X={A,B}={(a1,b1),(a2,b1),(a2,b3)}
②找出R和S相同属性:
Y={C,D}={(c2,d3),(c3,d5)}
③找出其X的对应象集:
(a1,b1)的象集为{(c1,d1)}
(a2,b1)的象集为{(c2,d2)}
(a2,b3)的象集为{(c2,d3) ,(c3,d5)}

④其X对应象集要包含于Y:
(a2,b3)的象集为{(c2,d3) ,(c3,d5)}这个包含,所以R÷S为(a2,b3)

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aure_xl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值