数据库设计概述-数据库设计内容、数据库设计方法(基于E-R模型的规范设计方法)

news2024/12/23 10:08:08

一、引言

如何利用关系数据库理论设计一个满足应用系统需求的数据库

二、数据库设计内容

1、数据库设计是基于应用系统需求分析中对数据的需求解决数据的抽象数据的表达数据的存储结构等问题

2、其目标是设计出一个满足应用要求、简洁、高效、规范合理的数据库

3、最终得到能在DBMS中存储的数据库的逻辑结构和物理结构

三、数据库设计方法

1.根据经验进行直观设计

(1)缺乏科学理论和工程方法的支持,很难保证设计的质量 ,数据库常常在投入使用之后才发现存在问题,不得不进行修改,增加了系统维护的代价

2、运用软件工程的思想来设计数据库,对数据库进行规范化设计

(1)常用的规范化设计方法,大多起源于1978年的新奥尔良法

3、在规范设计的过程中,还可采用计算机进行辅助设计

4、使用设计工具软件自动完成数据库设计

(1)如:Oracle Designder、Sybase Power Designer

5、规范设计方法数据库设计分为

(1)需求分析

(2)概念设计

采用基于E-R模型的数据库设计方法,用E-R模型设计数据库的概念结构

(3)逻辑设计

在进行关系数据库的逻辑结构设计时,采用基于3NF的数据库设计方法,该方法用关系规范化理论为指导,来设计数据库模式

(4)物理设计

6、以基于E-R模型的规范设计方法为基础,目前通常将数据库设计分为

(1)需求分析

任务:

  • 分析用户以及应用系统的数据需求
  • 明确数据库中需要存储和管理的数据
  • 明确用户对数据的安全性和完整性方面的需求
  • 用户存取权限设置

方法:

常常采用的方法是结构化系统分析和设计技术(SADT)

  • 用数据流图来来表达分析过程和分析结果

 

  • 数据字典描述数据流图中的数据流和数据存储等 

 

经过需求分析得到的这些数据描述信息是无结构的,需要对其进行综合、归纳和抽象,转换为有结构的、易于理解的精确表达 ,即进行数据库概念结构设计

(2)概念结构设计

概念结构设计是整个数据库设计的关键

任务:

  • 借助概念模型,表达数据抽象的结果得到独立于具体的DBMS数据库概念结构

概念模型的表达方式:

  • E-R模型
  • UML统一建模语言 
  • IDEF1X方法

概念模型独立于数据库的逻辑结构,也独立于具体的DBMS ,需要将概念模型转换为选定的DBMS的支持的数据模型所对应的数据库模式,即进行数据库的逻辑结构设计。

(3)逻辑结构设计

数据库逻辑结构的设计,与采用的数据模型有关,目前的数据库应用系统,绝大多数采用支持关系模型的DBMS

任务:

  • 对于关系模型,将概念模型转换为关系数据库模式

方法:

  • 转换要遵循转换规则
  • 根据应用需求,运用关系规范化理论,对关系数据库模式进行优化 

(4)物理结构设计

对逻辑结构设计的结果,还要针对选定的DBMS,利用数据库定义语言描述数据库的模式结构,确定适合应用环境的存储结构和存取方法,即进行数据库物理结构设计

任务:

  • 定义数据库模式
  • 确定适合应用环境的存储结构和存取方法

方法:

  • 用数据定义语言 

(5)数据库的实施

在具体的DBMS上,实现物理结构设计的结果

任务:

  • 建立数据库
  • 进行数据库编程
  • 组织数据入库
  • 测试数据库

(5)数据库的运行维护

对正式投入使用的数据库,在进行系统运行过程中,需要不断地对其进行评估与完善

任务:

  • 对数据库进行评估
  • 完善数据库:重组织;重构造

数据库设计是上述六个阶段不断反复迭代、逐步求精的过程

7、数据库设计同时伴随着应用系统软件的设计,在设计过程中需要把两者加以结合、相互完善

四、后续

