数据库基础理论(重点)

一,关系型数据库

**例如mariadb mysql oracle
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。
优点:

1.易于维护:都有使用表结构,格式一致;
2.使用方便:sql语言通用,可用于复杂查询;
3.复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

1.读写性能比较差,尤其是海量数据的高效率读写;
2.固定的表结构,灵活度稍欠;
3.高并发写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;

mariadb和mysql 的区别:

mariadb是centos7默认的数据库
mysql是centos6的数据库

二,非关系型数据库

redis mongodb
非关系型数据库严格上不是一种数据库,应该是一种数据库结构化存储方法的结合,可以是立档或者键值对等。

优点:

1,格式灵活:存储数据的格式可以是keg,value形式,文档形式,图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2.速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘
3.高扩展性;
4.成本低:nosql数据库部署简单,基本都是开源软件

缺点:

1.不提供sql支持,学习和使用成本较高。
2.无事务处理
3.数据结构相对复杂,复杂查询方面稍欠

MySQL存储引擎介绍

文件系统: 操作系统组织和存取数据的一种机制。文件系统是一种软件。 
类型:ext2 3 4 ,xfs
不管使用什么文件系统,数据内容不会变化 不同的是,存储空间、大小、速度。 
MySQL引擎: 可以理解为,MySQL的“文件系统”,只不过功能更加强大。 
MySQL引擎功能: 除了可以提供基本的存取功能,还有更多功能事务功能、锁定、备份和恢复、优化以及特殊功能。

请说说你所知道的MySQL的存储引擎和默认的存储引擎分别都有和都是什么?

1.InnoDB 存储引擎(默认)
2.MyISAM 存储引擎
3.MEMORY 内存引擎

查看引擎:

mysql> show engines;		(查看本机的所有的引擎)

在这里插入图片描述

修改存储引擎:

ALTER TABLE 表名 ENGINE=引擎;

如何查看Mysql服务器上的版本

mysql> select version();

在这里插入图片描述

1.什么是外键:

外键的主要作用是保持数据的一致性、完整性。

2.什么是索引:

索引相当于书中的目录,可以提高数据检索的效率,降低数据库的IO。
MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的

3.什么是行锁定与锁表:

可以将一张表锁定和可以单独锁一行的记录。为了防止你在操作的同时也有别人在操作。
(锁表主要是为了备份   防止备份的时候有新的数据再进来)

4.什么是事务:

事务是由一步或几步数据库的操作。这系列操作要么全部执行,要么全部放弃执行。

事务控制语言(TCL)

事务控制语言 (Transation Control Language)  有时可能需要使用 DML 进行批量数据的删除,修改,增加。
比如,在一个员工系统中,想删除一个人的信息。除了删除这个人的基本信息外,还应该删除与此人有关的其他信息,如邮箱,地址等等。
那么从开始执行到结束,就会构成一个事务。对于事务,要保证事务的完整性。要么成功,要么撤回。

事务要符合四个条件(ACID):

事务具有四个特性:

原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持续性(Durability)	
这四个特性也简称ACID性。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值