计算机基础笔记(五)—数据库

2023-05-16

前言

不必害怕未知,无需恐惧犯错,做一个Creator!

目录

  • 前言
  • 文件结构
    • 顺序文件
    • 索引文件
    • 散列文件
    • 目录
  • 数据库
    • 数据库体系结构
    • 数据库模型
    • 数据库的设计
    • 其他数据库

文件结构

文件是数据记录的集合,每个记录都由一个或多个域组成。存取方法决定了怎样检索记录:顺序的或随机的

顺序文件

定义: 只能按照顺序从头到尾一个接一个地进行存取
文件更新
新主文件:新的永久数据文件
旧主文件:需要更新的永久文件
事务文件:包含要对主文件做改变的文件(添加、删除、更改)
错误报告文件:错误清单与纠正操作

索引文件

由数据文件组成,它是带索引的顺序。
索引只占两个字段: 顺序文件的键和在磁盘上相应记录的地址。
步骤: 整个索引文件都存入内存→搜索项目,查找目标键→检索记录的地址→按照地址返回数据

散列文件

数学函数完成键到地址的映射
直接散列法:文件对每个可能的键都包含一个记录。
陈余散列法:文件大小去除键后,将余数加一作为地址。
冲突: 在散列算法为插入键产生地址时,发现该地址已被占用
内部地址:散列算法产生的地址,主区:所有内部地址的区域
冲突解决办法-开放寻址:地址加1
冲突解决办法-链表解决:另一个不在内部区域
冲突解决办法-桶散列法:一个能接纳多个记录的节点

目录

定义: 大多数操作系统提供,用来组织文件,包含存储位置信息与访问文件的权限等信息
目录类型: 根目录、主目录、工作目录、父目录
绝对路径名: 唯一标识一个文件,指明从根目录到文件的文件路径,斜线字符分隔的所有目录的列表

文本文件: 字符文件
二进制文件: 计算机内部格式存储的数据集合,只有被正确解释才有意义

数据库

定义: 数据库是一个组织内被应用程序使用的逻辑相一致的相关数据的集合
数据库管理系统: 硬件、软件、数据、用户、规程
数据独立于软件的实体,这种独立使得组织可以在不改变物理数据及其存取方式的情况下,更换所有应用软件

数据库体系结构

内层、概念车、外层
内层: 直接与硬件交互,决定了数据在存储设备中的实际位置
概念层:定义数据的逻辑视图,数据库管理系统的主要功能都在该层
外层: 直接与用户交互,将来自概念层的数据转化为用户格式和视图

数据库模型

定义了数据的逻辑设计,描述了不同数据之间的联系。
层次模型:数据被组织成一棵倒置的树
网状模型:实体通过图来组织
关系模型: 数据组织成称为关系的二维表,表或关系相互关联

关系数据库模型
数据通过关系的集合来表示
名称: 每一种关系具有唯一的名称
属性: 关系中的每一列都称为属性
元组: 关系中的行叫做元组,关系中元组的个数叫做关系的基数

关系的操作
结构化查询语言:关系数据库上的标准化语言,描述性语言
插入:插入一个新的元组
删除:删除表中相应的元组
更新:更新元组中的部分属性值
选择:根据要求从原表中选择部分元组
投影:新表中的属性是原表中属性的子集
连接:基于共有属性连接两个关系
并:相同属性关系合并成一个新关系
交:相同属性关系相交得到新关系
差:相同属性关系存在于第一个关系而不存在于第二关系

数据库的设计

步骤: 收集存储信息和存取需求→建立实体关系模型(ERM),定义实体属性和关系→建立基于ERM的关系和规范化关系
实体关系模型(E-R)
矩形表示实体集,椭圆表示属性,菱形表示关系集
实体集上的关系:每个实体集都创建一个关系,关系具有n列代表n个属性
关系集上的关系:每个关系集都创建一个关系表,关系中有一列对应关系所涉及的实体集合的关键字

规范化
给定的一组关系转化成具有更坚固结构的关系的新关系
规范化过程定义了一组层次范式,如果一个数据库中的关系是3NF,那他首先应该是2NF.
第一范式:消除关系的行或列的交集存在多个值的问题
第二范式:每一个非关键字属性都依赖于整个复合关键字

其他数据库

分布式数据库
不完全式:站点对存储的本地数据具有完全控制权,但是通过因特网或广域网,还存在一个全局的控制
复制式:每个站点都有其他站点的一个完全副本
面向对象数据库
定义了对象和他们的关系,每一个对象可以具有属性并以域的形式表达,使用XML查询语言。


提示:仅供参考。若有错误不足,欢迎批评指正。该文章仅供参考,欢迎互相学习交流。

感谢你的阅读,期待你的关注收藏点赞!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机基础笔记(五)—数据库 的相关文章

