数据库的发展历程:数据库
- 网状型数据库
- 层次型数据库
- 关系数据库
- 面向对象数据库
关系数据库是最成熟、使用最普遍的数据库。编程
面向对象数据库是由面向对象的编程语言催生的新型数据库,更加适合面向对象编程,但诞生时间较短,技术尚不成熟,还未大规模地应用于开发。安全
关系数据库分为2类:服务器
- 桌面数据库:适用于小型的、单机的程序,不须要网络和服务器,实现起来比较方便,但只提供数据存取的功能。常见的有Access。
- 客户/服务器数据库:适用于大型的、多用户的数据库管理系统,客户端向用户显示信息及实现与用户的交互;服务器实现对数据库的操做和对数据的计算处理。服务器端通常包含DBMS(数据库管理系统),负责数据的存储、安全、一致性、并发、恢复、访问等操做。常见的有Oracle、MySQL、SQL Server。
SQL,全称Structured Query Language,结构化查询语言。网络
SQL是操做关系数据库的标准语言,是全部关系数据库通用的。并发
SQL只是制定的一个标准,由具体的关系数据库厂商来实现,因此某些关系数据库可能不支持SQL中的少数语句。编程语言
各关系数据数据库在SQL基础上进行一些扩展,增长一些额外的功能,这些额外的功能是该种关系数据库特有的,只能对该种数据库使用。函数
若是想让程序跨关系数据库,尽可能使用SQL,不要使用某种关系数据库特定的功能/语句。性能
数据表是存储数据的逻辑单元。对象
数据表中,一行称为一条记录,一列称为一个字段。
主键:惟一标识此条记录。
SQL语句大体可分为:
- 查询语句:select
- DML(Data Manipulation Language,数据操做)语句:操做记录,包括insert、update、delete。
- DDL(Data Definition Language,数据定义)语句:操做数据库对象(通常是表、约束、索引、视图),包括create、alter、drop、truncate。
- DCL(Data Control Language,数据控制)语句:操做数据库用户权限,包括grant、revoke。
- 事务控制语句:包括commit、rollback、savepoint。
SQL语句不区分大小写。
数据库对象:
- 表table
- 数据字典:即系统表,一张特殊的表,存储数据库的相关信息,通常由DBMS维护。
- 约束constraint:执行数据校验,保证数据完整性
- 视图view:表中数据的逻辑显示,视图自己并不存储数据
- 索引index:至关于书的目录,用于提升查询性能
- 函数function:完成一次特定的计算
- 存储过程procedure:用于完成一次完整的业务处理
- 触发器trigger:至关于一个事件监听器,当数据库发生特定事件后,触发器被触发,完成相应处理
函数、存储过程、触发器属于数据库编程的内容,须要大量使用数据库特性。
数据库标识符:
- 用于定义表名、列名、变量名等
- 可包含字母、数字、三个特殊字符(#_$),必须以字母开头
- 不能使用当前数据库系统的关键字、保留字
一般使用多个单词链接而成,单词之间用下划线链接。