数据库系统概念(第二周 第一堂)

前言

本文的所有知识点、图片均来自《数据库系统概念》(黑宝书)、山东大学李晖老师PPT。不可用于商业用途转发。

回顾

        上周最后一个知识点说到数据库三级模式结构,在这个结构里面我们设立了模式/内模式映像内模式/外模式映像,主要为了解决数据独立性的问题。数据独立性又分为物理数据独立性逻辑数据独立性

数据模型

定义

数据模型是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合

数据模型的选择本质上就是选择一个存放数据的方式,这个存放数据包括数据的物理存放、逻辑关系以及语义联系等

由定义可知,数据库的设计最核心的部分就是物理存放设计(数据底层存储方式),逻辑存放设计(设计数据在业务层面的逻辑关系)

分类

关系模型:用表的集合表示数据和数据之间的关系

实体-联系模型:现实世界是由实体和实体之间的联系构成的,用于数据库设计

基于对象数据模型:实体-联系模型增加了封装、方法和对象标识等拓展

组成要素

一、数据结构:数据库中对象类型的集合(与数据内容、类型有关的对象,与数据之间联系有关的对象),是对系统静态特性的描述。

数据结构课程中的数据结构是指数据的类型以及组织方式(数组/动静态数组、链表/单双链表等等),数据库中的数据结构是指数据库中数据的结构即数据的类型

二、数据操作:包括检索、更新两个方面,是对系统动态特性的描述。

数据操作在数据结构课程中对应的就是数据的组织方式和数据类型,或者说数据的组织方式和数据类型两者共同决定数据操作

三、数据约束条件:一组完整性规则的集合

关系模型

关系模型在现代已经全面取代了其他两类模型,故数据库中讨论的只有关系模型。

初识

优点 

一、简单。只有关系一种数据结构,同时逻辑上的数据结构也只有表这一种形式。

二、非过程化数据请求,数据请求可以不指明路径。(非过程化数据请求,说明关系数据库的数据获取更多是一种静态批量的数据获取)

三、数据独立性。用户只需提出做什么,不用考虑怎么做

四、坚实的理论基础

数据库语言

任何一种数据库语言都可以分为三类语言。

一、DDL:数据库定义语言。是指对数据库结构进行定义、管理和调整的语言

二、DCL:数据库控制语言。是指对数据库的管理、访问权限进行定义、修改和调整的语言

三、DML:数据库操控语言。是指对数据库中的数据进行更新、查询的语言

这里书中的翻译是语言,但是我更倾向于用语句。因为在正常情况下,我们认为SQL是一种语言,而对于任何一个类似SQL的数据库语言,它基本都有上面三类语句。使用语言容易将这三种语句误解为和Sql平等地位的语言

事务管理

事务定义

事务是由一系列操作序列构成的程序执行单元。对于一个事务中的操作序列,要么都做,要么都不做,事务是一个不可分割的工作单位

事务特性

一、原子性:事务中包含的所有操作要么全做,要么全不做。他们必须是一个不可分割的工作单位

二、一致性:事务在处理前后整个数据库必须处于一致性的状态。即不同用户的数据库变化必须对应的上

三、隔离性:系统必须保证事务不受其他并发执行事务的影响

四、持久性:一个事务一旦提交后,他对数据库的影响必须是永久的

数据库系统结构

数据库系统的体系结构较为复杂,在后续章节详细带大家进入 

 数据库应用结构

数据库应用结构曾经是两层结构,此时应用(包括前端应用UI和后端应用业务逻辑)属于上层,一旦业务逻辑发生变化,UI前端需要发生变化,这将导致升级业务逻辑变得非常复杂。

现在的数据库应用结构都是三层结构,并且将应用分为应用客户和应用服务器。即将应用的前后端进行分离。此时应用的业务逻辑发生变化不需要再修改应用的前端UI。

综上数据库应用结构的改变,主要是应用上的改变,重点体现在应用的前后端分离

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

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

相关文章

闲聊Swift的枚举关联值

闲聊Swift的枚举关联值 枚举,字面上理解,就是把东西一件件列出来。 在许多计算机语言中,枚举都是一种重要的数据结构。使用枚举可以使代码更简洁,语义性更强,更加健壮。 Swift语言也不例外。但和其他语言相比&#xf…

docker搭建upload-labs

Upload-labs 是一个专门设计用于学习和练习文件上传安全的开源工具。它提供了各种场景的文件上传漏洞,供用户通过实践来学习如何发现和利用这些漏洞,同时也能学习到防御措施。使用 Docker 来搭建 upload-labs 环境是一种快速、简便的方法,它可…

[Django 0-1] Core.Cache模块

Caching 源码分析 Django 的 cache 缓存机制,包含了一些代理设计模式(代理了但没完全代理,多此一举)。 通过实现一个CacheHandler的manager类,来实现多缓存后端的统一管理和调用,避免到处实例使用。 缓存的目的 缓存的目的就是…

大华智慧园区综合管理平台 getNewStaypointDetailQuery SQL注入漏洞复现

0x01 产品简介 “大华智慧园区综合管理平台”是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。平台意在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 0x02 漏洞概述 由于大华智慧园区综合管理平台getNewStaypointDetai…

服务器被大流量攻击怎么办?如何防御攻击?

随着网络的发展,我们所遇到的安全挑战也越来越多。尤其是近年来,网络攻击频发,许多互联网企业深受其扰。为了不影响自身业务的稳定运行,许多企业都在想方设法的寻求解决方案,防止服务器被攻击而影响业务发展。下面我们…

