数据库基础知识
一、数据库基本介绍
1.定义:高效的存储和处理数据的介质(主要为磁盘和内存两种)。
2.分类:
1)关系型数据库(SQL)
大型数据库:Oracle、DB2。
中型数据库:SQL Server、MySQL。
小型数据库:Access。
优点:安全,将数据存储在磁盘之中,基本不可能丢失数据。
缺点:用二维表的形式存储数据,比较浪费空间。
2)非关系型数据库(NoSQL,Not Only SQL)
MongoDB、Memcached、Redis。
优点:存储数据的效率比较高。
缺点:不是特别安全,突然断电会导致数据丢失。
二、关系型数据库
1.定义:是一种建立在关系模型(数学模型)上的数据库。
至于关系模型,则是一种所谓建立在关系上的模型,包含三个方面:
1)数据结构:数据存储的形式,二维表(行和列);
2)操作指令集合:所有的SQL语句;
3)完整性约束:表内数据约束(字段与字段)和表与表之间的约束(外键 foreign key)
2.设计
数据库:从需要存储的数据中分析,如果是一类数据(实体),这应该设计成二维表;
二维表:由表头(字段名,用来规定数据的名称)和数据(实际存储的内容)部分组成。(类似于Excel表格那样的二维表)
3.关键字说明
DB:Database,数据库;
DBMS:Database Management System,数据库管理系统;
DBS:Database System = DBMS + DB,数据库系统;
DBA:Database Administrator,数据库管理员。
row / record:行 / 记录,本质都是指表中的一行(一条记录),行是从结构角度出发,记录则是从数据角度出发。
column / field:列 / 字段,本质都是指表中的一列(一个字段),列是从结构角度出发,字段则是从数据角度出发。
4.SQL基本知识
SQL:Structured Query Language,结构化查询语言(数据以查询为主,99% 都是在进行查询操作)。
SQL主要分为三种:
1)DDL:Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库、表),代表指令为:create、drop、alter等。
2)DML:Data Manipulation Language,数据操作语言,用来对数据进行操作(表中的内容),代表指令为:insert、delete、update等,不过在DML内部又单独进行了一个分类,即DQL(Data Query Language),数据查询语言,代表指令为:select。
3)DCL:Data Control Language,数据控制语言,主要是负责(用户)权限管理,代表指令为:grant、revoke等。
三、MySQL数据库
1.定义:是一种c/s结构的软件,即分为客户端和服务端。若想访问服务器,则必须通过客户端;服务器应该一直运行,客户端则在需要使用的时候运行。
2.交互方式
客户端链接认证,即连接服务器,认证身份 mysql.exe -h localhost -u root -p*(星号代表密码,与-p之间无空格)。
-h 主机地址,本地为localhost,远程为IP地址;
-p 端口号,用来找软件;
-u 用户名;
-p 密码
发送SQL指令;
服务器接收SQL指令,然后处理指令并返回操作结果;
客户端接收结果并显示结果;
由于服务器并发限制,需要断开链接(三种指令:exit、quit、\q)释放资源。(即超过并发限制数量的客户端,链接不上服务器,接收了的客户端则会断开,将资源让给后续客户端。)
4.服务器对象
1)DBMS,数据管理系统
2)DB,数据库
3)Table,表
4)Filed,字段