详解数据库系统概述
数据库系统概述
- 1. 数据库(Database)
- 1.1 定义:
- 1.2 特点:
- 1.3 举例:
- 2. 数据库管理系统(DBMS:Database Management System)
- 2.1 定义:
- 2.2 DBMS 的主要功能:
- 2.3 常见的数据库管理系统:
- 2.4 工作流程(类比):
- 3. 数据库系统(Database System)
- 3.1 定义:
- 3.2 组成:
- 3.3 举例:
- 三者的关系
- 举例:以电商系统为例
- 总结(《数据库系统概论》)
- 数据库
- 数据库管理系统(DBMS)
- 数据库系统(DBS)
1. 数据库(Database)
1.1 定义:
数据库是存储数据的地方,通过特定的组织方式把大量的数据存储在一起,便于后续的管理、查询和使用。
-
“数据”是什么?
数据是我们身边信息的记录,比如超市里的商品清单、公司里的员工工资表、学校里的学生成绩表。这些信息都可以被记录、存储,成为“数据”。 -
“库”是什么?
“库”就是存储的地方。数据库类似一个数据仓库,它帮助我们有条理地存储这些数据。
1.2 特点:
- 有组织性:数据按照一定的结构存储,比如分成表格,每一行是一条记录,每一列是一个字段(比如名字、年龄、职位等)。
- 持久性:数据库中的数据存储在磁盘中,断电也不会丢失。
- 共享性:多个用户可以同时访问数据库中的数据。
- 关系性:数据之间存在某种关联(如用户和订单之间的关联)。
1.3 举例:
假如我们在超市工作,超市每天都有很多商品要我们记录:
- 数据库中可能会有几张表:
- 商品表:记录商品的名称、价格、库存。
- 订单表:记录每笔订单的商品编号、数量、客户名称。
- 客户表:记录客户的姓名、联系方式等信息。
数据存储在表中,比如“商品表”的数据可能是这样的:
商品编号 | 商品名称 | 价格 | 库存量 |
---|---|---|---|
1001 | 苹果 | 5.00 | 100 |
1002 | 香蕉 | 3.00 | 50 |
1003 | 西瓜 | 20.00 | 30 |
这样的表格存储在数据库中,我们就可以随时查找和操作这些数据。
2. 数据库管理系统(DBMS:Database Management System)
2.1 定义:
数据库管理系统是用于管理数据库的软件工具,它是一个“中间人”,帮助用户和程序高效、安全地与数据库交互。
- 如果数据库是“仓库”,DBMS 就是“仓库管理员”。
- 用户(或应用程序)不用直接去翻找数据,而是通过 DBMS 去管理、查询和操作数据库。
2.2 DBMS 的主要功能:
- 数据存储:提供高效的存储机制,支持大规模数据的存储。
- 数据查询和检索:通过查询语句(如 SQL)快速查找所需数据。例如,“查找所有库存少于 50 的商品”。
- 数据更新:支持对数据进行增删改操作。
- 数据安全性:控制哪些用户能访问哪些数据(权限管理)。
- 并发控制:多用户同时操作时避免冲突,比如两个人同时购买同一件商品,库存不会出错。
- 备份与恢复:保证数据不会丢失,即使发生系统故障也能恢复。
- 数据完整性:确保数据的正确性和一致性,比如禁止订单中出现不存在的商品编号。
2.3 常见的数据库管理系统:
-
关系型数据库管理系统(数据以表格形式存储):
- MySQL:开源,使用最广泛的数据库之一。
- Oracle:功能强大,多用于企业级项目。
- SQL Server:微软开发,集成于 Windows 环境中。
- PostgreSQL:功能强大,支持复杂的关系数据。
-
非关系型数据库管理系统(数据不以表格形式存储):
- MongoDB:用 JSON 格式存储数据,适合处理大量非结构化数据。
- Redis:内存数据库,速度极快,适合实时应用。
2.4 工作流程(类比):
- 用户通过一个超市管理系统,想知道“苹果的库存量”。
- 管理系统会向数据库管理系统(DBMS)发送一个查询请求。
- DBMS 查询数据库后返回结果:苹果库存量是 100。
用户并不需要直接访问数据库,所有的操作都通过 DBMS 完成。
3. 数据库系统(Database System)
3.1 定义:
数据库系统是一个完整的生态系统,包括:
- 数据库(Database):存储数据的地方。
- 数据库管理系统(DBMS):管理数据库的软件。
- 应用程序:与数据库交互的程序,如 ERP 系统、超市收银系统等。
- 用户:操作和使用数据库的人,包括普通用户和数据库管理员。
3.2 组成:
数据库系统是一个整体,不只是单一的数据库或 DBMS,而是把存储数据、管理数据的软件,以及使用这些数据的用户和应用程序都包括在内。
3.3 举例:
以一个超市为例:
- 数据库:存储商品、订单、客户等数据。
- 数据库管理系统(DBMS):MySQL,用来管理这些数据。
- 应用程序:超市管理系统(前端和后台)通过 DBMS 访问数据库。
- 用户:
- 超市的普通员工:用系统查商品库存。
- 超市的管理员:更新商品价格。
- 程序员:负责维护数据库系统。
三者的关系
- 数据库是数据的存储容器,记录了实际的数据内容。
- DBMS是管理和操作数据库的工具,为用户和应用程序提供接口。
- 数据库系统是更大的系统,包含数据库、DBMS、应用程序、用户,协同完成数据的存储和使用。
举例:以电商系统为例
假如我们有一个小型电商网站,这个系统中包含以下部分:
-
数据库(Database):
- 用户表:存储用户的信息(如姓名、邮箱、密码)。
- 商品表:存储商品的信息(如名称、价格、库存量)。
- 订单表:存储每个订单的详情。
-
数据库管理系统(DBMS):
- 使用 MySQL 作为 DBMS,负责查询、插入、删除数据。
- 例如,管理员想添加一件商品“蓝牙耳机”,通过 DBMS 发送一条 SQL 语句
INSERT INTO 商品表 ...
。
-
数据库系统(Database System):
- 包括:
- 数据库:保存用户、商品、订单等数据。
- DBMS:MySQL,提供操作数据的能力。
- 应用程序:电商网站的前端和后台。
- 用户:客户、管理员、开发人员。
- 包括:
总结(《数据库系统概论》)
数据库
所谓数据库,就是长期存储在计算机内有组织、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的数据冗余、较高的数据独立性和可拓展性,并可为各种用户所共享。
数据库管理系统(DBMS)
数据库管理系统是位于用户与操作系统之间的数据管理软件。它和操作系统一样是计算机的基础软件,也是一类大型复杂的软件系统。他的主要功能包括以下几个方面:
- 数据定义功能。数据库管理系统提供数据定义语言(DDL:data definition language)。
- 数据组织、存储和管理功能。
- 数据操纵功能。数据库管理系统提供数据操纵语言(DML:data manipulation language)。
- 数据库的事务管理和运行管理功能。
- 数据库的建立和维护功能。
- 其他功能。包括数据库管理系统与网络中其他软件系统的通信功能、一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能、异构数据库之间的互访和互操作功能等。
数据库系统(DBS)
数据库系统是指引入数据库后的计算机系统,一般是指由数据库管理系统(及其应用开发工具)、应用系统和数据库管理员组成的存储、管理、处理和维护数据的系统。
相关文章:
详解数据库系统概述
数据库系统概述 1. 数据库(Database)1.1 定义:1.2 特点:1.3 举例: 2. 数据库管理系统(DBMS:Database Management System)2.1 定义:2.2 DBMS 的主要功能:2.3 常…...

