【从面试出发学习java】- 数据库 - 数据库架构

数据库

存储引擎
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引 擎。
存储引擎主要有:

  1. MyIsam
  2. InnoDB
  3. Memory
  4. Archive
  5. Federated

在这里插入图片描述

最重要的是索引和锁

一个面试题 如何设计一个关系型数据库?

首先要了解开发一个数据库需要什么模块
在这里插入图片描述要设计一个关系型数据库,首相要将其划分为两大部分:一个是存储部分,该部分类似一个文件系统将数据持久化到存储设备当中,还需要程序实例模块对存储进行逻辑上的管理。
程序实例部分又分为这样几个部分:
存储管理:将数据的逻辑关系转换为物理存储关系
缓存机制:优化执行效率
SQL解析:解析SQL语句
日志管理:记录操作
权限划分:进行多用户管理
容灾机制:灾难恢复
索引管理:优化数据查询效率
锁管理:使数据库支持并发操作

数据库三范式

范式是具有最小冗余的表结构。

第一范式 ( 1st NF-列都是不可再分)
第一范式的目标是确保每列的原子性: 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
在这里插入图片描述

第二范式(2nd NF-每个表只描述一件事情)
首先满足第一范式,并且表中非主键列不存在对主键的部分依赖。第二范式要求每个表只描述一件事情。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值