软考55-上午题-【数据库】-数据库设计步骤1

一、数据库设计的步骤

新奥尔良法,四个主要阶段:

1、用户需求分析:手机用户需求,确定系统边界;

2、概念设计(概念结构设计):是抽象概念模型,较理想的是采用E-R方法。

3、逻辑设计:E-R图——>关系模式,规范化(3NF、BCNF)

4、物理设计:逻辑模式在计算机中的具体实现。

1-1、需求分析阶段

逻辑设计、物理设计均以需求分析的设计为依据。

需求分析阶段的工作以及形成的相关文档,作为概念结构设计阶段的依据。

需求分析阶段的结果文档:

  • 需求说明文档;
  • 数据字典(系统需求说明书)
  • 数据流程图(数据流图)(系统需求说明书)

1-2、概念结构设计

1-2-1、E-R图

1、E-R模型中的基本术语(概念模型、实体-联系模型)

1、实体

矩形表示,客观存在并相互区别的事物,如:单位、职工、部门、项目。

2、联系

菱形表示,实体之间的对应关系。

2-1、两个实体集之间的联系有3种类型:

(1)、1对1的联系(1:1)。如:班和班长之间的联系。

(2)、一对多的联系(1:n)。如:班和学生之间的联系。

(3)、多对多的联系(m:n)。如:课程和学生之间的联系。

示例:

2-2、两个以上实体集之间的联系:

  • 1:1:1;
  • 1:1:n;
  • 1:n:m;
  • r:m:n;

示例:

2-2、同一实体集内的二元联系:

同一实体集内的各个实体之间也存在1:1、1:n、n:m的联系。

示例:

3、属性

椭圆表示,实体的特性,一个实体可以有若干属性。

属性的具体取值:属性值;

属性域:属性值的取值范围,如年龄的取值范围是18~60。

如:学生实体的若干属性(学号、姓名、性别、出生日期、班号)

3-1、属性的分类:

1、简单属性、复合属性

简单属性:原子的、不可再分的;

复合属性:可以细分为别的属性;例如:通信地址属性,可以再分为:邮编、省、市、街道。

2、单值属性、多值属性

单值属性:定义的属性对于特定的实体,只有一个单独的值;如:特定的职工,只对应一个职工号、职工姓名。

多值属性:一个属性对应一组值。如:职工可能有多个亲属,则职工的亲属姓名可能有多个数目。

3、NULL值属性

4、派生属性

从其他属性得来;如:工作年限的值 = 当前时间 - 入职时间,工作年限就是派生属性。

3-2、真题

真题1:

真题2:

2、E-R图实例

3、E-R图中的主要构建

4、弱实体

这种实体对另一些实体具有很强的依赖关系,即,一个实体的存在必须以另一个实体为前提。如:职工与家属,家属总是属于职工。示例:

1-2-2、概念结构设计

用E-R方式建立概念模型:

对需求分析阶段得到的数据进行分类、聚集、概括,确定:实体、属性、联系。

概念结构的具体工作步骤:选择局部应用、逐一设计分析E-R图、E-R图合并。

局部E-R图合并,示例:

合并:

没什么特别的,只是两个E-R图的合并而已。

概念结构设计阶段:

1、选择局部应用;

2、逐一设计分E-R图(局部E-R图)

3、局部E-R图的合并;

合并的过程中要解决分E-R图之间存在的冲突。

1-2-2-1、分E-R图之间的冲突,分类:
1、属性冲突

如:分数属性

学校考试的分数,取值范围:0~100

四级英语考试的分数,取值范围:0~600

2、命名冲突
  • 异名同义
  • 同名异义

示例:

3、结构冲突
  • 同一实体,在不同的分E-R图中有不同的属性;
  • 同一对象,在一个分E-R图中被抽象为实体,,在另一个分E-R图中被抽象为属性。

示例:

1-2-2-2、真题

真题1:

真题2:

教师、职工属于同一个实体。

结构冲突:

