软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计

news2025/6/26 16:10:05

1.数据库的基本概念

1.1数据库的体系结构

1.1.1常见数据库

①集中式数据库

数据是集中的;数据管理是集中的

②C/S结构

客户端负责数据表服务;服务器负责数据库服务;系统分前后端;ODBC、JDBC

③分布式数据库

物理上分布、逻辑上集中;物理上分布、逻辑上分布;透明性

④并行数据库

分为共享内存式和无共享式

1.1.2分布式数据库的特点

数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。 ②集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。 ③适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性。)全局的一致性、可串行性和可恢复性

1.1.3分布式数据库的透明性

分片透明:是指用户不必关心数据是如何分片/分块的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的。

复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。

位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的

局部映像透明性(逻辑透明)∶是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。

1.1.4例题

(1)

答案:D A

解析:白给

(2)

答案:C

解析:白给

知识点补充与回顾:

在分布式数据库中:

①共享性:所有的数据都是共享的

②自治性:每个节点有局部的数据库管理系统管理

③可用性:某个节点故障,而有副本,系统仍可用

④分布性:在物理结构上分布

1.2三级模式结构

1.2.1三级模式概念图

注:①外模式-概念模式映射/映像对应逻辑独立性

逻辑独立性:数据的逻辑结构发生变化后,用户程序也可以不修改,但是为了保证应用程序能够正确执行,需要修改外模式和概念模式之间的映像。

②概念模式-内模式映射对应物理独立性

物理独立性:当数据的物理结构发生改变时,应用程序不用改变。但是为了能够保证应用程序能够正确执行,需要修改概念模式和内模式之间的映像。

1.2.2例题

答案:B

解析:白给题

答案:B

解析:白给

答案:D

解析:白给

1.3数据仓库

1.3.1数据仓库的特点

①面向主题:数据按主题组织

②集成的:消除了源数据中的不一致性,提供整个企业的一致性全局信息

③相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)

④反映历史变化(随着时间变化)︰记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测

1.3.2数据仓库的过程

OLAP和OLTP的区分:

OLAP:数据仓库就是典型的OLAP,其中A是分析的意思,着重于分析

OLTP:常见的数据库就是OLTP,关于联机事务,着重于事务

1.3.3例题

答案:B

解析:

A数据清理

D数据抽取

2.数据库的设计过程

2.1设计过程概念图

注:①数据流图(OFD)

②数据字典(OD)

③聚簇索引属于物理设计

④逻辑设计阶段的关系模式需要考虑关系规范化

2.2例题

答案:B

解析:白给

3.概念设计

3.1概念设计过程

在“合并局部模型消除冲突”中:

(1)集成方法:

①多个局部E-R图一次集成

②逐步集成,用累加的方式一次集成两个局部E-R

(2)集成产生的冲突及解决办法:(针对同一对象)

属性冲突:包括属性域冲突和属性取值冲突

命名冲突:包括同名异义和异名同义

结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同

3.2 E-R图

3.2.1 E-R模型示意图

实体用矩形表示,属性用椭圆表示,联系用方块表示,特殊化的实体用特殊矩形+特殊线段表示

3.2.1 E-R图
3.2.1.1基本概念

①实体:实体是现实世界中可以区别于其他对象的事件或事物。(实体集―实体的集合)

②属性:属性是实体某方面的特性

③联系∶实体的联系分为实体内部的联系和实体与实体间的联系。实体间联系类型:一对一(1 : 1)、一对多(1 : n)、一对多(n : m)

3.2.1.2属性

(1)简单属性和复合属性

①简单属性是原子的,不可再分的

②复合属性可以细分为更小的部分(即划分为别的属性)

复合属性的举例:地址可以拆分出省、市

(2)单值属性和多值属性

①定义的属性对于一个特定的实体都只有单独的一个值,称为单值属性

②在某些特定情况下,一个属性可能对应一组值,称为多值属性

多值属性的举例:一个人有好几个号码

(3)一些特殊的属性

①NULL属性:表示无意义或不知道

②派生属性:可以从其他属性得来

派生属性的举例:年龄可由身份证号推出

3.2.1.3联系

(1)一对一(1 : 1)

一个班就只有一个班长,一个班长只对应一个班

(2)一对多(1 : n)(1 : *)

一个班有很多学员,一个学员只属于一个班级

(3)多对多(n : m)(* : *)

一门课程有多个学员学习,一个学员可以学习多门课程

3.2.1.4三元联系

(1)两个以上不同实体集之间的联系可以存在三元联系

(2)多重度的确定,可根据语义直接转换

以三元关系中的一个实体作为中心,假设另两个实体都只有一个实例:

①若中心实体只有一个实例能与另两个实体的一个实例进行关联,则中心实体的连通数为“—”

P_D:表示一个病房有多个病人和多个医生,一个医生只负责一个病房,一个病人只属于一个病房

