【系统架构师】-第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 X S2中的所有属性

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

探索ChatGPT时代下的下一代信息检索系统:机遇与挑战

1 Introduction 2022 年 11 月 30 日,OpenAI 推出了 ChatGPT,这是一款由先进的 GPT3.5 和更高版本的 GPT-4 生成语言模型提供支持的 AI 聊天机器人应用程序。该应用迅速吸引了全球超亿用户,创下了产品快速传播的新纪录。 它能够以对话的方式…

【Linux系统编程】文件系统

进程与文件 当我们对文件进行操作时,文件必须要被加载到内存中,然后CUP从内存中拿到此文件进行操作,没有打开的文件放在磁盘中存储。 文件的打开其实也是设计到内部某个进程。无论是系统调用,还是专有库中的函数,都是…

软考 网络工程师 每日学习打卡 2024/3/22

学习内容 第9章 网络操作系统与应用服务器 本章主要讲解:了Windows和Linux操作系统的基础知识,并详细讲述了常用的各种服务器的 配置方法。这一章的内容主要是在具体操作方面,网络工程师要能够熟练地配置各种网络服务 器,排除网络…

Linux内核编译与安装

Linux内核介绍 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统。内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制。Linux内核的一大特点就是采用了整体式结构,有很多过程组成,每个过程都可…

hadoop namenode 查看日志里面报错8485无法连接

一、通过日志排查问题: 1、首先我通过jpsall命令查看我的进程,发现namenode都没有开启 2、找到问题后首先进入我的日志目录里查看namenode.log [rootnode01 ~]# /opt/yjx/hadoop-3.3.4/logs/ [rootnode01 ~]# ll [rootnode01 ~]# cat hadoop-root-nam…

手拉手Java爬虫HttpClient

JAVA爬虫 HttpClient HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 使用 HttpClient 的 6 个步骤 1. 创建 HttpClient 的实例 2…

环信新版单群聊UIKit集成指南——Android篇

前言 环信新版UIKit已重磅发布!目前包含单群聊UIKit、聊天室ChatroomUIKit,本文详细讲解Android端单群聊UIKit的集成教程。 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开发的一款即时通讯 UI 组件库,提供各种组件实现会话列表、聊天界…

【国家计算机二级C语言】高分笔记

二叉树 参考 http://t.csdnimg.cn/ozVwT 数据库 SQL程序语言有四种类型,对数据库的基本操作都属于这四类,它们分别为;数据定义语言(DDL)、数据查询语言(DQL)、数据操纵语言(DML)、数据控制语言…

Day17:LeedCode 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和

110. 平衡二叉树 给定一个二叉树,判断它是否是 平衡二叉树 平衡二叉树:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 思路: 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度:指从该节点到叶…

深度探索:在 Postman 中实现自动化测试的全面指南!

在当今的软件开发过程中,API(应用程序编程接口)的使用变得越来越普遍,API 允许不同系统之间进行通信和数据交换,从而实现复杂的功能和服务集成,为了确保 API 的可靠性和稳定性,自动化测试至关重…

如何利用RunnerGo简化性能测试流程

在软件开发过程中,测试是一个重要的环节,需要投入大量时间和精力来确保应用程序或网站的质量和稳定性。但是,随着应用程序变得更加复杂和庞大,传统的测试工具在面对比较繁琐的项目时非常费时费力。这时,一些自动化测试…

量子计算+运营优化!IonQ 和 德国DESY 合作提升机场登机口调度效率

内容来源:量子前哨(ID:Qforepost) 编辑丨慕一 编译/排版丨 沛贤 深度好文:1200字丨8分钟阅读 3月14日,量子计算公司IonQ宣布了与德国电子同步加速器(DESY,德国的大型粒子物理学研…

出现nginx error 问题

报错: Something has triggered an error on your website. This is the default error page for nginx that is distributed with Fedora. It is located /usr/share/nginx/html/50x.html You should customize this error page for your own site or edit the er…

PLC网关在工业自动化领域的作用及如何选择-天拓四方

一、PLC网关在工业自动化领域的重要性和作用 PLC网关在工业自动化领域的重要性和作用不言而喻。作为工业自动化系统的重要组成部分,PLC网关起到了关键的桥梁作用,实现了PLC与其他设备、系统之间的数据传输和通信。 首先,PLC网关的重要性体现…

nodeJs 学习

常用快捷键 二、fs模块 回调函数为空,则表示写入成功! 练习 const fs require(fs); fs.readFile(../files/成绩.txt, utf-8, (err, dataStr) > {if (err) {console.log(读取失败);return err;}console.log(读取成功);const arr dataStr.split( )co…

SpringBoot整合WebService

WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。 其实WebService并不是什么神秘的东西&…

MISC:常见编码

一、字符编码 1.ASCII码 使用指定7位或8位二进制数组合表示128-256种可能。 常⻅考点:解题过程中给出十进制或十六进制的连续数值。 进制转换工具: ASCII text,Hex,Binary,Decimal,Base64 converter (rapidtables.com) 2.Base64编码 ASCII编码以8个比特…

鸿蒙Harmony应用开发—ArkTS(@Prop装饰器:父子单向同步)

Prop装饰的变量可以和父组件建立单向的同步关系。Prop装饰的变量是可变的,但是变化不会同步回其父组件。 说明: 从API version 9开始,该装饰器支持在ArkTS卡片中使用。 概述 Prop装饰的变量和父组件建立单向的同步关系: Prop变量…

马斯克的 Grok-1 开源,3140亿参数目前最大开源模型,最佳实践教程来啦

近几天开源社区最大的热点,莫过于埃隆马斯克信守承诺的最大开源模型Grok-1。 Grok-1 是一款 314B 大型专家混合 (Mixture of Expert,MoE) Transformer,作为基础模型,基于大量文本数据进行训练,没有针对任何具体任务进…

计算机二级Python题目3

题目来源:计算机二级Python半个月抱佛脚大法(内呈上真题版) - 知乎 目录 1. 基础题 1.1 基础题1 1.2 基础题2 1.3 基础题3 2. turtle绘图题 3. 大题 3.1 大题1 3.2 大题2 1. 基础题 1.1 基础题1 a,b,ceval(input()) ls[] for i in …