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

数据库系统概论笔记(持续更新)

一、概念

1、数据

数据库中存储的基本对象。

2、数据库

定义:长期存储在计算机内、有组织、可共享的大量数据的集合。

3、数据库管理系统

定义:是位于用户与操作系统之间的一层数据管理软件。

主要功能:

1) 数据定义功能

2)数据组织、存储和管理

3)数据操纵功能

4)数据库的事务管理和运行管理

4、数据库系统

定义:是指数据库、数据库管理系统(及其应用开发工具)、应用系统和数据库管理员组成的存储、管理、处理和维护数据的系统。

特点:

1) 整体数据的结构化

2) 数据的共享性强,冗余度低且易于扩充

3)数据独立性强

4) 数据由数据库管理系统统一管理和控制

5、数据模型

1)概念:数据模型是对现实世界数据特征的抽象。

2)作用:数据模型是数据库系统的核心和基础

3)三要素:数据结构、数据操纵、数据的完整性约束条件

4)分类:

 层次模型(Hierarchical Model)
 网状模型(Network Model)
 关系模型(Relational Model))
 面向对象数据模型(Object Oriented Data Model)
 对象关系数据模型(Object Relational Data Model)
 半结构化数据模型(Semistruture Data Model)

5.1层次模型

是数据库系统中最早出现的数据模型
层次数据库系统的典型代表是IBM公司的IMS数据库管理系统
用树形结构来表示各类实体以及实体间的联系

5.2网状模型

 网状数据库系统采用网状模型作为数据的组织方式
 典型代表是DBTG系统

网状模型中子女结点与双亲结点的联系可以不唯一
要为每个联系命名,并指出与该联系有关的双亲记录和子
女记录

5.3关系模型

定义:一种数据模型,它由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户视角下,关系模型中的数据逻辑结构表现为一张二维表,由行和列组成。

  • 关系:一个关系对应通常说的一张二维表,如表1.2所示。

② 元组:表中的一行即为一个元组。

③ 属性:表中的一列即为一个属性,每列的名称即为属性名。如表1.2中共有5列,对 应5个属性(学号,姓名,性别,出生日期,主修专业)。

④码:又称为码键或键,是表中的某一个属性或一组属性,其值可以唯一确定一个元组。

⑤ 域:域表示某一属性的取值范围 。

⑥ 分量:元组中的一个属性值。

⑦ 关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,⋯,属性n)。

优点:
 建立在严格的数学概念的基础上
 概念单一
 实体和各类联系都用关系来表示
 对数据的检索结果也是关系
 关系模型的存取路径对用户隐藏
 具有更强的数据独立性,更好的安全保密性
 简化了程序员的工作和数据库开发建立的工作

缺点:
 存取路径对用户隐藏,查询效率往往不如格式化数据模型
 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
 

6、数据库系统的三级模式结构

三级模式结构:外模式、模式和内模式+两级映像

1、模式
 即全局逻辑结构,是数据库的中心与关键
独立于数据库的其他层次
 设计数据库模式结构时应首先确定数据库的逻辑模式

2、内模式
 依赖于数据库的全局逻辑结构
 独立于数据库的用户视图,即外模式
 独立于具体的存储设备
 将全局逻辑结构中所定义的数据结构及其联系按照一

3、外模式
 面向具体的应用程序
 定义在逻辑模式之上
 独立于存储模式和存储设备
 当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动
 设计外模式时应充分考虑到应用的扩充性

4、特定的应用程序
 在外模式描述的数据结构上编制的
 依赖于特定的外模式
 与数据库的模式和存储结构独立
 不同的应用程序有时可以共用同一个外模式

5、数据库的两级映像
 保证了数据库外模式的稳定性
 从底层保证了应用程序的稳定性,除非应用需求本身
发生变化,否则应用程序一般不需要修改

优点:

1)实现了数据与应用之间的逻辑独立性和物理独立性

2)数据库的两级映像保证了数据库外模式的稳定性,从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改

3)简化了应用程序的编制,大大减少了应用程序的开发和维护成本

7、数据库系统的组成

1)硬件平台
2)软件平台
3)人员
 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 控价中数据清洗有什么创新方法
  • 10款企业图纸加密软件大盘点|2024企业图纸加密软件推荐
  • adb的安装和使用 以及安装Frida 16.0.10+雷电模拟器
  • 亚马逊、沃尔玛、敦煌网、Target塔吉特、Temu环境搭建测评技术!
  • ctfshow-PHP反序列化
  • 【PCB工艺】如何实现PCB板层间的互连
  • Redis面试题整理
  • spring 框架过滤器和拦截器的差别
  • 基于STM32单片机的太阳能自动跟踪控制系统
  • springBoot 集成https
  • 服装|基于Java+vue的服装定制系统(源码+数据库+文档)
  • SpringBoot2:请求处理原理分析-利用内容协商功能实现接口的两种数据格式(JSON、XML)
  • shutil模块详解
  • 「豆包 Marscode 体验官」AI 加持的云端 IDE——三种方法高效开发前后端聊天交互功能
  • 《深入浅出多模态》之多模态经典模型:InstructBLIP
  • 深入了解以太坊
  • 自己简单写的 事件订阅机制
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 07.Android之多媒体问题
  • IDEA 插件开发入门教程
  • java 多线程基础, 我觉得还是有必要看看的
  • javascript 哈希表
  • JAVA多线程机制解析-volatilesynchronized
  • Laravel5.4 Queues队列学习
  • Linux CTF 逆向入门
  • log4j2输出到kafka
  • 从零开始在ubuntu上搭建node开发环境
  • 大整数乘法-表格法
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 使用common-codec进行md5加密
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 通过几道题目学习二叉搜索树
  • 新手搭建网站的主要流程
  • 赢得Docker挑战最佳实践
  • 运行时添加log4j2的appender
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 中文输入法与React文本输入框的问题与解决方案
  • 做一名精致的JavaScripter 01:JavaScript简介
  • ‌JavaScript 数据类型转换
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #stm32整理(一)flash读写
  • $NOIp2018$劝退记
  • (2)MFC+openGL单文档框架glFrame
  • (web自动化测试+python)1
  • (补充)IDEA项目结构
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)uboot源码分析
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)大道至简,职场上做人做事做管理
  • (转)负载均衡,回话保持,cookie
  • .form文件_SSM框架文件上传篇