文章目录
- 前言
- 技能要求
- 数据结构
- 定义
- 分类
- 常用的数据结构
- 数据库原理
- 数据的三级模式结构
- 事务
- 查询方式
- 视图
- 数据库范式
- Java相关知识点
- 总结
前言
本博客仅做学习笔记,如有侵权,联系后即刻更改
科普:
参考网址
技能要求
数据结构
参考网址
定义
数据结构是相互之间存在一种或多种特定关系的数据元素的集合
- 即带“结构”的数据元素的集合。
“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。- 选择合适的数据结构,不但可以提高内存的使用率,也可以提高查找的效率。查找效率就是指算法,数据结构是为算法而生
分类
逻辑结构
- 定义
指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。- 线性结构
数据结构的元素之间存在一对一线性关系,所有结点都最多只有一个直接前趋结点和一个直接后继结点。常见的有数组、队列、链表、栈- 非线性结构
各个结点之间具有多个对应关系,一个结点可能有多个直接前趋结点和多个直接后继结点。常见的有多维数组、广义表、树结构和图结构等存储结构
- 定义
指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构- 顺序存储
存储顺序是连续的,在内存中用一组地址连续的存储单元依次存储线性表的各个数据元素- 链式存储
在内存中的存储元素不一定是连续的,用任意地址的存储单元存储元素,元素节点存放数据元素以及通过指针指向相邻元素的地址信息- 索引存储
除建立存储结点信息外,还建立附加的索引表来标识节点的地址。索引表由若干索引项组成- 散列存储
又称Hash存储,由节点的关键码值决定节点的存储地址
常用的数据结构
数组(Array)
它一种线性表数据结构,用一组连续的内存空间来存储一组相同类型的数据。
队列(Queue)
特点是先入先出,也就是我们常听到的FIFO(First in First Out)
链表(Linked List)
物理存储单元上非连续,非顺序的存储结构。
- 链表有一系列节点组成,所谓节点就是指链表中的每一个元素,每个节点包含两个数据,一个是存储元素的数据域(值),另一个是存储下一个节点地址的指针域。
栈(Stack)
数据呈线性排列的数据结构,和上面的队列相反,栈的特点先进后出、后进先出,就是常说的LIFO(Last in First Out)
树(Tree)
层级式的数据结构,由顶点(节点)和连接它们的边组成
- 结构特点
每个节点有零个或多个子节点;
没有父节点的节点称为根节点;
每一个非根节点有且只有一个父节点;
除了根节点外,每个子节点可以分为多个不相交的子树
散列表(Hash)
散列表又叫哈希表,存储的是由键(key)和值(value)组 成的数据,根据键直接访问存储在内存存储位置的数据结构
堆(Heap)
图的树形结构。
- 被用于实现“优先队列”(priority queues),优先队列是一种数据结构,可以自由添加数据,但取出数据时要从最小值开始按顺 序取出。
在堆的树形结构中,各个顶点被称为“结点”(node),数据就存储在这些结点中- 特点
堆是一个完全二叉树(所谓完全二叉树就是除了最后一层其他层的节点个数都是满的)
堆中每一个节点的值都必须大于等于或者小于其子树中每一个节点的值。
图(Graph)
由顶点和连接每对顶点的边所构成的图形就是图
数据库原理
参考网址
- 数据库(DB)
是存储在计算机系统内的有结构的数据集合,是相关数据的集合,数据由数据库管理系统统一管理和维护- DBS
是指在计算机系统中引入数据库后的数据构成,由计算机硬件、操作系统、DBMS、DB、应用程序和用户以及数据库开发和管理人员等组成- DBMS
是操作系统支持下工作的数据管理软件,是支持用户创建和维护数据库的一组程序包。对内负责管理数据库,对外向用户提供一整套命令。用户可以通过命令来创建数据库,定义数据,对数据库中的数据进行各种合法的操作
数据的三级模式结构
外模式、模式和内模式
事务
事务是数据库操作的最小逻辑工作单元,是一系列SQL操作的集合
- ACID特性
原子性、一致性、隔离性和持久性
查询方式
分组查询
- where子句作用于基表或者视图,从中选择满足条件的元组;
- having子句作用于分组后的组,从中选择满足条件的组。
排序查询
- 用 order by 进行默认升序排序
在列名后面添加 desc 进行降序排序多关系连接查询
- 内部连接: inner join
两表之间具有共同性质的属性
视图
定义
- 视图是从一个或多个关系(基本表或已存在的视图)导出的关系。是数据库系统的一个重要机制
与基本表的区别与联系
- 视图是虚表,在一般情况下不建立索引。
sql一般也不提供修改视图定义的语句。
对视图中数据进行更新是有限制的。视图的使用
create view <视图名>as <子查询>[with check option]
若有 with check option ,则今后在对此视图,进行 insert, update, delete 操作时,会自动检查是否符合原定义视图子查询中的<条件表达式>
视图是数据库中数据的物理独立性和逻辑独立性的重要支柱
数据库范式
参考网址
第一范式 - 1NF
- 遵循原子性。即表中字段的数据不可以再拆分。
第二范式 - 2NF
- 在满足第一范式的情况下,遵循唯一性,消除部分依赖。即,表中任意一个主键或任意一组联合主键,可以确定除该主键外的所有的非主键值。
一个表只能描述一件事情
第三范式 - 3NF
- 在满足第二范式的情况下,消除传递依赖。
即在任一主键都可以确定所有非主键字段值的情况下,不能存在某非主键字段 A 可以获取 某非主键字段 B
Java相关知识点
参考网址
JDK/JRE/JVM
- (Java Virtual Machine)虚拟机
(Java Runtime Environment)Java 运行时环境
(Java Development Kit)Java 开发工具包- JRE = JVM + Java 核心类库
- JDK = JRE + Java工具 + 编译器 + 调试器
java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class文件并不直接与机器的操作系统交互,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行
Java特性
- 源代码会先通过javac编译成字节码,再通过jvm将字节码转换成机器码执行,即解释运行 和编译运行配合使用,所以可以称为混合型或者半编译型
- 面向对象是把构成问题事务分解成各个对象,分别设计这些对象,然后将他们组装成有完整功能的系统。面向过程只用函数实现,面向对象是用类实现各个功能模块。
- 面对对象四大特性
封装,继承,多态,抽象- 面向对象编程的六大原则
总结
小小励志
有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》