当前位置: 首页 > news >正文

数据库总结

第一章绪论

一、数据库系统概述

1. 数据库的4个基本概念

1.数据:数据库中存储的基本对象,描述事物的符号记录。

2.数据库:长期储存在计算机内、有组织的可共享的大量数据的集合。较小的冗余度、较高的数据独立性、易扩展性

3.数据库管理系统:位于用户与操作系统之间的一层数据管理软件。

数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能,其他功能

4.数据库系统:数据库、数据库管理系统、应用程序和数据库管理员。

好处:提高应用开发的效率,不必考虑数据管理的细节;数据与程序之间的独立性,只修改逻辑结构,不必修改应用程序;减轻管理人员维护系统的负担

2. 数据管理技术的产生和发展

1.人工管理阶段:无直接存取设备,没有操作系统,批处理,某一应用程序,无共享独立

2.文件系统阶段:磁盘、磁鼓,文件系统(是操作系统的一部分),联机实时处理、批处理,某一应用,共享独立差,临时数据

3.数据库系统阶段:独立于操作系统、现实世界,安全,完整,并发,恢复

二、数据模型

1.分类

概念模型

逻辑和物理模型:层次、网状、关系、面向对象数据、对象关系数据、半结构化数据

关系模型优点:

1.建立在严格的数学概念基础上;

2.概念单一,联系都用关系来表示。数据结构简单,清晰,用户易懂易用;

3.存取路径对用户透明,独立保密。

缺点:由于存取路径对用户透明,查询效率不如格式化数据模型。DBMS进行优化。

2. 组成要素

数据结构、数据操作、数据的完整性约束

3. 数据库系统的三级模式

模式:所有用户的公共数据视图;

外模式:用户模式,模式的子图;

内模式:存储模式,只有一个。

数据与程序的物理独立性:当数据库的存储结构改变,管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变。

数据与程序的逻辑独立性:当模式改变时,管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的。

第二章关系数据库

一、关系数据结构及形式化定义

1.关系

域:具有相同数据类型的值的集合

关系:是笛卡尔积D1*D2*...*Dn的子集。候选码:唯一标识一个元组,选定其中一个为主码。候选码的诸属性为主属性,不包含在任何候选码中的属性为非主属性。

2.关系模式

型,对关系的描述。R(U,D,DOM,F)R为关系名,U为组成关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间的依赖关系集合。关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。

二、关系操作

1. 基本操作

查询:select、project、join、divide、union、except、intersection、Cartesian Product

插入、删除、修改操作。

2. 关系数据语言的分类

关系代数语言:基本运算 并、差、笛卡尔积、投影、选择 (交、连接、除均可用5种基本运算来表达)

关系演算语言(元组、域)

具有关系代数和关系演算双重特点的语言

三、关系的完整性

1. 实体完整性

主属性不能取空

2. 参照完整性

外码与主码之间的引用规则。关系R在外码F上的值必须取空值,或者等于S中某个元组的主码值。

(在参照完整性中,外码属性值可以为空,它表示该属性的值尚未确定,但前提条件是该外码属性不是其所在参照关系的主属性。)

3.用户定义完整性

四、关系运算符

1.传统集合运算

并、差、交、笛卡尔积

2.专门的关系运算

选择、投影、连接(自然连接是一种特殊的等值连接)、除运算(给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。)

示例:至少用了供应商S1所供应的全部零件的工程项目代码

解释:有关系:R(x,y) S(y,z)

     R                 S

A   B   C     B   C  D

a1 b1 c2     b1 c2 d1

a1 b2 c3     b2 c1 d1

a1 b2 c1     b2 c3 d2

R÷S的结果为a1

x相当于A y 相当于B,C z相当于D

按照除运算规则规则,我们不必关注D

只需比较B,C当S关系中的B,C所有的组合(b1,c2)(b2,c3)(b2,c1)都出现在R关系中时,结果才为A

Yx:x在R中的象集,x = tr[X]

a1的象集为:{(b1,c2),(b2,c3),(b2,c1)}

