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

数据库系统的结构

数据库系统的结构

  • 1 数据抽象
    • 1.1 物理层
    • 1.2 逻辑层
    • 1.3 视图层
  • 2 实例和模式
  • 3 数据独立性
  • 4 数据模型
    • 4.1 基于对象的逻辑模型
    • 4.2 基于记录的逻辑模型
    • 4.3 基于记录的物理模型
  • 5 数据库语言
    • 5.1 数据定义语言 DDL
    • 5.2 数据操纵语言 DML
  • 6 事务
  • 7 存储管理器
  • 8 数据库系统的总体结构

1 数据抽象

作用:隐藏数据存储和维护细节,简化用户操作。
数据抽象的三个层次

1.1 物理层

最低层次的抽象,描述数据实际上是怎样存储的。
物理层

1.2 逻辑层

描述数据库中存储什么数据,以及不同数据间存在何种关系。
逻辑层
注意:逻辑层抽象是由数据库管理员而不是逻辑层的用户所使用的。

1.3 视图层

最高层次抽象,只描述整个数据库中的某个部分。同一数据库可以提供多个视图。视图层
视图层不仅对用户屏蔽数据库的逻辑层细节,还提供了防止用户访问数据库某些部分的安全机制。

2 实例和模式

实例:特定时刻存储在数据库中的信息的集合。
模式:数据库的总体设计。
模式与层次
对比程序设计语言,数据库模式对应于程序设计语言中的变量定义,而变量的值对应于数据库模式的一个实例。

3 数据独立性

数据独立性:在某个层次上修改模式定义而不影响位于其上一层模式的能力。
有点类似于程序设计语言中的抽象数据类型。用于屏蔽具体实现的细节,关注概括的结构。
数据库系统有两个层次的数据独立性:
1)物理数据独立性:修改物理模式而不必重写应用程序的能力。
2)逻辑数据独立性:修改逻辑模式而不必重写应用程序的能力。

4 数据模型

数据模型:描述数据、数据关系、数据语义及一致性约束的概念工具的集合,是数据库结构的基础。
数据模型

4.1 基于对象的逻辑模型

用于在逻辑层和视图层上描述数据。
特点:提供灵活的结构组织能力,允许显示定义数据约束。
基于对象的逻辑模型
这类模型比较著名的有:
· 实体 - 联系模型(ER数据模型)
· 面向对象模型
· 语义数据模型
· 功能数据模型

4.2 基于记录的逻辑模型

在逻辑层和视图层上描述数据。既用来定义数据库的全局逻辑结构,又用来提供关于实现的高层描述。
基于记录的逻辑模型
这类模型比较著名的有:
· 关系模型
· 网状模型
· 层次模型

4.3 基于记录的物理模型

在最低层次上描述数据。
基于记录的物理模型
常用的两种物理数据模型:
· 一致化模型
· 框架存储模型

5 数据库语言

数据库系统提供两种不同类型的语言:
1)数据定义语言 DDL:用于定义数据库模式;
2)数据操作语言 DML:用于表达数据库的查询和更新。

5.1 数据定义语言 DDL

数据定义语言 DDL 编译结果是产生了一系列数据字典。
数据字典是一个包含元数据的文件,元数据是关于数据的数据。

5.2 数据操纵语言 DML

数据操纵是指对数据进行增删改查
数据操纵语言使得用户可以访问和操纵由适当的数据模式组织起来的数据。通常有两类数据操纵语言:

过程化的DML非过程化的DML
特点1. 要求用户指定需要什么数据;
2. 要求用户指明如何获得这些数据
只要求用户指定需要什么数据
优点易学易用效率高

6 事务

事务:数据库应用中完成单一逻辑功能的操纵集合。
特点:原子性、单一性。

7 存储管理器

存储管理器:在数据库中存储的低层数据与应用程序及向系统提交的查询之间提供接口的程序模块。
存储管理器负责数据库中数据的存储、检索和更新。

