小白学数据库(八)数据库设计

一、数据库设计概述

数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存取数据,满足各种用户的应用需求。
1.特点
“三分技术,七分管理,十二分基础数据”
数据库设计和应用系统设计相结合,即将结构设计和行为设计相结合
2.数据库设计方法

  • 新奥尔良方法
    在这里插入图片描述
    3.数据库设计的基本步骤
  • 需求分析(了解与分析用户需求)
  • 结构设计
  • 行为设计
  • 数据库实施
  • 数据库运行和维护

数据库设计全过程
在这里插入图片描述

二、数据库设计

1.需求分析

通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统工作概况,明确用户的各种需求,然后再次基础上确定新系统的功能。
调查的重点是“数据”和“处理”

  • 信息要求
    指用户需要从数据库中获取信息的内容和性质,从而导出应在数据库中存储哪些数据
  • 处理要求
    用户完成什么样的处理功能,对处理的响应时间有什么要求
    处理方式是批处理还是联机事务处理
    2.需求分析的方法
  • 调查组织机构情况(了解部门组成情况,部门规模、职责,为分析信息流程做准备)
  • 调查各部门的业务活动情况
  • 协助用户明确对新系统的各种要求(信息要求、处理要求、安全性与完整性要求)
  • 确定新系统的边界(确定哪些由计算机完成,哪些由人工完成)

2、数据库结构设计

数据库设计分为数据库结构设计和数据库行为设计
结构设计包括设计数据库的概念结构、逻辑结构和存储结构
行为设计包括设计数据库的功能组织和流程控制
在这里插入图片描述

  • 概念结构设计:形成DB概念模式,用语义层模型描述,如E-R图
  • 逻辑结构设计:形成DB逻辑模式与外模式,用结构层模型描述,基本表、视图等
  • 物理结构设计:形成DB内模式,用文件级属于描述,DB文件或目录、索引

1.概念结构设计的方法与步骤

  • 自底向上:先定义局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。
  • 自顶向下:先定义全局概念模型,然后再逐步细化。
  • 自里向外:先定义最重要的核心结构,然后再逐步向外扩展。
  • 混合策略:将自顶向下和自底向上结合起来使用。
    常用的需求分析、概要设计方法
    自底向上概念结构设计
    2.采用E-R模型方法的概念结构设计
    局部E-R图示例:
    一名学生可同时选多门课程,一门课程也可同时被多名学生选修。对学生选课需要记录考试成绩信息,每个学生每门课程只能有一次考试。对每名学生需要记录学号、姓名、性别信息,对课程需要记录课程号、课程名、课程性质信息。
    在这里插入图片描述
    一门课程可由多名教师讲授,一名教师可讲授多门课程。对每个教师讲授的每门课程需要记录授课时数信息。对每名教师需要记录教师号、教师名、性别、职称信息;对每门课程需要记录课程号、课程名、开课学期信息。

在这里插入图片描述
一名学生只属于一个系,一个系可有多名学生。对系需要记录系名、系学生人数和办公地点信息。
在这里插入图片描述
一名教师只属于一个部门,一个部门可有多名教师。对部门需要记录部门名、教师人数和办公电话信息。
在这里插入图片描述
将局部E-R图集成为全局E-R图
优化全局E-R图:

  • 实体个数尽可能少;
  • 实体所包含的属性尽可能少;
  • 实体间联系无冗余。
    在这里插入图片描述
    2.逻辑结构设计
    将概念结构设计好的E-R图转换为具体的数据库管理系统支持的数据模型。E-R模型向关系模型转换
    转换示例:
    1:1转换示例
    在这里插入图片描述
    部门表(部门号,部门名,经理号)
    经理表(经理号,经理名,电话)
    或者:
    部门表(部门号,部门名)
    经理表(经理号,部门号,经理名,电话)
    1:n转换示例
    在这里插入图片描述
    部门表(部门号,部门名)
    职工表(职工号,部门号,职工名,工资)
    m:n转换示例
    在这里插入图片描述
    教师表(教师号,教师名,职称)
    课程表(课程号,课程名,学分)
    授课表(教师号,课程号,授课时数)

3.物理结构设计
数据库的物理设计通常分为两步:

  • 确定数据库的物理结构;
  • 对物理结构进行时间和空间效率的评价。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值