首页 > 数据库 >简单介绍数据库

简单介绍数据库

时间:2024-08-29 18:15:24浏览次数:8  
标签:存储 DBMS 数据库 用户 介绍 访问 简单 数据

基本概念

数据库(DataBase, DB)

定义

  • 数据库是相互关联的数据项的集合
  • 简单来说,就是 存储数据的地方

特点

  • 结构化:数据通常以表格、行和列的形式组织
  • 持久性:数据长期保存,防止丢失
  • 数据关联:数据项之间可以定义关系
    • 即不同的表格之间通过相同的信息联系起来,这个相同的信息就叫做 外键

    • 假设有两个表格:“员工”表和“部门”

      员工表记录了员工的信息,包括员工ID和 部门ID

      部门表记录了部门的信息,包括 部门ID 和部门名称

      两张表通过 部门ID 就能将员工和所属部门联系起来

数据库管理系统(DataBase Management System, DBMS)

定义

  • 数据库管理系统提供了一种存储和检索相互关联的数据的方法
  • 简单来说,就是 创建、管理和操作数据库的软件系统

特点

  • 数据操作:提供数据创建、读取、更新和删除的操作
  • 安全性:控制数据访问权限,保护数据免受未授权访问
  • 备份与恢复:支持数据的定期备份和灾难恢复

数据库系统(DataBase System, DBS)

定义

  • 数据库系统是DB、DBMS、支持 DBMS 运行的硬件设施以及与之相关的人员(包括维护人员、用户等等)的综合性系统

特点

  • 集成性:将数据库、DBMS、硬件和人员整合为一个完整系统
  • 兼容性和支持:数据库系统能够适配不同的硬件(例如: 接口设计)和提供必要的帮助和资源给维护和操作人员(例如: 文档、工具)
  • 应用性:提供一个运行环境,用于支持各种应用程序的数据处理需求

数据管理(Data Management, DM)

定义

数据管理是对数据的收集、存储、保护、备份和使用的过程,以确保数据的准确性、安全性和有效性

特点

  • 组织性:结构化处理和存储数据
  • 安全性:保护数据不被未授权访问
  • 质量控制:确保数据的准确性和一致性
  • 备份恢复:定期备份以防数据丢失
  • 高效存取:快速访问和使用数据

四者区别

  • 数据库 (DB): 存储数据的实际容器或存储介质
  • 数据库管理系统 (DBMS): 操作和管理数据库的软件工具
  • 数据库系统 (DBS): 是一个综合体系,包括数据库、DBMS、硬件和相关人员,整体用于高效地存储和处理数据
  • 数据管理 (DM):全面管理数据的过程,涵盖数据库、数据库管理系统和整个数据处理流程

其他概念

  • ER(实体-关系模型,Entity-Relationship Model)

    一种图形化的数据建模方法,用于展示数据实体及它们之间的关系。例如,ER图中有实体(如员工)和关系(如员工属于部门)

  • RDBMS(关系数据库管理系统,Relational Database Management System)

    一种DBMS,它使用表格来组织数据,并且表格之间可以通过关系链接。例如,MySQL和PostgreSQL

  • Schema(模式)

    数据库的结构定义,包括字段数据类型以及它们之间的关系。就像是数据库的蓝图

  • Instance(实例)

    数据库在特定时间点的数据状态。即数据库中存储的实际数据的快照

  • Physical level(物理层)

    数据在存储介质(如硬盘)上的实际存储方式。涉及如何高效地保存和检索数据

  • Logical level(逻辑层)

    数据的逻辑结构,即数据如何在数据库中组织,而不涉及具体的存储细节。关注数据的组织方式,如关系

  • View level(视图层)

    用户看到的数据视图,即数据的表现形式。让用户可以以适合自己需求的方式查看数据,但不需要关心数据是如何在数据库中实际存储的

  • SQL(结构化查询语言,Structured Query Language)

    一种用于操作和管理关系数据库的标准编程语言。例如,用于查询插入更新删除数据

  • DML(数据操作语言,Data Manipulation Language)

    SQL的一部分,用于查询修改数据。例如,SELECT、INSERT、UPDATE和DELETE语句

  • DDL(数据定义语言,Data Definition Language)

    SQL的一部分,用于定义修改数据库结构。例如,CREATE、ALTER和DROP语句