②若中心实体有多于一个实例能与另两个实体实例进行关联,则中心实体的连通数为“多”

Supp为供应商,Proj为项目,Part为零件

SP_P:表示供应商为多个项目供应多种零件,每个项目可用多个供应商供应的零件,每种零件可由不同的供应商供应。

3.2.1.5同一个实体集内部的二元联系

3.2.1.6扩充的E-R模型

(1)弱实体:在现实世界中有一种特殊的依赖联系,该联系是指某实体是否存在对于另一些实体具有很强的依赖关系,即一个实体的存在必

须以另一个实体为前提,而将这类实体称为弱实体,如家属与职工的联系,附件与邮件

(2)特殊化:在现实世界中,某些实体一方面具有一些共性,另一方面还具有各自的特性,一个实体集可以按照某些特征区分为几个子实体

(3)聚集:一个联系作为另一个联系的一端

4.逻辑设计

4.1关系模式相关概念

4.1.1数据模型

①层次模型

该图来源于数据库系统概论第五版

②网状模型

该图来源于数据库系统概论第五版

其中S-SC和C-SC为联系名

关系模型

关系名(属性1, 属性2, 属性3, ……, 属性n)

eg:学生(学号, 姓名, ……)

该图来源于数据库系统概论第五版

数据模型三要素:数据结构、数据操作、数据的约束条件

④面向对象模型(了解一下)

以对象为单位来组织的模型

4.1.2关系模型的相关概念

(1)目和度

关系模式中属性的个数

(2)候选码(候选键)

若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码

(3)主码(主键)

若一个关系有多个候选码,则选定其中一个为主码

(4)主属性与非主属性

候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性或非码属性。

(5)外码(外键)

其它关系的主键

(6)全码

关系模式的所有属性组是这个关系的候选码

(7)关系表的三种类型

基本关系表、查询表、视图表,前者为存在于数据库中的实表,后两者为虚表

(8)完整性约束

实体完整性约束(主键唯一且非空)、参照完整性约束(即外键,要么是其它主键,要么是空)、用户自定义完整性约束

注:触发器可以完成复杂完整性的定义

4.2 E-R图转关系模式

4.2.1相关概念

(1)一个实体型必须转换为一个关系模式

(2)联系转关系模式:

①一对一联系的转换有两种方式

独立的关系模式:并入两端主键及联系自身属性。(主键:任一端主键)

归并(任意一端):并入另一端主键及联系自身属性。(主键:保持不变)

②一对多联系的转换有两种方式

独立的关系模式:并入两端主键及联系自身属性。(生键:多端主键)

归并(多端)∶并入另一端主键及联系自身属性。(主键:保持不变)

③多对多联系的转换只有一种方式

独立的关系模式:并入两端主键及联系自身属性。(主键:两端主键的组合键)

4.2.2例题

其中下划线代表主键,波浪线代表外键

(1)1 : 1

E-R图:

关系模式:

①独立关系模式

②归并:

第一种归并:

第二种归并:

(2)1 :n

E-R图:

关系模式:

①独立关系模式:

②归并:

(3)n : m

E-R图:

关系模式:

上一篇:软件设计师学习笔记12-数据库的基本概念+数据库的设计过程+概念设计+逻辑设计

下一篇:软件设计师学习笔记11-磁盘管理+IO管理软件+文件管理+作业管理

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

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

相关文章

Windows-C盘清理

//1.常用软件: Chrome: C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Code Cache\js C:\Program Files\Google\Chrome\Application\ //2.系统缓存 远程桌面缓存 C:\Users\Administrator\AppData\Local\Microsoft\Termin…

2023年电工(初级)证考试题库及电工(初级)试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年电工(初级)证考试题库及电工(初级)试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局&#…

C-Pack: Packaged Resources To Advance General Chinese Embedding

简介 论文提出了一个C-pack资源集合,其中包括三个主要的部分: C-MTEB一个中文综合基准集合,包括6个任务和35个数据集合。C-MTP一个中文embedding数据集合,包括unlabeled和labeled两种数据。C-TEM一个embedding模型家族&#xff0…

C语言水平测试题 过关斩将(1)C语言的那些坑题,你可知道❓

