1. 数据库简介
1.1文件存储
文件存储方式保存数据的弊端:
1)缺乏对数据的整体管理,存取不方便,数据不便修改。
2)不利于数据分析和分享,安全性不高。
3)存储数据量较小,但数据量急剧增长时,大量数据不可长期保存在文件中。
相对文件存储而言,数据库的优势在于:
1)可以持久地保存数据
2)相对安全
3)支持多用户操作(支持不同的client操作形式)
4)存储的数据量较大
5)能提供丰富的数据类型
6)支持数据的移植和备份
1.2 DB和DBMS
数据库:Database,简称DB,是按照数据结构来组织、存储、管理数据的仓库。
数据库管理系统:Database Management System,简称DBMS,管理数据库的软件。
1.3关系数据库简介
关系型数据库:Relation Database Management System ,简称RDB
关系:描述两个元素间的关联或对应关系
使用关系模型把数据组织到二维数组(table)中
产品化:
Oracle
DB2
Sybase
SQL Server
MySQL
1.4 表的概念
一个关系型数据库由多个数据表(Table)组成,数据表是关系型数据库的基本存储结构。
表是二维的,由行和列组成,保存数据类型相同的一组数据。(类)
表的行:row,也称作记录(Record),一条具体的数据(一个具体的对象)
表的列:Column,也称作字段(Field),数据特点,描述(一个类的属性)
表和表之间存在关联关系
2. 主流关系型数据库
2.1 Oracle数据库概述
Oracle是著名的Oracle(甲骨文)公司的数据库产品
Oracle是世界上第一个商品化的关系型数据库管理系统
Oracle采用标准的SQL(结构化查询语言),支持多种数据类型、提供面向对象的数据支持,具有第四代语言开发工具,支持Unix、Windows、OS/2等多种平台。
Oracle 公司的产品丰富,包括Oracle服务器、Oracle开发工具和Oracle应用软件。其中最著名的是Oracle数据库,目前最新版本是Oracle 12c
2.2 DB2数据库概述
DB2是IBM公司的关系型数据库管理系统
DB2 有很多不同的版本,可以运行在从掌上产品到大型机不同的终端机器上。
DB2 UniversalDataBase Personal Edition 和 DB2
Universal Database Workgroup Edition 分别是单用户和多用户系统,可运行在OS/2和Windows上。
DB2 是Oracle的主要竞争对手。
2.3 Sybase数据库概述
Sybase是美国Sybase公司的关系型数据库系统。
Sybase是较早采用C/S技术的数据库厂商。
典型的Unix或Windows NTP平台上客户端/服务器环境下的大型数据库系统。
Sybase通常与Sybase SQL Anywhere 用于客户机\服务器环境,前者为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuider为开发工具,在国内中型系统中具有广泛的应用。
2010年被SAP收购。
2.4 SQL Server数据库
Micorsoft SQL Server是微软的产品,运行在Windows NT服务器上。其最初版本适用于中小型企业,但应用范围不断扩展,已经触及到大型、跨国企业的数据库管理。
最新版本是SQL Server 2014
2.5 MySQL数据库概述
MySQL是开放源码的小型关系型数据库管理系统,广泛应用在中小型网站中。总体拥有成本低,规模较DB2和Oracle小
2008年1月16日,Sun公司收购MySQL。
2009年4月20日,Sun公司被Oracle公司收购,所以MySQL现在属于Oracle公司。
最新版本MySQL5.7
3. SQL概述
SQL(Structured Query Language):结构化查询语言
SQL是在关系型数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据、操纵数据、定义数据、控制数据
所有数据库都使用相同或者相似的语言。
SQL可分为:
数据定义语言(DDL)
数据操作语言(DML)
事务控制语言(TCL)
数据查询语言(DQL)
数据控制语言(DCL)
3.1 数据定义语言(DDL)
Data Definition Language
用于建立、修改、删除数据库对象
包括:
create:创建表或其他对象的结构
alter:修改表或其他对象的结构
drop:删除表或其他对象的结构
truncate:删除表数据、保留表结构
3.2 数据操作语言(DML)
Data Manipulation Language
用于改变数据表中的数据,和事物相关,执行完后需要经过事物控制语句提交后才真正的将改变应用到数据库中。
包括:
insert:将数据插入到数据表中
update:更新数据表中的数据
delete:删除数据表中的数据
3.3 事务控制语言(TCL)
Transaction Control Lanaguage
用来维护数据一致性的语句
包括:
commit:提交,确认已经进行的数据改变
rollback:回滚,取消已经进行的数据改变
savepoint:保存点,使当前的事物可以回退到指定的保存点,便于取消部分改变。
3.4 数据查询语言(DQL)
Data Query language
用来查询所需要的数据
select语句
3.5 数据控制语言(DCL)
Data Control language
用于执行 权限的是授予和收回操作
包括:
grant:授予,用于给用户或角色授予权限
revoke:用于收回用户或角色已有的权限
create user : 创建用户