问题

1

截取自数据库课程的PPT,以下将解释这些问题

1. 大数据时代数据库的功能需求?

功能需求有很多,这里只列出几个很重要的需求:

  • 高效性:能快速处理和分析大规模数据
  • 安全性:保护数据不被未经授权访问或篡改
  • 高并发:支持高并发的用户和操作,保证系统在负载下的性能稳定,即用户之间的操作不冲突
  • 多样访问:支持多种数据操作方式,让用户更方便地获取和处理数据
  • 可靠性:系统稳定,能应对故障并确保数据不丢失

我们可以从不同的用户视角取考虑功能需求,比如开发人员就需要 编程方便 这样的需求

2. 为什么文件系统不能替代数据库?

在大数据时代,文件系统不适合复杂的数据管理,主要因为:

  • 数据重复和不一致:文件系统可能有重复的数据,不同文件间的数据不一致
  • 查询困难:文件系统不支持复杂查询,处理起来麻烦
  • 数据分散:数据存储在多个文件中,管理起来不方便
  • 数据完整性:保证数据的正确性和一致性依赖于应用程序自己实现检查规则。如果需要添加或修改数据规则,会很麻烦,因为这需要修改应用程序代码
  • 数据独立性差:文件结构变化时需要重写程序
  • 原子性:故障可能会使数据处于不一致的状态,并执行部分更新
  • 并发控制:文件系统处理多个用户访问的能力有限
  • 安全性:控制用户对特定数据的访问权限比较困难。也就是说,很难实现对某些数据开放访问,而对其他数据保密的要求。文件系统通常缺乏细粒度的访问控制,用户可能能够看到文件中的所有内容,而无法精确限制他们只能访问部分数据

数据库系统提供了更高效、可靠的数据管理方式,解决了这些问题

3. 数据访问/共享存在哪些需要解决的问题?怎么解决?

  • 数据安全性和隐私保护:

    • 问题: 确保数据在访问和共享过程中不会泄露或被未经授权的用户访问
    • 解决方案: 使用访问控制机制(如权限管理和身份验证),加密数据传输和存储
  • 数据一致性:

    • 问题: 当多个用户同时访问和修改数据时,可能会导致数据不一致
    • 解决方案: 使用事务处理机制,实施并发控制和锁机制,确保对数据的操作是原子性和一致性的
      • 事务处理机制: 确保一组数据库操作要么全部成功,要么全部失败,保持数据的完整性
      • 并发控制: 通过协调多个用户或进程同时访问数据,避免冲突和不一致
      • 锁机制: 防止多个操作同时修改同一数据项,从而保证数据的一致性和完整性
  • 数据完整性:

    • 问题: 数据在存储和共享过程中可能会出现错误或不一致。
    • 解决方案: 设置完整性约束(如数据库中的唯一性约束和外键约束),定期进行数据验证和清理
  • 数据访问控制:

    • 问题: 需要控制哪些用户或应用程序可以访问或修改数据
    • 解决方案: 实施细粒度的权限管理,定义用户角色和权限,使用认证和授权机制
  • 数据共享的标准化:

    • 问题: 不同系统或应用程序可能使用不同的数据格式和标准,导致数据共享困难
    • 解决方案: 采用标准化的数据格式和协议(如JSON、XML),使用中间件或API来转换和整合数据
  • 数据冗余和同步:

    • 问题: 数据在不同系统或位置可能会出现重复或同步问题
    • 解决方案: 实现数据去重和同步机制,定期同步数据,避免重复存储

4. 接口方式访问数据时灵活性差,用什么方法才能方便用户任意访问数据?

5. 应用程序如果想和DBMS交互,什么方式比较友好?

