数据库概论
目录
1、数据库管理系统(DBMS)
1.1 DBMS的主要功能
1. 数据库的定义功能
2. 数据库的操纵功能
3. 数据库的运行控制功能
4. 数据库的维护
5. 数据字典(Data Dictionary,DD)
2、数据模型
2.1 信息和数据(了解)
2.2 数据模型的三个层次
2.3 信息世界中的基本概念
1. 实体(entity)
2. 属性(attribute)
3. 实体型
4. 实体集
5. 联系
2.4 E-R图
2.5 关系数据模型
1. 关系
2. 属性
3. 域(domain)
4. 元组
5. 分量
6. 码(key),主码(primary key),外码(foreign key)
3 数据库系统的模式结构
3.1 三级模式两级映射
1、数据库管理系统(DBMS)
1.1 DBMS的主要功能
1. 数据库的定义功能
DBMS提供数据定义语言(data definition language,DDL)定义数据库的结构
create,alter,drop
注意:对于这些关键字,不区分大小写
2. 数据库的操纵功能
DBMS提供数据操纵语言(data manipulation language,DML)实现对数据库中数据的操作
select(DQL),insert,update,delete
3. 数据库的运行控制功能
数据安全性控制,DCL(grant(授权),revoke(撤回),deny(拒绝))
数据完整性控制,约束,触发器等等。
多用户环境下的并发控制,并发(在宏观上,多个事件在同一时间间隔内发生,而在微观上,这些事件可能会交替进行,不一定同时进行。它强调的是任务之间的交替执行和系统的多任务处理能力,如:单个CPU,宏观上,在一段时间间隔中,处理不同的事情,微观上,还是交替执行的)如:现在仅有一张火车票,要处理好,多个用户去抢这张票。感谢时代楷模单杏花。
数据库的恢复,数据库需要备份与还原
4. 数据库的维护
数据库的初始数据的载入、转换、转储、数据库的重组和性能监视、分析等
5. 数据字典(Data Dictionary,DD)
主要作用:供数据库管理系统(DBMS)快速查找有关对象的信息
2、数据模型
数据模型是对客观事物及其联系的数据描述
2.1 信息和数据(了解)
数据:对信息的符号化表示,即用一定的符号表示信息。
信息是数据的内涵,数据是信息的载体。
2.2 数据模型的三个层次
概念数据模型(概念模型),现实世界->概念世界,如:E-R模型
逻辑数据模型(逻辑模型),概念世界->信息世界,如:层次模型,网状模型,关系模型(二维表,主流)
物理数据模型(物理模型),信息世界->机器世界,在计算机上的物理结构
2.3 信息世界中的基本概念
1. 实体(entity)
客观存在并可相互区分的事物成为实体
2. 属性(attribute)
实体所具有的某一特性
3. 实体型
同类实体的一个抽象概念,如:学生(学号,姓名,性别,年龄)
4. 实体集
同型实体的集合
5. 联系
常见的联系,1:1,1:N,M:N
2.4 E-R图
实体(集):用矩形表示,矩形内写实体(集)名
属性:用椭圆表示,椭圆内写属性名,用无向边与对应实体相连
联系:用菱形表示,菱形内写联系名,用无向边与有关实体相连,并在无向边上标上联系(1:1,1:N,M:N)
注意:联系也可以有属性
例:为仓库的管理设计一个E-R图。
仓库主要管理零件的采购和供应。仓库根据需要向的供应商订购零件,仓库需要向许多工程提供零件。
2.5 关系数据模型
逻辑结构是一张二维表
如:
学号 | 姓名 | 性别 | 年龄 | 班级 | 联系方式 |
---|---|---|---|---|---|
001 | 张三 | 男 | 16 | 高一(1)班 | 138xxxx5678 |
002 | 李四 | 女 | 17 | 高一(2)班 | 139xxxx1234 |
003 | 王五 | 男 | 15 | 高一(1)班 | 137xxxx9876 |
004 | 赵六 | 女 | 16 | 高一(3)班 | 136xxxx5432 |
005 | 孙七 | 男 | 17 | 高一(2)班 | 135xxxx7654 |
1. 关系
对应通常说的二维表
如:上面的关系为,学生(学号,姓名,性别,年龄,班级,联系方式)
2. 属性
表中的一列
3. 域(domain)
属性(表中一列)的集合
4. 元组
表中的一行
5. 分量
元组中的一个属性值
6. 码(key),主码(primary key),外码(foreign key)
码(key):能唯一标识实体的属性或属性集合,并且不能含有冗余属性
全码:整个属性组作为码。
候选码(candidate key):码的集合。
主码(primary key):从候选码中选择一个合适的码
注意:设置为主码,保证主码不为空。(实体完整性)
外码(foreign key):A关系中的属性(集)(可以是一个普通的属性,主码,主码的一部分),这个属性在B关系中是主码。
注意:设置为外码,要保证A外码的域包含于B中主码的域,即A中外码的值要在B主码中都能找到
主属性:所有候选码的属性都是主属性。外码的属性不一定是主属性。(参照完整性)
3 数据库系统的模式结构
3.1 三级模式两级映射
内模式(存储模式),是数据库的物理结构和存储方式的描述。一个数据库只有一个内模式。
模式(逻辑模式),是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
外模式(子模式,用户模式),是数据库用户 看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。一个数据库可多个外模式。
当数据库的存储结构改变,数据库管理员对内模式/模式映像作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。(存储结构和物理有关)
当模式改变,数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。
相关文章:

