第五章,数据库设计

news/2024/10/24 23:35:09/

文章目录

第五章,数据库设计
一,设计数据库
  • 良好的数据库设计

    • 节省数据的存储空间
    • 能够保证数据的完整性
    • 方便进行数据库应用系统的开发
  • 糟糕的数据库设计

    • 数据冗余、存储空间浪费
    • 内存空间浪费
    • 数据更新和插入的异常
  • 结论:当数据库比较复杂时我们需要设计数据库

  • 软件项目开发周期中数据库设计

    在这里插入图片描述

  • 数据库设计步骤

    • 收集信息
      • 与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务
    • 标识实体 (Entity)
      • 标识数据库要管理的关键对象或实体,实体一般是名词
    • 标识每个实体的属性(Attribute)
    • 标识实体之间的关系(Relationship)
二,E-R图
  • E-R图符号

    在这里插入图片描述

  • 映射基数

    在这里插入图片描述

  • 关系模式

    • 用二维表的形式表示实体和实体间联系的数据模型即关系模式
    • E-R图转换为关系模式的步骤
      • 把每个实体都转化为关系模式R(U)形式
      • 建立实体间联系的转换
  • 转化E-R图为数据库模型图

    • 将各实体转换为对应的表,将各属性转换为各表对应的列
    • 标识每个表的主键列
    • 在表之间建立主外键,体现实体
三,数据规范化
  • 不合规范的表设计

    • 信息重复
    • 更新异常
    • 插入异常:无法正确表示信息
    • 删除异常:丢失有效信息
  • 第一范式 (1st NF):确保每列的原子性

    • 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)

    在这里插入图片描述

  • 第二范式 (2nd NF):要求每个表只描述一件事情

    在这里插入图片描述

  • 第三范式 (3nd NF):满足2NF,并且除了主键以外的其他列都不传递依赖于主键列

    在这里插入图片描述

  • 规范化和性能的关系

    • 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间
    • 通过在给定的表中插入计算列(如成绩总分),以方便查询
  • 在数据规范化同时,要综合考虑数据库的性能


http://www.ppmy.cn/news/1541693.html

相关文章

C++共同体

共同体是一种数据格式,他能储存不同的数据类型,但是同一时间只能储存其中的一种类型。 语法: union 共同体名 { 成员一的数据类型 成员名一; 成员二的数据类型 成员名二; 成员n的数据类型 成员名n; }

052_python基于Python高校岗位招聘和分析平台

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

深入探讨 Spring 中的自定义注解及其使用场景

在现代 Java 开发中,注解(Annotation)作为一种元数据形式,极大地简化了开发者的代码配置和逻辑实现。Spring 框架充分利用了注解的功能,实现了依赖注入、事务管理、AOP(面向切面编程)等核心特性…

016_基于python+django网络爬虫及数据分析可视化系统2024_kyz52ks2

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

C语言_数据在内存中的存储

1. 整数在内存中的存储 计算机中的整数有三种2进制表示方法 :原码、反码、补码。 三种表示方式均有符号位和数值位两个部分,最高一位的是符号位,剩下的都是数值位。符号位用“0”表示“正”,用“1”表示“负”。 正数的原、反、…

生产环境WAS产生javacore、dmp、dump文件分析

目录 一、分析工具 二、Java 转储(Java dump) Java 转储内容(Java dump contents) 标题(TITLE) GP信息(GPINFO) 环境信息(ENVINFO) 本地内存信息(NATIVEMEMINFO&…

基于SSM+微信小程序的房屋租赁管理系统(房屋2)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的房屋租赁管理系统实现了有管理员、中介和用户。 1、管理员功能有,个人中心,用户管理,中介管理,房屋信息管理&#xff…

边缘计算网关助力煤矿安全远程监控系统

煤矿开采环境复杂,危险程度高,每一次事故都带给行业血淋淋的教训,安全问题也是政府与行业亟待解决的难题。伴随着技术的发展,煤矿智能化成为行业探索的新方向,降低安全风险也是智能化的重要目标之一。防微杜渐是安全生…