6. 不理解的图片,先放在这

1

标签:存储,DBMS,数据库,用户,介绍,访问,简单,数据
From: https://www.cnblogs.com/winter-z/p/18386945

相关文章

  • python读取配置文件&&简单封装 公共配置文件 config
    之前有做过把爬虫数据写到数据库中的练习,这次想把数据库信息抽离到一个ini配置文件中,这样做的好处在于可以在配置文件中添加多个数据库,方便切换(另外配置文件也可以添加诸如邮箱、url等信息)1.configparser模块python使用自带的configparser模块用来读取配置文件,配置文......
  • 【挖矿病毒】简单逆向分析
    在虚拟机中执行explorer.exe后,它会在/Windows/Fonts/目录中释放恶意文件,包括主加密挖掘程序文件、包含启动挖掘过程的恶意命令的批处理文件以及两个注册表文件,其注册表子项和值稍后将被插入到系统注册表使用regedit.exe。释放的恶意文件包括:svchost.exe1.batserver.reg......
  • 【挖矿病毒】介绍
    挖矿病毒是一种恶意软件,它会感染计算机系统,并利用系统资源(如CPU或GPU)来进行加密货币挖矿,而不经用户许可。这种病毒会使计算机变得缓慢,并可能导致系统崩溃或其他问题。挖矿病毒通常会隐藏在下载的文件、恶意链接或被感染的软件中,并在用户不知情的情况下运行。一旦感染了计算机系......
  • 【性能优化+数据库】读写分离方案
    读写分离是一种常见的优化方案,旨在通过将读操作、和写操作分开,如下图所示:大致的原理,如下:【主库(Master)】:负责处理所有的写操作(比如:插入、更新、删除......)、和写操作相关的事务;【从库(Slave)】:负责处理读操作(查询),通过主从复制机制从主库同步数据;【复制机制】:主库将数据更改记......
  • 你一定想知道的Redis数据库详解
    目录一、Redis介绍1.1定义1.2为什么要有Redis1.3Redis和Mysql的对比1.4Redis的一些常见命令二、Redis常见的数据结构一、字符串(String)二、哈希(Hash)三、列表(List)四、集合(Set)五、有序集合(SortedSet)三、Redis的应用场景四、实验练习4.1redis部署实验环境:实验......
  • ci3使用PDO连接数据库
    $db['default']=array('dsn'=>"mysql:host=localhost;dbname=test;charset=utf8",//设置数据库连接字符串'hostname'=>'localhost','username'=>'root','password......
  • Oracle DB 因宿主机(Linux 虚拟机)意外关停,重启数据库步骤
    前期准备:示例的linux版本为:linux9宿主机重启后,如果之前挂载的oraclehome路径及环境变量未生效,需要先重新设置:exportORACLE_SID=FREEexportORAENV_ASK=NO./opt/oracle/product/23ai/dbhomeFree/bin/oraenv前往home路径下的bin文件夹下进行操作:cd$ORACLE_HOME/bin......
  • 经典统计 与 贝叶斯统计介绍
    1.经典统计经典统计使用频率学派的方法,依赖于样本数据的频率分布进行推断。在经典统计中,参数被认为是固定但未知的,而推断过程主要是基于样本数据的统计性质进行。常见的经典统计方法包括置信区间、假设检验等。思想:从样本中直接观察频率,然后通过该频率来估计总体的参数。......
  • 通过vue-draggable-plus实现一个简单的菜单拖拽功能
    <divclass="my-content-list"v-draggable="[nameList,{animation:300,}]":onStart="onStart":onUpdate="onUpdate">......
  • 自我介绍+软工5问
    |这个作业属于哪个课程|计科22级12班||-----------------|---------------||这个作业要求在哪里|作业要求||这个作业的目标|学习如何使用博客园、MarkDown、GitHub|自我介绍大家好,我是22级计算机科学与技术专业的余李烨,一个热爱生活、热衷于探索新知识的同学。......