数据库相关知识总结

一、数据库三级模式

        三个抽象层次:

                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)

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

                                      

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

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

相关文章

五一假期来临,各地景区云旅游、慢直播方案设计与平台搭建

一、行业背景 经文化和旅游部数据中心测算,今年清明节假期3天全国国内旅游出游1.19亿人次,按可比口径较2019年同期增长11.5%;国内游客出游花费539.5亿元,较2019年同期增长12.7%。踏青赏花和户外徒步成为假期的热门出游主题。随着…

Taro打包生成不同目录

使用taro init创建taro项目时,taro默认打包目录是: /config/index.js outputRoot:dist默认的目录,编译不同平台代码时就会覆盖掉,为了达到多端同步调试的目的,这时需要修改默认生成目录了,通过查看官方文…

【LeetCode】排序数组——不一样的方式实现快排

目录 题目链接 颜色分类 算法原理 代码实现 排序数组 算法原理 代码实现 最小的k个数 算法原理 代码实现 题目链接 LeetCode链接:75. 颜色分类 - 力扣(LeetCode) LeetCode链接:912. 排序数组 - 力扣(L…

docker 部署 Epusdt - 独角数卡 dujiaoka 的 usdt 支付插件

部署 部署说明 部署之前必须注意的几点事项,该教程不一定适合所有用户: 本教程主要是使用 docker 部署,宝塔用户或宿主机直接安装的用户请直接参考官网教程.本教程是独立部署 epusdt,使用独立的mysql和redis,与dujiaoka项目分开. 在研究的过程中发现 epusdt 也需要用到 mys…

CADP加密系统的可扩展性和可定制性

CADP加密系统是一种专门用于保护CAD(计算机辅助设计)文件安全的加密解决方案。随着CAD技术在各个领域的广泛应用,CAD文件的安全性和保密性日益受到重视。CADP加密系统通过一系列先进的加密技术和安全措施,为CAD文件提供全面的保护,防止未经授…

ES入门十五:分页的三驾马车【from+size、search after、scroll api】

从数据集中获取数据时分页是绕不开的操作,一下子从数据集中获取过多的数据可能会造成系统抖动、占用带宽等问题。特别是进行全文搜索时,用户只关心相关性最高的那个几个结果,从系统中拉取过多的数据等于浪费资源。 ES提供了3种分页方式&…

Java | Leetcode Java题解之第15题三数之和

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> threeSum(int[] nums) {int n nums.length;Arrays.sort(nums);List<List<Integer>> ans new ArrayList<List<Integer>>();// 枚举 afor (int first 0;…

springboot整合ShardingSphere分库分表并插入1kw条记录

目录 一&#xff0c;数据分片 二&#xff0c;水平分片 三&#xff0c;创建数据库表 四&#xff0c;springboot项目导入依赖 五&#xff0c;创建类 六&#xff0c;bug bug放到最后了。 一&#xff0c;数据分片 数据分片指按照某个维度将存放在单一数据库中的数据分散地存…

每天学习一个Linux命令之curl

每天学习一个Linux命令之curl 在Linux系统中&#xff0c;有很多有用的命令可以帮助我们与网络进行交互。一个非常常用的命令是curl&#xff0c;它是一个功能强大的工具&#xff0c;可用于发送、接收和处理各种网络请求。本文将详细介绍在Linux下使用curl命令的各种选项及其用法…

如何理解图像处理领域的病态问题(ill-posed problem)

ill-posed problem&#xff0c;我们可以理解为病态问题或者不适定问题。在本文中&#xff0c;统一成为不适定问题。 在讨论不适定问题&#xff08;ill-posed problem&#xff09;之前&#xff0c;我们先来看一下什么叫适定性问题&#xff08;well-posed problem&#xff09;。…

如何明确的选择IT方向?

一、明确目标 作为初学者&#xff0c;先树立自己目标&#xff0c;找到自己感兴趣的IT行业&#xff0c;IT行业分很多种&#xff0c;听的最多次的无非不就是web前端工、程序员、后端、大数据、网络运维等。学习知识也是为了找到更好的工作&#xff0c;所以我建议先去boss直聘、五…

目标检测标签分配策略,难样本挖掘策略

在目标检测任务中&#xff0c;样本的划分对于模型的性能具有至关重要的影响。其中&#xff0c;正样本指的是包含目标物体的图像或区域&#xff0c;而负样本则是不包含目标物体的图像或区域。然而&#xff0c;在负样本中&#xff0c;有一部分样本由于其与正样本在特征上的相似性…

jest单元测试——项目实战

jest单元测试——项目实战 一、纯函数测试二、组件测试三、接口测试四、React Hook测试&#x1f4a5; 其他的疑难杂症另&#xff1a;好用的方法 &#x1f31f; 温故而知新&#xff1a;单元测试工具——JEST 包括&#xff1a;什么是单元测试、jest的基本配置、快照测试、mock函数…

「39」打造专业流畅的直播特效转场……

「39」工作室模式 打造专业流畅的直播特效转场体验 工作室模式是OBS软件里的一个特殊功能,用于后期直播过程中追求直播效果的用户,才会使用此功能。 该功能意在更加平滑,使用模板信息变化的过渡效果。主要用在赛事比分、活动抽奖、直播时需要经常更改的场景和内容,以及片…

Android 11属性系统初始化流程

在init进程启动的第二阶段&#xff0c;调用PropertyInit 对属性系统进行初始化 int SecondStageMain(int argc, char** argv) {//省略PropertyInit();//省略 }PropertyInit函数在system\core\init\property_service.cpp 中实现 void PropertyInit() {//省略mkdir("/dev/…

智能网联汽车自动驾驶数据记录系统DSSAD数据元素

目录 第一章 数据元素分级 第二章 数据元素分类 第三章 数据元素基本信息表 表1 车辆及自动驾驶数据记录系统基本信息 表2 车辆状态及动态信息 表3 自动驾驶系统运行信息 表4 行车环境信息 表5 驾驶员操作及状态信息 第一章 数据元素分级 自动驾驶数据记录系统记录的数…

【GameFi】 链游 | Brilliantcrypto点火活动

活动&#xff1a;https://app.galxe.com/quest/brilliantcrypto/GCt8wthq2J Brilliantcrypto点火活动正在Galxe上进行 &#x1f389; 活动时间&#xff1a;2024/04/06 12:00 ~ 2024/05/04 12:00 奖励总价值1200美元的MATIC 完成任务並在Brilliantcrypto Galxe Space上赚取积分。…

【数据结构与算法】:快速排序和冒泡排序

一&#xff0c;快速排序 快速排序是一种比较复杂的排序算法&#xff0c;它总共有4种实现方式&#xff0c;分别是挖坑法&#xff0c;左右"指针"法&#xff0c;前后"指针"法&#xff0c;以及非递归的快速排序&#xff0c;并且这些算法中也会涉及多种优化措施…

zdpdjango_materialadmin使用Django开发一个Material风格的后台管理系统

启动项目 同样地&#xff0c;还是先看看代码&#xff1a; 将项目启动起来&#xff1a; 浏览器访问&#xff1a;http://localhost:8000/ 代码初步优化 首先是将admin_materal提到本地来&#xff1a; 移除掉第三方依赖&#xff1a; pip uninstall django-admin-materi…

移动平台相关(安卓)

目录 安卓开发 Unity打包安卓 ​编辑​编辑 BuildSettings PlayerSettings OtherSettings 身份证明 配置 脚本编译 优化 PublishingSettings 调试 ReMote Android Logcat AndroidStudio的调试 Java语法 ​编辑​编辑​编辑 变量 运算符 ​编辑​编辑​编辑​…