a2的象集为:{(b3,c7),(b2,c3)}

a3的象集为:{(b4,c6)}

a4的象集为:{(b6,c6)}

S在(B,C)上的投影为{(b1,c2),(b2,c3),(b2,c1)}。

显然只有R的象集a1包含S在(B,C)属性组上的投影,所以R÷S={a1}。

除操作是同时从行和列角度进行运算

五、关系演算

1. 元组关系演算语言ALPHA

GET、PUT、HOLD、UPDATE、DELETE、DROP

相关文章:

数据库总结

第一章绪论 一、数据库系统概述 1. 数据库的4个基本概念 1.数据:数据库中存储的基本对象,描述事物的符号记录。 2.数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。较小的冗余度、较高的数据独立性、易扩展性 3.数据库管…...

虹科方案 | 成都大运会进行时,保障大型活动无线电安全需要…

成都大运会 7月28日,备受关注的第31届世界大学生夏季运动会在成都正式开幕。据悉,这是全球首个5G加持的智慧大运会,也是众多成熟信息技术的综合“应用场”。使用基于5G三千兆、云网、8K超高清视频等技术,在比赛现场搭建多路8K摄像…...

【C语言】扫雷 小游戏

文章目录 一、游戏规则二、 代码逻辑三、游戏实现1. 游戏菜单设计2.设计雷区并随机布置雷(1) 设置雷区(2) 布置雷 3.排查雷 四、源码 一、游戏规则 1. 在9*9的小格子中,任意选取一个坐标(格子),选择后发现,如果没点中雷…...

Jmeter(六) - 从入门到精通 - 建立数据库测试计划(详解教程)

1.简介 在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,因此这篇文章主要介绍了jmeter连接和创建数据库测试计划的过程,在文中通过示例和代码非常详细地介绍给大家,希望对各位小伙…...

swagger 3.0 学习笔记

引入pom <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>配置 import io.swagger.models.auth.In; import io.swagger.v3.oas.annotati…...

07 |「异步任务」

前言 实践是最好的学习方式&#xff0c;技术也如此。 文章目录 前言一、进程与线程1、进程2、线程 二、实现 一、进程与线程 1、进程 进程(Process)是操作系统分配资源的基本单位,它是一个执行中的程序实例&#xff1b;每个进程都有自己独立的内存空间,不同进程的内存是相互独…...

LoRaWan网关设计之入门指南

快速开始 以下是在目标平台本身上构建和运行 LoRaWan网关 的三步快速入门指南。 第 1 步:克隆 网关源码库 git clone https://github.com/lorabasics/basicstation.git...

互联网电影购票选座后台管理系统源码开发

搭建一个互联网电影购票选座后台管理系统需要进行以下步骤&#xff1a; 1. 需求分析&#xff1a;首先要明确系统的功能和需求&#xff0c;包括电影列表管理、场次管理、座位管理、订单管理等。 2. 技术选型&#xff1a;选择适合的技术栈进行开发&#xff0c;包括后端开发语言…...

[ K8S ] yaml文件讲解

目录 查看 api 资源版本标签写一个yaml文件demo创建资源对象查看创建的pod资源创建service服务对外提供访问并测试//创建资源对象查看创建的service写yaml太累怎么办&#xff1f; Kubernetes 支持 YAML 和 JSON 格式管理资源对象 JSON 格式&#xff1a;主要用于 api 接口之间消…...

【《深入浅出计算机网络》学习笔记】第1章 概述

内容来自b站湖科大教书匠《深入浅出计算机网络》视频和《深入浅出计算机网络》书籍 目录 1.1 信息时代的计算机网络 1.1.1 计算机网络的各类应用 1.1.2 计算机网络带来的负面问题 1.2 因特网概述 1.2.1 网络、互联网与因特网的区别与关系 1.2.1.1 网络 1.2.1.2 互联网 …...

二、Linux中权限、shell命令及运行原理