同一实体,在不同的分E-R图中有不同的属性;

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

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

相关文章

2024上半年软考中级《软件设计师》报名考试全攻略

​2024年软考软件设计师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩全部在45分以上(含45分&#xff…

备战蓝桥杯Day23-桶排序

桶排序 在计数排序的基础上,如果元素的范围较大(比如在1-1亿之间),如何改造算法? 那么就引出桶排序(Bucket Sort):首先将数据分为不同的桶,再把元素放到相应的桶中&…

http模块学习

http模块 客户端:负责消费资源的电脑 服务器:负责对外提供网络资源的电脑,与普通电脑的区别就在于服务器上 安装了web服务器软件。 http模块是Node.js官方提供用来 创建web服务器的模块,通过http模块提供的http.createServer()方…

FL Studio21.3中文官方汉化版安装包补丁包下载

关于FL Studio 21的教程或视频链接,您可以在各大视频平台或官方网站上寻找。由于我无法直接提供链接,我建议您在搜索引擎中输入“FL Studio 21教程”或“FL Studio 21视频教程”等关键词,就能找到大量的相关教学资源和视频链接。这些教程通常…

SDRPI烧写教程

首先准备好需要烧写的文件,一共有两个 .BIN 和 .elf文件 这里提供测试文件链接:https://pan.baidu.com/s/1P2cjCqOCyJg7hRhbqWue9Q 提取码:49jp 把SDRPI设置为JTAG模式 插上电源和JTAG线,这块板子的电源和UART使用的是同一个接…

pytorch标准化与模型训练推理以及中间层注意点

1.图像归一化和通道转换操作 a np.arange(3*3*3).reshape(3,3,3).astype(np.uint8) print(a) function transforms.ToTensor()#注意只能转换3维度的ndarray或者PIL的Image类型 c function(a) print(c) D:\anaconda3\python.exe E:\test\pythonProject\test.py [[[ 0 1 2…

【李沐论文精读】Resnet精读

论文地址:Deep Residual Learning for Image Recognition 参考:撑起计算机视觉半边天的ResNet【论文精读】、ResNet论文逐段精读【论文精读】、【李沐论文精读系列】 一、导论 深度神经网络的优点:可以加很多层把网络变得特别深,…

使用postman测试若依登录接口API-2

请求方式 由于登录控制器可知:该请求方式为Post请求 请求地址 在请求路径栏输入请求地址,如下图所示: 参数体 在Body键入所需参数,类型选择raw,数据格式选择"JSON":如下图所示: 认证成功与失败…

Linux客户端开发

1 创建socket,返回一个文件描述符cfd---socket(); 2 连接服务端---connect&#xff08;&#xff09;&#xff1b; 3 while&#xff08;1&#xff09; { //发送数据 write //接收数据 read } 4 close(cfd); #include<stdio.h> #include<stdlib.h> #include&…

leetcode 长度最小的子数组

在本题中&#xff0c;我们可以知道&#xff0c;是要求数组中组成和为target的最小子数组的长度。所以&#xff0c;我们肯定可以想到用两层for循环进行遍历&#xff0c;然后枚举所有的结果进行挑选&#xff0c;但这样时间复杂度过高。 我们可以采用滑动窗口&#xff0c;其实就是…

网络编程:TCP机械臂,UDP文件传输

1.TCP机械臂测试 程序代码&#xff1a; 1 #include<myhead.h>2 #define SER_IP "192.168.126.112" //服务器IP3 #define SER_PORT 8888 //服务器端口号4 5 #define CLI_IP "192.168.126.121" //客户端IP6 #define CLI_PORT 9999 //…

C++ 第三方boost库 windows编译

网址 https://levelup.gitconnected.com/the-definite-guide-on-compiling-and-linking-boost-c-libraries-for-visual-studio-projects-c79464d7282d https://www.boost.org/ 安装 下载boost源码包 解压到本地 打开vs命令行 进入当前目录&#xff0c;执行编译&#xff0…