数据建模分析

数据建模关心独立于数据的收集和使用过程的数据(静止数据),过程建模在显示类数据将如何被收集和使用(运动中的数据),uml对象建模  一个对象的属性,操作了和使用属性


1 实体分类:人:代理/承包人/客户/部门/分部/雇员/导师/学生/供应商        个人/小组/组织

                       地点:销售地区 建筑物 房间 分支办公室 校园

                       对象:图书 及其 不见 软件包 汽车模型 汽车   实际的对象(如 软件许可证) 或者一类对象的说明(如 不同的软件包说明)

                       事件:应用 奖励 取消 分类 飞行 开发票 订单 注册 续借 获取 预定 销售 旅行

                       概念: 帐号 时间段 债券 课程 基金 资格 股票

2 属性:属性值:域(范围) 数据类型(某种程度上定义域) 默认值

                 子集准则:学生 (last Name,first Name, birthDate,Gender(子集准则1),Race(子集准则2), Major(子集准则3))

3 基数:一个仅且一个       0个或1个           1个或n个               0个1个或多个          大于1个

4 度数: 两个实体的关系 --2维  一个实体的关系,父节点---1维    n个实体 n维关系,  n维关系用一个新的称为关联实体的实体结构说明。

               关联实体 是一个从多个其他实体(也可是父实体)继承其主键的实体,其复合键的每个部分指向每隔链接实体的一个且仅一个实例  也可有自己的属性,如时间等




数据建模过程:    数据模型是不断累进的,对于一个企业或应用,不存在“最终的”数据模型这种东西。  它是活的,随需求变化而变化

                              数据模型作用可以有:确定业务词汇  比过程建模快 只需要一张纸 (而过程建模需要好多张)  过程建模很容易陷入不必要的细节中

                                                                   现有系统和建议系统的相似性远比他们的过程模型之间的相似性高

                               问题分析阶段的模型应该仅仅包括实体和关系,而不包括属性,这叫做上下文数据模型,目的是提炼我们对项目范围的理解,而不是获取实体和业务规则和细节    很多关系可以是非特定关系。     需求分析得出一个逻辑数据模型,其步骤:1) 构造上下文数据模型开始确定项目范围,如果有,也可以修改一反应新的需求和新的项目范围  2)绘制一个基于键的数据模型 这个模型将消除非特定关系,怎加实体关联 包括主键和替代键  还将包括精确的基数和泛化层次 (1-1 1-n m-n)  3)构造一个具有完整属性的数据模型  包含了所有描述性属性和子集准则  每个属性都用数据类型 域 默认值在资料库中定义   也叫做完全描述的数据模型 4)规范化  适应性 灵活性

                     jrp和面谈问题: 获取系统实体家伙去实体键 实体子集准则 获取属性和域 获取安全和控制需求 数据时间需求(数据变化频繁 保存多久 历史) 获取泛化 关系 度数 技术

                        工具:case产品 正向 可以检查手工错误 完整性一致性, 也有些case产品支持逆向将现有文件和数据库结构变为数据模型  但是也有写不足 case中的模型符号表示不一定支持其他数据建模规则 


如何构造数据模型:(本节教如何从头开始,其实你可以寻找一个现有模型,  或可以从现有的数据库中细想一个数据模型)

                                   1 获取实体  开会面谈  研究现有表格文档 报告 有些表可以确定事件实体 如order requisition(征用令;申请书) payment   deposit(储蓄;寄存)   一旦发现就给他们一个简单有意义面向业务的名字      属性的域不应该有业务逻辑

                               分析数据模型:虽然this有效的沟通了数据库,单不一定代表了一个好的数据库设计, 某些结构特征可能会降低模型的灵活性和扩展性,或产生不必要的冗余

                                好的数据模型标准:简单:一个实体实例的每隔属性值只能有一个值   无冗余:每个属性(除了外键)最多在一个实体中描述  灵活对未来适应-----------这些都用数据分析来达到。

                            数据分析:规范化,3范式   1范式:所有属性对于实体的单个实例都只有一个值  任何可以有多个值的属性实际描述了一个的单独的实体 也可能是一个实体和关系  2范式:1范式+:非主键属性值依赖主键,不仅仅是部分的依赖 任何仅仅部分的依赖主键的非键属性应该被移动到另一个实体中,在哪里部分键实际上是完全建 它可能需要在模型中创建一个新的实体和关系. 3范式:2范式+:如果他的非主键属性的值不依赖于任何其他非主键属性  任何依赖于其他非键属性的非键属性必须去掉或删除 新的实体或关系可能要被添加到数据模型中

       将数据需求映射到地点: 每隔地点需要实体和属性的哪些子集来完成工作, 需要神马级别的访问,该地点可以创建实体实例吗,可以读取实体实例吗,可以删除实体实例吗,可以修改实体实例吗?----------------------数据--地点--crud矩阵  行:实体(和可能滴属性),列:地点, 单元格:访问级别(S(submit)C R U D All SS(subset)X(no access) INDV(individual 个体的))。 在某些case工具中,可以为每隔地点定义数据模型的视图,

  数据建模的知识到这里,如果要实现成数据库,阅读 数据库设计,逻辑数据模型被转变为物理数据库模型。用case工具,可以自动生成创建数据库的代码



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值