shell命令及运行原理 我们使用Linux时&#xff0c;并不是直接访问操作系统&#xff0c;为什么不是直接访问操作系统呢&#xff1f; 如果用户直接访问操作系统&#xff0c;不仅使用难度大&#xff0c;而且不安全&#xff0c;容易把系统文件损坏。 那么我们通常是如何访问操作系统…...

【RabbitMQ上手——单实例安装5种简单模式实现通讯过程】

【RabbitMQ入门-单实例安装&5种简单模式实现通讯过程】 一、环境说明二、安装RabbitMQ三、用户权限及Virtual Host设置四、5种简单模式实现通讯过程的实现五、小结 一、环境说明 安装环境&#xff1a;虚拟机VMWare Centos7.6 Maven3.6.3 JDK1.8RabbitMQ版本&#xff1a;…...

python+pytest接口自动化之HTTP协议基础

HTTP协议简介 HTTP 即 HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09;&#xff0c;是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。 设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。HTTP 协议在 OSI 模型…...

【技巧】如何保护PowerPoint不被改动?

PPT&#xff0c;也就是PowerPoint&#xff0c;是很多小伙伴在工作生活中经常用到的图形演示文稿软件。 做好PPT后&#xff0c;担心自己不小心改动了或者不想他人随意更改&#xff0c;我们可以如何保护PPT呢&#xff1f;下面小编就来分享两个常用的方法&#xff1a; 1. 将PPT改…...

【APITable】教程:创建并运行一个自建小程序

1.进入APITable&#xff0c;在想要创建小程序的看板页面点击右上角的【小程序】&#xff0c;进入小程序编辑页面。 2.创建一个新的小程序区。 点击【 添加小程序】 点击创建小程序&#xff0c;选择模板&#xff0c;输入名字。 3.确定后进入小程序部署引导页面。 4.打开Xshell 7…...

使用MyBatis操作数据库

hi,大家好,今天为大家带来MyBatis操作数据库的知识 文章目录 &#x1f437;1.根据MyBatis操作数据库&#x1f9ca;1.1查询操作&#x1f347;1.1.1无参查询&#x1f347;1.1.2有参查询 &#x1f9ca;1.2删除操作&#x1f9ca;1.3修改操作&#x1f9ca;1.4增加操作&#x1f9ca;…...

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)--功能实现[五]

文章目录 SSM--功能实现实现功能09-带条件查询分页显示列表需求分析/图解思路分析代码实现测试分页条件查询带条件分页查询显示效果 实现功能10-添加家居表单前端校验需求分析/图解思路分析代码实现完成测试测试页面效果 实现功能11-添加家居表单后端校验需求分析/图解思路分析…...

Qt应用程序窗体最大化失效问题的解决方法

记录一个在Qt开发过程中遇到的问题&#xff1a; 【问题描述】在showEvent中调用showMaximized()&#xff0c;应用程序窗体仍然无法最大化。 【定位分析】在Qt应用程序中&#xff0c;如果窗体最大化失效&#xff0c;可能是因为在窗体的showEvent事件中使用了showMaximized()方…...

python怎么判断变量的数据类型

在编程的世界里&#xff0c;了解各种数据类型是非常重要的。在Python中&#xff0c;有着丰富的数据类型用于存储和处理不同类型的数据。掌握这些数据类型的定义和作用&#xff0c;我们能够更好地在程序中管理和操作数据&#xff0c;提高代码的效率和可读性。 Python中常见的数据…...

FastAPI 构建 API 高性能的 web 框架(二)

上一篇 FastAPI 构建 API 高性能的 web 框架&#xff08;一&#xff09;是把LLM模型使用Fastapi的一些例子&#xff0c;本篇简单来看一下FastAPI的一些细节。 有中文官方文档&#xff1a;fastapi中文文档 假如你想将应用程序部署到生产环境&#xff0c;你可能要执行以下操作&a…...

DCT-Net人像卡通化:SpringBoot后端集成指南

DCT-Net人像卡通化&#xff1a;SpringBoot后端集成指南 1. 引言 你有没有想过给自己的社交头像换个卡通风格&#xff1f;或者为应用用户提供一键生成卡通头像的功能&#xff1f;DCT-Net人像卡通化技术让这变得简单。这个模型能够将普通人像照片转换成各种风格的卡通形象&…...

