oracle数据库菜鸟入门

article/2025/9/29 7:21:04

所有应用软件之中,数据库可能是最复杂的。

MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。

但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。

一、数据以文本形式保存

第一步,就是将所要保存的数据,写入文本文件。这个文本文件就是你的数据库。

为了方便读取,数据必须分成记录,每一条记录的长度规定为等长。比如,假定每条记录的长度是800字节,那么第5条记录的开始位置就在3200字节。

大多数时候,我们不知道某一条记录在第几个位置,只知道主键(primary key)的值。这时为了读取数据,可以一条条比对记录。但是这样做效率太低,实际应用中,数据库往往采用B树(B-tree)格式储存数据。

二、什么是B树?

要理解B树,必须从二叉查找树(Binary search tree)讲起。

二叉查找树

二叉查找树是一种查找效率非常高的数据结构,它有三个特点。

(1)每个节点最多只有两个子树。

(2)左子树都为小于父节点的值,右子树都为大于父节点的值。

(3)在n个节点中找到目标值,一般只需要log(n)次比较。

二叉查找树的结构不适合数据库,因为它的查找效率与层数相关。越处在下层的数据,就需要越多次比较。极端情况下,n个数据需要n次比较才能找到目标值。对于数据库来说,每进入一层,就要从硬盘读取一次数据,这非常致命,因为硬盘的读取时间远远大于数据处理时间,数据库读取硬盘的次数越少越好。

B树是对二叉查找树的改进。它的设计思想是,将相关数据尽量集中在一起,以便一次读取多个数据,减少硬盘操作次数。

B-tree

B树的特点也有三个。

(1)一个节点可以容纳多个值。比如上图中,最多的一个节点容纳了4个值。

(2)除非数据已经填满,否则不会增加新的层。也就是说,B树追求"层"越少越好。

(3)子节点中的值,与父节点中的值,有严格的大小对应关系。一般来说,如果父节点有a个值,那么就有a+1个子节点。比如上图中,父节点有两个值(7和16),就对应三个子节点,第一个子节点都是小于7的值,最后一个子节点都是大于16的值,中间的子节点就是7和16之间的值。

这种数据结构,非常有利于减少读取硬盘的次数。假定一个节点可以容纳100个值,那么3层的B树可以容纳100万个数据,如果换成二叉查找树,则需要20层!假定操作系统一次读取一个节点,并且根节点保留在内存中,那么B树在100万个数据中查找目标值,只需要读取两次硬盘。

三、索引

数据库以B树格式储存,只解决了按照"主键"查找数据的问题。如果想查找其他字段,就需要建立索引(index)。

所谓索引,就是以某个字段为关键字的B树文件。假定有一张"雇员表",包含了员工号(主键)和姓名两个字段。可以对姓名建立索引文件,该文件以B树格式对姓名进行储存,每个姓名后面是其在数据库中的位置(即第几条记录)。查找姓名的时候,先从索引中找到对应第几条记录,然后再从表格中读取。

这种索引查找方法,叫做"索引顺序存取方法"(Indexed Sequential Access Method),缩写为ISAM。它已经有多种实现(比如C-ISAM库和D-ISAM库),只要使用这些代码库,就能自己写一个最简单的数据库。

四、高级功能

部署了最基本的数据存取(包括索引)以后,还可以实现一些高级功能。

(1)SQL语言是数据库通用操作语言,所以需要一个SQL解析器,将SQL命令解析为对应的ISAM操作。

(2)数据库连接(join)是指数据库的两张表通过"外键",建立连接关系。你需要对这种操作进行优化。

(3)数据库事务(transaction)是指批量进行一系列数据库操作,只要有一步不成功,整个操作都不成功。所以需要有一个"操作日志",以便失败时对操作进行回滚。

(4)备份机制:保存数据库的副本。

(5)远程操作:使得用户可以在不同的机器上,通过TCP/IP协议操作数据库。


http://chatgpt.dhexx.cn/article/G4VglUkv.shtml

相关文章

Oracle 学习(一)入门

