数据库系统概述

什么是数据库?

数据库是一个以某种有组织的方式存储的数据集合。也就是:保存有组织数据的容器(一个文件或一组文件)

为什么我们需要数据库?

毫无疑问,数据库是用来存储数据的。我们对excel肯定不会陌生,excel也是用来存储数据。那既然有excel这样非常好用的软件了,为什么需要数据库呢??

  • excel存储的数据量太少了。由于我们网络发展,excel的存储量远远不能支撑我们的需求。
  • excel数据无法多人共享。excel只是一个单一的文件,只能是当前的用户使用并修改。
  • 数据安全性。如果硬盘奔溃了,excel的数据会丢失掉了。

数据库就解决了上面的问题,并且数据库以特殊的机制管理数据文件,对数据有极高的读写速度,大大超过了操作系统对常规文件的读写速度。

数据库系统的组成

数据库系统由三个层次组成:

  • 数据库(dataBase)
    • 存放数据的仓库,按照一定的格式(有组织的方式)进行储存
  • 数据库管理系统(dataBase Manager System)
    • 建立、管理、维护数据库的系统软件
  • 数据库应用系统(dataBase Application System)
    • 使用到数据库技术的应用软件

这里写图片描述


数据描述与数据模型

理解数据描述

我们在现实生活中描述一个事物是非常简单的,看到“一棵树”,就说是“一棵树”。

但怎么把“一棵树“在计算机描述起来呢??计算机只识别0和1,”一棵树“是不能直接存储到计算机上的!

于是乎,我们就把”一棵树“抽象出来,形成信息世界的概念模型。然后将概念模型的形式化成是DBMS支持的数据模型,存储在计算机中。

简单来说:数据描述就是将现实世界中的实物抽象出来,形成概念模型。把概念模型的形式转换成是DBMS支持的类型,然后存储到计算机中!


理解数据模型

数据模型主要用来描述数据!上边已经说了,当我们想在计算机上存储现实事物的数据时,需要先抽象成概念模型。将概念模型转换成DBMS支持的数据模型,就可以把事物存储到计算机中!

数据模型一般由三个部分组成:

  • 数据结构(对象与对象之间的关系)
  • 数据操作(增删改查)
  • 完整性约束(限定数据是有一定规则的,比如:年龄不能为负数)

数据模型也经历了一个发展阶段:

①:层次模型,是一种树型(层次)结构来组织数据的数据模型。

这里写图片描述

优点:

  • 结构清晰,容易理解
  • 节点之间联系可以通过指针来实现,查询效率高

缺点:

  • 对于非层次结构的数据,表示起来非常麻烦,不直观!

②:网状模型, 是用有向图结构来组织数据的数据模型

这里写图片描述

优点:

  • 非常灵活,更能直接地描述现实世界的事物

缺点:

  • 结构复杂,非常难维护

③:关系模型,是一种用二维表格结构表示数据及数据之间联系的数据模型。

关系模型是我们现在用得最多的数据模型。

优点:

  • 数据结构简单、清晰。无论实体还是实体集,都用相对应的二维表来表示!
  • 有严格的数学理论根据。各种关系运算(后面会讲到)

缺点:

  • 查询效率比非关系模型查,尤其是多表查询的时候!

术语(基本概念)

我们对照着课程关系表来讲解吧:

实体(Entity)

客观存在并可相互区别的事物称之为实体。可以看成是Java类

例子:(课程关系表)就是一个实体。


属性(Attribute)

实体所具有的某一特性称之为属性。可以看成是Java类的成员变量。属性在数据库中又称为字段(或者是列)

例子:(课程名),(课程号)、(学时)就是属性名。


元组

除含有属性名所在的行之外的其他行称之为元组。

下面的每一行数据都称之为元组
(C401001 数据结构 70)
(C401002 操作系统 80)
(C402001 计算机原理 60)


码(Key)

码也被称作是关键字。它可以唯一标识一个实体。

候选码和主码:

  • 候选码:如果一组属性集能唯一地标识一个关系中的元组而又不含有多余的属性,则称该属性集为该关系的候选码 。(候选码可能不止有一个)
  • 主码:用户选定的那个候选键称为主键

例子:邮寄地址(城市名,街道名,邮政编码,单位名,收件人)

它有两个候选键:{城市名,街道名} 和 {街道名,邮政编码}

如果我选取{城市名,街道名}作为唯一标识实体的属性,那么{城市名,街道名} 就是主码


关系模式

关系名和其属性集合的组合称之为关系模式。

关系模式例子:课程关系表(课程号,课程名,学时)

提示:关系模型就是关系模式组成的集合


域

关系模型要求元组的每一个分量都是原子性的,也就是说,它必须属于某种元素类型,如Integer、String等等,不能是列,集合,记录,数组!

域就代表着该元组中每个分量的类型,从上面的图我们可以看出,它的域是这样的:课程号:string,课程名:string,学时:int


数据库体系内部结构

