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

一、引言

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

二、数据库设计内容

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.rhkb.cn/news/356666.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 集群 - 数据分片算法

前言 广义的集群:只要是多个机器构成了一个分布式系统,都可以被称为集群。 狭义的集群:redis 的集群模式,这个集群模式下,主要是解决存储空间不足的问题。 Redis 集群 redis 采用主从结构,可以提高系统的可…

「动态规划」如何求最长湍流子数组的长度?

78. 最长湍流子数组https://leetcode.cn/problems/longest-turbulent-subarray/description/ 给定一个整数数组arr,返回arr的最长湍流子数组的长度。如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。更正式地来说,…

从开源EPR产品Odoo学习

前言 一个先进、敏捷、经济高效、可快速扩展的Odoo免费开源企业信息化解决方案,让企业获得适应未来发展的长期创新和增长能力。 Odoo 的免费开源模式 让我们可利用无数开发人员和业务专家,在短短数年内,打造数百款应用。凭借强大的技术基础&…

苹果智能和人工智能最大化

苹果智能和人工智能最大化 除了苹果公司,还没有人真正使用过苹果的智能功能。它要到秋天才会分阶段发布,即使到那时,它也无法在80%或90%的iPhone安装基础上运行,因为它需要只有iPhone 15 Pro才能使用的设备上处理功能。没有什么能…

现在这个行情,又又又要开始准备面试了~~

亲爱的程序员朋友们: 这些资料曾经帮助过许多有志之士顺利拿下抖音、快手、阿里等大厂的Offer,现在也希望它们能为你的面试旅程助力! 关注【程序员世杰】回复【1024】惊喜等你来拿! 截图 关注【程序员世杰】回复【1024】惊喜等你来拿&#xf…

车辆轨迹预测系列 (三):nuScenes数据集详细介绍-1

车辆轨迹预测系列 (三):nuScenes数据集详细介绍-1 文章目录 车辆轨迹预测系列 (三):nuScenes数据集详细介绍-1一、数据集准备1、解压2、安装nuscenes-devkit3、介绍 二、架构内容解释1、category 类别2、attribute 属性3、visibility 可见性4、instance …

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

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

IMU用于飞行坐姿校正

为了提升长途飞行的舒适度并预防乘客因不良坐姿导致的身体不适,来自荷兰上海两所大学的研究团队携手开发出一种创新的“舒适穿戴”设备,专为识别飞行中的坐姿设计。 研究团队制作了两种原型设备:一种追求极致舒适,另一种为紧身设…

干货!!SSAS模型刷新步骤

白茶在上一篇文章PowerBI迁移到SSAS向小伙伴们介绍了如何将已经开发好的PowerBI模型迁移到SSAS整个操作过程,与此同时也带来了新的问题,那就是SSAS的模型该如何刷新呢? 配套工具 SSMS Visual Studio SSIS SSIS[1]的全称是SQL Server Inte…

桂电人工智能学院大数据实验,使用 Docker 搭建 hadoop 集群

桂电人工智能学院大数据实验,使用 Docker 搭建 hadoop 集群 第一步 安装 Docker, Windows 上可以使用 Docker Desktop 下载地址:https://www.docker.com/products/docker-desktop/ 安装过程自行谷歌 安装好的标志:打开终端 运行docker p…

JetBrains PyCharm 2024 mac/win版编程艺术,智慧新篇

JetBrains PyCharm 2024是一款功能强大的Python集成开发环境(IDE),专为提升开发者的编程效率和体验而设计。这款IDE不仅继承了前代版本的优秀特性,还在多个方面进行了创新和改进,为Python开发者带来了全新的工作体验。 JetBrains PyCharm 20…

Nuxt快速学习开发 - Nuxt3静态资源Assets

Nuxt 使用两个目录来处理样式表、字体或图像等资产。 public/目录内容按原样在服务器根目录中提供。 assets/目录包含您希望构建工具(Vite 或 webpack)处理的所有资产。 public/目录 public目录用作静态资产的公共服务器,可在您的应用程序定…

PDF标准详解(三)—— PDF坐标系统和坐标变换

之前我们了解了PDF文档的基本结构,并且展示了一个简单的hello world。这个hello world 虽然只在页面中显示一个hello world 文字,但是包含的内容却是不少。这次我们仍然以它为切入点,来了解PDF的坐标系统以及坐标变换的相关知识 图形学中二维…

colima配置docker镜像源

只在 colima ssh 环境下修改 docker 配置文件是无效的,我们需要修改 colima 配置文件才能使 docker 镜像源生效。 此时你需要进入到~/.colima/default目录下编辑colima.yaml文件。该文件是 colima 的配置文件。内容如下图所示,我这里配置了许多家的镜像源…

换电脑后导入git本地仓库记录

导入本地仓库tig记录 换了新电脑,将旧电脑的数据盘查到新的笔记本之后发现,使用pycharm 读取不到本地的git提交记录了,我没有将本地git上传到远程仓库的习惯,这可抓马了,硬盘插回去的话也太麻烦了。试了 vscode 提示设…

如何恢复电脑硬盘删除数据?提供一套实用恢复方案

在数字化时代,电脑硬盘中存储的数据对于个人和企业来说都至关重要。然而,有时我们可能会不小心删除了一些重要文件,或者因为某种原因导致数据丢失。这时候,恢复硬盘上被删除的数据就显得尤为重要。本文将为您提供一套实用的电脑硬…

国企:2024年6月中国移动相关招聘信息

中国移动研究院: AI中心-大模型数据工程师 工作地点:北京市、西安市2 发布时间 :2024-06-18 学历要求:硕士研究生及以上 招聘人数:招聘若干人 专业要求 计算机、人工智能、软件工程、数学等相关专业 工作职责 1、负责处理和清洗大规模、多来源的数据集,保证数…

Python武器库开发-武器库篇之ThinkPHP 2.x 任意代码执行漏洞(六十三)

Python武器库开发-武器库篇之ThinkPHP 2.x 任意代码执行漏洞(六十三) PHP代码审计简介 PHP代码审计是指对PHP程序进行安全审计,以发现潜在的安全漏洞和风险。PHP是一种流行的服务器端脚本语言,广泛用于开发网站和Web应用程序。由…

解决 执行 jar 命令 控制台乱码

Springboot项目,编码为utf8 打包后,为了在控制台运行时不乱码,需要在控制台中依次执行以下命令: 第一步: chcp 65001第二步: java -jar -Dfile.encodingutf-8 你的.jar

Stable Diffusion 3 大模型文生图实践

windows教程2024年最新Stable Diffusion本地化部署详细攻略,手把手教程(建议收藏!!)_stable diffusion 本地部署-CSDN博客 linux本地安装教程 1.前期准备工作 1)创建conda环境 conda create --name stable3 python3.10 2)下…