【数据库】数据库语言
1.4 数据库语言
数据库系统提供数据定义语言(DDL)来定义数据库模式,并提供数据操纵语言(DML)来表达数据库的查询和更新。
通过一系列特定的DDL语句来说明数据库系统所采用的存储结构和访问方式,这种特定的DDL称作数据存储和定义语言。
域约束。每个属性都必须对应一个所有可能的取值构成的域。声明一个属性属于某个具体的域就相当于约束它可以取的值。
引用完整性。希望能确保一个关系中给定属性集上的取值也在另一关系的某一属性的取值中出现。
DDL的输出放在数据字典中,数据字典包含元数据,元数据是关于数据的数据。
1.4.3 数据操纵语言
基本上有两种类型的数据操纵语言:
过程化的DML:要求用户指定需要什么数据以及如何获得这些数据。
声明化的DML:只要求用户指定需要什么数据,而不必指明如何获得这些数据。
1.4.5 从应用程序访问数据库
SQL的计算和动作必须用一种宿主语言来写,比如Java或Python,在其中使用嵌入式SQL查询来访问数据库中的数据。
应用程序就是用来以这种方式与数据库进行交互的程序。
为了访问数据库,需要将DML语句从宿主发送到执行这些语句的数据库。
1.6 数据库引擎
数据库系统被划分为多个模块,每个模块完成整个系统的一个功能。数据库系统的功能部件大致可分为存储管理器、查询管理器部件和事务管理部件。
1.6.1 存储管理器
存储管理器是数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。
存储管理器将各种DML语句翻译成底层文件系统命令。因此,存储管理器负责数据库中数据的存储、检索和更新。
存储管理器部件包括:
权限及完整性管理器,检测是否满足完整性约束,并检查试图访问数据的用户的权限。
事务管理器,它保证即使系统发生了故障,数据库也保持在一致的状态,并保证并发事务的执行不发生冲突。
文件管理器,它管理磁盘存储空间的分配,管理用于表示磁盘上所存储信息的数据结构。
缓冲区管理器,负责将数据从磁盘上取到内存中,并决定哪些数据应被缓冲存储在内存中。
数据文件,它存储数据库自身。
数据字典,存储关于数据库结构的元数据,特别是数据库模式。
索引,它提供对数据项的快速访问。
1.6.2 查询处理器
DDL解释器:解释DDL语句并将这些定义记录在数据字典中。
DML编译器:将查询语言中的DML语句翻译为包括一系列查询执行引擎能理解的低级指令的执行方案。
1.6.3 事务管理
原子性和持久性的保证是数据库系统自身的职责,是恢复管理器的职责。
当几个事务并发地对数据库进行更新时,即使每个单独的事务都是正确的,数据的一致性也可能被破坏。
并发控制管理器控制并发事务间的相互影响,保证数据库的一致性。事务管理器包括并发控制管理器和恢复管理器。
集中式结构可以应用在共享内存的服务器体系结构中,该结构有多个CPU进行并行处理,但是所有的CPU都访问一个公共的共享内存。
为扩展到更大的数据规模和更高的处理速度,研究人员设计了运行在多台机器的集群上的并行数据库。更进一步,分布式数据库允许跨地域地对多台分离的机器进行数据存储和查询处理。
相关文章:
【数据库】数据库语言
1.4 数据库语言 数据库系统提供数据定义语言(DDL)来定义数据库模式,并提供数据操纵语言(DML)来表达数据库的查询和更新。 通过一系列特定的DDL语句来说明数据库系统所采用的存储结构和访问方式,这种特定的…...
javascript单例模式字面量定义的接口和匿名函数定义的接口;他们之间访问私有变量和私有函数之间的区别
javascript的单例模式:即只有一个实例; 模块模式是在单例模式上扩展而来的 //这种是字面量定义了单例对象的公共接口; 字面量对象调用私有变更和私有函数 var Book(function(){let name;checkBookfunction(value){namevalue;}return{setNam…...
啥是大语言模型LLM
引言: 在人工智能的世界里,有一种技术正迅速改变我们与机器交流的方式——这就是大语言模型LLM(Large Language Model)。它们像是拥有海量知识库的超级智能,能够理解和生成人类语言。那么,大语言模型LLM到底…...
vue3之路由导航故障
通常一个导航守卫函数中会发生这四件事之一: 1.通过调用 return false 中断了这次导航 2.通过返回一个新的位置,重定向到其他地方 (例如,return ‘/login’) 3.正常导航到指定路由 4.抛出了一个 Error 检测导航故障 可以使用vue-router提供的…...
Dr4g0n
信息收集 # nmap -sn 192.168.56.0/24 -oN live.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-04 08:52 CST Nmap scan report for 192.168.56.2 Host is up (0.00012s latency). MAC Address: 00:50:56:FE:B1:6F (VMware) Nmap scan report …...
蓝桥杯每日一题:扫雷
题目来源:第十三届蓝桥杯软件赛省赛 B组 在一个 n n n 行 m m m 列 的方格图中有些位置有地雷, 另外一些位置为空 请为每个空位置标一个整数, 表示周围八个相邻的方格中有多少个地雷 输入 : 输入的第一行包含两个整数 n n n , m m m 第 2 行 到 第 n 1 n 1 n…...
net core API 后台系统操作日志的实现思路
net core API 后台系统操作日志的实现思路 系统操作日志的实现思路主要问题不在于写日志和表结构设计上。 主要问题在识别出哪些数据做了修改。并生成日志。 表中数据列众多,且要监控多个表。如果要监控的每个表都去写代码去监控和转换这样的工作量就会比较大。 如,用户表…...
ORACLE 知识整理
目录 一. 插入指定数量的数据二. 索引2.1 创建索引2.2 删除索引 三. 查询计划四. Oracle SQLPlus常用设置五. 增加删除字段 一. 插入指定数量的数据 ⏹当需要向表中插入若干测试数据的时候,可通过下面这种方式造数据 先从DUAL虚拟表中检索后造出10000条数据后&…...
业务服务:redisson
文章目录 前言一、配置1. 添加依赖2. 配置文件/类3. 注入redission3. 封装工具类 二、应用1. RedisUtils工具类的基本使用 三、队列1. 工具类2. 普通队列3. 有界队列(限制数据量)4. 延迟队列(延迟获取数据)5. 优先队列(…...
面试算法-100-零钱兑换
题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的…...
【Leetcode每日一题】 动态规划 - 使用最小花费爬楼梯(难度⭐)(41)
1. 题目解析 题目链接:746. 使用最小花费爬楼梯 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 一、设定状态表 为了解决这个问题,我们首先要明确一个“状态表”。这个状态表其实就是一个记录…...
Springboot旅游管理系统设计与实现
** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…...
c++学习笔记(10)
1. 二分答案是一种常用的算法思想,用于解决一些需要枚举所有可能答案的问题。它的基本思想是将问题的答案范围缩小到一半,然后根据一定的条件判断,再将答案范围缩小到一半,直到找到正确的答案或者确定不存在正确答案为止。 下面…...
Visual Studio - 添加快捷键图标
Visual Studio - 添加快捷键图标 1. Text Editor Toolbar Options -> Add or Remove Buttons -> Customize2. Toolbars3. Commands -> Debug4. Add Command...References 1. Text Editor Toolbar Options -> Add or Remove Buttons -> Customize 2. Toolbars B…...
突破边界:Web3开启数字化社会的新纪元
引言 随着科技的不断进步和数字化社会的发展,Web3正逐渐成为了人们关注的焦点。作为新一代互联网的演进形态,Web3具有突破传统边界、实现去中心化的特点,被认为将开启数字化社会的新纪元。本文将深入探讨Web3的概念、特点、应用场景…...
docker仓库登录及配置insecure-registries的方法
docker仓库登录及配置insecure-registries的方法 这篇文章主要介绍了docker仓库登录配置insecure-registries的方法,docker客户端如果配置中添加了insecure-registary配置,就不需要在docker 客户端配置上对应证书,如果不配置要在/etc/docker/certs.d/目…...
Lambda函数与Selenium WebDriverWait类一起使用
Lambda函数是一种匿名函数,也称为内联函数或者lambda表达式。它们在Python中用于创建简短的、一次性的函数。Lambda函数通常用于在代码中传递函数作为参数,或者在需要一个简单的函数,但不想正式定义一个函数的情况下使用。 Lambda函数的特点…...
V R元宇宙平台的未来方向|V R主题馆加 盟|游戏体验馆
未来,VR元宇宙平台可能会呈现出以下发展趋势和可能性: 全面融合现实与虚拟世界: VR元宇宙平台将更加无缝地融合现实世界和虚拟世界,用户可以在虚拟环境中进行各种活动,与现实世界进行互动,并且体验到更加逼…...
sox命令用法
play input.wav 播放音频 sox input.wav -n stat 查看音频文件信息 soxi input.wav 查看音频文件信息input sox input.wav -n stat -v 不失真最大调整量 sox -v 0.8 input.wav output.wav 调整音量0.8,(大于1为扩大,小于1为缩小) sox *.wav *…...
Android kotlin全局悬浮窗全屏功能和锁屏页面全屏悬浮窗功能二
1.前言 在进行app应用开发中,在实现某些功能中要求实现悬浮窗功能,分为应用内悬浮窗 ,全局悬浮窗和 锁屏页面悬浮窗功能 等,接下来就来实现这些悬浮窗全屏功能,首选看下第二部分功能实现 2.kotlin实现锁屏页面悬浮窗全屏功能二分析 悬浮窗是属于Android系统的一种浮动窗…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目
应用场景: 1、常规某个机器被钓鱼后门攻击后,我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后,我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...
五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
Pandas 可视化集成:数据科学家的高效绘图指南
为什么选择 Pandas 进行数据可视化? 在数据科学和分析领域,可视化是理解数据、发现模式和传达见解的关键步骤。Python 生态系统提供了多种可视化工具,如 Matplotlib、Seaborn、Plotly 等,但 Pandas 内置的可视化功能因其与数据结…...
设计模式域——软件设计模式全集
摘要 软件设计模式是软件工程领域中经过验证的、可复用的解决方案,旨在解决常见的软件设计问题。它们是软件开发经验的总结,能够帮助开发人员在设计阶段快速找到合适的解决方案,提高代码的可维护性、可扩展性和可复用性。设计模式主要分为三…...
