`
wangqinqin
  • 浏览: 58819 次
  • 性别: Icon_minigender_2
  • 来自: 江苏
社区版块
存档分类
最新评论

数据实体建模和数据库设计

阅读更多

数据实体建模和数据库设计

1. 实体关系模型(E-R模型):实体,属性,关系

实体:student(类)                         表:student

Id                                       id

Name                                    name

Course  c                                c_id(引用课程表id

映射关系:一对一,一对多,多对多。



 

    

2. 建表三大范式:

第一范式(1NF):数据库每一列都是不可再分的基本数据项,同一列中不能有多个值。即:所有的属性都必须是单值,也就是属性只表示单一的意义(记录可以重复,没有任何限制)。也即:不能以集合、序列作为属性值。

如(违背1NF):  name                  phoneNumber

                  张三              15855……,  0551-8506198

 

第二范式(2NF):数据库不存在非关键字段对任何候选关键字的依赖。即:属性要求唯一且非空(记录不可重复,但是数据可能会出现冗余)。也即:有一个字段唯一且非空的,比如id。但是数据很可能冗余,会造成数据不一致。

如(违背2NF): 选课(学号,课程号,成绩,学分)

                  主键:学号,课程号

                  问题:数据冗余:如果一个班级40人,学分存40次。

                        更新异常:如果学分更改,需要更新所有学生记录。

                        插入异常:如果新开课没有学生选修,记录无法插入。

                        删除异常:学生毕业,删除学生记录,相应的课程也被删除。

                   原因:学分对主键关键字(学号,课程号)存在部分的依赖。

                   解决办法(拆分):学生(学号,课程号,成绩)

                                    课程 (课程号,学分)

 

第三范式(3NF):数据库不存在非关键字段对任何候选关键字存在传递引用。即:非主属性只能依赖于主属性,不能依赖于其他非主属性(解决数据冗余问题)。也即:非主属性间无依赖关系了。在2NF的基础上拆表。比如student表和course表。

如(违背2NF):学生(学号,姓名,系号,系名,系地址)

                 主键:学号

                 也存在上述2NF中的异常

                 原因(存在传递):学号 ——> 系号 ——>系地址

                 解决办法(拆分): 学生(学号,姓名,系号)

  • 大小: 35.5 KB
分享到:
评论

相关推荐

    [详细完整版]数据库建模.pdf

    1 问 题 定 义 软件定 义时期 可 行 性 研 究 需 求 分 析 系统分 析阶段 第二讲 数据库建模 数据库设计概述 一、软件的生命周期 * GB(国家标准) 软件开 发时期 详 细 设 计 编 码 和 单 元 测 试 系统设 计阶段 综 ...

    数据库设计培训.pptx

    数据库设计概述 开发周期 现实世界 建模 信息世界 数据库世界 模型转换 规范化 需求分析阶段:分析客户的业务和数据处理需求; 概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整; 详细设计阶段:将E-...

    基于-Java-EE的仓库管理系统-数据库设计-ER图-实体关系图.doc

    一、 引言 二、 系统分析和设计 2.1 系统分析 2.1.1 可行性分析 三、 数据库设计 3.1 E-R图 3.1.1货物实体和属性 3.1.2 仓库实体和属性 3.1.3 管理员实体和属性 3.1.4采购员实体和属性 3.1.5 提货员实体和属性 3.1.6...

    什么是数据库设计数据库设计的步骤.docx

    早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计 数据库设计的方法 手工试凑法 设计质量与设计人员的经验和水平有直接关系 缺乏科学理论和工程方法的支持,工程的质量难以保证 数据库运行一段...

    数据库——数据库结构设计.pdf

    概念模型(ER)与概念设计说明书 过程: 1 明确建模⽬标 (模型覆盖范围) 2 定义实体集 (⾃顶向上标识和定义实体集) 3 定义联系 (实体间关联关系) 4 建⽴信息模型 (构造ER 模型) 5 确定实体集属性 (属性描述...

    基于大数据的数据仓库-数据仓库建模基本理论.pdf

    三、四种建模⽅法 1、ER实体模型 在信息系统中,将事务抽象为"实体"(Entity)、"属性"(Property)、"关系"(Relationship)来表⽰数据关联和事物描述,这种 对数据的抽象建模通常被称为ER实体关系模型。...

    大数据实践之数据建模.pdf

    典型的数据仓库建模⽅法论 ER模型 数据仓库之⽗Bill Inmon提出的建模⽅法是从全企业的⾼度设计⼀个3NF模型,⽤实体关系(Entity Relationship,ER)模型描述企业业务,在范式理论上符 合3NF。数据仓库中的3NF与OLTP...

    powerdesigner数据建模实验报告

    了解信息系统需求分析的方法和步骤,认识并理解数据模型的基本概念和结构,区分逻辑数据模型与物理模型的区别,掌握实体—关系数据模型的构建方法,了解数据建模的CASE环境,并能够运用CASE工具对数据库进行设计。

    用实体关系图进行数据库建模

    对于RDBMS,描述数据模型的图通常称为实体关系图(Entity Relationship Diagram,ERD)。用ERD描述数据模型能够帮助你预先精确定义数据需求。 介绍ERD建模工具 PowerDesigner和Visio 2000 Professional 在不同的...

    数据库设计理论 数据库性能优化

    数据库设计理论 实体-关系建模技术 数据库的创建 数据一致性 数据库性能优化 Planning and Creating Index 数据查询 数据库设计的高级技术(View, SP, Trigger)

    美食数据库的设计.docx

    根据数据库的需求分析,设计规划出本系统的实体有:管理员和会员实体,餐饮信息实体,订单实体,公告实体和留言评价实体。下面以会员实体对象和餐饮信息实体对象为例来说明。 会员实体对象拥有会员的基本属性,包括...

    数据库设计,建模和部署工具BDBPro3.1-setup_EN

    数据库设计,建模和部署工具BDBPro3.1-setup_EN bdb是一个功能齐全的数据库设计软件。 It supports Oracle, SQL Server, MySQL, Access, SQLAnywhere and Sybase. 它支持Oracle , SQL Server时, MySQL的访问, ...

    数据库设计工具.docx

    因此随着数据库理论研究的深切和设计实践的进展,显现了很多的数据库设计工具,自动实现大量设计工作,提高了工作效率。 正文 数据库设计工具全文共4页,当前为第1页。 PowerDesign:PowerDesign是Sybase推出的主打...

    DataUML Design 数据建模工具

    DataUml Design目前只支持MS Server和Oracle数据库、C#和Java语言,其它数据库和语言下一版本将实现。 DataUml Design功能特点 1)、模型设计 DataUml Desing数据建模采 用图形化设计,基于UML标准,遵循UML...

    数据库设计方法.doc

    数据库设计方法:数据库的设计思路方法、规范标准和窍门技巧 数据库设计方法:数据库的设计思路方法、规范标准和窍门技巧 数据库设计过程 数据库技术是信息资源管理最有效手段数据库设计是指对于个给定 应用环境构造...

    软件项目数据库设计说明书.doc

    软件项目数据库设计说明书的主要目的是提供有关数据库的详细设计和结构的文档,以支持软件开发团队在数据库开发和管理方面的工作。以下是这种文档的主要目的: 1. **数据库设计理解:** 通过该文档,项目团队和...

    医药销售管理系统数据库课程设计.docx

    10 3.1.1 建数据库和表 10 3.1.2 视图的建立 12 3.1.3 触发器建立 12 3.1.4 建立存储过程 13 3.2 数据库的数据管理(插入、删除、修改等) 13 3.3 数据库的用户与权限管理 18 参考文献: 20 医药销售管理系统数据库...

    数据库设计社团管理系统最终修改版 .docx

    设计要求: ...(3) 以PowerDesigner为建模工具,对数据库进行逻辑设计 (4) 设计的关系模式需进行规范化处理,每个关系模 式应能达到3NF (5) 应用自己熟悉的高级程序设计语言,实现系统 主要功能

    DataUML Design 数据建模工具 1.5版本

    DataUml Design目前只支持MS Server和Oracle数据库、C#和Java语言,其它数据库和语言下一版本将实现。 DataUml Design功能特点 1)、模型设计 DataUml Desing数据建模采 用图形化设计,基于UML标准,遵循UML...

    数据库设计规范(1).doc

    它从用户的观点出发对信息进行建模,主要 用于数据库概念级别的设计,独立于机器和各DBMS产品。可以用Sybase PowerDesigner工具来建立概念数据模型(CDM)。 逻辑数据模型:将概念数据模型转换成具体的数据库产品...

Global site tag (gtag.js) - Google Analytics