数据库相关知识总结

一、数据库三级模式

        三个抽象层次:

                1. 视图层:最高层次的抽象,描述整个数据库的某个部分的数据

                2. 逻辑层:描述数据库中存储的数据以及这些数据存在的关联

                3. 物理层:最低层次的抽象,描述数据在存储器中时如何存储的

        数据库的三级模式:

                1. 外模式(用户模式、子模式):用户与数据库系统的接口,是用户需要使用的部分数

        据的描述

                2. 概念模式(模式):数据库中全部数据的逻辑结构和特征的描述,反应数据库的结构

        及其联系,是相对稳定

                3. 内模式(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表

        示方式。定义所有的内部记录类型、索引和文件的组织方式以及数据控制方面的细节

二、关系型数据库 

        关系模型是关系型数据的基础

        关系模型组层:关系数据结构、关系操作集合、关系完整性规则

        关系的完整性约束:

                完整性规则保证当授权用户对数据做修改时不会破坏数据的一致性,防止数据的意外破

        坏。分为:

                实体完整性:要求每个表必须有主键,且组建必须唯一且非空

                参照完整性:实体之间的连续描述

                用户定义完整性:由应用环境决定的因素(如年纪必须大于0)

        关系运算:

                并(Union),差(difference),交(Intersection)与数学中的概念类似

                笛卡尔积:R为n目的元数,S的m目的元数,R×S为(n+m)目的元组集合

                投影(Projection):垂直方向上(列)的运算

                选择(Selection):水平方向上(行)的运算

                连接(Join):

                        θ连接:笛卡尔积中选取属性满足一定条件的元组

                        等值链接:θ为“=”时

                        自然连接:两个关系中进行比较的分量必须是相同的属性组,别再结果中去掉重复

                                            的

                除:同时进行水平和垂直方向上的运算。给丁关系R(X,Y)和S(Y,Z)。则R➗S应当

                        满足元组在X的分量值x包含在S在属性组Y上投影的集合。

                外连接:

                        左外连接:用左侧原则去匹配右侧原则,空值用null填充

                        右外连接:用右侧原则去匹配左侧原则,空值用null填充

                        全外连接:先进行左外连接,再进行右外连接

        规范化(数据库范式)

                第一范式(1NF)

                        若关系模式R的每个分量都是不可再分的数据项,则R属于第一范式

                        1NF存在的问题:1. 数据冗余度大;2. 插入一场;3.修改一场;4. 删除异常

                第二范式(2NF)

                        若关系模式R属于1NF,且每个非主属性完全依赖于码,则关系模式属于第二范

                式,即1NF消除了非主属性对码的部分函数依赖。(每个非主属性必须用所有的码才能

                推导出,而不是部分码就可以推导出)

                第三范式(3NF)

                        当2NF的前提下,消除了非主属性对码的传递函数依赖(非主属性不能通过其他非

                主属性推导得出)

                BCNF(巴克斯范式)

                        当3NF消除了主属性对码的部分函数依赖和传递函数依赖,(第三范式下,消除主

                键之间的依赖关系)特性如下:

                ​​​​​​​        1. 所有非主属性对每一个码都是完全函数依赖;

                        2. 所有非主属性对每一个不包含它的码,也是完全函数依赖

                        3. 没有任务属性完全函数依赖于非码的任何一组属性

                第四范式(4NF)

                        限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖

三、数据库设计

        数据需求分析阶段:

                数据需求分析是用户和设计人员对数据库应用系统所设计的内容和功能的整理和描述

        是以用户的角度来认识系统。任务是综合各个用户的应用需求,对现实世界要处理的对象进

        行详细调查,了解先行系统的概况,确定新系统功能的过程中,收集支持系统目标的基础数

        据和处理方法。

                需求分析的重点是调查组织结构情况、调查各部门的业务活动情况、协助用户明确对新

        系统的各种要求、确定新系统的边界,以此获得如下要求:

                1. 信息要求:用户需要在系统中保存哪些信息,以及信息的完整性要求

                2. 处理要求:用户在系统中要实现什么样的操作,对保存的信息的处理过程和方式

                3. 系统要求:安全性、使用方式和可扩充性要求。

                需求分析阶段的产物:数据流图、数据字典、需求说明书     

        概念结构设计阶段: 

                 概念结构设计的目的是产生反映系统信息需求的数据库概念结构,集概念模式。概念

         结构是独立于支持数据库的DBMS和使用的硬件环境。 

                概念结构设计的产物:E-R图                            

                ER图的合并方式:1. 多个局部ER图一次集成;2. 逐步集成(每次集成2个) 

                集成产生的冲突和解决方法:

                        1. 属性冲突同一属性在不同ER图中,属性的类型、取值范围、单位等不一致

                        2. 命名冲突同名异意异名同义

                        3. 结构冲突同一实体在不同的ER图中的属性不同

                ER图的优化:

                          1. 实体类型的合并(一对一和一对多的情况);

                        2. 冗余属性的消除;

                        3. 冗余关系的消除

        逻辑结构设计阶段:

                逻辑结构设计在概念结构的基础上进行,可以是层次模型、网状模型和关系模型。主要

        工作包括:确定数据模型、将ER图转化为数据模型、确定完整性约束和确定用户视图。

                Armstrong公理: 

                        自反律:若属性集Y 包含于属性集X,属性集X 包含于U,则X→Y 在R 上成立

                        增广律:若X→Y 在R 上成立,且属性集Z 包含于属性集U,则XZ→YZ 在R 上成                                                        

                                        立。

                        传递律:若X→Y 和 Y→Z在R 上成立,则X →Z 在R 上成立。

                Armstrong推广规则: 

                        合并规则:若X→Y,X→Z同时在R上成立,则X→YZ在R上也成立。

                        分解规则:若X→W在R上成立,且属性集Z包含于W,则X→Z在R上也成立。

                        伪传递规则:若X→Y在R上成立,且WY→Z,则XW→Z。         

        物理结构设计阶段

                物理结构设计的抓哦工作步骤包括:

                        确定数据分布:根据不同应用分布数据;根据处理要求确定数据的分布;对数据的

                分布存储必然会导致数据的逻辑结构的变化。

                        存储结构:数据文件中记录之间的物理结构(索引)

                        访问结构:数据的访问方式是有其存储结构决定的

        数据库实施阶段

                建立实际的数据库结构;数据加载;数据库试运行和评价

        数据库维护阶段

                对数据库性能的检测和改善

                数据库的备份以及故障恢复

                数据库重组和重构

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

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

相关文章

962: 括号匹配问题

【学习版】 【C语言】 【C】 #include<iostream>class MyStack { public:struct Node {char val;Node* prev;Node* next;Node(char x) :val(x), prev(NULL),next(NULL) {};};MyStack() {base new Node(0);top base;}bool empty() {return top base;}void push(int …

Java快速入门系列-4(面向对象编程)

第四章&#xff1a;面向对象编程 4.1 类与对象4.1.1 类的概念4.1.2 对象的实例化与使用4.1.3 访问修饰符与封装 4.2 继承、封装与多态4.2.1 继承4.2.2 封装4.2.3 多态 4.3 抽象类与接口4.3.1 抽象类4.3.2 接口 4.4 包与访问控制 4.1 类与对象 4.1.1 类的概念 在Java中&#x…

【java探索之旅】逻辑控制掌握 顺序结构 分支语句

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Java编程秘籍 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一、逻辑控制的概念二、顺序结构三、分支结构3.1 if语句3.2 if习题巩固3.3 细节注意项…

excel散点图怎么每个点添加名称

最终效果图&#xff1a; 添加图标元素->数据标签->其他数据标签选项 选择单元格中的值 手动拖动数据标签&#xff0c;调整到合适的位置。

基于Vue3 中后台管理系统框架

基于Vue3 中后台管理系统框架 文章目录 基于Vue3 中后台管理系统框架一、特点二、源码下载地址 一款开箱即用的 Vue 中后台管理系统框架&#xff0c;支持多款 UI 组件库&#xff0c;兼容PC、移动端。vue-admin, vue-element-admin, vue后台, 后台系统, 后台框架, 管理后台, 管理…

Vue3组件基础示例

组件是vue中最推崇的&#xff0c;也是最强大的功能之一&#xff0c;就是为了提高重用性&#xff0c;减少重复性的开发。 如何使用原生HTML方法实现组件化 在使用原生HTML开发时&#xff0c;我们也会遇到一些常见的功能、模块&#xff0c;那么如何在原生HTML中使用组件化呢&am…

线上研讨会 | 新一代数字化技术赋能机器人及智能产线行业高质量发展

随着智能制造的快速推进&#xff0c;制造业转型升级到了关键阶段。越来越多的企业以数字化技术搭配智能机器人及智慧产线&#xff0c;主动实现数字化转型。达索系统3D体验平台是实现企业数字化转型的新一代数智化平台&#xff0c;基于型、数字驱动、数字化连续技术&#xff0c;…

HarmonyOS实战开发-存储空间统计(仅对系统应用开放)

介绍 本示例通过应用程序包管理、应用空间统计与卷管理模块&#xff0c;实现了查看当前设备存储空间信息、所有安装的应用的存储信息、所有可用卷的存储信息的功能。 效果预览 使用说明&#xff1a; 1.主页面会展示当前设备存储使用的详细信息。 2.点击“应用”&#xff0c;…

HarmonyOS 应用开发-页面间共享组件实例的案例

介绍 本示例提供组件实例在页面间共享的解决方案&#xff1a;通过Stack容器&#xff0c;下层放地图组件&#xff0c;上层放Navigation组件来管理页面&#xff0c;页面可以共享下层的地图组件&#xff0c;页面中需要显示地图的区域设置为透明&#xff0c;并参考触摸交互控制&am…

ST表的解释

介绍 ST表&#xff1a;一种用于高效处理区间查询的数据结构。它可以在O(1)的时间复杂度内回答某一区间的最值查询&#xff08;最小值、最大值等&#xff09;。ST表使用动态规划的思想&#xff0c;通过预处理的方式来快速计算出各个区间的最值。 st算法的主要思想就是将所求的…

CTK插件框架学习-服务工厂(06)

CTK插件框架学习-信号槽(05)https://mp.csdn.net/mp_blog/creation/editor/137240105 一、服务工厂定义 注册插件时使用服务工厂注册&#xff0c;使用getService根据调用者插件资源文件内容获取在服务工厂内的对应实现在服务工厂中可以知道是哪个插件正在调用服务工厂懒汉模式…

Jenkins安装了locale汉化插件后出现部分翻译,部分没翻译的情况

1. Default Language中设定“zh_CN”简体中文&#xff0c;"zh_TW"繁体中文。2. 插件“Locale plugin”和“Localization: Chinese (Simplified)”不安装不好使。3. “Ignore browser preference and force this language to all users”必须选上。4. 简体中文设定后&…