我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位 👍点赞 ⭐收藏 📝评论 我的专栏:C语言基础语法(超详细)_☆光之梦☆的博客-CSDN博客(这…

C# 使用 RSA 加密算法生成证书签名产生“The system cannot find the file specified”异常

使用 C# 中 RSA(System.Security.Cryptography.RSA) 加密算法生成证书签名进行身份验证,在 VS2022 开发工具本地运行应用程序一切正常。 但将应用程序部署到远程服务器(如:Azure App Services)&#xff0c…

自动化测试的执行策略详解

前言 自动化测试的执行策略是指在自动化测试过程中,为了达到测试目标和要求,所采用的测试执行方案和策略。 执行策略涉及到测试用例的执行顺序、方式、环境、频率等方面的决策。 同时,我也准备了一份软件测试视频教程(含接口、…

【技术干货】如何快速创建商用照明 OEM APP?

本文介绍了如何在涂鸦 IoT 平台的 App 工作台上创建一款体验版商照 App、正式版 OEM App、上架 App、以及完成通用配置。 OEM App 开发 创建 App 登录 涂鸦 IoT 平台的 App 页面。 单击 创建APP,选择 商照 APP 进行创建。 在提示框里,完善 App 信息…

SpringBoot 接口 字节数组直接显示为图片

源码: import java.io.ByteArrayOutputStream; import javax.imageio.ImageIO; import org.springframework.web.bind.annotation.RequestMapping;/*** 获取二维码图像* 二维码支付** param price 金额* return 二维码图像* throws IOException IOException*/ Requ…

掌动智能:UI自动化测试工具几点优势

UI自动化测试工具在现代软件开发中扮演着重要的角色,它们能够有效地验证应用程序的用户界面,确保其在不同平台和设备上的正常运行。本文将介绍掌动智能UI自动化测试工具的优势有哪些! 掌动智能UI自动化测试工具优势 1、零成本入门 自然语言编写&#xff…

单目标应用:墨西哥蝾螈优化算法(Mexican Axolotl Optimization,MAO)求解微电网优化--MATLAB代码

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、墨西哥蝾螈优化算法MAO 墨西哥蝾螈优化算法(Mexican Axolotl Optimization,MAO)由Yenny Villuendas-Rey 1等人于2021…

代码随想录算法训练营第23期day20| 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

目录 一、(leetcode 530)二叉搜索树的最小绝对差 二、(leetcode 501)二叉搜索树中的众数 1.二叉搜索树 2.非二叉搜索树 思路 三、(leetcode 236)二叉树的最近公共祖先 一、(leetcode 530&…

v-model 原理

v-model 原理 : 对应的是 v-bind 对应额是 v-on 创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day04\准备代码\10-…

Tomcat和HPPT协议

1.介绍 1.Java EE 规范 JavaEE(java Enterprise Edition):java企业版 JavaEE 规范是很多的java开发技术的总称。这些技术规范都是沿用自J2EE的。一共包括了13个技术规范 2.WEB概述 WEB在计算机领域中代表的是网络 像我们之前所用的WWW&…

JS VUE 用 canvas 给图片加水印

最近写需求,遇到要给图片加水印的需求。 刚开始想的方案是给图片上覆盖一层水印照片,但是这样的话用户直接下载图片水印也会消失。 后来查资料发现用 canvas 就可以给图片加水印,下面是处理过程。 首先我们要确认图片的格式,我们通…

【Java 进阶篇】JavaScript三元运算符详解

JavaScript是一门广泛用于前端和后端开发的编程语言,具备强大的表达式和运算符。本篇博客将重点介绍JavaScript中的三元运算符,解释其语法、用法和示例。如果您是JavaScript初学者,或者希望更深入了解这门语言的运算符,那么这篇博…

mysql面试题44:MySQL数据库cpu飙升的话,要怎么处理?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL数据库cpu飙升的话,要怎么处理呢? 当MySQL数据库的CPU使用率飙升时,可能表示数据库负载过重或存在性能问题。以下是处理MySQL数据库CPU飙…

VSS、VDD、VBAT、VSSA

引言 在学习设计TM32时,发现芯片除了GPIO引脚外还会引出许多引脚,以STM32F407ZGT6为例除了GPIO引脚还会有以下引脚 如VSS、VDD、VBAT、VSSA、NRST、VREF、VDDA、VCAP_1、VCAP_2、PDR_ON这些引脚。他们有何作用,电路设计中应如何连接&#x…

【SCS-CN】SCS-CN模型中CN值的确定

目录 一、说明二、SWAT三、HEC-HMS四、CN值转换公式五、确定CN25.1 ArcSWAT 2009用户指南5.2 SWAT plus Document5.3 National Engineering Handbook5.4 HEC-HMS水文建模系统原理方法应用5.5 Technical Release 55 (TR-55) 六、确定水文土壤单元(HSG)6.1…

dll动态链接库及ocx activex 控件regsvr32注册失败 解决方法(Win10)

一、错误提示说明: 1、regsvr32注册dll或ocx activex控件时提示模块 dll加载失败,请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.dll文件是否有问题”。 检查了.dll文件路径也没有问题,在开发机器上是可以…

“.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“

目录 第一单元:二十一世纪程序执行 背景: 总结: 第二单元:对象导向与类别设计 背景: 总结: 第三单元:使用类别与基底类别库 背景: 总结: 第四单元:Windows开发程序 背景: 总结: 第五单元:防护式程序设计 背景: 总结…