前端状态管理:别让你的应用状态一团糟

前端状态管理&#xff1a;别让你的应用状态一团糟 什么是前端状态管理&#xff1f; 前端状态管理是指管理前端应用中数据状态的方法和工具。别以为状态管理只是简单的变量存储&#xff0c;复杂的应用状态管理不当会让你的代码变成一团糟。 为什么需要状态管理&#xff1f; 统一…...

保姆级教程:用WPS JS API给你的WPS Office装个“外挂”(从环境配置到第一个加载项)

零基础玩转WPS加载项开发&#xff1a;从效率工具到个性化定制 你是否曾在处理大量WPS文档时&#xff0c;幻想过能有个"一键搞定"的神器&#xff1f;就像游戏玩家安装Mod扩展玩法一样&#xff0c;WPS其实也隐藏着强大的扩展能力。本文将带你走进WPS加载项开发的世界&a…...

Wan2.1-umt5在网络安全领域的应用:智能日志分析与威胁检测

Wan2.1-umt5在网络安全领域的应用&#xff1a;智能日志分析与威胁检测 最近和几个做安全运维的朋友聊天&#xff0c;他们都在抱怨同一个问题&#xff1a;每天面对海量的系统日志、网络流量日志&#xff0c;眼睛都快看花了&#xff0c;但还是怕漏掉那些真正危险的信号。传统的规…...

Windows蓝屏dmp文件分析实战:从!analyze -v到svchost.exe内存占用排查

Windows蓝屏dmp文件分析实战&#xff1a;从!analyze -v到svchost.exe内存占用排查 当Windows系统突然蓝屏时&#xff0c;桌面上那个冰冷的错误界面往往让人手足无措。作为一名长期与Windows系统打交道的技术支持工程师&#xff0c;我深知蓝屏背后隐藏的系统问题可能千差万别。而…...

技术解析 | TSMaster—CCP/XCP标定功能在汽车电子开发中的实战应用

1. 汽车电子开发中的标定技术基础 在汽车电子系统开发过程中&#xff0c;标定&#xff08;Calibration&#xff09;是一个至关重要的环节。简单来说&#xff0c;标定就是通过调整ECU&#xff08;电子控制单元&#xff09;中的参数&#xff0c;使车辆性能达到最优状态的过程。想…...

高性能B站视频下载工具架构设计:哔哩下载姬downkyi技术深度解析

高性能B站视频下载工具架构设计&#xff1a;哔哩下载姬downkyi技术深度解析 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印…...

STM32上跑矩阵运算老是卡死?可能是你没避开CMSIS-DSP库的这些‘坑’

STM32上跑矩阵运算老是卡死&#xff1f;可能是你没避开CMSIS-DSP库的这些‘坑’ 当你第一次在STM32上尝试使用CMSIS-DSP库进行矩阵运算时&#xff0c;那种兴奋感很快就会被现实浇灭——程序莫名其妙地卡死、计算结果全错&#xff0c;或者性能远低于预期。这不是你的错&#xf…...

【世纪龙科技】3D仿真还原真车,拆装检测步步有方

新能源汽车动力总成拆装与检测虚拟实训软件—— 虚实相融&#xff0c;赋能未来工匠的成长新范式在新能源汽车产业蓬勃发展的今天&#xff0c;职业院校作为技术技能人才的摇篮&#xff0c;正面临着“高压安全难保障、精密部件难拆装、大班教学难兼顾”的实训新挑战。如何让学生在…...

WHUCS—OS—lab实验,从fork到shell:一次进程创建的深度剖析

1. 理解fork系统调用的本质 第一次接触fork()时&#xff0c;我盯着屏幕上的代码看了整整十分钟——为什么一个简单的函数调用就能凭空"变出"一个子进程&#xff1f;后来在WHUCS的OS实验课上&#xff0c;当我亲手修改init.c启动shell的代码时&#xff0c;才真正理解了…...