随机推荐

  • 关于ERROR: error loading sources list: The read operation timed out 的解决方法

    在ubuntu 20 04系统下ROS平台安装时 xff0c 初始化rosdep报错 xff0c 在进行 rosdep update 出现超时报错 reading in sources list data from etc ros rosd
  • Http 解析url 各种参数类型工具类(文件,json,xml)

    1 http post请求传参数 43 文件 import java nio charset Charset import java util import org apache http HttpEntity import org apa
  • 一字节内的位序(bit)大端小端分析

    相信字节序 大端 小端的概念相关资料很多 xff0c 大家都比较清楚了 这里说明下一字节内部位序 xff08 bit xff09 的概念 在计算机中底层一个存储单元是字节 xff0c 因此你的指令寻址是不可能找到一字节内部的bit的 xff
  • RPLIDAR十分钟极速入门教程

    本教程由 臭皮匠机器人 原创 转载请注明出处 收到一个RPLidar后 xff0c 干的第一件事应该是先让雷达跑起来 xff0c 边做边学是最高效的 本教程 xff0c 将教你只用简单的三步 xff0c 花10分钟即可上手 本教程RPLid
  • RPLIDAR最强参数详解

    本教程由 臭皮匠机器人 原创 转载请注明出处 有的同学跟我们说 xff0c RPLIDAR的参数看不懂 xff0c 感觉理解起来困难 其实也不难懂的 xff0c 本篇将带你了解这些重要的指标 xff0c 给你讲清说透 由于RPLIDAR还在
  • 如何避免头文件被重复包含?

    在实际的工程中我们很有可能重复包含某一个头文件 xff0c 比如下面这种情况 xff1a 开发人员B和开发人员C在自己的头文件中都包含了开发人员A的头文件 xff0c 而开发人员D在自己的编译单元中包含了B和C的头文件 xff0c 此时D就
  • VScode配置C/C++编程总结(GCC+Clang+CMake)

    VScode配置C C 43 43 编程总结 xff08 GCC 43 Clang 43 CMake xff09 自己存下档纪念一下2019 12 18 Visual Studio Code VScode全称Visual Studio Co
  • 关于锂电池的二三事

    为了解释的更清楚 xff0c 我录制了一个视频 xff0c 详情可以参看 xff1a 我的这个B站视频 这是目录0 0 背景参数指标一些使用方法 背景 锂电池是我们日常生活中和制造东西时经常见到和使用的一种东西 xff0c 但是有很多细节可
  • 单片机堆栈知识总结

    堆栈 在片内RAM中 xff0c 常常要指定一个专门的区域来存放某些特别的数据 它遵循顺序存取和后进先出 LIFO FILO 的原则 xff0c 这个RAM区叫堆栈 其实堆栈就是单片机中的一些存储单元 xff0c 这些存储单元被指定保存一些
  • STM32串口发送中断试验、在初始化时不能使能串口发送中断

    问题描述 在测试STM32串口发送完成中断的应用中 xff0c 遇到了一个很奇怪的问题 xff0c 在初始化完成之后直接就进入了串口中断函数的发送完成服务中断函数部分 本测试代码是在原来的基础上更改的 xff0c 原来只使能了接受中断 xf
  • java,http post请求,多个不同方式请求示例

    以下是 Java 中进行 HTTP POST 请求的示例代码 xff0c 包括使用 HttpURLConnection 和 HttpClient 两种方式 xff0c 供您参考 使用 HttpURLConnection 发送 POST 请求
  • 【STM32】HAL库开发教程(一)—基本使用

    前言 提示 xff1a 本系列本章针对STM32F207 xff0c 基于Cubemx和Keil进行程序开发 本系列文章并不是一步一操作的傻瓜式教程 xff0c 而更希望是一个向导 xff0c 引导读者去思考去开发 做为一个开发者应该是在思
  • 【STM32】HAL库开发教程(五)—RTC使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 一 RTC简介 STM32F2的实时时钟 RTC 是一个独立的BCD Binary Coded Decimal 定时器 计时器 xff0c 提供了一
  • 【STM32】HAL库开发教程(七)—SPI使用

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 本文主要介绍STM32 HAL库开发中SPI通信的使用 一 开发步骤 1 STM32CubeMX配置 在左侧引脚配置处勾选SPI进行配置在SPI模式
  • 【通信技术】信噪比及单位

    信噪比 xff1a 一个电子设备或者电子系统中信号与噪声的比例 计量单位 dB xff0c 其计算方法是10lg Ps Pn xff0c 其中Ps和Pn分别代表信号和噪声的有效功率 功率单位 xff1a dBm是一个考征功率绝对值的值 xf
  • 【C语言】字符串打印(定长)

    目的 xff1a 打印长度可控的字符串 char ucBuf uint8 t ucLen char ucString 256 memcpy ucString ucBuf ucLen ucString ucLen 61 39 0 39 pri
  • 【卫星】卫星通信基本概念与知识

    不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 卫星通信基本概念与知识 上行链路 xff1a 从地球站发射信号到通信卫星所经过的通信路径成为上行链路 下行链路 xff1a 通信卫星将信号再转发到其他地球
  • 计算机基础笔记(三)—操作系统

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言一 概述二 操作系统分类三 组成部分用户界面内存管理器进程管理进程同步设备管理文件管理 四 主流操作系统UNIXLinuxWindows
  • 计算机基础笔记(四)—数据结构

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言数组链表栈 xff08 LIFO xff09 队列 xff08 FIFO xff09 广义线性表树图 定义 有特殊关系的数据的集合 xff
  • 计算机基础笔记(五)—数据库

    前言 不必害怕未知 xff0c 无需恐惧犯错 xff0c 做一个Creator xff01 目录 前言文件结构顺序文件索引文件散列文件目录 数据库数据库体系结构数据库模型数据库的设计其他数据库 文件结构 文件是数据记录的集合 xff0c 每