【数据库复习】第七章 数据库设计

news2024/11/15 20:10:23

数据库设计的过程(六个阶段)

⒈需求分析阶段

准确了解与分析用户需求(包括数据与处理)

最困难、最耗费时间的一步

⒉概念结构设计阶段

整个数据库设计的关键

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型

⒊逻辑结构设计阶段

将概念结构转换为某个DBMS所支持的数据模型

对其进行优化

⒋数据库物理设计阶段

为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)

⒌数据库实施阶段

运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果

建立数据库

编制与调试应用程序

组织数据入库

进行试运行

⒍数据库运行和维护阶段

数据库应用系统经过试运行后即可投入正式运行

在数据库系统运行过程中必须不断地对其进行评价、调整与修改

结构化分析方法(Structured Analysis,简称SA方法)

从最上层的系统组织机构入手

自顶向下、逐层分解分析系统

 

2.分解处理功能和数据

  (1)分解处理功能

将处理功能的具体内容分解为若干子功能

  (2)分解数据

处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图

  (3)表达方法

 处理逻辑:用判定表或判定树来描述

 数据:用数据字典来描述

3.将分析结果再次提交给用户,征得用户的认可

数据字典的内容

数据项

数据结构

数据流

数据存储

处理过程

概念结构设计的特点

   (1) 能真实、充分地反映现实世界

   (2) 易于理解

   (3) 易于更改

   (4) 易于向关系、网状、层次等各种数据模型转换

描述概念模型的工具

E-R模型

 

数据抽象

三种常用抽象

1. 分类(Classification)

定义某一类概念作为现实世界中一组对象的类型

抽象了对象值和型之间的“is member of”的语义

 

2. 聚集(Aggregation)

定义某一类型的组成成分

抽象了对象内部类型和成分之间“is part of”的语义

 

3. 概括(Generalization)

定义类型之间的一种子集联系

抽象了类型之间的“is subset of”的语义

继承性

 

逐一设计分E-R图

 

消除不必要的冗余,设计基本E-R图
基本任务

消除不必要的冗余,设计生成基本E-R图

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

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

相关文章

基于微信小程序蛋糕店商城管理系统的设计与实现

1:后端采用技术 SpringBoot 、Mybatis、Mybatis-plus、Redis、阿里云短信息服务、Hutool 邮箱服务、WebSocket通讯服务、OSS对象存储服务、支付宝沙箱服务,接口简单限流、简单定时任务。。。。。。 2:前端采用技术 Vue2、Vue2-uploader组件、…

[图表]pyecharts模块-日历图