8 数据库系统的总体结构

系统结构

相关文章:

数据库系统的结构

数据库系统的结构 1 数据抽象1.1 物理层1.2 逻辑层1.3 视图层 2 实例和模式3 数据独立性4 数据模型4.1 基于对象的逻辑模型4.2 基于记录的逻辑模型4.3 基于记录的物理模型 5 数据库语言5.1 数据定义语言 DDL5.2 数据操纵语言 DML 6 事务7 存储管理器8 数据库系统的总体结构 1 数…...

ngrok编译

ngrok编译 安装golang 官方golang安装文档:https://golang.google.cn/doc/install 配置国内源 go env -w GOPROXYhttps://goproxy.cn,direct关掉GO111MODULE go env -w GO111MODULEoff 配置访问github proxy_host$1 # 192.168.126.173 proxy_port$1 # 7890 exp…...

YOLOv5改进 | 卷积篇 | 通过RFAConv重塑空间注意力(深度学习的前沿突破)

一、本文介绍 本文给大家带来的改进机制是RFAConv,全称为Receptive-Field Attention Convolution,是一种全新的空间注意力机制。与传统的空间注意力方法相比,RFAConv能够更有效地处理图像中的细节和复杂模式(适用于所有的检测对象都有一定的…...

056:vue工具 --- CSS在线格式化

第056个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…...

自定义IDEA代码补全插件

目标: 对于项目中的静态方法(主要是各种工具类里的静态方法),可以在输入方法名时直接提示相关的静态方法,选中后自动补全代码,并导入静态类。 设计: 初步构想,用户选择要导入的文…...

uniapp uview1.0 页面多个upload上传、回显之后处理数据

<view class"img-title w-s-color-3 f-28 row">商品图片</view><u-upload ref"images" :header"header" :file-list"fileListImages" :action"action" name"iFile" icon-name"camera"u…...

生活中的物理2——人类迷惑行为(用笔扎手)

1实验 材料 笔、手 实验 1、先用手轻轻碰一下笔尖&#xff08;未成年人须家长监护&#xff09; 2、再用另一只手碰碰笔尾 你发现了什么&#xff1f;&#xff1f; 2发现 你会发现碰笔尖的手明显比碰笔尾的手更痛 你想想为什么 3原理 压强f/s 笔尖的面积明显比笔尾的小 …...

vue3表格导入导出.xlsx

在这次使用时恰好整出来了&#xff0c;希望大家也能学习到&#xff0c;特此分享出来 使用前确保安装以下模块&#xff0c;最好全局配置element-plus ### 展示一下 ### ###导出选项 ### ###导入de数据 ### 安装的模块 npm install js-table2excel // 安装js-table2excel n…...

vscode dart语言出现蓝色波浪线

pubspec.yaml 注释掉&#xff1a;flutter_lints: ^2.0.0 analysis_options.yaml 注释掉&#xff1a;include: package:flutter_lints/flutter.yaml...

一种磁盘上循环覆盖文件策略

目录标题 1. 前言2. 软件设计流程思路3. 模拟测试3.1 分区准备工作3.2 模拟写数据3.3 测试 1. 前言 实际开发中经常需要存储数据, 无论是存储日志&#xff0c;还是二进制数据(图片&#xff0c;雷达数据或视频文件等), 不能一直存&#xff0c;是否存在一种策略: 当磁盘空间不足时…...

elementui消息弹出框MessageBox英文内容不换行问题

问题&#xff1a;当MessageBox内容为中文时&#xff0c;会自动换行&#xff0c;但当内容为英文时不会触发自动换行 如图&#xff0c;内容名称为英文时&#xff0c;名称太长会戳出提示框&#xff0c;不会自动换行 为数字英文会在英文数字处换行但是我们往往不需要它换行 解决方…...

WPF——样式和控件模板、数据绑定与校验转换

样式和控件模板 合并资源字典 Style简单样式的定义和使用 ControlTemplate控件模板的定义和使用 定义 使用 Trigger触发器 数据绑定与校验转换 数据绑定的设置 代码层实现绑定 数据模板DataTemplate xml文件的读取与显示 方法的返回值作为源绑定到控件中ObjectDataProvider L…...

服务器数据恢复-raid5故障导致上层分区无法访问的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 一台服务器上3块硬盘组建了一组raid5磁盘阵列。服务器运行过程中有一块硬盘的指示灯变为红色&#xff0c;raid5磁盘阵列出现故障&#xff0c;服务器上层操作系统的分区无法识别。 服务器数据恢复过程&#xff1a; 1、将故障服务器上磁…...

石器时代H5小游戏架设教程

本文讲解石器时代 H5 之恐龙宝贝架设教程&#xff0c;想研究 H5 游戏如何实现&#xff0c;那请跟着此次教程学习在拥有小游戏源码的情况下该如何搭建起来 开始架设 1. 架设条件 石器时代架设需要准备&#xff1a; 一台linux 服务器&#xff0c;建议 CentOs 7.6 版本&#xf…...

计算机网络-网络协议

一、TCP/IP协议 作为一个小萌新&#xff0c;当然我无法将tcp/ip协议的大部分江山和盘托出&#xff0c;但是其中很多面试可能问到的知识&#xff0c;我觉得有必要总结一下&#xff01; 首先&#xff0c;在学习tcp/ip协议之前&#xff0c;我们必须搞明白什么是tcp/ip协议。 1、…...

多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现KOA-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现KOA-CNN-B…...

业务出海如何快速将站点搬迁到AWS云中?

随着国内市场趋于饱和&#xff0c;竞争压力越来越大&#xff0c;越来越多的企业选择出海&#xff0c;把业务放在海外做&#xff0c;从而追求更广阔的市场&#xff0c;获取更多客户。那都在讲出海&#xff0c;那怎么将站点完完整整的搬到海外呢&#xff1f;大家都会想&#xff0…...

ansible剧本playbook

Palybook组层部分 tasks 任务包含要在目标主机上执行的操作&#xff0c;使用模块定义这些操作&#xff0c;每个任务都是一个模块的调用variables变量:存储和传递数据&#xff0c;变量可以自定义&#xff0c;可以在palybook当中定义为全局变量&#xff0c;也可以在外部传参temp…...

.NET 中string类型的字符串内部化机制

当创建一个字符串时&#xff0c;如果具有相同字符序列的字符串已经存在于内存中&#xff0c;那么新创建的字符串会指向已经存在的那个字符串的内存地址&#xff0c;而不是创建一个全新的副本。这有助于节省内存&#xff0c;并提高字符串操作的效率。 因此相同内容的字符串变量…...

公共字段自动填充——后端

场景&#xff1a;当处理一些请求时&#xff0c;会重复的对数据库的某些字段进行赋值&#xff08;如&#xff1a;在插入和更新某个物品时&#xff0c;需要更新该物品的更新时间和更新者的信息&#xff09;&#xff0c;这样会导致代码冗余。 如&#xff1a; 思路&#xff1a; 自…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...

C++ 类基础:封装、继承、多态与多线程模板实现

前言 C 是一门强大的面向对象编程语言&#xff0c;而类&#xff08;Class&#xff09;作为其核心特性之一&#xff0c;是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性&#xff0c;包括封装、继承和多态&#xff0c;同时讨论类中的权限控制&#xff0c;并展示如何使用类…...

【汇编逆向系列】六、函数调用包含多个参数之多个整型-参数压栈顺序,rcx,rdx,r8,r9寄存器

从本章节开始&#xff0c;进入到函数有多个参数的情况&#xff0c;前面几个章节中介绍了整型和浮点型使用了不同的寄存器在进行函数传参&#xff0c;ECX是整型的第一个参数的寄存器&#xff0c;那么多个参数的情况下函数如何传参&#xff0c;下面展开介绍参数为整型时候的几种情…...