目录
- 一、为什么使用数据库?
- 二、数据库概念
- 三、数据库存储文件的特点
- 四、MySQL常见的数据对象
- 五、MySQL数据类型介绍
- 六、数据库操作语言
- 七. 数据库的分类
一、为什么使用数据库?
保存数据的容器:数组、集合、文件
数组、集合是将文件存到内存中,断电数据会丢失。文件可以实现数据永久存储,但是要存储大量文件时,不易查询。此时,数据库登场。
数据库优点:
- 实现数据持久化
- 使用完整的管理系统,方便查询
二、数据库概念
数据库(DataBase,DB)
存储数据的”仓库“。它保存了一系列有组织的数据。
数据库管理系统(DataBase Management System,DBMS)
指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
数据库软件应该为数据库管理系统,数据库是通过DBMS管理创建和操作的容器
数据库与数据库管理系统的关系
如图:用户安装了六、数据库操作语言数据库管理系统(数据库软件)后,就可以对数据库DB进行增删改查了。
常见的数据库
关系型数据库
Oracle、DB2、Microsoft SQL Server、MySQL等
非关系型数据库
Redis,Hbase,mango
SQL概述
SQL全称是结构化查询语言,英文译作Structured Query Language,它是一种在关系型数据库中定义和操作数据的标准语言。目前,所有主要关系型数据库管理系统都支持某个标准的SQL语言。
优点:
(1)不是某个特定数据库供应商专有的语言。几乎所有重要的数据库管理系统DBMS都支持SQL。
(2)简单易学,该语言的语句都是由描述性很强的英语单词组成,且这些单词的数目不多。常用增删该查。
(3)高度非过程化,即用SQL操作数据库,只需指出“做什么”,无须指明“怎么做”,存取路径的选择和操作的执行由DBMS自动完成。
三、数据库存储文件的特点
- 1、将数据放入表中,再将六、数据库操作语言表放入库中
- 2、一个数据库中可以有多个表,每个表有一个名字,用来标识自己。表名具有唯一性。
- 3、表具有一些特性,这些特性定义了数据在表中如何存储。
- 4、表由列组成,我们也称位字段,每一列相当于一个“属性”。
- 5、表中数据按行存储。每一行相当于一个“对象”
四、MySQL常见的数据对象
数据库/模式(Database/Schema):一个实例中有多个数据库,业务和资源隔离。
表 | Table |
---|---|
索引 | Index |
视图 | View |
约束 | Constraint |
触发器 | Trigger |
函数 | Function |
存储过程 | Procedure |
五、MySQL数据类型介绍
数值类型:六、数据库操作语言
整数型
Tinyint | 占1字节 |
---|---|
Smallint | 占2字节 |
Mediumint | 占3字节 |
Int/Integer | 占4字节 |
Bigint | 占8字节 |
日期类型
Date | 2018-03-02 |
---|---|
Datetime | 2018-03-02 18:18:18 |
Timestamp | 类似Datetime |
Time | 18:18:18 |
Year | 2018 |
字符串类型
Char | 六、数据库操作语言定长 |
---|---|
Varchar | 变长 |
Binary | 定长二进制,存放图片、文本等 |
Varbinary | 可改变长度的二进制数据 |
Enum | 枚举 |
Set | 集合 |
空间数据类型(几何和地理)
Geometry | 任何类型 |
---|---|
Point | 一对X-Y坐标 |
Linestring | 曲线 |
Polygon | 多边形 |
六、数据库操作语言文档类
空间数据类型(几何和地理)
Geometry | 任何类型 |
---|---|
Point | 一对X-Y坐标 |
Linestring | 曲线 |
Polygon | 多边形 |
文档类
六、数据库操作语言
MySQL基本操作之DDL(数据定义语言),DML(数据操纵语言),DQL(数据查询语言),DCL(数据控制语言)
用于定义、修改、删除数据库模式对象,进行权限管理。
create | 创建 |
---|---|
alter | 修改 |
drop | 删除 |
truncate | 清空,删除表中所有行但不删除表 |
DDL语言是自动提交的,敲回车则不能恢复。
用于查询、生成、修改、删除数据库中的数据
select | 查询 |
---|---|
insert | 插入 |
Delete | 删除 |
Update | 修改 |
七. 数据库的分类
1. 关系数据库
- MySQL
- MariaDB(MySQL的代替品,英文维基百科从MySQL转向MariaDB)
- Percona Server(MySQL的代替品·)
- PostgreSQL
- Microsoft Access
- Microsoft SQL Server
- Google Fusion Tables
- FileMaker
- Oracle数据库
- Sybase
- dBASE
- Clipper
- FoxPro
- foshub
几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。
2.非关系型数据库(NoSQL)
- BigTable(Google)
- Cassandra
- MongoDB
- CouchDB
- 键值(key-value)数据库
- Apache Cassandra(为Facebook所使用):高度可扩展
- Dynamo
- LevelDB(Google)
3.数据库模型
- 对象模型
- 层次模型(轻量级数据访问协议)
- 网状模型(大型数据储存)
- 关系模型
- 面向对象模型
- 半结构化模型
- 平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)
4.数据库架构
数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。
- 内层:最接近实际存储体,亦即有关数据的实际存储方式。
- 外层:最接近用户,即有关个别用户观看数据的方式。
- 概念层:介于两者之间的间接层。
5.数据库索引
数据索引的观念由来已久,像是一本书前面几页都有目录,目录也算是索引的一种,只是它的分类较广,例如车牌、身份证字号、条码等,都是一个索引的号码,当我们看到号码时,可以从号码中看出其中的端倪,若是要找的人、车或物品,也只要提供相关的号码,即可迅速查到正确的人事物。
另外,索引跟字段有着相应的关系,索引即是由字段而来,其中字段有所谓的关键字段(Key Field),该字段具有唯一性,即其值不可重复,且不可为"空值(null)"。例如:在合并数据时,索引便是扮演欲附加字段数据之指向性用途的角色。故此索引为不可重复性且不可为空。
数据库操作:事务
6.数据库事务
事务(transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务的ACID特性:
- 原子性(atomicity)
- 一致性(consistency)
- 隔离性(isolation)
- 持续性(durability)
事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会访问和存储不正确的数据,破坏交易的隔离性和数据库的一致性。
网状数据模型的数据结构 网状模型 满足下面两个条件的基本层次联系的集合为网状模型。
允许一个以上的结点无双亲;一个结点可以有多于一个的双亲
8.什么是mysql?
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品
MySQL 是最流行的关系型数据库管理系统之一
在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中
而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言
MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点
一般中小型网站的开发都选择 MySQL 作为网站数据库
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境.