广告
返回顶部
首页 > 资讯 > 数据库 >数据库设计(一)——数据库设计
  • 916
分享到

数据库设计(一)——数据库设计

2024-04-02 19:04:59 916人浏览 泡泡鱼
摘要

数据库设计(一)——数据库设计 一、数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段: A、系统需求分析阶段B、概念结构设计阶段C、逻辑结构设计阶段D、物理结构设计阶段E、数据库实施阶段F、数据

数据库设计(一)——数据库设计

一、数据库设计简介

按照规范设计,将数据库的设计过程分为六个阶段:
A、系统需求分析阶段
B、概念结构设计阶段
C、逻辑结构设计阶段
D、物理结构设计阶段
E、数据库实施阶段
F、数据库运行与维护阶段
需求分析和概念结构设计独立于任何数据库管理系统。

二、系统需求分析

1、需求分析的任务

需求分析的任务:对现实世界要处理的对象进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。
A、调查分析用户活动
B、收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求
C、编写系统分析报告

2、需求分析的方法

需求分析有两种方法:自顶向下、自底向上
A、自顶向下
自顶向下方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统。
用数据流图和数据字典描述系统
数据流图:描述输入数据到输出数据的变换过程
数据流:由一组固定成分的数据组成,代表数据的流动方向
处理:描述了输入数据到输出数据的变换
文件:用于存储数据
源或宿:存在于系统之外的人员或组织,表示系统输入数据的来源和输出数据的去向
B、自底向上

3、实例

教学管理系统
基本需求:
某学校设计学校教学管理系统,学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、入学日期,每名学生选择一个主修专业,专业包括专业编号、名称、类别,一个专业属于一个学院,一个学院可以有多个专业。学院信息要存储学院号、学院名、院长。教学管理要管理课程表、学生成绩表。课程包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。

三、概念结构设计

1、概念结构设计简介

概念结构设计的目标是设计数据库的E-R模型图,确认需求信息的正确和完整。具体来说就是从需求分析中找到实体,确认实体的属性、确认实体的关系,画出ER图。

2、概念结构设计的步骤

数据库设计(一)——数据库设计
数据库设计(一)——数据库设计
第一步,数据抽象与局部E-R模型设计
A、数据抽象
在多层数据流中选择一个适当层次作为设计E-R图的出发点。
确定每个局部应用包含哪些实体,实体包含哪些属性,实体之间的联系
划分实体和属性的方法
分类:将一组具有某些共同特性和行为的对象抽象为一个实体。
聚合:将对象类型的组成成分抽象为属性。
B、局部E-R模型设计
局部E-R模型设计的原则是属性必须是不可分的数据项,不能再由放弃其他属性组成;属性不能与其他实体具有联系,联系只能发生在实体之间。
为简化E-R图,凡是能作为属性对待的,尽量作为属性。
第二步,全局E-R模型设计
集成各局部E-R模型,形成全局模型。视图集成的方法有两种:
A、多元集成法:一次性将多个局部E-R图合并为一个全局E-R图。
B、二元集成法:首先集成两个重要的局部E-R图,然后用累加的方法逐步将一个新的E-R图集成进来。
合并:
合并局部E-R图,消除冲突,初步生成E-R图。合并的关键是合理消除各局部E-R图的冲突。
冲突分类如下:
数据库设计(一)——数据库设计
优化
消除初步E-R图中不必要的冗余,生成基本的E-R图。
冗余数据:可由基本的数据导出的数据。
冗余联系:可由基本的联系导出的联系。
数据库设计(一)——数据库设计

3、实例

教学管理系统的E-R图
实体:学生、专业、学院、课程
实体表要记录的属性:
学生(学号、姓名、性别、生日、籍贯、民族、简历、入学日期)
数据库设计(一)——数据库设计
专业(专业号、专业名称、类别)
学院(学院号、学院名称、院长)
课程(课程号、课程名称、学分)
数据库设计(一)——数据库设计
教学管理ER图:
数据库设计(一)——数据库设计

