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

数据库系统概念(第一周)

⚽前言

🏐四个基本概念 

一、数据

定义

种类

特点

二、数据库

三、数据库管理系统(DBMS)

四、 数据库系统(DBS)

🏀数据库系统和文件系统对比

文件系统的弊端

🥎数据视图

数据抽象

物理层

逻辑层

视图层

总结(见图)

实例和模式:

模式

模式分类:

模式映像 

实例

🎱数据模型


前言

本文的所有知识点、图片均来自《数据库系统概念》(黑宝书)、山东大学李晖老师PPT。不可用于商业用途转发。

四个基本概念 

一、数据

数据不是依赖于处理过程的附属品而是现实世界中独立存在的对象

定义

        1、描述事务的符号记录

        2、显示世界运转留下的痕迹

种类

        数值、字符、BLOB、CLOB、data、time

特点

        数据与语义是不可分的(解释数据仅有value无法理解数据,没有确定语义的数据没有意义)

二、数据库

数据库(DB)是长期存储再计算机内,有组织、可共享大量数据集合。底层是文件系统,靠操作系统实现管理。

长期:意味着要处理原子性问题,发生故障能够恢复数据

有组织:意味着物理层和逻辑层两个level的处理,使得数据存储利用率高、存取效率高

共享:意味着能够并发操作

大量:文件系统的处理上限为100w行记录,数据库远大于这个值

三、数据库管理系统(DBMS)

数据库是数据集合,生成并管理数据库的程序就是数据库管理系统,例如:MySQL、Oracel等。当然数据库管理系统也要提供访问这些数据、可视化操作的功能

DBMS和编译系统同等地位,他们都能直接接触操作系统对计算机硬件进行操作 

四、 数据库系统(DBS)

数据库系统是一个集成的概念,包括数据库管理系统、应用程序、数据库、数据库开发人员、用户

数据库系统和文件系统对比

文件系统的弊端

一、数据的冗余和不一致(redundancy and inconsistency)

二、数据访问困难(access)

三、数据孤立(data isolation):数据格式、类型在长期运营中可能发生变化,彼此孤立,需要重新写程序

四、完整性问题(integrity):数据库中所有数据应该满足某些特定的一致性约束条件

五、原子性问题(atomicity promblem):原子的——要么一起发生,要么一起不发生。系统故障时如何处理恢复

六、并发访问异常(concurrent):不同应用程序同时访问时,需要去合理管理使其有序

七、安全性问题

数据视图

数据库系统的一个主要功能就是给用户提供数据的抽象视图,也就是说系统隐藏关于数据存储和维护的细节,仅仅提供用户它所需要的数据视图,用于让用户能够使用数据

数据抽象

为了隐藏数据存储和维护的细节,数据库设计师将数据库分为了几个层次,不同层次对不同人开放。主要有物理层、逻辑层和视图层。

物理层

描述数据实际上的存储方式,描述底层的数据结构

逻辑层

描述数据库中存储了什么数据(数据类型、数据种类),以及这些数据间存在什么关系。学习数据库、做前后端开发主要研究的还是逻辑层的设计和开发

视图层

视图层就是针对不同用户群体,给他们提供逻辑层的部分信息。其他不需要的信息在视图层进行隐藏。同时,屏蔽数据类型等细节,也不予完整的数据库访问权

总结(见图)

实例和模式:

模式

数据库的总体设计叫做数据库模式

模式分类:

物理模式(内模式):在物理层描述数据库的设计

逻辑模式(模式):在逻辑层面描述数据库的设计(也是前后端开发人员主要的工作)

子模式(外模式):在视图层面描述数据库不同视图的分配

模式映像 

三级模式有两级映像。映像存在的意义就是在底层模式发生变化的时候,外模式下的应用程序不会受到影响。保证各个模式中的数据的独立性

实例

特定时刻存储在数据库中的信息的集合

数据模型

关系模型:目前主流的数据库模型。更加详细的解释在后续文章中给出。

实体-联系模型:底层思想:现实世界由一组称为实体的对象及这些对象间的联系构成

本文到这里就结束啦~~又肝到了12点 ,求求点个赞吧

相关文章:

  • 数据结构 - 栈和队列
  • lua与C++粘合层框架
  • Clickhouse表引擎介绍
  • ARM单片机中程序在ROM空间和RAM空间的分布(分散加载文件,Scatter-Loading Description File)
  • Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!
  • 产品推荐 - 基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板
  • ORACLE基于归档号增量恢复
  • windows关闭copilot预览版
  • 分布式定时任务调度xxl-job
  • ElevenLabs用AI为Sora文生视频模型配音 ,景联文科技提供高质量真人音频数据集助力生成逼真音效
  • HTML—常用标签
  • Rust 语言的 async 关键字
  • Linux系统——Haproxy高性能负载均衡软件
  • 初阶数据结构之---二叉树的顺序结构-堆
  • 网站被插入虚假恶意链接怎么办?
  • 深入了解以太坊
  • 10个确保微服务与容器安全的最佳实践
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • HTTP中GET与POST的区别 99%的错误认识
  • in typeof instanceof ===这些运算符有什么作用
  • mongo索引构建
  • Netty源码解析1-Buffer
  • opencv python Meanshift 和 Camshift
  • SOFAMosn配置模型
  • SpiderData 2019年2月16日 DApp数据排行榜
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 工程优化暨babel升级小记
  • 基于组件的设计工作流与界面抽象
  • 原生JS动态加载JS、CSS文件及代码脚本
  • linux 淘宝开源监控工具tsar
  • Prometheus VS InfluxDB
  • ​Spring Boot 分片上传文件
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (09)Hive——CTE 公共表达式
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (笔试题)分解质因式
  • (补)B+树一些思想
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (九)One-Wire总线-DS18B20
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (转)Linq学习笔记
  • (转)Windows2003安全设置/维护
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET值类型变量“活”在哪?
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @我的前任是个极品 微博分析
  • [ 蓝桥杯Web真题 ]-布局切换
  • [Android] 240204批量生成联系人,短信,通话记录的APK