本讲主要讲授如何将前面所学的数据库原理应用到数据库设计

          

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python基础教程(三十):math模块

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的巡演(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 &#x1f…

Stm32超声波测距实验

一.任务需求 1. 采用stm32F103和HC-SR04超声波模块, 使用标准库或HAL库 定时器中断,完成1或2路的超声波障碍物测距功能。 2. 当前智能汽车上一般配置有12路超声波雷达,这些专用超声波雷达内置了MCU,直接输出数字化的测距结果&am…

分类判决界面---W-H、H-K算法

本篇文章是博主在人工智能等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在AI学习笔记&#…

文件管理—linux(基础IO)

目录 ​编辑 一、C语言文件接口(库函数) hello.c写文件 hello.c读文件 输出信息到显示器 stdin & stdout & stderr 二、系统文件I/O(系统调用) hello.c 写文件: hello.c读文件 接口介绍 open open…

基于Java学生选课管理系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

STM32多种开发环境及生成hex及bin文件介绍

一.STM32开发环境 KEIL系列 (1)KEIL公司目前有四款独立的嵌入式软件开发工具,即MDK、KEIL C51、KEIL C166、KEIL C251,它们都是KEIL公司品牌下的产品,都基于uVision集成开发环境,其中MDK是RealView系列中…

从零对Transformer的理解(台大李宏毅)

Self-attention layer自注意力 对比与传统cnn和rnn,都是需要t-1时刻的状态然后得到t时刻的状态。我不知道这样理解对不对,反正从代码上看我是这么认为的。而transformer的子注意力机制是在同一时刻产生。意思就是输入一个时间序列,在计算完权…

内存马的错误参数获取,导致原有接口失效解决方案

内存马的错误参数获取,导致接口失效。 前言 java Listener 类型内存马,在使用request.getParameter(String name); 获取请求参数去判断是否是恶意请求的时候,会影响某些框架无法接收到参数。 例子 在Jersey 框架 使用 MultivaluedMap 去接…

MSPM0G3507——创建新的.c.h文件

在项目处点击右键,再点击New File 再命名.c.h即可

mysql中的datetime类型在Java中到底对应哪个时间类型?

因为MySQL中用的是datetime类型(年月日 时分秒) java.sql.Date 在Java中用 java.sql.Date 接收 但是得到的却只有年月日 前端接收到的是时间戳 java.time.LocalDateTime 在Java中使用 java.time.LocalDateTime 接收 得到的是带时区的时间 前端接收到的…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇入口差异切换上线IPC管道ATSC任务Impacket套件UI插件

红队内网攻防渗透 1. 内网横向移动1.1 横向移动入口知识点1.1.1、当前被控机处于域内还是域外1.1.1.1 在域内1.1.1.2 不在域内1.1.1.2.1 第一种方法提权到system权限1.1.1.2.2 第二种方法切换用户上线1.1.1.2.3 kerbrute枚举用户1.1.2、当前凭据为明文密码还是HASH1.2 横向移动…

Vue3中使用el-table遇到的问题

我在使用element-plus中el-table组件的时候&#xff0c;对于某一<el-table-column>标签内的内容设置show-overflow-tooltip属性&#xff0c;但这里溢出展示的tooltip的默认样式是无法像el-tooltip标签那样&#xff0c;直接可以修改的。默认的样式是这样&#xff1a; 因此…

江协科技51单片机学习- p11 静态数码管显示

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记&#xff0c;在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用&#xff1a; 51单片机入门教程-2…

包含网关的概念及案例演示

包容网关 知识点讲解 包容网关可以看作排他网关和并行网关的结合体。与排他网一样&#xff0c;可以在外出顺序流上定义条件&#xff0c;但与排他网关不同的是&#xff0c; 进行决策判读时&#xff0c;包容网关所有条件为true的后继分支都会被依次执行。如果所有分支条件都为fa…

24年火爆全网的企业信贷产品-民生惠详解

今年&#xff0c;民生惠企业信贷产品非常火爆&#xff01;客户想申请这信用贷款前&#xff0c;先确认下自己是不是在白名单里。有些地区还能加进白名单&#xff0c;不在的话就别申请了&#xff0c;这是专门给受邀的小微企业的。 这款产品的细节是这样的&#xff1a; 额度&am…

实用软件下载:会声会影2023最新安装包及详细安装教程

可以说它不仅符合家庭或个人所需的影片剪辑功能&#xff0c;甚至能够挑战专业级的影片剪辑软件&#xff0c;适合一般大众使用&#xff0c;操作简单易懂&#xff0c;界面简洁明快。从总体上来看影片制作向导模式&#xff0c;只要三个步骤就可快速做出DV影片&#xff0c;入门初学…

一篇快速教你如何创建专业级数据可视化库

Seaborn 是一个基于 matplotlib 的 Python 库,主要用于数据探索、统计可视化和交互式分析.它提供了一种更高级、更美观的方式来绘制统计图表. 安装&#xff1a; pip install seaborn示例&#xff1a; import seaborn as sns import pandas as pd import matplotlib.pyp…

服务器SSH 免密码登录

1. 背景 为了服务器的安全着想&#xff0c;设置的服务器密钥非常长。但是这导致每次连接服务器都需要输入一长串的密码&#xff0c;把人折腾的很痛苦&#xff0c;所以我就在想&#xff0c;能不能在终端SSH的时候无需输入密码。 windows 可以使用 xshell 软件&#xff0c;会自…

nvidia历史版本驱动

打开官网 https://www.nvidia.cn windows GTX-1060为例 标准