四、逻辑结构设计

1、逻辑结构设计简介

逻辑结构设计的任务是将概念结构设计阶段完成的实体模型转换成特定的DBMS所支持的数据模型的过程。逻辑结构设计的目的是将E-R图中的实体、属性和联系转换成为关系模式。
数据库设计(一)——数据库设计

2、初始关系模型设计

(1)实体间关系转换遵循的原则:
一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。
一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。
联系关系的键有三种情况:
如果联系为1:1,则每个实体的键都是关系的候选键
如果联系为1:n,zen端实体的见识关系的键
如果联系为n:m,则各实体的键的组合是关系的键
特殊情况:多元联系
多元联系在转换为关系模式时,与该多元联系相连的各实体的主键及联系本身的属性均转换为关系的属性,转换后所得到的的关系的主键为各实体键的组合
(2)实体间关系的转换规则:
A、一个1:1关系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。
数据库设计(一)——数据库设计
原实体对应关系模式分别为:
班级(班号,专业,人数)
班长(学号,姓名,专长)
将关系“管理”合并到实体“班级”对应的模式后为:
班级(班号,专业,人数,班长学号)
班长(学号,姓名,专长)
关系“管理”也可以合并到实体“班长”对应的模式,将关系“管理”合并到实体“班级”对应的模式后为:
班级(班号,专业,人数)
班长(学号,姓名,专长,班号)
B、一个1:n关系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。
数据库设计(一)——数据库设计
实体对应的关系模式
系(系号,系名,系主任,电话)
教师(教师号,姓名,专业,职称,性别,年龄)
关系对应的关系模式
管理(教师号,系号)
合并到实体“教师”后(只能合并到“多”的一端的关系模型):
教师(教师号,姓名,专业,职称,性别,年龄,系号)
C、一个m:n关系转换为一个关系模式。转换的方法为:与该关系相连的各实体的码以及关系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。
关系只能转换为独立模式,模式的属性由关系本身的属性及两个实体的键构成;主键由两端实体的键组合而成。
数据库设计(一)——数据库设计
课程(课程号,课程名,学时,类别) 实体表
学生(学号,姓名,性别,专业,出生日期,照片) 实体表
选修(学号,课程号,分数) 关系表
D、三个或三个以上实体间的多元关系转换为一个关系模式。
关系的属性:与该多元关系相连的各实体的码以及关系本身的属性
关系的码:各实体码的组合
“讲授”关系是一个三元关系,可以转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:
  讲授(课程号,职工号,书号)

3、关系模式规范化

应用数据库设计的范式理论对初始关系模型进行优化。数据库设计的三大范式如下:
第一范式 每一个分类必须是一个不可分的数据项。属性不可再分,确保每列的原子性。
第二范式 要求每个表只描述一件事情,每条记录有唯一标识列。
第三范式 数据库表中不包含已在其它表中已包含的非主关键字信息。
关系模式的规范化过程如下:
A、确定范式级别
考察关系模式的函数依赖关系,确定范式等级。
B、实施规范化处理
利用规范化方法和理论将关系模式规范化。
C、模式改进
合并:
将用于关联查询的具有相同主键的各表合并可提高查询效率
分解:
水平分解,将关系的元组分为若干子集,提高查询效率;垂直分解,把关系中经常一起使用的属性分解出来,形成一个子关系,提高执行效率。分解时要保持无损连接和函数依赖。

4、实例

教学管理系统
由ER模型转化为的关系模型:
学生(学号、姓名、性别、生日、籍贯、民族、入学日期、专业号)实体表
专业(专业号、专业名称、类别、学院号)实体表
学院(学院号、学院名称、院长)实体表
课程(课程号、课程名称、学分、学院号)实体表
成绩表(学号、课程号、成绩)关系表
在转换为关系模型时,一对多的联系都在相应的多方实体的关系中增加一个外键。
需求的增加:
如果教学管理系统还要管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。
教师实体的ER图:
数据库设计(一)——数据库设计
教学管理系统ER图:
数据库设计(一)——数据库设计
关系表 多对多
成绩表 (学号,课程号,成绩,时间,地点)