数据库概论
目录 1、数据库管理系统(DBMS) 1.1 DBMS的主要功能 1. 数据库的定义功能 2. 数据库的操纵功能 3. 数据库的运行控制功能 4. 数据库的维护 5. 数据字典(Data Dictionary,DD) 2、数据模型 2.1 信息和数据(了解) 2.2 数据模型的三个层次 2.3 信息世界中的基…...

基于python使用UDP协议对飞秋进行通讯—DDOS
基于飞秋的信息传输 声明:笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 老规矩,封面在文末! 飞秋介绍 (…...

数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)
数据库管理275期 2024-12-25 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225)1 系统管理分片2 用户定义分片总结 数据库管理-第275期 Oracle 23ai:画了两张架构图(20241225) 作者:胖…...

使用Streamlit部署机器学习模型
机器学习: 计算机能够从经验中学习,而无需明确编程。机器学习是目前最热门的领域之一,世界各地的顶级公司都在使用它来改善他们的服务和产品。但是没有使用在Jupyter Notebook中训练的机器学习模型。因此,我们需要部署这些模型&am…...
依图科技简介
依图科技(YITU Technology)是中国一家全球领先的人工智能(AI)公司,成立于2012年,总部位于上海。公司专注于计算机视觉、语音识别和自然语言处理等核心AI技术,致力于推动AI技术在医疗、安防、金融…...
苍穹外卖day07缓存部分分析
苍穹外卖Day07部分聚焦于缓存功能的实现与优化,通过引入redis缓存机制,结合Spring Cache 注解,降低了数据库负载,提升其响应速度。 以下是清除缓存功能代码: RestController RequestMapping("/admin/dish"…...

OCR实践-Table-Transformer
前言 书接上文 OCR实践—PaddleOCR Table-Transformer 与 PubTables-1M table-transformer,来自微软,基于Detr,在PubTables1M 数据集上进行训练,模型是在提出数据集同时的工作, paper PubTables-1M: Towards comp…...

HarmonyOS NEXT 实战之元服务:静态案例效果---电台推荐
背景: 前几篇学习了元服务,后面几期就让我们开发简单的元服务吧,里面丰富的内容大家自己加,本期案例 仅供参考 先上本期效果图 ,里面图片自行替换 效果图1完整代码案例如下: Index import { authentica…...

微信小程序 不同角色进入不同页面、呈现不同底部导航栏
遇到这个需求之前一直使用的小程序默认底部导航栏,且小程序默认入口页面为pages/index/index,要使不同角色呈现不同底部导航栏,必须要在不同页面引用不同的自定义导航栏。本篇将结合分包(subPackages)展开以下三步叙述…...

MATLAB符号计算-符号表达式基础运算操作
1.1.2符号变量取值域的限定 默认复数域 【例1-1-2】解不等式 1.1.3创建符号表达式 对符号对象进行各种运算(算术运算、关系运算、逻辑运算),即可创建符号表达式。 1.算术运算与转置 【例1-1-3】 f5是f4的共轭转置 f6是f4的转置 2.关系…...
服务器被攻击怎么办
当服务器遭受恶意流量攻击,如DDoS(分布式拒绝服务)或CC(Challenge Collapsar)攻击时,传统的防护措施可能不足以应对。此时,采用高防IP服务可以有效缓解攻击压力,确保业务连续性和数据…...

精准识别花生豆:基于EfficientNetB0的深度学习检测与分类项目
精准检测花生豆:基于EfficientNet的深度学习分类项目 在现代农业生产中,作物的质量检测和分类是确保产品质量的重要环节。针对花生豆的检测与分类需求,我们开发了一套基于深度学习的解决方案,利用EfficientNetB0模型实现高效、准…...

【UE5 C++课程系列笔记】13——GameInstanceSubsystem的简单使用
目录 概念 基本使用案例 效果 步骤 概念 UGameInstanceSubsystem 类继承自 USubsystem,它与 GameInstance 紧密关联,旨在为游戏提供一种模块化、可方便扩展和管理的功能单元机制。在整个游戏运行期间,一个 GameInstance 可以包含多个 UGa…...

实用工具推荐----Doxygen使用方法
目录 目录 1 软件介绍 2 Doxygen软件下载方法 3 Doxygen软件配置方法 4 标准注释描述 4.1 块注释 和 特殊描述字符 4.1.1 函数描述示例 4.1.2结构体数组变量示例 特别注意: 4.2单行注释 4.2.1 单个变量注释示例 特别注意: 4.2.2对于枚举变量…...
js垃圾回收机制详细讲解
JavaScript 垃圾回收机制(Garbage Collection, GC)负责自动管理内存的分配和释放,确保程序在运行时不会因为内存泄漏而崩溃。它的主要任务是回收不再使用的内存空间,防止内存泄漏。JavaScript 的垃圾回收通常由引擎自动完成&#…...

【Linux/踩坑】Linux中启动eclipse或HDFS因JAVA_HOME设置报错
Linux中启动eclipse或hadoop因JAVA_HOME设置报错 eclipseHadoop eclipse 错误提示: A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the follo…...

百度千帆平台构建AI APP的基础概念梳理
百度千帆平台构建AI APP的基础概念梳理 如果想制作大语言模型(LLM)相关的APP, 将利用百度的千帆平台在国内可能是最便捷的途径,因为百度开发了成熟的工作流,前些年还有些不稳定,现在固定下来了,…...
Unity3D Huatuo技术原理剖析详解
前言 在游戏开发领域,Unity3D凭借其强大的跨平台能力和丰富的功能,成为了众多开发者的首选工具。而在Unity3D的生态系统中,Huatuo作为一款重要的插件,为游戏开发带来了极大的便利。本文将深入剖析Huatuo的技术原理,并…...

记Fastjson2的一个报ConcurrentModificationException的bug
错误背景:fastjson2的parseObject方法,在spring webflux项目中被调用,有时会报java.util.ConcurrentModificationException错误。报错处的代码如下图: 改了半天与并发安全相关的代码,还是会报此错误。后来改变思路搜…...
使用TimesFM 对车辆销售进行预测
代码功能概述 导入相关包与设置环境变量: 首先导入了如 os、numpy、pandas 等常用的 Python 库,同时设置了一些与特定库(如 XLA_PYTHON_CLIENT_PREALLOCATE 和 JAX_PM AP_USE_TENSORSTORE)相关的环境变量,用于优化计算…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...