2016年6月15日
21:34
Main Logical Data Model(LDM) 逻辑数据模型
1.逻辑数据模型的三要素:
Data Structure 数据结构
Data Operation 数据操纵
Data Constraints 数据约束
2.关系模型的历史
- E.F.Codd, a researcher of IBM company, proposed relational model in 1970
- Proposed the Relational-Algebra
提出关系代数
- Defined the 1st, 2nd, and 3rd Normal Forms of relational model in 197
在1972年定义第一范式(1NF),第二范式(2NF),第三范式(3NF)
- Proposed BC NF in 1974
在1974年提出BC范式(BCNF)
3.关系型数据库
Became the mainstream of database products after 1980s
关系型数据库在20世纪80年代成为主流数据库产品
典型的关系型数据库代表:
ORACLE、SQL Server、Access、DB2
4.ER模型与关系模型
- 都是对数据的一种模型
- ER模型有很多的概念
实体Entities,关系relations,属性attributes等等
很好的满足了应用的需求
不适合计算机处理的需求
- 关系模型
只有一个概念:关系relation
物理世界是由一些表的集合组成的
很好地满足了计算机对数据的处理需求
5.Database & Schema & Instance 数据库&模式&实例
学生党一枚,通过其他的博客以及自己理解来简单地对这三个概念进行分析。
Database即数据库,何为数据库,由Data和base组成,字面意思也就是存储数据的仓库。这样理解是不无道理。至于为何有数据库的存在,这就样回到人们对数据的处理问题上来了。最开始的时候,在计算机行业能够处理数据的人士需要很专业的知识,因此数据都是人工进行维护、拷贝和恢复的。然后在存储介质的发展和计算机门槛的降低,以往的人工管理系统已经不能满足人们对数据管理和处理的需求,接下来进入的是文件系统时代。通过一个一个独立的文件来进行数据的存储,也可以这样理解,你自己有一首电子歌曲,你的同学也想要一份。同学可以用各种存储介质来拷贝一份。但是对于一个企业一个公司来书,这样数据的不断拷贝,不仅仅耗费了大量的存储空间同时也造成了数据的不同步。有需求才有发展,数据库迎刃而生,通过存储数据以及数据之间的联系,使用优化的存储方式,不仅仅可以解决数据的冗余,而且应对大数据的查询更新等操作也是游刃有余。至于数据库的更多详细解释可以参看本人的博客园与数据库相关的博文:伊甸一点 - 博客园
Schema即模式,当在数据库基础上谈论模式时,我们可以理解为数据存储的结构。举一个例子:需要用一些木材做一个柜子,柜子有很多种了,可以是有很多抽屉的那种,也可以是一个抽屉里又分为很多的抽屉的,另外想象一下某些抽屉是和其他抽屉在时空上是相连的(这真的是很厉害了)也许这种连接可能是很多重(chong)的,一个连着一个。同时还有很多种抽屉了,或者是伸进抽屉的方向不同连接到的另外一个抽屉也不相同。对应着数据库存储数据结构也可以是关系数据库,链式数据库,网状数据库等等了。至于Schema,当和Relation一起讨论时,大概可以这样描述:Corresponds to the programming language concept of type definition。举一个程序的例子:String movie = "Spiderman". 在这里string 也就算是Schema。
Instance即实例,对于了解面向对象编程的程序员来说,实例这个东西真的不算陌生了。简单的就可以是Object obj = new object(). 开玩笑的举这样的例子:程序猿找不到“对象”,身边的小伙伴们也许会对他说,自己构造一个吧。在这里的构造也就是通过自己写了一些类(至于什么是类,就不想在此描述了,可以理解为一个加工厂吧,里面抽象了属性和动作)。通过这些类来构造自己的”对象“。可以初始化为”164cm“ ”C“ balabala...也就是这样子的。当其和模式挂钩之后,可以视为是记录下来了一些数值,比如关系数据库,在关系数据库中表的实例也就是一列的数值。
学生党一枚,难免会有解释不当或者错误的地方还请宽恕。