目录
数据库的底层实现
数据库商品添加确保ID的唯一性
文章提要:
一.安装驱动包
二.导入驱动包
三.用idea操作数据库
1. 创建数据资源库
2.与数据资源库建立连接
3. 构造sql语句
4.发送给服务器
5.释放资源
编辑
操作总结:
书接上回
数据库的底层实现
数据库底层其实是一颗B+树
要想聊B+树,我们得先知道B树
B树就是一颗N叉二叉树
而B+树则是在B树基础上改进的二叉树
B+树与B基本相似只不过是B+树最右边存的是当前节高度结点的最大值,而最右边不再分叉。
这样的好处就是所有节点结果存在叶子节点存储在硬盘中查询时间稳定,而非叶子结点假设只存储大小为四个字节的int存储在内存中方便运行查找比较.因为读取一次硬盘的速度比内存慢了上万倍,通过B+树可以较快实现增删查改的操作。
数据库商品添加确保ID的唯一性
商家上架的商品为父表,而软件上显示的商品为子表两者相互约束
此时若商家要下架商品,但要确保已经购买的客户商品显示正常,可以在添加商品时设置一个一个标记,下架时将标记更改在查询时加上where条件限制只查询显示的标记。
如果数据较少时所有数据只需存储在一台服务器上此时则无需担心Id问题。
但如果数据较多时此时数据要采用分布式系统存储将同一时间添加的商品生成不重复Id,这时就需要担心商品ID问题了.
生成ID时可以有固定公式数字拼接形成字符串:
时间戳 + 机房编号/主机编号 + 随机因子(随机数)
虽然生成的ID仍然有概率重复但概率较小在工程中可忽略不计。
接下来就是本章内容了:
文章提要:
本章重点api接口JDBC使用idea操作数据库。
一.安装驱动包
Java有一套在主流数据库上有一套统一的api jdbc,不同api可提供不同功能供程序员使用。在idea中操作数据库需要驱动包。
此处附上中央仓库安装驱动包的方法:
Maven Repository: mysql » mysql-connector-java
直接跳转安装界面根据不同MySQL选择不同的驱动包,8.0选择相应的大版本,5.0选择相应的大版本。
二.导入驱动包
先在文件夹中选中驱动包进行复制,粘贴到新建的包下
选择粘贴的驱动包,将其设为库
三.用idea操作数据库
1. 创建数据资源库
user 与 password 是注册MySql时的。
2.与数据资源库建立连接
3. 构造sql语句
4.发送给服务器
非查询:
5.释放资源
操作总结: