0.数据库系统开发基础
数据库系统主要由三大部分组成:
(1)数据库(按一定结构组织在一起的相关数据的集合)。
(2)数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)。
(3)数据库应用程序(它使用户能够获取、显示和更新DBMS存储的数据)。
0.1数据库的基本概念
1.数据库(DataBase) 数据库简单的定义是:有蕴含着一定的意义的数据,一些按照一定的规律组织起来所组成的数据集合。在数据库中除了用一些作为外部信息的数据之外,还有一些内部信息数据。这些数据定义了数据库的用户及其相应的权限,数据库表单的定义等等,通常把存放这些数据的地方叫做数据字典。数据字典是有数据库系统自行创建并自动维护的,它实际上也是数据库的一组表和视图,与其他的表单和试图并没有物理结构上的区别,唯一不同的是它的内容。
2.关系数据库(Relational DataBase) 关系数据库是由若干个表组成的,每一张二维表对应着一种联系。表的每一行称为记录;表的每一列叫做字段;域就是属性的取值范围。对于 DBASE、FoxPro、Paradox 这三种数据库系统,数据库对应于某一个子目录,而其他类型如 MS Access、BTrieve 则是指某个文件。
表(Table):一个表就是一组相关的数据按行排列,像一张表一样。
字段(Field):在表中,每一列称为一个字段。每一个字段都用相应的描述信息,如数据类型、数据域等。
记录(Record):在表中,每一行称为一条记录。
索引(Index):为了加快访问数据库的速度、许多数据库都使用索引。
主键(Primary Key,PK):主键是对于这张表的惟一标识,即一个列或几个列的组合。主键最显著的特点就是在任何给定的条件,没有两个主键包含相同的值,这个称作主键的惟一性原则。同时主键中每一个属性都不能被去掉,而同时仍能够保持主键的惟一性,这个我们称作主键的最小性原则。
关系型数据库系统具有很多优点:
(1)关系数据库有深厚的理论基础,它是基于关系代数和关系理论的模型。
(2)以二维表的形式表示数据。
(3)不需要用户了解它在计算机中的物理存储形式。
(4)用系统表来提供其本身的内容和结构。
(5)可以通过SQL语言来操纵。SQL语言是专门用于操作这种模型的语言。
3.数据库管理系统(DBMS)
数据库管理系统是一个用来管理数据库的软件,是数据库能够正常工作的核心。对数据库的所有操作,包括创建各种数据库的数据类型、表单、视图、存储过程,以及其他的数据库应用程序对于数据库中数据的读取和修改,都是经由数据库管理系统完成的。当数据库应用程序把对于数据库数据的操作指令通过数据库管理系统的接口函数发送给数据库管理系统后的一切工作都只是数据库管理系统的的了,数据库应用程序所要做的就只是等候数据库管理系统把它所需要的数据给它,然后进行加工处理。
4.数据库应用程序
数据库应用程序是通过DBMS访问数据库中的数据并向用户提供数据服务的程序。简单地说,它们是允许用户插入、删除和修改并报告数据库中数据的程序。这种程序是由程序员使用通用或者专用的程序设计软件开发的。
0.2 数据库设计
1.数据库的建立
创建一个数据库的过程有以下几个步骤:
(1) 确定数据库的使用范围。
(2) 确定支持数据库所需要的字段。
(3) 将字段划分成一些合理的数据表。 (4) 确定数据表之间的关联。
在确定数据库的需求后,要将这些需求划分成几个合理的数据表。 所谓合理的数据表,通常要满足以下几点:
- 数据表中的字段所描述的内容有一定的联系。
- 数据表中至少有一个字段的记录不是重复的。
- 一个数据表与数据库其他的数据表中至少一个能够关联。
- 一个数据表与数据库其他的同一数据表不要有多对多的关联。
2.数据表的结构
在数据表结构中需要一个关键字段,数据表中的数据就是按主关键字段的顺序存放的,而且利用主关键字能够高效地与其他数据表建立关联。索引也是数据表常用的,在数据库中,利用索引可以加快访问速度。
0.3 数据库应用程序的开发
1.初步设计
设计阶段要根据用户的需求,定义数据库和应用程序的功能,确定用户的需求功能哪些在设计阶段实现,哪些在程序中实现。
2.功能实现
将客户需求功能分成几个合理的功能块,分别进行程序设计、调试。
常见的划分方法上分成四个功能块:
(1)信息处理
(2)数据库管理
(3)系统维护
(4)辅助功能
信息处理是建立数据库应用程序的目的。设计数据库应用程序的目的是为客户提供所需要的信息服务,辅助管理工作,提高工作效率和水平。信息处理最基本的功能包括各类信息查询,统计报表等功能,对于特定的应用程序还可以有特定的功能。数据库管理的主要功能是负责数据库的更新、修改等。一个特定的数据库管理操作要由它的用户的权限决定,这个权限要由有权的用户指定。系统维护的功能是保证数据库应用程序运行的可靠性和安全性,一般包括用户管理,口令设置,各类系统变量和数据字典维护等。
3.运行和维护程序
用户在使用应用程序的过程中会对应用程序提出一些建议和要求,根据用户的建议和要求对数据库应用程序进行适当的修改和完善,从而提高程序的性能。
0.4 SQL结构化查询语言基础
0.4.1 SQL语言的发展
目前SQL语言被广泛地使用,它具有强大的生命力,它使用所有数据库用户包括程序员、DBA管理员和终端用户都受益非浅。
SQL语言具有以下优点:
(1)SQL语言是所有关系数据库的公共语言。
(2)SQL是非过程化查询语言。
有两种方式使用SQL语言:一种是在终端交互方式下使用,称为交互式SQL语言;另一种是嵌入在高级语言编写的程序中使用,称为嵌入式SQL语言 。
0.4.2 SQL的基本查询功能
SELECT语句是使用最多的SQL语句,它完成的是数据库的查询功能,SQL SELECT语句,从数据表中选择出符合条件的记录。
Distinct语句的作用是对某个表所选择的字段数据,忽略重复的情况,也就是说,针对某个字段查询出来的记录结果是惟一的。
1.TOP和ORDER BY语句
TOP语句实现从第一条或最后一条开始(利用ORDER BY条件子句),返回特定记录的数据的功能。如果没有加上ORDER BY条件的话,所得到的数据,将会是随机的数据。此外,在TOP语句之后,除了可以加上数字以外,还可以利用保留字PERCENT来查询。排序参数:ASC递增顺序排列,默认值。DESC递减顺序控制。
2.IN条件字句
指定要查询哪一个外部数据库的表。
3.HAVING条件子句
指定一特定的分组记录,并满足HAVING所指定的条件或状态,但条件是针对分组的条件设置。
4.GROUP BY条件子句
依据指定的字段,将具有相同数值的记录合并成一条。
5.BETWEED…AND运算符
决定某一数值是否介于特定的范围之内。
6.LIKE操作数
将一字符串与另一特定字符串样式比较,并将符合该字符串样式的记录过滤出来。
0.4.3 SQL的其他应用
1.SQL数字函数
(1) AVG:算数平均数。
(2) COUNT:计算记录条数。
(3) FIRST与LAST:返回某字段的第一条数据与最后一条数据。
(4) MAX与MIN:返回某字段最大值与最小值。
(5) SUM:返回某特定字段或是运算的总和数值。
2.SQL查询的嵌套
嵌套的SQL查询含义在于:在一个SQL语句中可以包含另一个SQL查询语句,形成内部嵌套的查询类型,SELECT语句构成的多层SQL查询,必须用()将该语句括起来 。
3.SQL与数据库的维护
(1) 表的建立CREATE TABLE语句:我们可以利用这个命令,来建立一个全新的表,但前提则是数据库必须已经存在。
(2) 表索引的建立CREATE INDEX语句:这个命令主要是对一个已经存在的表建立索引 。
(3) 表的删除DELETE语句:我们可以利用DELETE语句,将表中的记录删除。
(4) SELECT…INTO语句:可以通过这个命令,利用已经存在的表查询,来建立一个新表。
(5) INNER JOIN 操作数:当某一个共同的字段数据相等时,将两个表的记录加以组合。
(6) UNION操作数:可以通过UNION操作数来建立连接的查询条件,UNION操作数可以将两个以上的表或是查询的结果组合起来。
(7) ALTER语句:在一个表建立后,利用ALTER语句,可以去修改表的字段设计。
(8) DROP语句:针对所指定的表或字段加以删除,或是把索引删除。
(9) INSERT INTO语句:新建一条数据到表当中。
(10) UPDATE语句:建立一个UPDATE的查询,通过条件的限制来修改特定的数据。
本文来源于<Delphi 程序设计教程>(第3版)作者:杨长春
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。