系统架构设计师-数据库系统(1)

2023-09-14 17:17:34

目录

一、数据库模式

        1、集中式数据库

        2、分布式数据库

二、数据库设计过程

        1、E-R模型

        2、概念结构设计

        3、逻辑结构设计

三、关系代数

        1、并交差

        2、投影和选择

        3、笛卡尔积

        4、自然连接


一、数据库模式

        1、集中式数据库

                三级模式:

                (1)外模式:用户模式-视图级

                (2)概念模式:模式-表级

                (3)内模式:存储模式-文件级

                两级映射:

                (1)外模式-概念模式映射:提高数据逻辑独立性

                (2)概念模式-内模式映射:提供数据物理独立性

        2、分布式数据库

                (1)数据独立性:除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。

                (2)集中与自治共享结合的控制结构:各局部的DBMS可以独立地管理局部数据库,具有自治功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。

                (3)适当增加数据冗余度:在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。(提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性)。

                (4)全局的一致性、可串行性和可恢复性:可串行性指的是并行结果与某个串行序列结果一致。

                【分布透明性

                (1)分片透明性:分不分片,用户感受不到(不关心用户如何分布存储)。

                                分片模式分:

                                        · 水平分片:按记录

                                        · 垂直分片:按字段

                                        · 混合分片

                (2)位置透明性:数据存放在哪里,用户不用管(用户无需知道数据存放的物理位置)。

                (3)复制透明:不关心节点的复制情况。

                (4)局部数据模型透明性(逻辑透明):用户或应用程序无需知道局部场地使用的哪种数据模型。

                【两阶段提交协议2PC

                (1)2PC事物提交两个阶段

                        表决阶段,目的是形成一个共同决定

                        执行阶段,目的是实现这个协调者的决定

                (2)两条全局提交规则

                        只要有一个参与者撤销事务,协调者就必须做出全局撤销决定

                        只要所有参与者都同意提交事务,协调者才能作出全局提交决定

二、数据库设计过程

        【设计过程四步骤

        (1)需求分析

                        产出数据流图、数据字典和需求说明书

        (2)概念结构设计

                        产出E-R图

        (3)逻辑结构设计

                        产出关系模式,也就是二维表

        (4)物理设计

        1、E-R模型

        2、概念结构设计

                【集成的方法

                (1)多个局部E-R图一次集成。

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

                【集成产生的冲突及解决办法

                (1)属性冲突:包括属性域冲突和属性取值冲突。(同一对象

                (2)命名冲突:包括同名异义和异名同义。(同一对象

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

        3、逻辑结构设计

                【实体完整性约束】主键,唯一且非空。

                【参照完整性约束】外键,可以为空,否则就是其他的主键为外键。

                【用户自定义完整性约束】

                【触发器】对某个变化的数据,可以是表、字段等建立监听,一旦数据发生变化,做相应操作,可以做数据同步。可以解决复杂的数据一致性问题,安全性不是很强。

                【简单属性】不可再分的属性

                【复合属性】可再分的属性

                【派生属性】例:可以通过身份证号推导出具体年龄,那年龄就是身份证号的派生属性

三、关系代数

        1、并交差

        2、投影和选择

        3、笛卡尔积

                属性列数是二者只和,元组行数是二者乘积。

        4、自然连接

                 答案:A

更多推荐

Java环境搭建&安装IDE

Java环境搭建、安装IDE文章目录Java环境搭建、安装IDE1.下载JavaJDK,配置环境变量,在命令行环境下完成helloworld程序;简介安装Step0安装包准备工作Step1下载JavaJDKStep2配置环境变量配置JAVA_HOME配置Path配置CLASSPATHStep4检验运行程序2.选择一款自

C++之浅拷贝、深拷贝、拷贝构造函数、拷贝赋值运算符、自定义的深拷贝函数应用总结(二百二十九)

简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀人生格言:人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.更多原创,欢迎关注:Android系统攻城狮1.前言本篇目的:理解C+

数据库锁及批量更新死锁处理

数据库锁锁间隙锁锁定的是一个间隙范围,而不会锁住某条记录。共享锁就是读锁,独占锁就是写锁,可以理解为读写锁,读读不互斥,读写互斥,写写互斥,共享锁(S锁)、独占锁(X锁)指的就是InnoDB上的行锁(记录锁)。意向锁是InnoDB引擎的一种特殊的表锁,在获取共享锁和独占锁之前必须拿到对应类型的意向锁。乐观锁和悲观锁更多

如何处理ChatGPT在文本生成中的语法错误和不合理性?

ChatGPT是一种强大的自然语言处理模型,但它并不是完美的,有时会产生语法错误或不合理的文本。这些问题可能会影响模型生成的内容的质量和可信度。在处理ChatGPT中的语法错误和不合理性时,有许多方法和策略可以采用,以下是一些详细的讨论:**1.数据清洗和预处理:**首先,可以通过对输入数据进行清洗和预处理来减少语法错

Ninja: Towards Transparent Tracing and Debugging on ARM【TEE的应用】

目录摘要引言贡献背景TrustZone和受信任的固件PMU和ETM相关工作x86上的透明恶意软件分析ARM上的动态分析工具基于仿真的系统硬件虚拟化裸机系统Trustzone相关的系统系统架构具体实现和评估可以看论文,这里不赘述了讨论总结作者:ZhenyuNingandFengweiZhang发布:USENIX时间:20

Hadoop NameNode执行命令工作流程

HadoopNameNode执行命令工作流程客户端API或者CLI与NameNode的交互命令数据的格式(1)预处理流程(2)创建NameNode与NameNodePrcServer流程(3)HDFSAPI以及CLI的命令到NameNode的工作执行流程(4)执行命令的参数流动客户端API或者CLI与NameNode的

使用LDA(线性判别公式)进行iris鸢尾花的分类

线性判别分析((LinearDiscriminantAnalysis,简称LDA)是一种经典的线性学习方法,在二分类问题上因为最早由[Fisher,1936]提出,亦称”Fisher判别分析“。并且LDA也是一种监督学习的降维技术,也就是说它的数据集的每个样本都有类别输出。这点与主成分和因子分析不同,因为它们是不考虑样

9、DVWA——XSS(Stored)

文章目录一、存储型XSS概述二、low2.1源码分析2.2通关分析三、medium3.1源码分析3.2通关思路四、high4.1源码分析4.2通关思路一、存储型XSS概述XSS,全称CrossSiteScripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面

分布式系统中的选举,日志副本,安全等设计思想

链接:https://pan.baidu.com/s/1G9295khav7_k3dD9G0f_Kw?pwd=q216提取码:q216领导选举领导选举(Leaderelection)是在分布式系统中选择一个节点作为领导者或协调者的过程。分布式系统通常由多个节点组成,每个节点都可以执行特定的任务。然而,为了使系统有序运行

HCIE-容器docker

1、安装配置操作系统,使用CentOSstream8镜像之前:RHEL8.4发布了,CentOS紧随其后,发布CentOS8.4之后:CentOS走在前面,成为RHEL上游,再去发布RHEL制作模板,模板配置要求,cpu至少2个,内存建议4G,硬盘100G,网卡使用NAT模式。1.编辑网卡[root@tempnetwo

Java|List.subList 踩坑小记

很久以前在使用Java的List.subList方法时踩过一个坑,当时记了一条待办,要写一写这事,今天完成它。我们先来看一段代码://初始化list为{1,2,3,4,5}List<Integer>list=newArrayList<>();for(inti=1;i<=5;i++){list.add(i);}//取前3

热文推荐