【系统架构师】-第6章-数据库设计基础知识

1、三级模式-两级映像

外模式:视图、用户与数据库的接口

概念模式:

内模式:存储方式,索引创建等

1)外模式-模式映射:

视图与表的映射,表数据发生修改,只需要修改映射,不需要修改外模式。

逻辑独立性

2)模式-内模式映射:物理独立性

2、数据库设计

1、基本步骤

1)需求分析

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

自顶向下的结构化分析SA

用户对系统要求:

1、信息要求:保存哪些信息

2、处理要求:RT、处理的安全性、完整性、处理的频率

3、系统要求:安全、释放凡是、可扩充性

2)概念结构设计

过程:选择局部应用、逐一设计分E-R图、E-R图合并

属性冲突:同一属性可能会存在于不同的分E-R 图中。

命名冲突:相同意义的属性,在不同的分E-R 图上有着不同的命名或是名称相同的属性在不同的分E-R 图中代表着不同的意义。

结构冲突:同一实体在不同的分E-R 图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R 图中又被抽象为属性

3)逻辑结构设计

E-R图转关系模式

过程:确定数据模型、将E-R图转成指定的数据模型、确定完整性约束、确定用户视图

完整性:实体完整性(主键)、参照完整性(外键)、用户自定义完整性(触发器)

存储过程:提供第三方开发人员调用进行数据更新

4)物理结构设计

包括确定数据分布、存储结构和访问方式

5)数据库实施

设计实际的数据库和表

6)数据库运行和维护

1、数据备份

全量、增量(上一次[3个]备份之后的新增数据)、差量(上一次全量备份之后的新增数据)


3、数据模型

分类

1)关系模型

二维表的形式表示的实体-联系模型

2)概念模型

从用户角度建模,真正的实体-联系模型

3)网状模型

实体类型及其实体之间的联系,一个事物和另外几个都有联系

4)面向对象模型 

面向对象的方法设计数据库,以对象为单位,每个对象包括属性和方法,具有类和继承等特点

三要素

数据结构:所研究的对象类型的集合

数据操作:对数据库中各种对象的实例允许执行的操作的集合

数据约束条件:一组完整性规则的集合

3、E-R模型

用E-R图来描述概念数据模型,

圆表示属性 (一般没有)、长方形表示实体、菱形表示联系、联系的两端要填写联系类型

1、实体:客观存在并可相互区别的事物

弱实体和强实体:弱实体依赖于强实体的存在而存在

其中员工是强实体、经理/业务员/部门经理 是弱实体

在学生管理系统中,家长就是学生的弱实体

2、属性:实体所具有的特性

简单属性、复合属性(家庭地址)、单值多值属性、NULL属性、

派生属性(由出生年月推算出年龄)

3、联系:实体内部的联系和实体之间的联系

联系类型:1对1、1对多、多对多

E-R模型转关系模型

每个强实体都对应一个关系模式

1:1联系中,联系可以放到任意的两端实体中,作为一个属性

1:N的联系中,联系可以单独作为一个关系模式,也可以在N端中加入1端实体的主键;

M:N的联系中,联系必须作为一个单独的关系模式,其主键是M和N端的联合主健

4、函数依赖

1)部分函数依赖:A可确定C,(A,B)也可确定C,(A,B)中的一部分(即A)可以确定

2)传递函数依赖

候选键:可唯一确定表中的属性,可以多个,可以联合
主键:任选一个候选键,即可作为主键。
外键:其他表中的主键。
主属性:候选键内的属性为主属性,其他属性为非主属性。

Armstrong公理系统

自反

分解

5、三范式

1NF:满足关系中的每一个属性不可拆分

2NF:无部分函数依赖,表中的每一个非主属性不会依赖复合主键中的某一个列

3NF:无传递函数依赖,表中不存在非主属性对码的传递依赖

6、关系代数

表与表的运算,行与列

1、笛卡尔积:S1*S2中的所有属性

2、投影: 选择列 、数字表示(1开始)符号:π

3、选择: 选择行 ,符号:σ

4、自然连接:不包含同名属性列

5、

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

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

相关文章

面试算法-62-盛最多水的容器

题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。…

第十二届蓝桥杯省赛CC++ 研究生组-砝码称重

solution1&#xff08;通过10%&#xff09; 写了几种可能的组合方式&#xff0c;骗到一丢丢分数 #include<iostream> #include<algorithm> #include<map> using namespace std; int main(){int n, a[110], count 0, sum[110] {0};map<int, int> mp…

信创产品测评的范围是哪些?

信创&#xff0c;即信息技术应用创新。过去很多年间&#xff0c;国内 IT 底层标准、架构、生态等大多数都由国外 IT 巨头制定的&#xff0c;由此存在诸多安全风险。因此&#xff0c;我们要逐步建立基于自己的 IT 底层架构和标准&#xff0c;形成自有开放生态&#xff0c;而这也…

第六节:使用SMB开发WebService

一、概述 webservice在日常开发中是常用的接口形式&#xff0c;SMB在设计之初就将webservice作为重要的代理协议。在组件库中提供了webservice input和webservice output两个组件&#xff0c;分别用于发布接口和调用接口。 二、发布webservice 在csdnProject工程中创建名为c…

rust引用本地crate

我们可以动态引用crate&#xff0c;build时从crate.io下载&#xff0c;但可能因无法下载导致build失败。首次正常引用三方crate&#xff0c;build时自动下载的crate源码&#xff0c;我们将其拷贝到固定目录中&#xff1b; build后可在RustRover中按住Ctrl键&#xff0c;在crat…