数据库的体系内部结构我们可以分为三层:

  • 外模式
  • 逻辑模式
  • 内模式

三级模式的位置:

这里写图片描述

三级模式的作用:

这里写图片描述

逻辑模式

逻辑模式是对数据库全部数据的整体逻辑结构的描述。

例子:现在我有一个数据库,操作权限、角色、用户之间的关系

于是有了以下的关系模式

  • 权限关系(权限编号,权限名称,权限描述)
  • 角色关系(角色编号,角色名称,角色描述)
  • 用户关系(用户编号,用户名称,用户密码)

在数据库中所有关系模式的集合就组成了逻辑模式!


外模式

外模式是对数据库用户能看见和使用的局部数据逻辑结构的描述,是与某一应用有关的数据的逻辑表示。

外模式是可以有多个的,外模式是用户和DBAS的接口,是对局部逻辑结构的描述!

当用户应用程序只需要显示用户名称和密码时:

  • 用户关系(用户名称,用户密码)

在数据库中操作局部逻辑结构就称作为外模式!


内模式

内模式是对数据库表物理存储结构的描述。它定义了数据的内部记录类型、记录寻址技术、索引和文件的组织方式及数据控制方面的内容

这里写图片描述


DB内部体系结构的两级映像

两级映像分别是:

  • 外模式和逻辑模式的映像
  • 逻辑模式和内模式的映像

这里写图片描述

提出两级映射的概念有什么用呢?为什么需要有这两级映像呢??

  • 当数据库的逻辑模式结构因某种原因修改时,只要没有改变逻辑模式中与外模式定义有关的属性及与其关系模式名的隶属关系,就可使外模式保持不变,从而不需修改应用程序。
  • 当数据库的内模式由于某种原因要修改时,可通过对逻辑模式与内模式之间的映象的修改,使逻辑模式尽可能地保持不变,实现内模式的改变尽可能地不修改应用程序。

也就说:在改变内部结构的时候,只要不会触及外部的数据时,外部的数据并不需要做改变。两级映像概念的提出也就是程序中耦合的问题!


<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
手把手推导Cuk/Sepic/Zeta的传递函数:用LTspice仿真验证,避开理论计算的坑 本文详细介绍了如何通过LTspice仿真验证Cuk、Sepic和Zeta拓扑的传递函数,揭示理论计算与实际电路的差异。文章涵盖元件建模、仿真设置、动态响应测试及参数优化等关键步骤,帮助工程师避开电力电子设计中的常见陷阱,提升设计效率与准确性。 阅读详情

相关推荐

Jenkins+docker 微服务实现自动化部署安装和部署过程

本文详细介绍了如何使用Docker部署Jenkins自动化服务器。主要内容包括:1)拉取Jenkins官方或BlueOcean镜像;2)创建容器并配置端口映射、数据卷挂载;3)设置防火墙规则;4)配置清华大学镜像加速;5)安装必要插件;6)SSH密钥配置;7)构建触发器设置;8)编写自动化构建脚本。通过Docker部署Jenkins可以简化安装流程,确保环境一致性,并利用容器特性实现快速启动和管理。文章提供了完整的配置步骤和注意事项,帮助用户快速搭建CI/CD环境。

qq_33665793的博客 1694

数据库系统概论

数据库 DataBase

Edward2022的博客 4540

Win10下ISE14.7安装避坑全记录:从License加载失败到ChipScope连不上,我踩过的雷都在这了

本文详细记录了在Win10系统下安装ISE14.7时遇到的常见问题及解决方案,包括License加载失败、IMPACT闪退、ChipScope连接故障等。通过实际案例和步骤解析,帮助用户避开安装陷阱,确保FPGA开发工具顺利运行。特别针对license问题提供了兼容性设置和文件修改的实用技巧。

weixin_42683394的博客 228

数据库系统概论(知识整理)你值得拥有

这里写目录标题数据库系统概论第一章:1.数据库的四个基本概念a.数据(date):b.数据库(DateBase,DB):c.数据库管理系统(DateBase Management System,DBMS):主要功能:d.数据库系统(DateBase System DBS):数据库系统总结数据结构化:数据的共享性高,冗余度小,易扩展:数据独立性高:数据由数据库管理系统统一管理和控制:数据安全性保护:数据完整性检查:并发控制:数据库恢复:2.数据模型:数据模型组成要素:数据结构:数据操作:数据的完整性约束条件:

qq_51553982的博客 7035

【重磅更新】CT/MRI LI-RADS 2024:肝细胞癌局部区域治疗后反应评估的核心突破与临床实践指南

减少过度治疗:辐射 LRT 的 Nonprogressing 类别避免了 “持续强化 = 存活” 的误判,降低不必要的再治疗风险;提高检出效率:非辐射 LRT 的辅助特征升级减少了 Equivocal 比例,更早识别存活肿瘤;统一评估语言:标准化的分类标准为放射科、肝病科、肿瘤科、肝移植科的多学科协作(MDT)提供了统一 “沟通工具”,助力治疗方案的精准制定。

