数据库的概述
上一篇 /
下一篇 2016-12-07 13:50:27
/ 个人分类:数据库
- 数据库就是“数据的仓库”
- 数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的系统软件,是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
二、主流数据库管理系统介绍
1、DB2
DB2 第一种使用使用 SQL 的数据库产品。DB2 于 1982 年首次发布,现在已经可以用
在许多
操作系统平台上(OS/390 和 VM 等大型机操作系统以及中等规模
的 AS/400 系统,包括基于 UNIX 的
LINUX,HP-UX,Sun Solaris,
以及 SCO UnixWare;还有用于个人电脑的
Windows 2000 系统)
DB2 的功能和性能都是非常优秀的。不过对开发人员的要求也比其他
数据库系统更高,使用不当很容易造成宕机、死锁等问题;DB2 在 SQL 的扩展方面比较保守;同时 DB2 对数据的类型要
求也非常严格。很多开发人员称 DB2 为“最难用的数据库系统”。
2、Oracle
Oracle第二个采用 SQL 的数据库产品。
Oracle 从 DB2 等产品中吸取到了很多优点,同时又避免了
IBM 的官僚体制与过度学术化,
大胆的引进了许多新的理论与特性,所以 Oracle 无论是功能、性能还是可用性都是非常好的。
3、Microsoft SQL Server
Microsoft SQL Server 是
微软推出的一款数据库产品。Microsoft SQL Server 的可用性做的非常好,使用学习门槛低;Microsoft SQL Server 的劣势只能运行
于 Windows 操作系统,因此我们无法在 Linux、Unix 上运行它;在实际使用中 Microsoft SQL Server 在大数据量和大交易量的环境中的表现都是不尽人意的,当企业的业务量到达一个水平后就要考虑升级到 Oracle 或者 DB2 了。
4、MySQL
MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL
被广泛地应用在中小型系统中,特别是在网络应用中用户群更多。MySQL 的资源占用非常小,更加易于安装、使用和管理。
由于 MySQL 是开源的,所以在 PHP 和 Java 开发人员心中更是首选的数据库开发搭档,
目前 Internet 上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+PHP)。 MySQL 目前还很难用于支撑大业务量的系统,所以目前 MySQL 大部分还是用来运行非核心业务。
三、数据库基本要素
Catalog(database)
表(Table)
列(Column)或 字段(Field)
数据类型(DataType)
主键(PrimaryKey)
索引(Index)
表关联
数据库的语言——SQL
在大多数 DBMS 中并没有强制规定一个表必须有主键,也就是一个表可以没有主键,但
是为一个数据表指定一个主键是一个非常好的习惯。用一个无意义的字段做主键将会更加有利于系统的可扩展性。
虽然索引可以提高数据查询的速度,但是任何事物都是双刃剑,它也有一些缺点:
索引占据一定磁盘空间,就像有按笔画查找的目录的书会比没有这种目录的书页数要多一些。
索引减慢了数据插入和删除的速度。因为每次插入和删除的时候都需要更新索引,一个
表拥有的索引越多,则写操作的平均性能下降就越大。
将两张表通过字段关联起来的方式就被称为“表关联”,关联到其他表主键的字段
被称为“外键”。表关联也是关系
数据库的核心理念,它使得数据库中的数据不再互相孤立,通过表关联我们可以表达非常复
杂的数据关系。
在数据库发展初
期每一种 DBMS 都有自己的特有的语言,不过逐渐的 SQL 成为了所有 DBMS 都支持的主流语
言。SQL 是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
我们可以通过三种方式执行 SQL:
- 在工具中执行。各个 DBMS 几乎都提供了工具用于执行 SQL 语句,比如 Microso SQL
Server 的 Management Studio、DB2 的命令中心、Oracle 的 SqlPlus 或者 MySQL 的 Query
Browser。在这些工具中我们只要输入要执行的 SQL 然后点击【执行】按钮就可以得到
执行结果。
- 以编译的方式嵌入到语言中。在这种方式中我们可以把 SQL 直接写到代码中,在编译
的时候由编译器来决定和数据库的交互方式。比如 PowerBuild、C 等就采用这种方式。
- 以字符串的形式嵌入到语言中。在这种方式中 SQL 语句只是以字符串的形式写到代码
中,然后由代码将其提交到 DBMS,并且分析返回的结果。目前这是大部分支持数据库
操作的语言采用的方式,比如 C#、Java、
Python、Delphi 和 VB 等。
虽然已经有了国际标准,但是由于种种原因,各个数据库产品的 SQL 语法仍然有着很大差异,在数据库 A 上能成功执行的 SQL 放到数据库 B 上就会执行失败。
以上摘自《程序员的 SQL 金典》
收藏
举报
TAG:
数据库