如何创建一个关系型数据库

如何设计关系型数据库

这是一个容易让人懵掉的题目,及其容易引发面试的惨案。
其实不必慌张,设计一款数据库就跟设计一款软件差不多,要将其划分为多个模块,这道面试题就是为了考察模块划分能力以及对数据库的了解。

首先要先知道关系型数据库的组成

在这里插入图片描述

对数据库进行划分:
一、存储(文件系统):数据库的最主要功能,用来存储数据,类似OS文件系统,将数据持久化存入磁盘中。

二、程序实例:用逻辑结构映射出物理结构,以及必须提供数据的管理方式:

1、存储管理:对数据的格式以及分隔进行统一的管理,即把物理数据通过逻辑的形式进行组织和表现出来。

题外话:可以通过减少IO的方式来提高存储的效率,即一次读取多行数据来减少IO,数据库一般也是把逻辑存储单位用块或者页来表示,每个块或页中会存放多行数据,这样读取的时候便可把多行数据一同加载进内存。

2、缓存机制:将取出的数据块存放在缓存里,下次需要的时候便可直接在内存取得,而不用发生IO,优化SQL的执行效率。
注:缓存不宜过大,并应设有一定的淘汰机制。
3、SQL解析:用来解析可读的SQL语言。
4、日志管理:记录执行的历史操作
5、权限划分:多用户管理,提供用户管理的私密空间。
6、容灾机制:当数据库蹦掉的时候用来恢复的机制。
7、索引管理: 用来优化数据的查询效率。
8、锁管理:使数据库支持并发操作。

在这里插入图片描述

索引管理与锁管理是最能突出数据库特点的模块,当然也是数据库面试的重中之重。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值