北邮果园数据库学习
针对期中考试之前的课程内容进行总结,部分资料来自网络,如有侵权请私信
传图片好像出了点问题,先作罢。。。
记得电脑上打字外键要加斜体,PK下划线 11 ⋈ σ Π
explain先说概念,再解释
如果用a.name=b.name 可能得注意有一个是不是主键
概念梳理
1.Relational model------最早学的 若干关系的集合,即数据库
Relation----关系,若干元组的集合,即数据表table
Cardinality 行数(没有标题列) Degree 列数(温度计是竖着的)
2.Relational schema A(a,b,c)要在意中间的relationship和外键
3.Relational algebra-----Project σ π X ÷
4.ER Model
去掉中间三条线,就是普通的Binary的三次重复,一定要有这个Y型的中心
ER 模型里是distinct的,每一个tuple都是unique的
同时要把所有的*:*转换成一对多
5.EER Model ER的升级版
- 第一是子类和父类的问题,有子类父类的一定是EER,没有的可以是ER也可以是EER(意味着EER不一定要子类父类)
- 第二EER比ER多了(optional,and),还有父类子类的箭头
6.Both 1 4 5 are data model
7.DDL和DML DDL改变了data structure(包括表)【DROP CREATE】
//DML主要对内容进行操作(INSERT等其余的)
主要知识运用点
1.Algebra(作用在relation里面)
-
Select Project 一横一竖 σ condition ® π condition ® 条件中是varchar的用“ ”双引号
-
Cartesian product R×S 任意排列组合
-
Natural Join (蝴蝶结一样的bowtie,用相同名字的attribute来join
-
Theta Join (不常用,但是需要注意是一个等于号,用于不同名的join)
-
-
Union/set difference/Intersection(U,— ,∩)
Union两点:两个表属性一致,tuple重复只取一个
-
Division 除法B÷C
常用于1.已经拿到S集合,这个S里面都是一个对象的某种属性的多个值
2.R里面找完全符合S的项(且自动不重合),比如必须要有2018&&2019,只有一个的电商就会被淘汰
e.g:
2.Relational schema
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ni7Ic6DG-1656651835134)(D:\User\gyc\AppData\Roaming\Typora\typora-user-images\image-20220422150042543.png)]
3.ER图/EER图(包括怎么画图,分离约束与参与约束sub/superclass)
- multiplicity of relationships—1:*等等都是,而0…1这些也是,0…1只是more precisely(更精确),而为了追求精确的目标,participation(最小)和cardinality(最大)才会出现,(这里的cardinality不是relation里的). 另:0…1 1…*—>默认 1:*
ER图/EER 无子类父类情况
实体(不用画横线隔开) relationship(1 *也要写在两边) 中间那个文字要写吗==(?)==
EER部分:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wwc8OKR6-1656651835134)(D:\Typora\typora-user-images\image-20220617131616118.png)]
画eer的mandatory判断
父类子类中需要有箭头和(optional,or)
分离约束和参与约束(EER父类子类必需品),用于把EER转换成表格relation的时候用。
-
disjoint constraint–nondisjoint (and). disjoint (or).----->在图上就是,子类要不要and(连)起来,或者一个一个带
-
Mandatory and optional–>强制参与还是可选参与,强制是子类和父类一定要连在一起带,但是可选的话子类和父类可以分开带,就会出现多个表格。
原理:遵循不出现或少出现NULL的原则。倾向于记忆方法。
**4.SQL语句 **
SELECT title
FROM A NATURAL JOIN B(join写在from里面)
WHERE NUM=XXX;
5.Normalization
(28条消息) 数据库设计范式 1NF 2NF 3NF BCNF 4NF_波涛汹涌1700的博客-CSDN博客
补充minimal redundancy那块的外键例子:
比如一个module注册的学生的学生号(可以是外键的一部分)就会放在另一个课程里当外键,所以这些”冗余“是需要的。
6.serial那块的各种定义
7.XML那块的定义
nimal redundancy那块的外键例子:
比如一个module注册的学生的学生号(可以是外键的一部分)就会放在另一个课程里当外键,所以这些”冗余“是需要的。
6.serial那块的各种定义
7.XML那块的定义