Windows的docker中安装gitlab
一.Windows的docker中安装gitlab 1.通过阿里云拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh 2.在本地创建备份数据的目录 mkdir -p D:home/software/gitlab/etc mkdir -p D:home/software/gitlab/logs mkdir -p D:home/software/gitlab/dat…...

基于微信小程序的健身管理系统设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

windows 安装 mysql 教程
一、下载 点开下面的链接: https://downloads.mysql.com/archives/community/ 点击Download 就可以下载对应的安装包了, 安装包如下: 二、解压 下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 8.0.28 的软件本体了(就是…...

Vue2+OpenLayers初始化高德地图
目录 一、案例截图 二、完整代码 一、案例截图 二、完整代码 一键复制即可运行: <template><div id"map-container"></div> </template> <script> import { Map, View } from ol import { Tile as TileLayer } from ol…...

六、深入了解DI
依赖注入是⼀个过程,是指IoC容器在创建Bean时,去提供运⾏时所依赖的资源,⽽资源指的就是对象. 在上⾯程序案例中,我们使⽤了 Autowired 这个注解,完成了依赖注⼊的操作. 简单来说,就是把对象取出来放到某个类的属性中。 关于依赖注…...

IMX6ull项目环境配置
文件解压缩: .tar.gz 格式解压为 tar -zxvf .tar.bz2 格式解压为 tar -jxvf 2.4版本后的U-boot.bin移植进SD卡后,通过串口启动配置开发板和虚拟机网络。 setenv ipaddr 192.168.2.230 setenv ethaddr 00:04:9f:…...

