数据库基础概念

1.关系

(1) relation schema, 就好比编程语言中对变量的声明, 书面可以写作 person(id, name, age)

(2) relation, 就好比编程语言中对变量的定义, 它的外在体现就是一个table

2.超键/候选键/主键

(1)键 key, 键是一个数据的集合, 数据来自于一个或多个字段

(2)超键superkey, 某个键的各个元组可以唯一标识一条记录, 这个键可能包含一个或多个字段

(3)候选键candidatekey, 某个键的各个元组可以唯一标识一条记录, 但是一旦除掉构成键的某个字段, 其余字段就无法唯一标识一条记录了,并且, 单独用它的某一个字段都无法唯一标识记录,  也就是说它是超键的最小子集(指字段)

(4)主键primarykey, 一个table可以通过不同的字段组合构造多种候选键, 选择其中一种作为主键, 那么它就是主键, 也就是说, 主键也是候选键的一种, 它被人为指定为主键

3.完整性约束

比如主键、外键、not null等

4.视图

查询结果无法保存, 如果想以后查看查询结果, 可以把“查询”保存起来, 这个“查询”被称为视图

5.设计表时,将实体中的冗余属性做成关系表独立出来

6. E-R: entity-relationship

Entity: 客观存在的实体

Relationship: 实体间存在的某种关系

7. 字段的值通常都是single的,即不可分割的,但有时是composite的,比如,地址,有街名、门牌号…;有时候composite 字段的组件本身还是composite的,比如街名可能由市名、区名、路名组合。Composite类型的字段称为multivalued. 在E-R图中采用大括号表示,比如{address}

8. 有一种字段的值可以来自于其它字段,那么这个字段被称为derived。比如,有个字段birth表示出生日期, 还有个字段age表示年龄,那么age完全可以通过birth计算出来。在E-R图中采用()表示,比如age()

9. E-R图中,矩形Rectangle表示Entity,菱形◇表示Relationship,矩形中列出字段,带下划线的表示PrimaryKey;Relationship因为可以拥有除了位于与其相关的实体内的字段外的自定义的字段,这种字段采用小短线Dashed line――――表示;Relationship菱形与实体矩形间的线段可以带有箭头,表示实体间的是几对几关系,另外一种方法是在线段上写l..h格式的内容,表示对应个数最小为l,最大为h,如0..*表示0或多个,1..1表示最小为1个,最多也是1个,也就是1对1

10.week entity,弱实体,本身没有唯一键的实体集,它必须借助于其它实体或关系来唯一标识记录,比如,course是课程,section是章节

它们间的Relationship采用如图双边的菱形表示。(sec_id,semester,year)带有下划dashed line表示这是一个partial key,即再借助于course_id它就可以称为primary key了

11. specialization 某实体除拥有另一个实体的全部属性外,还拥有自己特殊的属性,它们间的关系用空心箭头表示,比如

12.第一范式 1NF (First Normal Form), 一种设计数据库时所遵循的原则,指所有字段值都是Atomic的, 即原子的,不再被分割为多个子信息

第二范式2NF,是与主键密切相关的一个概念,在这里,主键含有多个字段,并且,只有同时使用这多个字段才能唯一确定一行,如果发现主键中的某个字段或部分字段就已经可以确定一行,那么就是说,非主键字段部分依赖于了主键字段,这样会存在数据冗余。

第三范式3NF,是只非主键属性之间不能存在依赖,举例说,用户表中如果既有部门ID,也有部门名称,这就不符合3NF,因为有部门ID就足够了。


以上可以看出3NF和2NF都是指同一个表中的各个字段之间不要存在一对一关系(主键除外),如果存在,就应该只保留一个字段,其它的字段存到另一个表里。


13.函数依赖functional dependency,像数学中的函数一样,给定一个参数,可以得到唯一的结果,这个参数和这个结果之间就建立了一种functional dependency关系。具体到数据库中,比如一个primary key可以唯一确定一条记录。

假定存在字段A、B、C。

完全依赖:给定A,可以精确得到C,则A->C,C完全依赖于A;或者给定AB,可以精确得到C,则AB->C,C完全依赖于A

部分依赖:如果同时满足A->C, AB->C,则称C部分依赖于AB,就是说AB的一部分就可以精确得到C

14.无损分解lossless decomposistion 有损分解lossy decomposistion,见数据库系统概念第6版8.1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值