(2017/4/29)
在关系型数据库中,有以下比较重要的概念:
我们在描述一个客观事物的实体的时候我们可以使用一张表来描述它,也就是实体对应着表
关系对应着表,域对应着列,元组对应着一行也就是一条记录
在一张表中,我们说某个属性或者说某几个属性的组合能够唯一确定这一行的其他属性,那么就称为这个属性或者这个属性组为候选键
而主键则是在候选键的基础上需要满足一下条件就是这个候选键的子集不可以唯一确定这一行,也就是说主键就是最小的候选键
而当候选键不满足主键的要求的时候也就是不满足最小的定义的时候我们称之为超键
并且一般来说候选键可以有多种组合,主键也是
外键就是在某张表中引用了其他表的属性,但是这个属性在其他表必须是主键,外键就是我们所说的数据库中的软连接,也像是我们说的逻辑指针,那么这个逻辑指针和c中的指针是没有却别的也就是指针在使用时不可为空,那么就保证了数据的完整性,不可以引用一个不存在的外键
EER模型(Extend ER 拓展ER模型)
拓展ER模型中添加了四大主要的概念,分别是:
1.弱实体,也就是一个实体依赖于另一个实体的存在,如果被依赖的实体不存在了该实体也会消失例如:学校的工作人员的家属就是工作人员的弱实体。
2.特殊化和普遍化:这个就相当于面向对象中的子类与父类的关系 ,子类就是特殊化二父类则为一般化
3.聚集:就是我们可以把一个关系当做一个实体来用,也就是关系与关系之间可以建立联系,关系与实体之间也可以建立新的关系
4.类型:就是可以将完全没有关系的几个实体结合在一起,类似于面向对象中的组合概念。
面向对象数据模型
objectstore就是将面向对象的程序设计语言中的对象通过序列化的方式存放在这种数据库中,以便于对象永久保存在磁盘上而不是放在内存中使用后就消失了,用文本对于少量的对象可用大量的对象会检索出问题,但是以前这种数据库是依赖于语言编译器的方式存在的,后来才发展到类似与关系型数据库。
但是这个就突破了1NF 目前就orcle和db2有用户自定义类型,但是也不是完全意义上的面向对象数据库,因为他们慢慢已经消失了。
网友评论