一、什么是数据库?
数据:描述事物的符号记录,可以是数字、文字、图形、图像、声音、语言等多种形式,它们都可以经过数字化后存入计算机。
数据库:存储数据的仓库,是长期存放在计算机内,有组织、可共享的大量数据的集合。
- 数据结构化
- 数据的共享性高,冗余性低,易扩充
- 数据独立性高
- 数据由DBMS统一管理和控制(安全性、完整性、并发空中、故障恢复)
数据库管理系统(DBMS):是管理数据库的一个软件,它充当所有数据的知识库,并对它的存储、安全、一致性、并发操作、恢复和访问负责。
二、常见数据库
(一)关系型数据库
关系模型指二维表格模型,因而一个。关系型数据库就是有二维表及其之间的联系组成的一个数据组织。
- 关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
- 当前主流的关系型数据库:Oracle、DB2、Microsoft SQL Server 、Microsoft Access、MySQL
- 国产数据库:浪潮K-DB、武汉达梦、南大通用、人大金仓。
- 实体关系模型:简称E-R模型,是一套数据库的设计工具,他运用真是世界中事物与关系的概念,爱解释数据库中的抽象的数据架构。
(二)非关系型数据库
非关系型数据库:又被称为NoSQL(Not Only SQL),意为不仅仅是SQL,是一种轻量、开源、不兼容SQL功能的数据库。
(三)DBMS支持的数据模型
三、MySQL
(一)简介
- 目前MySQL被广泛地应用在Internet上的中小型网站中。于体积小、速度快、总体拥有成本低。
- MySQL的特性:
- MySQL安装包获取方式:MySQL官网
- 适用场景:互联网公司web网站系统、数据仓库系统、日志记录系统、嵌入式系统
- MySQL典型用户:google、雅虎、腾讯、北电、思科、YouTube、SecondLife、百度、优酷网、新浪、中国电子科学研究院、数商3.0、一大把、哈票网、短信网关、IP通讯等。
(二)MySQL体系结构
MySQL是由SQL接口、解析器、优化器、缓存、存储引擎组成的。
- Connectors:指的是不同语音中与SQL的交互。
- Management Serveices & Utilities:系统管理系统和控制工具。
- Connection Pool:连接池。管理缓冲用户连接,线程处理等需要缓存的需求。
- SQL Interface:SQL接口,接受用户的SQL命令,并且返回用户需要的结构。若用户输入select from就是调用该接口。
- Parser:解析器。SQL命令传送到解析器的时候会被解析器验证和解析。
- Optimizer:查询优化器。SQL语句在查询之前会使用查询优化器对查询进行优化。
- Cache&Buffer:查询缓存。如果查询缓存有命中的查询结果,查询语句就可以直接起缓存中取数据。
- Engine:存储引擎。存储引擎是MySQL中具体的与文件打交道的子系统。
常见面试题:
1、请说出关系型数据库的典型产品、特点及应用场景?
- SQLserver:
- 特点:真正的客户机/服务器体系结构;图形化用户界面;
丰富的编程接口工具;与Windows NT完全集成;具有很好的伸缩性; - 应用场景:主机为Windows系统,主要应用于web网站的建设,承载中小型web后台数据。
- MySQL/MariaDB:
- 特点:体积小,总拥有成本低,开放源代码,可运行在多数系统平台上,轻量级易扩展。
- 应用场景:广泛的应用在Internet上的中小型网站中。
- Oracle:
- 特点:跨平台运行,安全性方面,性能最高。对硬件要求高,价格昂贵。
- 应用场景:大部分国企事业单位都用Oracle,在电信行业占用最大的份额。
2、请详细描述SQL语句分类及对应代表性关键字?
- DDL(Data Definition Language)—数据库定义语言:(create、alter、drop),管理基础数据库,例如:库,表 。
- DCL(Data Control Language)—数据控制语言:(grant、revoke、commit、rollback),用户授权,权限回收,数据提交回滚等 。
- DML(Data Manipulation Language)—数据操作语言:(select、insert、delete、update),针对数据库里的表,记录 。