五、物理结构设计

1、物理结构设计简介

物理结构设计:对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构。数据库的物理结构设计分为两步:
A、确定物理结构:存取方法和存储结构
B、评价物理结构:评价重点是时间和空间效率
根据具体的数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(数据类型 索引 主键)。

2、确定物理结构

(1)存储结构的设计
物理结构中,数据的基本存取单位是存储记录。
某一类型的所有存储记录的集合称为文件。
确定数据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。例如消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中方案。
(2)数据存取路径的设计
在关系数据库中,选择存取路径主要是指确定如何建立索引。例如,应把哪些域作为次码建立次索引,建立单码索引还是组合索引,建立多少个为合适,是否建立聚集索引等。
(3)数据存放位置的设计
为了提高性能,可将数据的易变部分、稳定部分、经常存取部分和存储频率较低部分分开存放。
(4)系统配置的设计
DBMS产品一般都提供了一些存储分配参数,供设计人员和DBA对数据库进行物理优化。初始情况下,系统都为这些变量赋予了合理的缺省值,但是这些值不一定适合每一种应用环境,在进行物理设计时,需要重新对这些变量赋值以改善系统的性能。

3、评价物理结构

物理结构设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。
评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。

4、实例

教学管理系统
表1-1 学院
数据库设计(一)——数据库设计
表1-2 专业
数据库设计(一)——数据库设计
表1-3 学生
数据库设计(一)——数据库设计
表1-4 课程
数据库设计(一)——数据库设计
表1-5 成绩单
数据库设计(一)——数据库设计

六、数据库实施

1、数据库实施的过程

数据库实施:指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。
数据库设计(一)——数据库设计

2、实例

学生表:
数据库设计(一)——数据库设计
课程表:
数据库设计(一)——数据库设计
专业表:
数据库设计(一)——数据库设计
学院表:
数据库设计(一)——数据库设计
成绩表:
数据库设计(一)——数据库设计

七、数据库运行与维护

数据库运行与维护的主要任务包括:
A、维护数据库的安全性与完整性
B、监测并改善数据库性能
C、重新组织和构造数据库
只有数据库系统在运行,就需要不断地进行修改、调整和维护。

您可能感兴趣的文档:

--结束END--

本文标题: 数据库设计(一)——数据库设计

