数据库的概述

上一篇 / 下一篇  2016-12-07 13:50:27 / 个人分类:数据库

一、数据库与数据库管理系统区分
- 数据库就是“数据的仓库”
- 数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的系统软件,是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

二、主流数据库管理系统介绍
DB2、Oracle、Microsoft SQL Server 、Sybase SQL Server、Informix、 MySQL

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) 
记录(Record)或 行(Row)
主键(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: 数据库

 

评分:0

我来说两句

Open Toolbar