数据模型(Data Model)是数据特征的抽象。数据(Data)是描述事物的符号记录,模型(Model)是现实世界的抽象。数据模型从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。数据模型所描述的内容有三部分:数据结构、数据操作和数据约束。
扩展资料:
数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。
1、数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。
2、数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。
3、数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
首先,先介绍一下,什么是数据模型?
数据模型是现实世界数据特征的抽象,用于描述一组数据的概念和定义。数据模型是数据库中数据的存储方式,是数据库系统的基础。在数据库中,数据的物理结构又称数据的存储结构,就是数据元素在计算机存储器中的表示及其配置;数据的逻辑结构则是指数据元素之间的逻辑关系,它是数据在用户或程序员面前的表现形式,数据的存储结构不一定与逻辑结构一致。
数据模型的分类有三种:
第一种:层次模型 层次模型是数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列。
第二种是:网状模型 网状模型以网状结构表示实体与实体之间的联系。网中的每一个结点代表一个记录类型,联系用链接指针来实现。网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系,它是层次模型的扩展。
第三种是:关系模型 系模型以二维表结构来表示实体与实体之间的联系,它是以关系数学理论为基础的。关系模型的数据结构是一个“二维表框架”组成的集合。每个二维表又可称为关系。在关系模型中,操作的对象和结果都是二维表。关系模型是目前最流行的数据库模型。
为什么要建立数据模型?
当今的商业决策对对数据依赖越来越强烈。然而,正确而连贯的数据流对商业用户做出快速、灵活的决策起到决定性的作用。建立正确的数据流和数据结构才能保证最好的结果。
如何进行数据模型设计?
1:首先是要了解业务然后建立概念模型,确定实体以及实体关系。
2:在概念模型的基础上生成逻辑模型,确定实体属性,标准化数据(消除多值字段达到第一范式;消除部分依赖达到第二范式;消除传递依赖达到第三范式)。
3:模型验证:通过具体的业务来验证模型是否能满足要求。
4:在逻辑模型的基础上生产物理模型。
在建立数据模型的时候需要注意:
1.三少 整个模型中表应该尽量的少;在一个表中字段应该尽量的少同时复合主键字段应尽量的少
2.如果在大数据量或者高并发的情况下,要充分考虑数据库的压力,事先要考虑哪些表可能是热表。要尽量的降低模块的耦合。如果使用的是oracle RAC 的话要考虑一下多实例竞争的问题,不同的模块访问不同的实例。
3.一定要做压力测试、要做充分的压力测试,要不上线后会死的很惨,移动总部的一个web项目应为没有做充分的压力测试,导致上线后不的不挂维护页面,动用了n多的资源去解决问题。
4.在做模型设计的时候要考虑项目的各个生命周期阶段对模型的要求,不能仅仅把眼光限制在功能的实现,例如要考虑模型对以后维护的支持,对于大表的数据如何进行清除、转历史,显然delete、insert是首先可以想到的但是不可行的方法,建议做分区转换。
5.数据模型设计对系统可变性的支撑:业务系统的变化点通常是流程相关部分,这部分会随着不同的公司、公司的不同发展阶段而变化,因此最好将这部分单独建模,独立于系统核心模型之外。