Edge-TTS在广电系统中的语音合成技术的创新应用
Edge-TTS在广电系统中的语音合成技术的创新应用 作者:本人是一名县级融媒体中心的工程师,多年来一直坚持学习、提升自己。喜欢Python编程、人工智能、网络安全等多领域的技术。 摘要 随着人工智能技术的快速发展,文字转语音(Te…...

芸众商城小程序会员页面部分图标不显示问题解决办法
我遇到的问题 如下图所示,会员中心这里的图标在小程序端显示异常。但是在网页端又是能够正常显示的。 小程序端截图: 网页端截图: 我的解决方法 检查使用的小程序版本,比如这里使用的是1.2.238版本的小程序,最后…...

手机app如何跳过无障碍权限实现弹框自动点击-ADB连接专题
手机app如何跳过无障碍权限实现弹框自动点击 --ADB连接专题 一、前言 我们在前期的时候,在双SIM卡进行协同外呼和SIM卡切换时,对如何在手机中“执行批处理脚本做自动点击”的内容进行预研,力图使用事件触发和坐标点击等方式来实现手机安装…...
「 机器人 」扑翼飞行器控制的当前挑战与后续潜在研究方向
前言 在扑翼飞行器设计与控制方面,虽然已经取得了显著的进步,但在飞行时间、环境适应性、能量利用效率及模型精度等方面依旧存在亟待解决的挑战。以下内容概括了这些挑战和可能的改进路径。 1. 当前挑战 1.1 飞行时间短 (1)主要原因 能源存储有限(电池容量小)、驱动系…...

Vue入门(Vue基本语法、axios、组件、事件分发)
Vue入门 Vue概述 Vue (读音/vju/,类似于view)是一套用于构建用户界面的渐进式框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三…...
DELL EDI:需求分析及注意事项
Dell 的 EDI 需求分析 1.对接 Dell 需要使用的 EDI 传输协议 Dell 支持的传输方式包括: AS2(Applicability Statement 2):主要用于安全可靠的数据传输,在使用 AS2 时,所有数据都通过 HTTPS 或 HTTP 协议…...

计算机网络 (62)移动通信的展望
一、技术发展趋势 6G技术的崛起 内生智能:6G将强调自适应网络架构,通过AI驱动的智能算法提升通信能力。例如,基于生成式AI的6G内生智能架构将成为重要研究方向,实现低延迟、高效率的智能通信。信息编码与调制技术:新型…...
java 中多线程、 队列使用实例,处理大数据业务
场景: 从redis 订阅数据 调用线程来异步处理数据 直接上代码 定义线程管理类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org…...
13.图形程序接口(Graphics API)
**图形程序接口(Graphics API)**是计算机图形学中的一个重要概念,可以理解为“程序员与GPU之间的桥梁”。用通俗易懂的方式来解释: 通俗解释:图形API就像翻译官 想象你是一个老板(程序员)&…...
PPT自动化 python-pptx -7: 占位符(placeholder)
占位符(placeholder)是演示文稿中用于容纳内容的预格式化容器。它们通过让模板设计者定义格式选项,简化了创建视觉一致幻灯片的过程,同时让最终用户专注于添加内容。这加快了演示文稿的开发速度,并确保幻灯片之间的外观…...

Pyecharts之图表组合与布局优化
在数据可视化中,我们经常需要将多个图表组合在一起,以展示不同维度的数据或者进行对比分析。同时,合理的布局能够提升图表的可读性和用户体验。Pyecharts 提供了强大的组件和方法,让我们可以轻松实现图表的组合和布局优化。本篇将…...

流行的开源高性能数据同步工具 - Apache SeaTunnel 整体架构运行原理
概述 背景 数据集成在现代企业的数据治理和决策支持中扮演着至关重要的角色。随着数据源的多样化和数据量的迅速增长,企业需要具备强大的数据集成能力来高效地处理和分析数据。SeaTunnel通过其高度可扩展和灵活的架构,帮助企业快速实现多源数据的采集、…...
Android vendor.img中文件执行权问题
问题 Android 9、11往vendor.img增加文件,烧写到设备后发现增加的可执行文件没有执行权限。经过漫长查找,终于找到了问题的根源,谨以此篇献给哪些脚踏实地的人们。 根本原因 system/core/libcutils/fs_config.cpp文件,fs_confi…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...