1 数据库基础知识

1.1 数据库定义

数据库:Database,存储数据的仓库,高效的存储和处理数据的介质。

1.2 关系型数据库

关系型数据库是一种建立在关系模型(数学模型)上的数据库。
按大小分为:
大型:Oracle,DB2
中型:SQL-Server,Mysql 等
小型:access 等

1.3 二维表

由行和列组成。在关系数据库中,一个关系就是一张二维表,二维表名就是关系名。
二维表一般满足下面7个性质:
(1)二维表中元组个数是有限的——元组个数有限性;
(2)二维表中元组均不相同——元组的唯一性;
(3)二维表中元组的次序可以任意交换——元组的次序无关性;
(4)二维表中元组的分量是不可分割的基本数据项——元组分量的原子性;
(5)二维表中属性名各不相同——属性名唯一性;
(6)二维表中属性与次序无关,可任意交换——属性的次序无关性;
(7)二维表属性的分量具有与该属性相同的值域——分量值域的统一性。

1.4 行

一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。

1.5 列

一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。

1.6 主键

一列(或一组列),其值能够唯一标识表中每一行。
唯一标识表中每行的这个列(或这几列)称为主键。主键用来表示一个
特定的行。没有主键,更新或删除表中特定行就极为困难,因为你不能
保证操作只涉及相关的行。
表中的任何列都可以作为主键,只要它满足以下条件:

1任意两行都不具有相同的主键值;
2每一行都必须具有一个主键值(主键列不允许 NULL值);
3主键列中的值不允许修改或更新;
4主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

1.7 外键

外键是表中的一列,其值必须列在另一表的主键中。外键是保证引用完
整性的极其重要部分。

2 MySQL数据库管理系统

2.1 数据库

MySQL数据库是一种 C/S(客户端/服务端)结构的软件,若想访问服务器必须通过客户端(服务器一直运行,客户端在需要使用的时候运行)

交互方式:
1 客户单连接认证:连接服务器,认证身份
2 发送SQL指令
3 服务器接受SQL指令处理SQL指令,返回操作结果
4 客户端节后首结果,显示结果
5 断开连接(释放资源:服务器并发限制)

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL 是开源的,所以你不需要支付额外的费用。
MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL 使用标准的 SQL 数据语言形式。
MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

2.2 数据表

创建MySQL数据表需要以下信息:
表名
表字段名
定义每个表字段

2.3 视图

视图是一种有结构(有行有列)但是没结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义,而是从对应的基表中产生(视图的数据来源)。

与包含数据的表不一样,视图只包含使用时动态检索数据的查询。

2.4 存储过程

存储过程简称过程 procedure,是一种用来处理数据的方式,存储过程是一种没有返回值的函数。