数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源成为各个部门的重要财富和资源。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用。这里面涉及几个基本概念,包括数据,数据库,数据库管理系统以及数据库系统。
数据(Data)是数据库中存储的基本对象,这里不仅仅指数字,数据种类很多,文本、图形、图像、音频、视频等都是数据,确切的说描述事物的符号记录都称为数据。
那么什么是数据库(DB),顾名思义,是存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。严格地讲,数据库是长期储存在计算机内、有组织的、可共享的大量数据的结合。也体现出了数据具有有永久存储、有组织和可共享三个基本特点。
而数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件,DBMS是一组计算机程序,是帮助用户建立、使用和管理DB的系统软件。同时DBMS也是数据库系统(DBS)的重要组成部分,除此之外DBS还包括DB、应用系统、数据库管理人员(DBA)和用户组成。
我们知道数据模型是对现实世界的模拟,它是DBS的核心和基础,包括层次模型、网状模型、关系模型、面向对象模型(OO模型)和对象关系模型(OR模型),相应的数据库的发展分为三个阶段,第一代数据库系统指层次和网状数据库系统,其代表系统是1969年由IBM公司研制的层次模型的数据库管理系统IMS;第二代数据库系统是支持关系数据模型的关系数据库系统。1970年,IBM公司San Jose研究室的研究员E.F.Codd发表了题为《大型共享数据库数据的关系模型》论文,为关系数据库技术奠定了理论基础;第三代数据库系统也称为新一代的数据库系统,它将以更丰富的数据模型和更强大的数据管理功能为特征,从而满足广泛复杂的新应用的要求。而在几种数据模型中目前最重要的就是关系模型,它的数据结构非常简单,只包含单一的数据结构——关系,在用户看来,其数据的逻辑结构就是一张二维表,关系模型中的数据操作是集合操作,操作对象和操作结果都是关系。关系数据语言可以分为三类,即关系代数语言、关系演算语言和具有关系代数和关系演算双重特点的语言,比如SQL(Structured Query Language)结构化查询语言,SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言,已成为数据库领域中的主流语言,既然它如此重要,那么接下来我们就举例说明如何使用SQL语言。
1
这是一个简单的班级关系,我们将其定义为CL关系,其中班级编号Clno,班级名称Clname,
我们对其进行查询操作,查询班级编号在200307和200408之间的元组,语句如下:
SELECT Clno,Clname
FROM  CL
WHERE  Clno BETWEEN 200307 AND 200408
查询结果如图所示: 
2
这是一个学生关系S表,学号Sno,班级号Clno,姓名Sname,我们要查询名字为陈勇宁的学生信息,语句如下:
SELECT Sno,Clno,Sname
FROM    S
WHERE  Sname=’陈勇宁
查询结果如图所示:
通过以上两个例子我们总结一下SQL语言查询语句的一般格式为:
SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
FROM <表名或视图名>[,<表名或视图名>]…
[WHERE<生活中数据库系统的实际例子条件表达式>]
下面再举一些例子:
3
这是一个学生注册信息表SR表,学生姓名Sname,要求查询学生姓名为朱绍福的注册信息,语句如下:
SELECT *
FROM    SR
WHERE Sname=’朱绍福
查询结果如图所示:
从上面的例子我们可以看出如果我们要选择所有的属性列,一种方法是可以将所有列名全部列出,另一种可以简单的写成“*”。
另外,为了进一步方便用户,增强检索功能,SQL提供了许多聚集函数,主要有:
COUNT([DISTINCT|ALL]*)          统计元组个数
COUNT([DISTINCT|ALL]<列名>)      统计一列中值的个数
SUM([DISTINCT|ALL]<列名>)        计算一列值的总和(此列必须是数值型)
AVG([DISTINCT|ALL]<列名>)      计算一列值的平均值(此列必须是数值型)
MAX([DISTINCT|ALL]<列名>)        求一列值的最大值
MIN([DISTINCT|ALL]<列名>)        求一列值的最小值
4
这是一个学生成绩关系表GR表,班级Clname,课程C,成绩Grade,考试类型T,学期Te,要求查询班级为037班,2002年春期中考试英语成绩的最高分,最低分以及平均成绩,语句如下:
SELECT MAX(Grade),MIN(Grade),AVG(Grade)
FROM    GR
WHERE  Clname=’037’ AND C=’英语’ AND T=’期中’ AND Te=’2002
查询结果如图所示:
此例中不仅用到了聚集函数分别计算英语成绩的最高分,最低分和平均分,还体现了另一个知识点:在之前的查询语句中,WHERE子句中只有一个条件,WHERE子句中可以有多个连接条件,称为复合条件连接。
我们除了可以进行查询操作,还可以对其进行插入与删除操作。
5
这是一个学生成绩关系表GR,要求在表中在插入一个新的元组,学号:20020701,姓名:陈勇宁,班级:037班,课程:物理,成绩:87,考试类型:期中,学期:2002春。语句如下:
INSERT
INTO  GR
VALUES (‘200200701’,‘陈勇宁,‘037,‘物理87,‘期中’,‘2002春’)
插入后结果如图所示:
插入的元组为箭头所指的位置。
我们看到INTO子句中只指出了表名,没有指出属性名,这表明新元组要在表的属性列上都指定值,属性列的次序与GREATE TABLE中的次序相同VALUES子句对新元组的各属性值赋值,一定要注意值与属性列要一一对应。同样我们可以对其进行删除操作。
6
此表与例5的表相同。
要求删除学号为11111111的成绩记录,具体语句如下:
DELECT
FROM GR
WHERE Sno=’11111111’;
删除后的结果如图所示:
我们发现学号为11111111的学生成绩记录被删除了。除此之外,我们可以自己新建一张表,这里只举一个简单的例子。
7
CREAT TABLE Student
(Sno CHAR (9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINiT,
Sdept CHAR(20)
);
系统执行上面的CREATE TABLE语句后,就在数据库中建立一个新的空的“学生”表Student
以上举例说明了SQL语句的部分使用,其实SQL的功能十分强大,由于篇幅的关系,在此就
不在赘述。
数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,目前,它已成为计算机信息系统与应用系统的核心技术和重要基础。数据、应用需求和计算机相关技术是推动数据库发展的3个主要动力或3个重要因素,其发展和变化主要表现在以下几个方面:一是信息特性和来源的变化;二是应用领域的变化;三是相关技术的发展;四是当前若干研究热点,比如信息集成、移动数据管理、网络数据管理等;五是DBMS的自适应管理。面对新的挑战,我们要继承数据库技术和其他技术相结合的优良传统,努力探索新方法,新技术,来提高和改善对数据和信息的使用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。