一、学习目标 Oracle介绍Oracle安装Oracle体系结构Oracle与PL/SQL是什么关系DML、DQL、DCL、DDL基本查询条件查询单行函数多行函数 二、Oracle介绍 Oracle :关系型的数据库 , 端口号:1521 ,收费(学习是免费的&#…

oracle入门教程

推荐一个Oracle入门学习教程 点击下面链接进入自学网站 学习网站:http://www.51zxw.net/study.asp?vip16229363 点击图片箭头所指按钮——请点击进入学习 在下面方框里面搜索Oracle 第一个搜索结果就是小姐姐Oracle视频讲解课程 入门教程部分 永久表空间 存储数据库中需要永…

Oracle数据库 - 安装教程

前言:初次使用Orcale,安装并使用自己感觉好痛苦,不断试错,经验分享,少走弯路 一天阅读上百个网页是小事 下载 官网:项目客户要求Oracle Database 19c Enterprise Edition 19.3.0.0.0 (自己用建…

在Windows 10系统下安装Oracle 11g数据库

1.准备工作 (1)去官网https://www.oracle.com下载Oracle数据库,具体操作看图: ①把官网设置为中文 ②找到专门下载数据库专栏 ③详细下载过程,本次安装Oracle 11g(32位)数据库,数据库多少位数都可以,也就是说3…

Oracle数据库入门教程(作者原创)

文章目录 Oracle 是什么常规命令基础表查询SQL基础,约束,表关系表之间的关系SQL语言基础Oracle简单查询语句函数及分组Oracle高级查询语句最后 Oracle 是什么 Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库…

Oracle数据库教程

原文连接:https://www.w3cschool.cn/oraclejc/oraclejc-eswu2qqq.html Oracle数据库教程 Oracle数据库是什么?数据文件(dbf)表空间用户 数据库和实例1 Oracle数据库1.1 物理存储结构1.2 逻辑结构 2 Oracle实例主要的Oracle数据库的…

Rational Rose

rational Rose 是一种建模工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力。 Rose 运行环境。 ——windows NT ,Windows 95 ——UNIX(Solaris ,HP/UX ,ALX ,DEC Unix) Rose 支持Unified,Booch ,OMT标记法 …

Rational Rose 使用技巧

1、浏览区 2、菜单项 其中Format选项中: 决定各项是否显示,也可以通过右击—option选择 3、常用快捷键: F1:任何时候都可以按F1获得相关帮助,把鼠标放在某条菜单上按F1可以获得这条菜单的相关帮助。 F2:刷新…

安装rational rose软件教程

一、下载相关文件 二、安装DAEMON Tools Lite 按照正常的安装流程开始安装 路径选择自己想要的路径,直到弹出许可证选择同意就好了。 三、安装rational rose 打开DAEMON Tools Lite软件,并点击“快速装载” 然后选择rational rose的映像文件 在下方就…

使用Rational Rose绘制各种图

发生了一件事:论文中需要绘制几种图 我感觉:以前没有学好也没有太大的关系,现在用中学自己需要的部分,效率特别高。我不反对以后会有用的这句话,但相比于眼前就有用或是未来肯定有用的,我自然优先选择后者…

Rational Rose 7.0安装及科学使用教程

Rational Rose 7.0科学的使用 Rational Rose 7.0安装及科学使用教程下载安装挂载镜像准备安装开始安装前序工作正式安装安装完毕 Rational Rose 7.0安装及科学使用教程 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水…

Rational Rose2007的安装

UML:统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。 我们用rational rose2…

Rational rose 2007 下载和安装教程

文章目录 Rational rose 简介一,下载Rational rose 2007二,安装Rational rose 2007三,激活Rational Rose 2007四,启动Rational Rose 2007 Rational rose 简介 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视…

我遇到了Rational Rose

前言 学到了UML,在视频中提到了Rational Rose这个工具,对它很感兴趣,想知道它到底是什么东西,所以也就找同学拷了这个安装包,但是安装的时候它提示我这个一个病毒软件,所以就只能把它卸载了。后来就又找同学…

Rational Rose建立类图

类图 要求绘制下面类图。 图1-1 汽车类图 定义类的最通用方法是,在浏览器窗口的Logic View中添加新类。下面是定义类的步骤: 1.1创建类名 步骤:右击浏览器窗口中的Logic View,打开快捷菜单,选择:NewClass后&#xf…

UML建模详解(3)—使用Rational Rose 画九种常用架构图

UML是一种建模语言,是系统建模的标准。我们之所以建模是因为大规模的系统设计时相当复杂的,当系统比较复杂时就会涉及到以下这几个问题: (1).开发人员如何与用户进行沟通来了解系统的需求? (2).开发人员之间如何沟通以确保各个部门能够无缝地…

Rational Rose 2017使用教程

转载:http://www.opdown.com/soft/82173.html#comment Rational Rose 2017免费版是目前的最新版本,一款专业的可视化建模软件,主要用于可视化建模和组件构造,包括统一建模语言(UML),OOSE&#x…

Rational rose安装步骤

Rational rose安装步骤 简介 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。 就像一个戏剧导演设计一个剧本一样,一个软件设计师使用Rational Rose,以演员&#xff…

UML与Rational Rose

采用b站动力节点视频学习: 【动力节点】UML与Rational Rose 视频: 什么是UML Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于 1997 年一个 OMG 标准,它是一个支持模型化和软件系统开发的图形化语言&…

Rational Rose--简介

Rational Rose Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。 目前版本的Rational Rose可以用来做以下一些工作: 1、对业务进行建模( 工作流);…