楚山之石的博客 1226

STM32CubeIDE串口打印浮点数踩坑实录:5分钟搞定printf输出小数(附完整配置截图)

本文针对STM32CubeIDE中串口无法打印浮点数的常见问题,提供了详细的解决方案。核心在于通过添加“-u _printf_float”链接器参数,启用标准库的浮点数格式化支持。文章附有完整的配置截图和步骤,并提供了系统性的排查清单,帮助开发者快速解决printf输出小数的问题。

weixin_29163797的博客 344

数据库系统概论总结

第一章 数据库概论 1.1 数据库系统概念 1.1.1 数据库的四个概论 数据、数据库、数据库管理系统、数据库系统 1.1.2 数据库系统的特点 1.2 数据库数据模型 1.2.1 数据模型的概 1.2.2 数据模型要求 1.2.3 数据模型分类:概念模型(通常E_R图表示)、逻辑模型(现主流关系型)、物理模型 1.2.4 概念模型的概述:E_R图、实体、属性、码、域、实体集、联系(一对一、一对多、多对多) 1.2.5 数据模型的组成:数据结构、数据操作、数据完整性约束 1.2.6 常见逻辑模型:层次模型、

weixin_48589156的博客 3723

ROS2机械臂MPC轨迹规划实战:从MoveIt 2插件配置到参数调优全流程

本文详细介绍了ROS2机械臂MPC轨迹规划的全流程,从MoveIt 2插件配置到参数调优。通过模型预测控制(MPC)技术,实现高精度运动控制,特别适合复杂装配任务。文章包含环境搭建、插件部署、参数设计及实战调优方法,帮助开发者快速掌握ROS2机械臂的MPC轨迹规划技术。

i0j1k2l3m的博客 208

数据库系统原理总结之——数据库系统概述

数据(Data):描述事务的符号记录,是指用物理符号记录下来的 、可以鉴别的信息。数据库(DB):指长期储存在计算机中的有组织的 、可共享的数据集合。数据库管理系统(DBMS):专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。数据库系统(DBS):指在计算机中引入数据库技术之后的系统。包括 :数据库 、数据库管理系统 以及相关实用工具 、应用程序 、数据库管理员和用户。

run__ning的博客 1369

C#实现将DataGridView中数据导出到Excel (附完整源码)

C#实现将DataGridView中数据导出到Excel (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1589

uni-app - 刘海屏(Iphone X)底部横杠(——)白色区域块(安全距离处更改颜色)解决方案

场景:因为要做无tabbar页面,所以在配置文件中取消底部导航栏。取消后,iPhoneX(刘海屏)底部就出现如下图所示白色安全区域问题:这个问题,是因为uni-app默认会为iPhoneX(刘海屏)留出安全距离,这个安全距离的背景色就是白色。所以,如果你将页面颜色设置为其他颜色,就会与默认白色冲突。有2个不同的解决方案(原生占位),虽然原理是一样,但使用的场景不同,请根据您的需求来采纳。

🏆 前端领域优质创作者 1万+

数据库系统的概述

数据库的发展,数据库的定义,数据库管理系统的功能,数据库体系结构,数据模型,尤其是ER图的画,配练习题。

全栈川川 1738

【数据集】MODIS 的 MOD07 大气廓线产品概述及下载

MODIS 的 MOD07 大气廓线产品概述及下载

WW、forever的博客 552

【数据库系统概述】之一 绪论

数据库系统概述

weixin_56956399的博客 1035

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【数据库系统-1】数据库系统概述

本节先对数据库系统有个全貌的了解。 数据库的4个基本概念 数据:Data,数据库中存储的基本对象,包含但不局限于数字、文字、图形、图像、音频、视频 数据库:Database,是长期储存在计算机内、有组织的、可共享的大量数据的集合 数据库管理系统:DBMS,位于用户与OS之间的一层数据管理软件,负责科学地组织和存储数据、高效地获取和维护数据,功能包括: 数据定义功能 数据组织、存储和管理 数据操纵功能 数据库的事务管理和运行管理 数据库的建立和维护功能 数据库系统:DBS,是数据库、数据库管理系统、应用.

Andy 285

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数据库系统-概述

数据库系统-概述 数据库技术是数据管理的最新技术,是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它是专门研究如何科学地组织和存储数据,如何高效地获取和处理数据的技术。它已成为各行各业存储数据、管理信息、共享资源和决策支持的最先进、最常用的技术。 数据库(Database),简单地说就是数据的仓库,即数据存放的地方。在现实世界中,存在许多数据库的例子,如手机通信录是一个关于联系人信息的小型数据库,图书馆则是一个各类馆存图书的大型数据库。小型数据库尚可用手工管理,而大型数据库必须由计算机辅助管理

小旺的博客 1640

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 权限管理系统
下一篇: Oracle数据库安装
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值