数据库设计步骤、E-R图转关系模式、E-R图的画法

news2024/11/18 21:28:08

一、数据库设计步骤

①需求分析阶段
    准确了解与分析用户需求。

②概念结构设计阶段
    通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。

③逻辑结构设计阶段
    将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。

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

⑤数据库实施阶段
    根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进
行试运行。

⑥数据库运行和维护阶段
    数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评估、调整与修改。

二、E-R图转关系模式

1. 实体之间的三类联系

2. E-R图转关系模式

(1)E-R图需要满足的条件

    ①实体之间通过关系相连。
    ②实体-关系-实体之间有三类联系之一。
    ③属性附属实体。
    ④属性控制关系。

(2)关系模式转E-R图的方法

    ①若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的主键和联系类型的属性。
    ②若实体间联系是1:n,则在n端实体类型转换成的关系模式中加入1端实体类型的主键和联系类型的属性。
    ③若实体间联系是m:n,则将联系类型转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而主键为两端实体键的组合。
    简单来说:若实体间联系是1:1,则在任意一端关系模型中加入另一端的主键和关系的属性即可。若实体间联系是1:n,则在n端关系模型中加入1端的主键和关系的属性。若实体间联系是m:n,则把联系转换为关系模式,并且加入两端的主键组合为新的主键和关系的属性。

例1:

例2:
 

例3:

三、 E-R图的画法

    ①确定实体:识别系统中的所有实体,并用矩形表示每个实体。给每个实体命名,通常使用名词。
    ②确定属性:列出每个实体的属性,并确定哪个属性作为每个实体的主键(唯一标识)。用椭圆形表示属性,并将其连接到对应的实体。
    ③确定关系:识别实体间的所有逻辑联系,并用菱形表示这些关系。明确关系的类型(一对一、一对多、多对多)并通过线段将关系连接到相关的实体。
    ④添加属性到关系:如果关系本身具有属性,也需要将这些属性添加到关系上,使用椭圆形表示,并连接到对应的菱形。


四、参考资料

王珊 萨师煊. 数据库系统概论(第5版). 高等教育出版社. 2014
数据库大题十五分钟速成(E-R图转换成关系模式)(适用于2022级太原理工大学软件学院)_哔哩哔哩_bilibili 

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

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

相关文章

LCM — Least Common Multiple 最小公倍数

因为任何一个数都可以表示为若干个质数幂的乘积。 比如75 3*5*5,即 2^0 * 3^1 * 5^2 * 7^0 ... 那么对于两个数来说,gcd就是他们取每个质数的较小幂的乘积,lcm则相反。显然,这些幂加起来就是他们乘积。 gcd(a,b) * lcm(a,b) a…

C++学习/复习13--list概述

一、list概念 1.带头双向链表 2.构造函数 3.迭代器(其迭代器需尤其注意) 4、size 5.front/back 6.插入删除 删除时的迭代器失效 由于list的节点特殊,既有数据又有指针,其实现需要节点/迭代器/list各成一类再组合

【TB作品】MSP430F5529 单片机,智能温控系统,DS18B20

作品功能 本项目设计并实现了一个基于MSP430单片机的智能温控系统。系统可以实时显示当前温度,并且可以根据设置的临界值对环境进行加热或降温。主要功能如下: 实时显示当前温度。显示并调整温度临界值,临界值可在20~35摄氏度之间调节。当前…

chorme浏览器查看shadow-root配置

F12打开控制台,点击设置图标 点击偏好设置-> 勾选显示用户代理 Shadow DOM

C++STL---stack queue模拟实现

前言 对于这两个容器适配器的模拟实现非常简单,因为stack和queue只是对其他容器的接口进行了包装,在STL中,若我们不指明用哪种容器作为底层实现,栈和队列都默认是又deque作为底层实现的。 也就是说,stack和queue不管是…

Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld

