数据库笔记(关系数据库相关)

数据库笔记(关系数据库相关)

1. 关系数据库基本概念

关系数据库由被称为关系(Relation)的表格组成。关系中的每一个列被称为属性(Attribution),每一行被称为一条记录(Record)。每一个存储了实际数据的关系被称为关系实例(Relation Instance)

在关系的属性中,每一条记录的某个属性被约束在某个特定的数据类型上,这个类型被称为属性的域(Domain)。每一个属性只允许输入一个值,即不允许一条记录上的一个属性上对应复数个值,这个特性被称为原子性(Atomic)

关系数据库允许关系中的属性留空,此时属性可填入空值(Null)来表示该属性的值未知或是不存在。


2. 关系模式表示

表示一个关系模式需要包含模式名、属性名。关系模式具体表示实例如下,该语句表示一个名为dpartment的关系:

department (depart_name, building, budget)

3. 键

3.1 超键

当一个或一组属性能够唯一的标识一组数据的时候,这个或这组属性被称为超键。超键的严格定义是:在关系R中,对于两组不同的数据t1和t2,t1的超键k1与t2的超键k2必须满足k1不等于k2。
注意到超键的定义,有以下几点注意:

  1. 超键可以是一个属性,也可以是一组属性。
  2. 对于存在多个属性的超键,虽然超键用于标识数据,但超键不能保证每一个属性都对于标识数据有着作用,即超键的子集不能保证也是超键。
  3. 不同的数据的超键不允许都相同,但相同数据却不能保证它们超键中的每一个属性都是相同的。

3.2 候选键

若超键K的任何子集都不是是超键,则该键被称为候选键。候选键可以说是关系中某些超键子集中最小的超键。注意到候选键的定义,一个关系模式是允许出现多个候选键的。

3.3 主键

数据库设计者要在在多个候选键中选择一个作为标识一组数据的候选键。被设计者使用的这个候选键叫做主键
在选择主键时,设计者需要估计这些属性可以唯一地表示某个实体或数据。对于一些属性,若存在可能会存在使该属性不满足候选键条件的值或是值经常改动的的情况,则该属性不应选做为主键。
一般主键在表示时会以下划线标注。

3.4 外键

若关系r1存在某些属性恰好是r2的主键,那么这些属性被称为r1参照r2的外键。r1被称为参照关系,r2被称为被参照关系。另外,外键必须满足参照完整性约束,即参照关系中的外键的所有值必须在也在被参照关系中对应的主键出现。对于外键有以下几点注意:
1. 参照关系和被参照关系不能颠倒,这种关联是单项关联。外键的关联倒转是不成立的。
2. 参照关系中外键中的值必须在被参照关系中出现,但被参照关系的对应主键的值可以出现参照关系外键不出现的值。(这也是为什么上一条不成立)
3. 虽然外键是被参照关系的主键,但参照关系中外键可以不唯一,即可以出现多个相同外键但其他值却不同。


4 数据库模式图

数据库模式图描述了数据库的模式设计。它包括了各种关系、属性、主键以及外键与其造成的依赖关系。在该图中,每个方框的顶部为关系名,其下部为该关系的所有属性。被下划线标注的属性为关系的主键。外键由一个箭头表示,箭头从参照关系的外键指向被参照关系的主键。其效果如图所示。
(img)


5 关系运算

  • 选择运算:一元运算,返回关系中满足某种条件的行。
  • 投影运算:一元运算,返回关系中某一列或某几列的数据
  • 笛卡儿积:二元运算,返回两个关系行的所有可能的排列组合所形成的关系。
  • 自然连接:二元异能算,其结果是两个关系进行笛卡儿积运算,将关系中相同名字的属性的值相同的行进行选择运算,再将这些相同名字的属性合并为一列。该运算一般用于将两个存在外键依赖的关系进行合并。
  • 联合:二元运算,将两个结构相同的关系的行合并。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值