浅说数据库原理

一、什么是数据库

1、数据

描述事物的符号记录,可以是数字、文字、图形、图像、声音、语言等,数据有多种i形式,它们都可以经过数字化后存入计算机。

2、数据库

存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享。特点如下:
(1)数据结构化
(2)数据的共享性高,冗余度低、 易扩充
(3)数据独立性高
(4)数据由DBMS统一管理和控制(安全性、完整性、并发控制、故障恢复)

3、DBMS:数据库管理系统(能够操作和管理数据库的大型软件)

4、优缺点

(1)优点

实现数据共享
减少数据的冗余度
数据实现集中控制
数据的一致性
故障恢复

(2)缺点

SMP 对称多处理器结构

MySQL是一个关系型数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

二、数据库与文件系统的区别

1、文件系统

文件系统是操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构
表示层:文件名(文件类型 如.txt等)
逻辑层:文件系统类型(ext4/ntfs/xfs)
物理层:分区块(数据块 data block)→扇区

2、数据库系统

DMS是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
表示层:数据库-数据表-记录(字段)
逻辑层:数据库的存储引擎
物理层:数据库文件(*.sql)

3、区别

(1)管理对象不同
(2)存储方式不同
(3)调用数据的方式不同

4、文件系统管理数据库存在的问题

数据冗余性和不一致性
数据访问困难
数据相对独立
完整性和原子性
并发访问异常
安全性问题

二、常见数据库有哪些

1、关系数据库

Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、浪潮K-DB等

2、非关系型数据库
NoSQL

三、关系型数据库(MySQL)的特征及组成结构

1、特征

(1)层次模型:按照层次结构的形式组织数据库数据的模型
缺点:拥有大量的冗余数据 (IMS)
(2)网状模型:按照网状结构的形式组织数据库数据的模型
缺点:后期维护困难 (DBTG)
(3)关系模型(RDBMS:Relational Database Management System):按照数据关系的形式组织数据库数据的模型
实体( Entities )
属性( Attributes )
关系( Relationships )
DBMS(Database Management System):数据库管理系统

2、组成结构

3、名词解释

数据以表格的形式出现,每行为单独的一条记录,每列为一个单独的字段,许多的记录和字段组成一张表单(table),若干的表单组成库(database)。
(1)记录(一条数据)
(2)字段(id name…)
(3)MySQL数据类型
(4)MySQL约束类型 主键、外键、唯一、非空约束与默认值
(5)MySQL索引
(6)MySQL锁
(7)MySQL 存储引擎
(8)事务是并发控制的基本单位

四、SQL(结构化查询语言)

1、简介

结构化查询语言 ( Structured Query Language ) 简称 SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;最早诞生于 IBM SYSTEM R 操作系统之上。

2、SQL 语句操作类型

DML:数据操作语言,操作数据库中数据的命令 select insert update delete
DDL:数据库描述语言,建立数据库、定义数据关系 create drop
DCL:数据库控制语言,控制数据库组件的权限 grant

3、MYSQL 存储引擎

(1)MyISAM

	MYSQL 默认存储引擎,诞生即存在,插入和查询数据较快。不支持事物、行级锁以及外键约束等功能
锁:行级锁( InnoDB )、表级锁( MyISAM )、页级锁( DBD )
约束:域约束、外键约束

(2)InnoDB oracle 08 5.5

支持事物、行级锁以及外键约束等功能,相对于 MyISAM 更快

(3)MEMORY

运行在内存中、使用 hash 索引,数据存取速度非常快。但是数据不能持久化,适用于缓存

5、数据库的存储和查询

(1)存储管理器:通过 数据描述语言( DDL )来创建表的结构,在通过 数据操作语言( DML ) 来保存 SQL 语句产生的数据的数据库组件
(2)权限及完整性管理器
(3)事物管理器
(4)文件管理器
(5)缓冲区管理器
(6)查询管理器:接收用户的查询请求、理解查询请求、并将请求提交给存储管理器的数据库组件
(7)DDL 和 DML 解释器
(8)查询执行引擎

6、数据库的后台工作模式

(1)Apache
Prefork:多子进程,每个子进程只有一个线程,一个线程维持一个连接
Worker:多子进程,每个子进程会有多个线程,每个线程维持一个连接

(2)MySQL:单进程多线程的工作模式,每个线程维持一个连接
守护线程:MySQL 不需要跟用户进行交互
应用线程:MySQL 需要跟用户进行交互

7、优化方案 - MYSQL

(1)垂直扩展
(2)水平扩展
(3)缓存
(4)线程重用
(5)…分区、分表、读写分离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值