Qt学习--界面知识点大杂烩

在开发过程中&#xff0c;通常需要打开或者保存上位机数据到本地&#xff0c;这时候就需要用到

【Web】记录[长城杯 2022 高校组]b4bycoffee题目复现

目录 前言 环境准备 简单分析 EXP(两种打法) 生成Payload 恶意类 ①Spring命令执行回显类 ②Filter型内存马 前言 本地jar包运行打通了&#xff0c;远程500&#xff0c;nss靶机有问题&#xff0c;换了bugku就可( 主要记录下做题过程&#xff0c;纯菜狗&#xff0c;小…

jupyter切换默认打开路径

首先打开anaconda输入 : conda activate然后输入 : jupyter notebook 然后可以找到一个路径 : 然后找到相应根目录夹 : 找到标出来的文件; 如果找不到的话 &#xff0c; 输入 : jupyter notebook --generate-config 然后目录下就会出现该文件 ; 然后打开它&#xff0…

Linux 文件系统:重定向、缓冲区

目录 一、重定向 1、输出重定向 2、输入重定向 3、追加重定向 4、dup2 系统调用 二、理性理解Linux系统下“一切皆文件” 了解硬件接口 三、缓冲区 1、为什么要有缓冲区? 2、刷新策略 3、缓冲模式改变导致发生写时拷贝 未创建子进程时 创建子进程时 使用fflush…

【Linux】多线程编程基础

&#x1f4bb;文章目录 &#x1f4c4;前言&#x1f33a;linux线程基础线程的概念线程的优缺点线程与进程的区别 线程的创建 &#x1f33b;linux线程冲突概念互斥锁函数介绍加锁的缺点 &#x1f4d3;总结 &#x1f4c4;前言 无论你是否为程序员&#xff0c;相信多线程这个词汇应…

定时在windows上执行python脚本

现在&#xff0c;有两种方法来执行Python脚本。 第一种方法要写批处理Bat文件&#xff0c;另一种则不需要。 如果您不想写批处理文件&#xff0c; 定时在windows上执行python脚本的步骤如下&#xff1a; 1. 搜索任务计划程序(Task Scheduler) 2. 在右侧“action”窗格下&…

Redis监控工具

Redis 是一种 NoSQL 数据库系统&#xff0c;以其速度、性能和灵活的数据结构而闻名。Redis 在许多领域都表现出色&#xff0c;包括缓存、会话管理、游戏、排行榜、实时分析、地理空间、叫车、聊天/消息、媒体流和发布/订阅应用程序。Redis 数据集完全存储在内存中&#xff0c;这…

QT_day2:页面设计使用ui

1、自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面。&#xff08;不要使用课堂上的图片和代码&#xff0c;自己发挥&#xff0c;有利于后面项目的完成&#xff09; 要求&#xff1a; 1. 需要使用Ui界面文件进行界面设计 2. ui界面上的组件相关设置&#xff0c…

Python学习:元组

Python 元组概念 Python 中的元组&#xff08;tuple&#xff09;是不可变的有序集合。它是一种数据类型&#xff0c;类似于列表&#xff08;list&#xff09;&#xff0c;但在创建后不能被修改。元组使用圆括号 () 来表示&#xff0c;其中的元素可以是任意类型&#xff0c;并且…

家电工厂5G智能制造数字孪生可视化平台,推进家电工业数字化转型

家电5G智能制造工厂数字孪生可视化平台&#xff0c;推进家电工业数字化转型。随着科技的飞速发展&#xff0c;家电行业正迎来一场前所未有的数字化转型。在这场制造业数字化转型中&#xff0c;家电5G智能制造工厂数字孪生可视化平台扮演着至关重要的角色。本文将从数字孪生技术…

基于SSM的校园失物招领系统设计与实现+数据库+免费远程调试

项目介绍: 基于SSM的校园失物招领系统设计与实现。Javaee项目&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringMvc Mybatis JspVuelayuiElementui来实现。MySQL数…

前端框架推荐 Arco Design

Arco Design - 企业级产品的完整设计和开发解决方案 预览地址&#xff1a;Arco Design Pro - 开箱即用的中台前端/设计解决方案 一 开发 有vue3、React版本。 文档地址&#xff1a;Arco Design - 企业级产品的完整设计和开发解决方案 还配有对应脚手架&#xff1a;GitHub -…

YOLOv3学习

YOLOv3仅使用卷积层&#xff0c;使其成为一个全卷积网络&#xff08;FCN&#xff09;。文章中&#xff0c;作者提出一个新的特征提取网络&#xff0c;Darknet-53。正如其名&#xff0c;它包含53个卷积层&#xff0c;每个后面跟随着batch normalization层和leaky ReLU层。没有池…

软件工程-第6章 面向对象方法UML

UML是一种图形化语言&#xff0c;简称画图。 6.1 表达客观事物的术语 6.2 表达关系的术语 1.关联 表达关联语义相关术语&#xff1a;关联名、导航、角色、可见性、多重性、限定符、聚合、组合。 2.泛化 3.细化 6.3 组织信息的一种通用机制-包 6.4 模型表达工具 一个用况图包含6…

对通信安全IEC 61784-3 的理解

IEC 61784-3是国际电工委员会&#xff08;IEC&#xff09;发布的关于工业通信网络和系统的标准之一&#xff0c;它规定了工业通信网络和系统中使用的数据传输协议和通信规范。IEC 61784-3主要涉及工业自动化领域中的实时以太网通信&#xff0c;包括数据传输速率、数据传输方式、…