一.数据库概述
目录
一.数据库概述
什么是数据库?
- 数据库是按照数据结构来组织,存储和管理数据的仓库
- 每个数据库都有一个或多个API用于创建,访问,管理,搜索和复制所保存的数据
- 我们也可以将数据存储在文件中,但是文件中读写数据速度相对较慢。所以,我们现在使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系型模型基础上的数据库。借助于几何代数等数学概念和方法来处理数据库中的数据。
什么是API?
- API(应用程序编程接口):一般来说,这是一套明确定义的各种软件之间的通信方法
- 举例说明:研发人员 A 开发了软件 A ,研发人员 B 正在研发软件 B 。有一天,研发人员 B 想要调用软件 A 的部分功能来用,但是他又不想从头写 一遍软件 A 的源码和功能实现过程,怎么办呢?研发人员 A 想了一个好主意:我把软件 A 里你需要的功能打包好,写成一个 函数;你按照我说的流程,把这个函数放在软件 B 里,就能直接用我的功能 了!其中, API 就是研发人员 A 说的那个函数。
- 更通俗点,别人写好的代码,或者编译好的程序,提供给你使用,就叫做API。
MySQL数据库
- MySQL数据库是一种关系型数据库管理系统,目前属于Oracl公司。MySQL是一种关联数据库管理系统。关联数据库将数据保存在不同的表中,而不是让所有的数据放在一个大仓库中,这样就增加了速度并且提高了灵活性。
- MySQL是开源的,目前隶属于Orcal旗下产品。
- MySQL支持大型的数据库,可以处理拥有上千万条记录的大型数据库。
- MySQL使用标准的SQL数据语言形成
- MySQL可以运行于多个系统上,并且支持多种语言。
- MySQL对PHP有很好的请支持,PHP是目前最流行的Web开发语言。
- MySQL是可以定制的,采用了GPL协议,你可以通过修改源码来开发自己的MySQL系统
MySQL优势
- 运行速度快。MySQL体积小,命令执行的速度快
- 使用成本低。MySQL是开源的,且提供免费版本,对大多数用户来说大大降低了使用成本
- 容易使用。与其他大型数据库的设置和管理相比,其复杂程度低,易于使用
- 可移植性强。MySQL能够运行于多种系统平台上
- 适用更多用户。MySQL支持最常用的数据管理功能,适用于中小型企业甚至大型网站应用。
关系型数据库管理系统(RDBMS)术语
- 数据库:(DataBase,DB)按一定结构组织并长期存储在计算机内地的,可共享的大数据的有机集合。简而言之,就是存放数据的仓库,只不过,这些数据存在一定的关联,并按一定的格式存放在计算机上。
- 数据库系统:(DataBase System,DBS)实现有组织的,动态的存储大量关联数据,方便多用户访问计算机软件,硬件和数据资源组成的系统。
- 数据库管理系统:(DataBase Management System,DBMS)管理和维护数据库的系统软件。
- 数据库管理员:(DataBase Administrator,DBA)是指在数据库系统中负责创建,监控和维护整个数据库的专业管理人员。
- 数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单地电子表格。
- 数据冗余:在数据库系统中,数据重复的现象就是数据冗余。冗余降低了性能,但提高了数据的安全性。减少数据冗余最常见的方法就是分类存储,但是会增加数据查找的复杂性。
- 数据完整性:是指数据库中数据的准确性。
- 主键:(Primary Key,PK)唯一标识一条记录,不能有重复,不允许为空。用于强制表的实体完整性。主键是唯一的。一个数据表中只能包含一个主键,你可以使用主键来查询数据。
- 外键:(Foreign Key,FK) 表的外键是另一个表的主键,外键可以有重复,可以为空值。外键用于关联两个表。建立一种“引用”关系,它的值要求与主表的主键或者唯一键相对应,外键用来强制引用完整性。一个表可以有多个外键。
- 复合键:(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可以快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性:参照的完整性要求关系中不允许引用不存在的实体,与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
数据库,数据库系统,数据库管理系统三者的关系
MySQL数据库是数据库管理系统
数据库系统包含数据库和数据库管理系统
my.ini中常用的参数
my.ini,即MySQL软件正在使用的配置文件,通过修改my.ini文件可实现手动配置数据库服务器MySQL。
default-character-set:客户端默认字符集
character-set=server:服务器端默认字符集
port:客户端和服务端的端口号
default-storage-engine:MySQL默认存储引擎