开源模型应用落地-安全合规篇(二)

一、前言 在前面的“业务优化篇系列文章”的学习中,我们学会了如何使用线程池、Redis和向量数据库等工具。现在,我们要加快学习的速度。一方面,我们会继续改进AI服务的性能瓶颈,另一方面,我们还要学习如何进行合规操作。 接下来,我们将学习如何使用腾讯云的内容安全审核来…

内网横向渗透一般攻击技巧

1、通过 nmap、nessus 扫描整个内网 ip 主机漏洞,如如 ms08-067、ms17-010、ms12-020、ms15-035、ms19-0708、永恒之蓝2代、cve-2017-7494(samba)、cve- 2014-6271(破壳)、php cgi 等相关漏洞。 2、通过 nmap 扫内网 80、8080 端口&#xff…

Spring Boot面试系列-03

1. Spring Boot 中 Actuator 有什么作用? 本质上Actuator通过启用production-ready功能使得SpringBoot应用程序变得更有生命力。这些功能允许对生产环境中的应用程序进行监视和管理。 集成SpringBoot Actuator到项目中非常简单。只需要做的是将spring-boot-starter-actuator…

C#常见的.Net类型(一)

目录 一、处理数字二、处理文本三、模式匹配与正则表达式 一、处理数字 常见的数据类型之一是数字,.NET用于处理数字的最常见类型 示例类型描述int用于表示整数值,没有小数部分byte用于表示8位无符号整数double用于表示双精度浮点数decimal用于表示高精…

云起云落:揭秘云计算基础内功心法

文章目录 云计算基本概念云计算发展历程云计算计算模式云计算商业模式云计算部署模式私有云部署公有云部署混合云部署 云计算虚拟化技术虚拟机模式虚拟化容器模式虚拟化容器VS虚拟机 常见虚拟化工具和技术虚拟化工具“轻量级”虚拟化工具 云计算供应商云计算三要点(…

笔记:12.1 使用sqlplus /as sysdba登录报错ORA-01017

说明 使用sqlplus / as sysdba 登录时报错 ORA-01017:invalid username/password;logon denied 此时无任何用户的账号密码,需要对密码进行重置,可参考一下方法。 操作 1,删除原PWD文件,位置在 ORACLE_HOME…

【Node.js相关问题】npm install报错后重装node版本及npm环境变量配置及npm run dev启动报错原因分析解决办法

一、问题描述 昨天在准备打开b站up主三更草堂的博客项目08-02.基础版本前端联调_哔哩哔哩_bilibili中的前端工程时,使用以下两个命令分别都出现了报错。 命令1: # install dependenciesnpm install 命令2: # serve with hot reload at loca…

服务器加密机的工作原理是什么

服务器加密机在现代信息社会中扮演着至关重要的角色。它是确保服务器数据安全、保障数据传输机密性,以及防范恶意攻击和网络窃取的关键技术手段。本文将对服务器加密机进行详细解读,分析其原理、应用以及在未来发展中的重要性。 服务器加密机是一种专门用…

跨境电商选品实战——Ownips静态ip代理+Python爬虫轻松搞定Lazada电商选品

文章目录 一、引言二、Lazada电商平台爬虫实战2.1、分析Lazada电商平台的商品列表接口2.2、定位商品列表计算逻辑2.3、封装IP代理2.4、运行爬虫 三、数据处理及选品分析四、Ownips——企业级全球静态IP代理 一、引言 互联网与外贸的结合,催生了蓬勃兴起的跨境电子商…

vue的router

目前单页应用(SPA)越来越成为前端主流,单页应用一大特点就是使用前端路由,由前端来直接控制路由跳转逻辑,而不再由后端人员控制,这给了前端更多的自由。 当用户在应用中进行导航时,Vue Router …

基于EasyCVR视频技术的流媒体视频融合与汇聚管理系统建设方案

流媒体视频融合与汇聚管理系统可以实现对各类模块化服务进行统一管理和配置等操作,可实现对应用服务的整合、管理及共享,以标准接口的方式,业务平台及其他第三方业务平台可以方便地调用各类数据,具有开放性和可扩展性。在流媒体视…

122. 买卖股票的最佳时机 II(力扣LeetCode)

文章目录 122. 买卖股票的最佳时机 II题目描述贪心 122. 买卖股票的最佳时机 II 题目描述 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。…

【强化学习抓取】偏机器人领域(略)

文章目录 1. A Grasp Pose is All You Need: Learning Multi-fingered Grasping with Deep Reinforcement Learning from Vision and Touch摘要和结论引言相关工作模型框架 1. A Grasp Pose is All You Need: Learning Multi-fingered Grasping with Deep Reinforcement Learni…

基于PPT战略的河南嵩县旅游扶贫模式研究

目录 摘 要 3 Abstract 3 (一)研究背景 4 (二)研究意义 5 (三)研究目的 6 二、概念界定及相关研究 6 (一)PPT战略 6 (二)PPT战略相关研究 6 (三&…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的常见手势识别系统(深度学习模型+UI界面代码+训练数据集)

摘要:开发手势识别系统对于增强人机交互和智能家居控制领域的体验非常关键。本博客详尽阐述了通过深度学习技术构建手势识别系统的过程,并附上了全套实施代码。系统采用了先进的YOLOv8算法,并通过与YOLOv7、YOLOv6、YOLOv5的性能对比&#xf…