文章目录 前言一、Django环境配置1、python 环境2、Django环境3、mysql环境4、IDE:pycharm 二、第一次创建Django项目1、创建项目door_web_django_system2、运行启动 三、Django项目介绍1、介绍Django项目结构2、第一个helloword4、django的项目逻辑(和j…

为什么PPT录制没有声音 电脑ppt录屏没有声音怎么办

一、为什么PPT录制没有声音 1.软件问题 我们下载软件的时候可能遇到软件损坏的问题,导致录制没有声音,但其他功能还是可以使用的。我建议使用PPT的隐藏功能,下载插件,在PPT界面的加载项选项卡中就能使用。我推荐一款可以解决录屏…

探索风电机组:关键软件工具全解析

探索风电机组:关键软件工具全解析 随着可再生能源市场的迅猛发展,风电作为一种重要的可再生能源,其相关技术和工具也越来越受到重视。风电机组的设计、仿真、优化及运维等方面,都需要依靠一系列专业软件工具来实现。这些软件涵盖…

链表的回文结构OJ

链表的回文结构_牛客题霸_牛客网对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为。题目来自【牛客题霸】https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?tpId49&&tqId29370&rp1&a…

k8s怎么监听资源的变更

监听k8s所有的 Deployment 资源 package mainimport ("context""fmt"v1 "k8s.io/api/apps/v1""k8s.io/apimachinery/pkg/util/json""k8s.io/client-go/informers""k8s.io/client-go/kubernetes""k8s.io/cli…

RFID测温技术在电力行业的革命性应用

随着科技的快速发展, RFID技术在各个领域的应用越来越广泛,而其中的一个重要领域就是电力行业。这一无线测温技术以其非接触、实时、高精度的特点,为电力设备的温度监测带来了革命性的改变。电力行业作为国家基础设施建设的重要支柱,设备的安…

使用GitHub托管静态网页

前言​: 如果没有服务器,也没有域名,又想部署静态网页的同学,那就可以尝试使用GitHub托管自己的网页​。 正文: 首先要有自己的GitHub的账号,如果没有可以自己搜索官网进行注册登录,国内对Gi…

git【工具软件】分布式版本控制工具软件

一、Git 的介绍 git软件的作用:管理软件开发项目中的源代码文件。 常用功能: 仓库管理、文件管理、分支管理、标签管理、远程操作 功能指令: add,commit,log,branch,tag,remote…

增加强制索引依然慢

版本: 阿里云RDS MySQL 8.0.25 线上数据库CPU达到100%, 定位到如下SQL EXPLAIN SELECT ssd.goods_no,ssd.goods_name,ssd.goods_spec,ssd.goods_unit,ssd.create_time,w.warehouse_name,sb.batch_no,swl.warehouse_region_location_name,sc.customer_name AS goodsOwnerName,s…

数据分析必备:一步步教你如何用Pandas做数据分析(19)

1、Pandas 日期函数 Pandas 日期函数操作实例 扩展时间序列,日期功能在财务数据分析中起着重要作用。使用日期数据时,我们经常会遇到以下情况- 生成日期序列 将日期序列转换为不同的频率 2、创建日期范围 通过指定日期和频率使用date.range()函数&…

Redis高频面试基本问题整理

文章目录 1、Redis底层协议2、Redis的热Key问题如何解决3、Redis是单线程还是多线程4、 什么是脑裂问题?5、redis集群会有写操作丢失吗?6、什么是 Redis 的 Pipeline?它有哪些优点?7、redis主从复制、哨兵机制、集群的理解8、缓存…

ssh远程转发22端口,使用shell工具进行连接|使用服务器地址ssh连接本地ubuntu|端口映射

☆ 问题描述 我在内网主机中,使用docker创建了多个虚拟机,我希望能通过我的公网ip服务器端口进行shell访问 ★ 解决方案 我创建一个新的虚拟机为例 1. 创建并打开容器 docker run -itd --name test ubuntu2. 进入容器 docker exec -it test /bin/b…

Rocky Linux安装与基础配置

目录 背景与起源 主要特点 目标用户 发展前景 下载 安装 常用配置命令: 更换镜像源 Rocky Linux 是一个开源的、由社区驱动的操作系统,旨在使用 Red Hat Enterprise Linux(RHEL)源码构建的下游二进制兼容发行版。以下是关于…

[word] word冻结单元格在哪里 #微信#笔记#职场发展

word冻结单元格在哪里 我们在制作一个Excel表格的时候,如果行数较多,列数也较多时,一旦向下滚屏,则上面的标题行也跟着滚动,在处理数据时往往难以分清各列数据对应于表头的标题,容易搞错位置。 其实&…

全程自动化操作 自动生成图文发布,矩阵批量软件系统 日产1-3万篇

一、简介 图文发布对于现代网站运营至关重要,然而手动创建和发布图文内容效率低下且易出错。全自动化图文生成发布流程可以解决这个问题。本文将详细说明如何以编程方式实现这一流程。 二、模块设计 该流程主要包含三个模块:图像生成,文本生成…