1.1 数据库基础
数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据安全控制和完整性控制。本节将介绍数据库中的一些基本概念,包括数据库的定义、数据表的定义和数据类型等。
1.1.1 什么是数据库
数据库的概念诞生于60年前,随着信息技术和市场的快速发展,数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来了一场巨大的革命。
数据库发展阶段大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有3种:层次式数据库、网络式数据库和关系式数据库。不同种类的数据库按不同的数据结构来联系和组织。
对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”以及数据管理的方法和技术。
数据库的特点包括:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能。
1.1.2 表
在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。
例如,一个有关作者信息的名为authors的表中,每个列包含的是所有作者的某个特定类型的信息,比如“姓名”,而每行则包含了某个特定作者的所有信息:编号、姓名、性别、专业,如图1-1所示。
图1-1 authors表结构与记录
1.1.3 数据类型
数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。
表中的每一个字段就是某种指定数据类型,比如表1.1中“编号”字段为整数数据、“性别”字段为字符型数据。
1.1.4 主键
主键(PRIMARY KEY)又称主码,用于唯一标识表中的每一条记录。可以定义表中的一列或多列为主键,主键列上没有两行具有相同的值,也不能为空值。假如,定义authors表,该表给每一个作者分配一个“作者编号”,该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出现重复的名字,这与现实不相符,因此“姓名”字段不适合作为主键。
1.1.5 什么是开源
PostgreSQL是一个开源数据库管理系统。开源是开放源码的简称,是被非赢利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行正式的定义,用于描述那些源码可以被公众使用的软件,并且软件的使用、修改和发行不受许可证的限制。这意味着软件在提供的时候,同时提供了源码。开源许可赋予用户使用、修改和重新发布它而不需要付许可费用的权力。