本文链接: https://www.lsjlt.com/news/36564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库设计(一)——数据库设计
    数据库设计(一)——数据库设计 一、数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段: A、系统需求分析阶段B、概念结构设计阶段C、逻辑结构设计阶段D、物理结构设计阶段E、数据库实施阶段F、数据...
    99+
    2022-10-18
  • oracle 数据库设计-数据库表设计
    在数据库设计中,我的工作中经常会分析怎样商业逻辑中的表格如何设计。再设计表的关系之前 需要先了解关系型数据库特点 1关系型数据库,是指采用了关系模型来组织数据的数据库;2、关系型数据库的最大特点就是事务的一...
    99+
    2022-10-18
  • 数据库设计
    目录 数据库设计 三范式 第一范式(1NF): 第二范式(2NF): 第三范式(3NF): E-R模型 ...
    99+
    2019-08-12
    数据库设计
  • 数据库的设计
    一、多表关系 一对一(例如:人和身份证) 实现:可以在任意一方添加唯一外键指向另一方的主键;或者这节加个字段,整合成一张表 如:在人信息表中添加身份证id字段这一外键,指向身份证信息表的主键id;或者在人信息表中添加身份证id字段...
    99+
    2019-04-12
    数据库的设计
  • 数据库课程设计
      目录 第一章 前言 1.1 背景和意义 1.2 设计目标 第2章 数据库设计  2.1 需求分析 2.2 概念结构设计   2.3 逻辑结构设计  2.4 关系模式规范化检查及处理 第3章 数据库定义与操作 3.1 数据库及数据表定...
    99+
    2023-10-06
    数据库 mysql java
  • 数据库设计规范
    (如果两个关联的列的数据类型不一样,在关联的时候会进行隐式转换,造成列上索引失效,查询效率大幅降低)没特殊需求的情况下,统一使用innodb统一字符集可以避免由于字符集转换产生的乱码,数据库和表字符集统一使...
    99+
    2022-10-18
  • 数据库设计之概念结构设计
    概念结构设计是数据库设计的第一个阶段,它是在逻辑层面上对数据库进行建模和设计的过程。概念结构设计主要包括以下内容:1. 实体-关系模...
    99+
    2023-09-15
    数据库
  • Spring + Struts2 + ExtJs 权限管理的设计(一)数据库的设计
    1、本系统的后台使用mysql数据库,SSH 框架,前端使用ExtJs实现。因为系统需要用到权限管理,所以作此记录,权限管理精确到前端的每一个按钮,甚至每一个action请求。废话不多说,直接进入主题(一)...
    99+
    2022-10-18
  • 数据库规范化设计
    操作异常 修改异常、插入异常、删除异常 数据依赖 数据间的联系 函数依赖FD 属性捡的联系,最基本的数据依赖 若确定X,则可以唯一的确定Y,则称Y依赖于X记X->Y 若X->Y,且Y是X的子集则称为平凡的函数依赖:平凡的FD 若X...
    99+
    2018-08-29
    数据库规范化设计
  • mysql数据库设计规范
    一、数据库设计规范1.使用innodb引擎2.数据库和表的字符集统一使用utf83.所有表和字段添加注释4.单表数据量控制...
    99+
    2019-12-06
    mysql数据库设计规范
  • 数据库设计过程不包括哪些设计
    小编给大家分享一下数据库设计过程不包括哪些设计,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据库设计过程不包括算法设计,数据库设计过程主要包括需求分析、概念结构...
    99+
    2023-06-14
  • 数据库设计规范(详细)
    数据库设计规范是指在设计数据库时需要遵守的一系列规则和准则,以确保数据库结构的合理性、一致性和可维护性。下面是一些常见的数据库设计规...
    99+
    2023-09-13
    数据库
  • MySQL数据库表设计规范
    一、数据库设计 1、一般都使用 INNODB 存储引擎,除非读写比率...
    99+
    2014-11-16
    MySQL数据库表设计规范
  • 如何设计数据库索引
    本篇内容主要讲解“如何设计数据库索引”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何设计数据库索引”吧!MySQL中的索引MySQL中的InnoDB引擎使用B...
    99+
    2022-10-18
  • SQLServer数据库的设计详解
    一、数据库设计的必要性 在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置。如果不经过数据库的设计,...
    99+
    2022-11-13
  • MySQL数据库设计作业 ——《网上书店系统》数据库设计实验报告
    数据库设计作业——《网上书店系统》数据库设计 一、功能需求 普通用户:可以进行最基础的登陆操作,可浏览图书、按类别查询图书、查看 图书的详细信息,还可以注册成为会员。会员:需要填写详细信息(真实姓名、...
    99+
    2023-09-23
    数据库 mysql 课程设计 经验分享
  • 数据库设计的主要问题
    数据库设计的主要问题有以下几个:1. 数据冗余:冗余数据是指在数据库中存在多个副本或重复的数据。这会导致数据的一致性问题,增加了存储...
    99+
    2023-10-12
    数据库
  • MySQL数据库约束,表的设计
    ❤️Author: 老九 ☕️个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏:MySQL通关系列 文章目录 数据库约束no...
    99+
    2023-09-17
    数据库 mysql database
  • 数据库设计的范式规范
    关系型数据库的设计遵循六大范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。 第一范式 1NF 1NF,即数...
    99+
    2022-10-18
  • 数据库设计过程是什么
    这篇文章主要介绍了数据库设计过程是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。数据库设计过程包括需求分析、概念结构设计、逻辑结构设计、物理...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作