[图表]pyecharts模块-日历图 先来看代码: import random import datetimeimport pyecharts.options as opts from pyecharts.charts import Calendarbegin datetime.date(2017, 1, 1) end datetime.date(2017, 12, 31) data [[str(begin datetime.timedelta(d…

Leetcode 110-平衡二叉树

1. 递归法求解 递归三部曲: 确定递归函数的参数及其返回值确定终止条件确定单层递归逻辑 深度:从上往下 高度:从下往上 1.1 根据深度求解 构建求二叉树节点深度的函数(后序遍历)递归求该树是否是平衡二叉树&#…

国产化麒麟linux系统开发编译常见问题汇总

团队自研股票软件关注威信龚总号:QStockView,下载 1 问题处理 1.1 Unknown module in QT:QJsonDocument 缺少QJsonDocument 解决方法: Pro文件中加上 QTcore; 播放器库问题 1.2 代码中汉字乱码需要设置文件编码格式 原因分析&…

2023-06-03:redis中pipeline有什么好处,为什么要用 pipeline?

2023-06-03:redis中pipeline有什么好处,为什么要用 pipeline? 答案2023-06-03: Redis客户端执行一条命令通常包括以下四个阶段: 1.发送命令:客户端将要执行的命令发送到Redis服务器。 2.命令排队&#…

内网安全:Cobalt Strike 工具 渗透多层内网主机.(正向 || 反向)

内网安全:Cobalt Strike 工具 渗透多层内网主机. Cobalt Strike 是一款以 metasploit 为基础的 GUI 的框架式渗透工具,又被业界人称为 CS。拥有多种协议主机上线方式,集成了端口转发,服务扫描,自动化溢出,…

Docker容器化Java程序

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Docker容器化Java程序 Docker:用于创建和管理容器的开源平台 Java运行环境:Java是一个跨平台的编程语言,因此在CentOS系统中需要安…

一个帮助写autoprefixer配置的网站

前端需要用到postcss的工具,用到一个插件叫autoprefixer,这个插件能够给css属性加上前缀,进行一些兼容的工作。 如何安装之类的问题在csdn上搜一下都能找到(注意,vite是包含postcss的,不用在项目中安装pos…

[图表]pyecharts模块-柱状图2

[图表]pyecharts模块-柱状图2 先来看代码&#xff1a; from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.faker import Fakerx Faker.dogs Faker.animal xlen len(x) y [] for idx, item in enumerate(x):if idx < xlen / 2:y…

Visual Studio Code里如何运行html (Windows 10 和 Mac OS)

在Web 开发时&#xff0c;作为Web 开发基本都是从编写 HTML 网页开始的。这篇文章讲的是如何起步配置开发环境来运行 HTML 代码。 在Windows和Mac 的 VS Code中都可以运行 HTML。 打开VS Code&#xff0c;在VS Code中安装&#xff0c;Code Runner&#xff0c; 如下所示 2、这…

【群智能算法改进】一种改进的算术优化算法 改进算术优化算法 改进AOA[1]【Matlab代码#37】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 基础算术优化算法2. 改进算术优化算法2.1 随机概率因子2.2 强制切换机制 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 基础算术优化算法 算术优化算法是一类基于…

mount -l | grep bpf

BPF & Cillum mount -l | grep bpfBPF&#xff08;Berkeley Packet Filter&#xff09;文件系统netfilter和tcprofiling和tracingHTTP、gRPC和Kafka等协议VXLAN组网模式BGP&#xff08;Border Gateway Protocol&#xff09; mount -l | grep bpf 这是一个通过运行mount -l…

Linux 实操篇-Linux 磁盘分区、挂载

Linux 实操篇-Linux 磁盘分区、挂载 Linux 分区 原理介绍 Linux 来说无论有几个分区&#xff0c;分给哪一目录使用&#xff0c;它归根结底就只有一个根目录&#xff0c;一个独立且唯一的文件结构, Linux 中每个分区都是用来组成整个文件系统的一部分。Linux 采用了一种叫“载…

使用数据库连接池来快速访问数据库Druid

使用数据库连接池来快速访问数据库Druid 简介为什么使用连接池原理及使用连接池访问数据库的优势开源项目 alibaba/druid 地址 使用方法准备jar包定义Druid的配置文件 代码示例 简介 数据库连接池是一个容器&#xff0c;负责分配、管理数据库的连接(Connection)。通过连接池可…

[图表]pyecharts模块-反转柱状图

[图表]pyecharts模块-反转柱状图 先来看代码&#xff1a; from pyecharts import options as opts from pyecharts.charts import Bar from pyecharts.faker import Fakerc (Bar().add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis("…

图论与算法(2)图的基本表示

1. 图的分类 &#xff08;1&#xff09; 有向图和无向图&#xff1a; 有向图&#xff08;Directed Graph&#xff09;&#xff1a;图中的边具有方向&#xff0c;表示节点之间的单向关系。无向图&#xff08;Undirected Graph&#xff09;&#xff1a;图中的边没有方向&#x…

【Web开发技术】数据缓存中间件Redis(非关系型数据库)

文章目录 一、引言1、介绍2、五种常用数据类型 二、配置1、下载2、使用 三、使用1、命令行操作&#xff08;1&#xff09;字符串&#xff08;2&#xff09;哈希&#xff08;3&#xff09;列表&#xff08;4&#xff09;集合 set&#xff08;5&#xff09;有序集合 sorted set&a…

python基础练习题20道,快收藏起来检测自己吧 !

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 实例001&#xff1a;数字组合 题目&#xff1a; 有四个数字&#xff1a;1、2、3、4&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;各是多少&#xff1f; 答案跳转 实例002&#xff1a;“个税计…

路径规划算法:基于乌燕鸥优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于乌燕鸥优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于乌燕鸥优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法…

Leetcode 剑指 Offer II 029. 排序的循环链表

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定循环单调非递减列表中的一个点&#xff0c;写一个函数向这个…