当前位置:文档之家› 数据库简介

数据库简介

数据库简介
数据库简介

第三章数据库

数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行业有效的信息系统也成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)等,越来越多新的应用领域采用数据库存储和处理他们的信息资源。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要标志。

3.1 数据库知识概述

数据库技术是数据信息管理技术的最新成果,被广泛地应用于国民经济、文化教育、企业管理以及办公自动化等方面,为计算机的应用开辟了广阔的天地。本节将详细介绍有关数据库系统的基本概念。

3.1.1 数据库系统基本概念

1)数据(Data)

数据是数据库中存储的基本对象。数据在大多数人头脑中的第一个反应就是数字。其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。广义的理解,数据的种类很多,包括文字、图形、图像、声音、视频、学生的档案记录等。

数据就是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,都可以经过数字化后存入计算机。

数据的形式还不能完全表达其内容,需要经过解释。所以数据和关于数据的解释是不可分的,数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。

2)数据库(DataBase,简称DB)

所谓数据库是指长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可以为各种用户共享。

3)数据库管理系统(DataBase Management System,简称DBMS)

数据库管理系统是数据库系统的一个重要组成部分。它是位于用户与操作系统之间的一层数据管理软件。主要包括以下几方面的功能。

●数据定义功能

DBMS提供数据定义语言(Data Definition Language,简称DDL),通过它可以方便地对数据库中的数据对象进行定义。

●数据操纵功能

DBMS还提供数据操纵语言(Data Manipulation Language,简称DML),可以使用DML 操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。

●数据库的运行管理

数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

数据库的建立和维护功能

它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的管理重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。

4)数据库系统(DataBase System,简称DBS)

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据管理员和用户组成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DataBase Administrator,简称DBA)。

在一般不引起混淆的情况下,常常把数据库系统简称为数据库。

数据库系统在整个计算机系统中的地位如图3.1所示。

图3.1 数据库在计算机系统中的地位

数据库技术是应数据管理任务的需要而产生的。数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。

研制计算机的初衷是利用它进行复杂的科学计算。随着计算机技术的发展,其应用远远超出了这个范围。在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。这三个阶段的特点及其比较如表3.1所示。

表3.1 数据管理三个阶段的比较

1)数据结构化

数据结构化是数据库与文件系统的根本区别。在文件系统中,相互独立的文件的记录内部是有结构的。传统文件的最简单形式是等长同格式的记录集合。

在文件系统中,尽管其记录内容已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的区别。

在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。而在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。

2)数据的共享性高、冗余度低、易扩充

数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。

所谓数据的不一致性是指同一数据不同复制的值不一样。采用人工管理或文件系统管理时,由于数据被重复存储,当不同的应用使用和修改不同的复制时就很容易造成数据的不一致。在数据库中数据共享,减少了由于数据冗余造成的不一致现象。

由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大、易于扩充,可以适应各种用户的要求。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。

3)数据独立性高

数据独立性是数据库领域中一个常用术语,包括数据的物理独立性和逻辑独立性。

物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。

数据独立性是由DBMS的二级映像功能来保证的。数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS完成,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。

4)数据由DBMS统一管理和控制

数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。

为此,DBMS还必须提供以下几方面的数据控制功能。

●数据的安全性(Security)保护

数据的安全性是指保护数据以防止不合法的使用造成的数据的泄密和破坏。使每个用户只能按规定,对某些数据以某些方式进行使用和处理。

●数据的完整性(Integrity)检查

数据的完整性指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。

●并发(Concurrency)控制

当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整遭到破坏,因此必须对多用户的并发操作加以控制和协调。

●数据库恢复(Recovery)

计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能,这就是数据库的恢复功能。

3.1.2 数据模型

模型是现实世界特征的模拟和抽象。数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。不同的数据模型实际上是给我们提供模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为两类,它们分属于两个不同的层次。

第一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,是用户和数据库设计人员之间进行交流的工具,这一类模型中最著名的就是实体关系模型。实体关系模型直接从现实世界中抽象出实体类型以及实体之间的关系,然后用实体关系图(E-R 图)表示数据模型。E-R图有下面四个基本成分:

(1)矩形框,表示实体类型(问题的对象);

(2)菱形框,表示关系类型(实体之间的关系);

(3)椭圆形框,表示实体类型或关系类型的属性;相应的命名均记入各种框中。对于键的属性,在属性名下画一条横线。

(4)连线。实体与属性之间,关系与属性之间用直线连接;关系类型与其涉及的实体类型之间也以直线相连,并在直线端部标注关系的类型(1:1,1:N或M:N)。

另一类模型是数据库数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。

数据模型是数据库系统的核心和基础。各种机器上实现的DBMS软件都是基于某种数据模型的。为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常

常先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。也就是说把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机上某一DBMS支持的数据模型,这一过程如图3.2所示。

图3.2 现实世界中客观对象的抽象过程

1)数据模型的组成要素

一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。

(1)数据结构

数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,包括两类。一类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等;另一类是与数据之间联系有关的对象,例如网状模型中的系型(Set Type)。

数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。例如层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。数据结构是对系统静态特性的描述。

(2)数据操作

数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述。

(3)数据的约束条件

数据的约束条件是一组完整规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。例如,学生累计成绩不得有三门以上不及格等。

2.非关系数据库模型

目前,数据库领域中最常用的数据模型有四种,它们是:

●层次模型(Hierarchical Model)

●网状模型(Network Model)

●关系模型(Relational Model)

●面向对象模型(Object Oriented Model)

其中,层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在20世纪70年代至80年代初非常流行,在数据库系统产品中占据了主导地位,现在已逐渐被关系模型的数据库系统取代。

在非关系模型中,实体用记录表示,实体的属性对应记录的数据项(或字段)。实体之间的联系在非关系模型中转换成记录之间的两两联系。非关系模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系,如图3.3所示。图中R i位于联系L ij的始点,称为双亲结点(Parent),R j位于联系L ij的终点,称为子女结点(Child)。

图3.3 基本层次联系

20世纪80年代以来,面向对象的方法和技术在计算机各个领域,包括程序设计语言、软件工程、信息系统设计、计算机硬件设计等各方面都产生了深远的影响,也促进了数据库中面向对象数据模型的研究和发展。

数据结构、数据操作和完整性约束条件这三个方面的内容完整地描述了一个数据模型,其中数据结构是刻画模型性质的最基本的方面。为了使读者对数据模型有大致的了解,下面简要介绍层次模型和网状模型的数据结构。

1)层次模型

用树形结构表示数据及其联系的数据模型称为层次模型。树是由结点和连线组成的,结点表示数据,连线表示数据之间的联系,树形结构只能表示一对多联系。

层次模型的基本特点:

●有且仅有一个结点无双亲结点,称其为根结点。

●根以外的其他结点有且只有一个双亲结点。

层次模型可以直接方便地表示一对一联系和一对多联系,但不能直接表示多对多联系。图3.4给出了一个层次模型的例子。其中,R1为根结点;R2和R3为兄弟结点,是R1的子女结点;R4和R5为兄弟结点,是R2的子女结点;R3、R4和R5为叶结点。

图3.4 一个层次模型的示例

2)网状模型

用网络结构表示数据及其联系的数据模型称为网络模型,它是层次模型的拓展。网状模型的结点间可以任意发生联系,能够表示各种复杂的联系。

网状模型的基本特点:

●允许一个以上结点无双亲。

一个结点可以有多于一个的双亲。

网状模型可以直接表示多对多联系,但其中的结点间连线或指针更加复杂,因而数据结构更加复杂。从定义可以看出,层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一。因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。例如在图1-12的最左侧,R 3有两个双亲记录R 1和R 2,因此把R 1与R 2之间的联系命名为L 1,R 2与R 3之间的联系命名为L 2。图3.5所示都是网状模型的例子。

3)关系模型

用关系表示的数据模型称为关系模型。在数据库理论中,关系是指由行与列构成的二维表。在关系模型中,实体和实体间的联系都是用关系表示的。也就是说,二维表格中既存放着实体本身的数据,又存放着实体间的联系。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多的联系。

关系模型是建立在关系代数基础上的,具有坚实的理论基础。与层次模型和网状模型相比,具有数据结构单一、理论严密、使用方便、易学易用的特点。目前流行的关系数据库DBMS 产品包括Access 、SQL Server 、FoxPro 、Oracle 等,这些数据库系统的数据模型均采用关系模型。

3.1.3 数据库系统结构

数据模型是描述数据的一种形式,模式则是用给定的数据模型描述具体数据。数据库系统的三级体系结构是指数据库系统由内模式、模式和外模式三级构成。

模式也称为概念模式,描述了数据库中全体数据的逻辑结构和特征,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例(instance )。同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其关系,而实例反映的是数据库某一时刻的状态。

外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。

内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B 树结构存储还是按hash 方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。一个数据库只有一个内模式。

数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS 管理,使用户能逻辑的处理数据,而不必关心数据在计算机中的具体表现形式与存储方式。

图3.5 网状模型的例子

了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像,从而保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

外模式/模式映像:对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。如:

1)在模式中增加新的记录类型,只要不破坏原有记录类型之间的联系型;

2)在原有记录类型之间增加新的联系;

3)在某些记录类型中增加新的数据项。

模式/内模式映像:数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。该映象定义通常包含在模式描述中。

当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。如:

1)改变存储设备或引进新的存储设备;

2)改变数据的存储位置;

3)改变存储记录的体积。

3.2 关系数据库

关系数据库(Relational Database,RDB)就是基于关系模型的数据库。在计算机中,关系数据库是数据和数据库对象的集合。所谓数据库对象是指表、视图、存储过程、触发器等。关系数据库管理系统(Relational Database Management System,RDBMS)就是管理关系数据库的计算机软件。

3.2.1 关系模型

在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。关系中每一字段是表一列,每一个记录是表中的一行。这种用二维表的形式表示实体间联系的数据模型称为数据模型。

关系:一个关系就是一张二维表,每一个关系有一个关系名。

元组:表中的行称为元组。一行是一个元组,对应存储文件中的一条记录值。

属性:表中的列称为属性,每一列有一个属性。

域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

关键字:属性或属性组合,其值能够唯一地标识一个元组。关键字也称码。

关系模式:对关系的描述称为关系模式。一个具体关系模型是若干个关系模式的集合。一般表示为:

关系名(属性1,属性2,…,属性n)

元数:关系模式中属性的数目是关系的元数。

在关系模型中,实体以及实体间的联系都是用关系来表示。

关系模型要求关系必须是规范化的,最基本的条件就是,关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表,如图3.6所示。

图3.6 关系模型实例

关系数据模型的操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。

关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。

关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户效率。

关系数据库标准操作语言是SQL语言。

关系数据模型中,实体及实体间的联系都用表来表示。在数据库的物理组织中,表以文件形式存储,每一个表通常对应一种文件结构。

关系模型优点:

·关系模型是建立在严格的数学概念的基础上的。

·无论实体还是实体之间的联系都用关系来表示。对数据的查询结果也是关系(即表),因此概念单一,其数据结构简单、清晰。

·关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

关系模型缺点:

由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的负担。

3.2.2 关系代数

关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。

关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符

比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的,所以关系代数的运算按运算符的不同主要分为传统的集合运算和专门的关系运算两类。

传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算。

1)并(Union)

设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为

n目关系。记作:

R∪S={t|t∈R∨t∈S}

2)差(Difference)

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:R-S={t|t∈R∧フt∈S}

3)交(Intersection Referential integrity)

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S&127;的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:R∩S={t|t∈R∧t∈S}

4)广义笛卡尔积(Extended cartesian product)

两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。

专门的关系运算包括选择、投影、连接、除等。

为了叙述上的方便,我们先引入几个记号。

1)设关系模式为R(A1, A2, …, An)。它的一个关系设为R。t∈R表示t是R的一个元组。t[Ai]则表示元组t中相应于属性Ai的一个分量。

2)若A={Ai1, Ai2, …, Aik},其中Ai1, Ai2, …, Aik是A1, A2, …, An中的一部分,则A称为属性列或域列。フA则表示{A1, A2, …, An}中去掉{Ai1, Ai2, …, Aik}后剩余的属性组。t[A]=(t[Ai1], t[Ai2], …, t[Aik])表示元组t在属性列A上诸分量的集合。

3)R为n目关系,S为m目关系。称为元组的连接(Concatenation)。它是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。

4)给定一个关系R(X,Z),X和Z为属性组。我们定义,当t[X]=x时,x在R中的象集(Images Set)为:

Zx={t[Z]|t∈R, t[X]=x}

它表示R中属性组X上值为x的诸元组在Z上分量的集合。

1)选择(Selection)

选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组,记作:

σF(R) = {t|t∈R ∧F(t)='真'}

其中F表示选择条件,它是一个逻辑表达式,取逻辑值…真?或…假?。

逻辑表达式F的基本形式为:

X1θ Y1[ φ X2θ Y2 ]

θ表示比较运算符,它可以是>、≥、<、≤、=或≠。X1、Y1等是属性名或常量或简单函数。属性名也可以用它的序号来代替。φ表示逻辑运算符,它可以是フ、∧或∨。[ ]表示任选项,即[ ]中的部分可以要也可以不要,...表示上述格式可以重复下去。

因此选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。

2)投影(Projection)

关系R上的投影是从R中选择出若干属性列组成新的关系。记作:

ΠA(R) = { t[A] | t∈R }

其中A为R中的属性列。

3)连接(Join)

连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。

连接运算从R和S的笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。

连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。

θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。

自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。

一般的连接操作是从行的角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列的角度进行运算。

4)除(Division)

给定关系R(X,Y)和S(Y,Z),其中X, Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P

是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Y x包含S在Y上投影的集合。

3.3 关系数据库标准语言SQL

在关系数据库中普遍使用一种介于关系代数和关系演算之间的数据库操作语言SQL,SQL的含义即结构化查询语言(Structured Query Language)。SQL不仅具有丰富的查询功能还具有数据定义和数据控制功能,是集查询、DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。

3.3.1 SQL概述

SQL最早是1974年由Boyce和Chamberlin提出,并作为IBM公司研制的关系数据库管理系统原型System R的一部分付诸实施。它功能丰富,不仅具有数据定义、数据控制功能,还有着强大的查询功能。而且语言简洁,容易学习,容易使用。现在SQL已经成了关系数据库的标准语言,并且发展了三个主要标准,即ANSI(美国国家标准机构)SQL;对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2;最近又出了SQL-99也称SQL3标准。SQL-99从SQL2扩充而来,并增加了对象关系特征和许多其它的新功能。

现在各大数据库厂商提供不同版本的SQL。这些版本的SQL不但都包括原始的ANSI 标准,而且还在很大程度上支持新推出的SQL-92标准。另外它们均在SQL2的基础上作了修改和扩展,包含了部分SQL-99标准。这使不同的数据库系统之间的互操作有了可能。

SQL语言之所以能够为用户和业界所接受,成为国际标准,是因为它是一个综合的、通用的、功能极强的、简学易用的语言。其主要特点包括:

1)综合统一

数据库的主要功能是通过数据库支持的数据语言来实现的。SQL语言的核心包括如下数据语言:

(1) 数据定义语言(Data Definition Language,简称DDL),DDL用于定义数据库的逻

辑机构,是对关系模式一级的定义,包括基本表、视图及索引的定义。

(2) 数据查询语言(Data Query Language,简称DQL),DQL用于查询数据。

(3) 数据操纵语言(Data Manipulation Language,简称DML),DML用于对关系模式中的具体数据的增、删、改等操作。

(4) 数据控制语言(Data Control Language,简称DCL),DCL用于数据访问权限的控制。

SQL语言集这些功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据已建立数据库、查询、更新、维护、数据库重构、数据库安全控制等一系列操作要求,这就为数据库应用系统开发提供了良好的环境。

2)高度非过程化

使用SQL语言进行数据操作,用户只需提出“做什么”,而不必指名“怎么做”,因此用户无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。

3)用同一种语法结构提供两种使用方式

SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作。作为嵌入式语言,SQL语句能够嵌入到高级语言(例如C)程序中,提供程序员设计程序时使用。而在两种方式下,SQL语言的语法结构基本上是一致的。这种统一的语法结构提供两种不同的使用方式的方法,为用户提供了极大的灵活性与方便性。

4)语言简洁,易学易用

SQL语言功能极强,但其语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词:CREATE、DROP、ALTER、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE。而且SQL语言语法简单,接近英语口语,因此易学易用。

数据库的体系结构分为三级,SQL也支持这三级模式结构,如图3.7所示,其中外模式对应视图、模式对应基本表,内模式对应存储文件。

1)基本表(Base Table)

基本表是模式的基本内容。实际存储在数据库中的表对应一个实际存在的关系。

2)视图(View)

视图是外模式的基本单位,用户可以通过视图使用数据库中基于基本表的数据。视图是从其它表(包括其它视图)中导出的表,它仅是一种逻辑定义保存在数据字典中,本身并不独立存储在数据库中,因此视图是一种虚表。

3)存储文件

存储模式是内模式的基本单位。一个基本表对应一个或多个存储文件,一个存储文件可以存放在一个或多个基本表,一个基本表可以有若干个索引,索引同样存放在存储文件中。存储文件的存储结构对用户来说是透明的。

各厂商的DBMS实际使用的SQL语言,为保持其竞争力,与标准SQL都有所差异及扩充。因此,具体使用时,应参阅实际系统的参考手册。

图3.7 SQL支持的数据库体系结构

3.3.2 SQL的数据定义

通过SQL语言的数据定义功能,可以完成基本表、视图、索引的创建和修改。由于视图的定义与查询操作有关,本节只介绍基本表和索引的数据定义。

3.3.2.1 基本表的定义

数据类型

基本表的每个属性都有自己的数据类型。各个厂家的SQL所支持的数据类型不完全一致。为了满足数据库在各方面应用的要求,以下只介绍SQL-99规定的主要与定义数据类型。

⑴数值型

INTEGER 定义数据类型为整数类型,它的精度(总有效位)由执行机构确定。

INTEGER可简写成INT。

SMALLINT 定义数据类型为短整数类型,它的精度由执行机构确定。

NUMERIC(p,s)定义数据类型为数值型,并给定精度p(总的有效位)或标度s (十进制小数点右面的位数)。

FLOAT(p)定义数据类型为浮点数值型,其精度等于或大于给定的精度p。

REAL 定义数据类型为浮点数值型,它的精度由执行机构确定。

DOUBLE PRECISION 定义数据类型为双精度浮点类型,它的精度由执行机构确定。

⑵字符类型

CHARACTER(n)定义数据类型为字符串,并给定串长度(字符数)。CHARACTER 可简写成CHAR。

V ARCHAR(n)定义可变长度的字符串,其最大长度为n。

⑶位串型

BIT(n)定义数据类型为二进制位串,其长度为n。

BIT VARYING(n)定义可变长的二进制位串,其最大长度为n。

⑷时间型

DATETIME 定义一个日期时间类型,日期和时间数据由有效的日期或时间组成。

⑸布尔型

BOOLEAN 定义布尔数,其值可以是:TRUE(真)、FALSE(假)。

对于数值型数据,可以执行算术运算和比较运算,但对其他类型数据,只可以执行比较运算,不能执行算术运算。

基本表的定义

SQL语言使用CREATE TABLE语句定义基本表。其一般格式为:

CREATE TABLE <基本表名>

(<列名1> <列数据类型> [列完整性约束],

<列名2> <列数据类型> [列完整性约束],

……

[表级完整性约束])

说明:

(1)其中,“<>”中的内容是必选项,“[ ]”中的内容是可选项。

(2)<基本表名>:规定了所定义的基本表的名字,在一个数据库中不允许有两个基本表同名。

(3)<列名>:规定了该列(属性)的名称。一个表中只有一列组成,且不能有两列同名。

(4)<列数据类型>:规定了该列的数据类型。即前面介绍的数据类型。

(5)<列完整性约束>:是指对某一列设置的约束条件。该列上的数据必须满足。最常见的有:

NOT NULL 该列值不能为空

NULL 该列值可以为空

UNIQUE 该列值不能存在相同

DEFAULT 该列某值在未定义时的默认值

(6)<表级完整性约束>:规定了关系主键、外键和用户自定义完整性约束。

SQL语句只要求语句的语法正确就可以了,对关键字的大小写、语句的书写格式不作要求。但是语句中不能出现中文状态下的标点符号。

【例3.1】创建员工关系表

CREATE TABLE Employee

(Eno CHAR(5),

Ename V ARCHAR(10),

Sex CHAR(2),

Marry CHAR(2),

Dno CHAR(4))

3.3.2.2基本表的修改与删除

基本表的修改

在数据库的实际应用中,随着应用环境和需求的变化,经常要修改基本表的结构,包括修改属性列的类型精度、增加新的属性列或删除属性列、增加新的约束条件或删除原有的约束条件。SQL通过ALTER TABLE命令对基本表进行修改。其一般格式为:

ALTER TABLE <基本表名>

[ADD <新列名> <列数据类型> [列完整性约束]]

[DROP COLUMN <列名>]

[MODIFY <列名> <新的数据类型>]

[ADD CONSTRAINT <表级完整性约束>]

[DROP CONSTRAINT <表级完整性约束>]

说明:

(1)ADD:为一个基本表增加新列,但新列的值必须允许为空(除非有默认值);

(2)DROP COLUMN:删除表中原有的一列;

(3)MODIFY:修改表中原有列的数据类型,通常,当该列上有列完整性约束时,不能修改该列。

(4)ADD CONSTRAINT和DROP CONSTRAINT分别表示添加表级完整性约束和删除表级完整性约束。将在SQL语句的完整性约束实现一节详细介绍。

(5)以上的命令格式在实际的DBMS中可能有所不同,用户在使用时应参阅实际系统的参考手册。

【例3.2】在Employee表中增加一个Birth列(出生)

ALTER TALBE Employee

ADD Birth DATETIME NULL

基本表的删除

当数据库某个基本表不再使用时,可以将其删除。当一个基本表被删除后,该表中的所有数据连同该表建立的索引都会被删除。但由该表导出的视图的定义仍然存在数据字典当中,只是无法使用。删除基本表的基本格式为:

DROP TABLE <基本表名>

【例3.3】删除Employee表

DROP TABLE Employee

3.3.2.3 索引的建立和维护

基本表建立并存放数据后,就会在计算机上形成物理文件。当用户需要查询基本表当中的数据时,DBMS就会顺序遍历整个基本表来查找用户所需要的数据,称为全扫描。如果基本表当中的数据相当多,则DBMS会在顺序扫描上花很长时间,这样将影响了查询效率。为了改善查询性能,可以建立索引。

索引是根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表。索引属于物理存储的路径概念,而不是用户使用的逻辑概念。建立在多个列上的索引被称为复合索引。

有两种重要的索引:聚集索引(clustered index)和非聚集索引(non-clustered index)。对这两种索引合理的使用能更好的提高数据库的查询效能。

聚集索引确定表中数据的物理顺序。聚集索引类似于按姓氏排列数据的电话簿。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。使用聚集索引能极大的提高查询性能。

非聚集索引与书本中的索引类似。数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。索引中的项目按索引键值的顺序存储,而表中的信息按另一种顺序存储(这可以由聚集索引规定)。如果在表中未创建聚集索引,则无法保证这些行具有任何特定的顺序。与使用书中索引的方式相似,DBMS在搜索数据值时,先对非聚集索引进行搜索,找到数据值在表中的位置,然后从该位置直接检索数据。这使非聚集索引成为精确匹配查询的最佳方法。

表3.2中给出了两类索引使用的原则,根据实际情况综合分析使用。

表3.2 索引的使用原则

创建索引

在SQL语言中,建立索引使用CREATE INDEX语句,其一般格式为:

CREATE [UNIQUE] [CLUSTER] INDEX <索引名>

ON <基本表名> (<列名> [<次序>],[,<列名> [<次序>]]…);

说明:

(1)UNIQUE:规定索引的每一个索引值只对应于表中唯一的记录;

(2)CLUSTER:规定此索引为聚集索引。省略CLUSTER则表示创建的索引为非聚集索引。

(3)<次序>:建立索引时指定列名的索引表是ASC(升序)或DESC(降序)。若不指定,默认为升序。

(4)本语句建立的索引的排列方式为:先以第一个列名值排序;该列值相同的记录,则按下一列名排序。

【例3.4】在Employee表的属性列Eno上创建一个非聚集索引

CREATE INDEX IDX_DNO_ENO

ON Employee(Dno ASC, Eno ASC)

删除索引

虽然索引能提高查询效率,但过多或不当的索引会导致系统低效。用户在表中每加进一个索引,数据库就要做更多的工作。过多的索引甚至会导致索引碎片,降低系统效率。因此不必要的索引应及时删除。删除索引的格式为:

DROP INDEX <索引名>

说明:

本语句将删除定义的索引。该索引在数据字典中的描述也将被删除。

【例3.5】删除Employee表的索引IDX_DNO_ENO

DROP INDEX IDX_DNO_ENO

3.3.3 SQL的数据操纵

SQL语言的数据操纵功能主要包括查询(SELECT)、插入(INSERT)、删除(DELETE)和更新(UPDATE)等四个方面。

3.3.3.1 SQL数据查询

SQL数据查询是SQL语言中最重要、最丰富也是最灵活的内容。建立数据库的目的就是为了查询数据。关系代数的运算在关系数据库中主要由SQL数据查询来体现。SQL语言提供SELECT语句进行数据库的查询,其基本格式为:

SELECT <列名或表达式A1>, <列名或表达式A2>,…,<列名或表达式A n>

FROM <表名或视图名R1>, <表名或视图名R2>,…,<表名或视图名R m>

WHERE P

查询基本结构包括了3个字句:SELECT 、FROM 、WHERE

(1) SELECT 子句,对应关系代数中的投影运算,用于列出查询结果的各属性。

(2) FROM 子句,对应关系代数中的广义笛卡尔乘积,用于列出被查询的关系:基本表或视图。

(3) WHERE 子句,对应关系代数中的选择谓词,这些谓词涉及FROM 子句中的关系的属性,用于指出连接、选择等运算要满足的查询条件。

SQL 数据查询的基本结构在关系代数中等价于:

1,2,12(())A A An P m R R R πσ???

其运算的过程是:首先构造FROM 子句中的关系的广义笛卡尔乘积,然后根据WHERE 子句中的谓词进行关系代数中的选择运算,最后把结果投影到SELECT 子句中的属性上。

另外,SQL 数据查询除了3个子句,还有ORDER BY 子句和GROUP BY 子句,以及 DISTINCT 、HA VING 等短语。

SQL 数据查询的一般格式为:

SELECT [ALL | DISTINCT] <列名或表达式> [别名1] [,<列名或表达式> [别名2]]… FROM <表名或视图名> [表别名1] [,<表名或视图名> [表别名2]]…

[WHERE <条件表达式>]

[GROUP BY <列名1>] [HA VING <条件表达式>]

[ORDER BY <列名2>] [ASC | DESC]

说明:

一般格式的含义是:从FROM 子句指定的关系(基本表或视图)中,取出满足WHERE 子句条件的元组,最后按SELECT 的查询项形成结果表。若有ORDER BY 子句,则结果按指定的列的次序排列。若有GROUP BY 子句,则将指定的列中相同值的元组都分在一组,并且若有HA VING 子句,则将分组结果中去掉不满足HA VING 条件的元组。

由于SELECT 语句的成分多样,可以组合成非常复杂的查询语句。

例如,学籍管理数据库中包含三个基本表: Student (Sno, Sname, Age, sex, place ) Study (Sno,Cno, grade) Course (Cno, Cname, Credit)

其中Student 表中Sno 为主键、Study 表中Sno 和Cno 合起来做主键、Course 表中Cno 为主键。

1)单表无条件查询

单表无条件查询是指只含有SELECT 子句和FROM 子句的查询,由于这种查询不包含查询条件,所以它不会对所查询的关系进行水平分割,适合于记录很少的查询。它的基本格式是:

SELECT [ALL | DISTINCT] <列名或表达式> [别名1] [, <列名或表达式> [别名2]]… FROM <表名或视图名> [表别名1] [, <表名或视图名> [表别名2]]…

说明:

[1] [DISTINCT/ALL]:若从一个关系中查询出符合条件的元组,结果关系中就可能有重复元组存在。DISTINCT 表示每组重复的元组只输出一条元组;ALL 表示将所有查询结果都输出。默认为ALL 。

[2] 每个目标列表达式本身将作为结果关系列名,表达式的值作为结果关系中该列的值。

(1)查询关系中的指定列

【例3.6】查询所有学生的学号、姓名、年龄。

SELECT sno, sname, age

FROM student

说明:

当所查询的列是关系的所有属性时,可以使用*来表示所显示的列,因此等价于SELECT *

FROM course

这两种方法的区别是前者的列顺序可根据SELECT的列名显示查询结果,而后者只能按表中的顺序显示。

(2)DISTINCT保留字的使用

当查询的结果只包含元表中的部分列时,结果中可能会出现重复列,使用DISTINCT 保留字可以使重复列值只保留一个。

【例3.7】查询学生的籍贯

SELECT DISTINCT place FROM student

(3)查询列中含有运算的表达式

SELECT子句的目标列中可以包含带有+、-、×、/的算术运算表达式,其运算对象为常量或元组的属性。

【例3.8】查询所有学生的学号,姓名和出生年份

SELECT sno, sname, 2005-age

FROM student

SQL显示查询结果时,使用属性名作为列标题。用户通常不容易理解属性名的含义。要使这些列标题能更好的便于用户理解,可以为列标题设置别名。将例3.13的SELECT语句改为:

SELECT sno 学号, sname 姓名, 2005-age 出生年份FROM student

(4)查询列中含有字符串常量

【例3.9】查询每门课程的课程名和学分

SELECT cname, …学分?, credit

FROM course

这种书写方式可以使查询结果增加一个原关系里不存在的字符串常量列,元组在该列上的每个值就是字符串常量。

(5)查询列中含有集函数(或称聚合函数)

为了增强查询功能,SQL提供了许多集函数。各实际DBMS提供的集函数不尽相同,但基本都提供以下几个:

COUNT(*)统计查询结果中的元组个数

COUNT(<列名>)统计查询结果中一个列上值的个数

MAX(<列名>)计算查询结果中一个列上的最大值

MIN(<列名>)计算查询结果中一个列上的最小值

SUM(<列名>)计算查询结果中一个数值列上的总和

A VG(<列名>)计算查询结果中一个数值列上的平均值

说明:

①除COUNT(*)外,其他集函数都会先去掉空值再计算。

②在<列名>前加入DISTINCT保留字,会将查询结果的列去掉重复值在计算。

【例3.10】COUNT函数的使用

SELECT COUNT(*)FROM student 统计学生表中的记录数。

SELECT COUNT (place ) FROM student 统计学生的籍贯(去掉空值)。

SELECT COUNT (DISTINCT place ) FROM student 统计学生的籍贯种类数。

2)单表带条件查询

一般的,数据库表中的数据量都非常大,显示表中所有的行是很不现实的事也没有必要这样做。因此,可以在查询的时候根据查询条件对表进行水平分割,可以使用WHERE 子句实现。它的基本格式是:

SELECT [ALL | DISTINCT] <列名或表达式> [别名1] [,<列名或表达式> [别名2]]… FROM <表名或视图名> [表别名1] [,<表名或视图名> [表别名2]]…

WHERE <条件表达式>

在WHERE 子句给出查询条件是总的查询条件表达式,可以是通过逻辑运算符(AND 、OR 等)组成的符合条件。但WHERE 子句中不能用聚集函数作为条件表达式。如果查询条件是索引字段,则查询效率会大大提高,因此在查询条件中应尽可能的利用索引字段。根据查询条件的不同,单表带条件查询又可分为:

(1)使用关系运算表达式的查询

使用比较运算符的条件表达式的一般形式为:

<列名>θ<列名> 和 <列名>θ常量值

其中θ为比较运算符,通常SQL 中使用的关系运算符见表

【例3.11】查询籍贯是湖北的学生信息

SELECT * FROM student WHERE place=?湖北?

(2)使用特殊运算符

ANSI 标准SQL 允许WHERE 子句中使用特殊的运算符。如表3.4所示列出了特殊运算符的含义。

表3.4 特殊运算符号

(3)字符串比较

SELECT * FROM student WHERE place in (…湖北?,?福建?) SELECT * FROM student WHERE place =…湖北? OR place=?福建?)

相当于

在例3.12中我们使用了‘=’来比较字符串,其实在SQL中我们可以使用表3-2中介绍的关系运算符来进行字符串比较。实际上比较的是它们的词典顺序(如字典顺序或字母表顺序)。如果a1a2…a n和b1b2…b m是两个字符串,若a1

SQL也提供了一种简单的模式匹配功能用于字符串比较,可以使用LIKE和NOT LIKE 来实现?=?和?<>?的比较功能,但前者还可以支持模糊查询条件。例如,不知道学生的全名,但知道学生姓王,因此就能查询出所有姓王的学生情况。SQL中使用LIKE和NOT LIKE来实现模糊匹配。基本格式为:

<列名> LIKE / NOT LIKE <字符串常数>

注意,列名必须是字符型的。字符串常数中通常要使用通配符。在字符串常数中除通配符外的其它字符只代表自己。有关字符串常数中使用通配符及其含义见表3.5。通配符可以出现在字符串的任何位置。但通配符出现在字符串首时查询效率会变慢。

【例3.13

SELECT sno, sname, age

FROM student

WHERE sname LIKE …王%?

若通配符本身就是字符串常量的内容,则可增加短语ESCAPE,使之转义。

如:WHERE sname LIKE …To\_%?ESCAPE?\?,则紧跟在\ 后面的_ 不是通配符而是字符串常量的一个字符而已。该查询条件为:sname属性值以?To_?开头,后面紧跟任意个字符的串。

3)分组查询和排序查询

前面介绍SQL的一般格式时,下面将详细介绍如何使用SQL的分组和排序功能。

(1)GROUP BY与HA VING

还有GROUP BY的查询称为分组查询。GROUP BY子句把一个表按某一指定列(或一些列)上的值相等的原则分组,然后再对每组数据进行规定的操作。分组查询一般和查询列的集函数一起使用,当使用GROUP BY子句后所有的集函数都将是对每一个组进行运算,而不是对整个查询结构进行运算。

【例3.14】查询每一门课程的平均得分

在study关系表中记录着学生选修的每门课程和相应的考试成绩。由于一门课程可以有若干个学生学习,SELECT语句执行时首先把表study的全部数据行按相同课程号划分成组,即每一门课程有一组学生和相应的成绩。然后再对各组执行A VG(grade)。因此查询的结果就是分组检索的结果。

SELECT cno, A VG(grade)

FROM study

GROUP BY cno

第1章 数据库系统概述习题及答案[精品文档]

习题一 第1章数据库系统概述 一、填空题 1.在关系数据库中,一个元组对应表中。 解:一个记录(一行) 2. 常用的数据模型有:、、和面向对象模型。 解: 关系模型,层次模型,网状模型 3. 用二维表来表示实体及实体之间联系的数据模型是。 解: 关系模型 4. 关系模型数据库中最常用的三种关系运算是、、。 解: 选择运算,投影运算,连接运算 5.在数据库系统中,数据的最小访问单位是。 解: 字段(数据项) 6.对表进行水平方向的分割用的运算是。 解: 选择运算 7. 数据结构、和称为数据模型的三要素。解: 数据操作,数据约束条件

8. 关系的完整性约束条件包括完整性、完整性和完整性三种。 解: 用户定义,实体,参照 二、单项选择题 1. 对数据库进行规划、设计、协调、维护和管理的人员,通常被称为( D )。 A. 工程师 B. 用户 C. 程序员 D. 数据库管理员 2. 下面关于数据(Data)、数据库(DB)、数据库管理系统(DBMS)与数据库系统(DBS)之间关系的描述正确的是( B )。 A. DB包含DBMS和DBS B. DBMS包含DB和DBS C. DBS包含DB和DBMS D. 以上都不对 3. 数据库系统的特点包括( D )。 A. 实现数据共享,减少数据冗余 B. 具有较高的数据独立性、具有统一的数据控制功能 C. 采用特定的数据模型 D. 以上特点都包括 4. 下列各项中,对数据库特征的描述不准确的是( D )。 A. 数据具有独立性 B. 数据结构化 C. 数据集中控制 D. 没有冗余 5. 在数据的组织模型中,用树形结构来表示实体之间联系的模型称为( D )。 A. 关系模型 B. 层次模型 C. 网状模型 D. 数据模型 6. 在数据库中,数据模型描述的是( C ) 的集合。 A. 文件 B. 数据 C. 记录 D. 记录及其联系

中文三大全文数据库的比较

中文三大全文数据库的比较 摘要通过本课程的学习,结合本人的学习情况从三大数据库对论文的收录情况、检索功能、检索结果、检索界面等方面对中文三大全文数据库——《中文期刊网全文数据库》、《维普中文科技期刊数据库》和《万方数据资源系统数字化期刊》进行了比较,阐述了一些自己对这三大全文数据库的认识。最后并谈了谈本人的学习收获和对本课程的些许建议。 关键词中文期刊网全文数据库维普中文科技期刊数据库万方数据资源系统数字化期刊全文数据库 收录情况:这三个数据库基本覆盖了科学技术和社会科学的各个领域。其中“维普”期刊的收藏量占有绝对优势,几乎覆盖了中国出版的所有中文期刊,并且收录了大量内部发行期刊,收录的年限最长,其中收录自然科学和工程技术方面的期刊量比“CNKI”多出近50%,但在文史哲类方面则几乎是空白,因此,“维普”适合用户进行科技文献的回溯性检索。“CNKI”重点收录了国内公开出版的核心期刊与具有专业特色的中西文期刊,综合性上做得较好。而“万方”收录期刊数量为三者中最少,但核心期刊比率高,收录文献的质量最高。 检索功能:三个数据库都提供了关键词、篇名、刊名、作者、机构、文摘等6个检索入口。就其特殊检索功能而言,“CNKI”在每个检索入口提供了检索词字典,通过使用它可以规范所输入的检索词,有利于更全更准地检索文献信息。“维普”在主题标引用词的基础上,编制了同义词库,有助于相关文献的检索,提高文献的查全率。“万方”在检索时,可以对期刊所分布的地域进行限定。 检索结果:比如通过著者字段的检索,张安将教授是从事化学研究的,他所发表的论文是科技方面的,在上表中“CNKI”收录了16篇,“万方”收录了5篇,而“维普”收录了24篇(换成医学方面的);张靖龙教授是从事文学研究的,在上表中“CNKI”收录了9篇,“万方”收录了0篇,“维普”收录了1篇。从这个比较中可以看出,三个数据库中综合性最强的是“CNKI”。三个数据库中文摘做得最好的是“CNKI”,不仅可以从中获得文献的基本情况,而且能通过超级链接的方式,找到更多与查找主题相关的内容。 检索界面:“CNKI”配备了功能强大的网络数据库全文检索系统,从它的检索界面中可以看出,该数据库检索方法简单、灵活,即使不具有专业检索知识的用户也很容易掌握。“维普”通过分类和导航实现文献的浏览,还能通过初级和高级检索进行检索,页面之间衔接的比较清楚。“万方”通过多种途径检索文献,但是页面过于复杂、繁琐,很难让初次接触的读者顺利地检索到文献,同时在页面的组织、导航的实现上也有待改善。 过渡一下,下面结合自己这学期的学习情况写咱这学期学习本课程的收获和一些建议方面的内容等。(控制在150—300字)。 最后写参考文献。

第一章 数据库系统概述

第一章数据库系统概述 一、选择题 1.下列哪一个不是常用的数据模型( C ). A.层次模型 B.网状模型 C.概念模型 D.关系模型 2.下列不是关系模型的术语的是( B ). A.元组 B.变量 C.属性 D.分量 3.下列不是关系数据库的术语的是( D ). A.记录 B.字段 C.数据项 D.模型 4.关系数据库的表不必具有的性质是( D ). A. 数据项不可再分 B.同一列数据项要具有相同的数据类型 C. 记录的顺序可以任意排列 D. 记录的顺序不可以任意排列 5.下列不是数据库系统的组成部分( A ). A.说明书 B. 数据库 C.软件 D.硬件 6.已知某一数据库中的两个数据表,它们的主键与外键是一对多 的关系,这两个表若要建立关联,则应该建立( C )的永久联系. A. 一对一 B. 多对多 C.一对多 D.多对一 7.已知某一数据库中的两个数据表,它们的主键与外键是一对一 的关系, 这两个表若要建立关联,则应该建立( A )的永久联系. A. 一对一 B. 多对一 C.一对多 D.多对多 8.已知某一数据库中的两个数据表,它们的主键与外键是多对一

的关系, 这两个表若要建立关联,则应该建立( D )的永久联系. A. 一对多 B.一对一 C.多对多 D.多对一 9.属性的集合表示一种实体的类型,称为( C ). A. 实体 B.实体集 C. 实体型 D. 属性集 10.DB,DBS和DBMS三者之间的关系是( B ). A.DB包含DBS和DBMS B.DBS包含DB和DBMS C.DBMS包含DB和DBS D.三者关系是相等的 11. 数据库系统的核心是( C ). A.软件工具 B. 数据模型 C. 数据库管理系统 D. 数据库 12.下面关于数据库系统的描述中,正确的是( C ). A. 数据库系统中数据的一致性是指数据类型的一致 B. 数据库系统比文件系统能管理更多的数据 C. 数据库系统减少了数据冗余 D. 数据库系统避免了一切冗余 13.关系数据库的数据及更新操作必须遵循( B )等完整性规则. A.参照完整性和用户定义的完整性 B.实体完整性、参照完整性和用户定义的完整性 C.实体完整性和参照完整性 D.实体完整性和用户定义的完整性 14.规范化理论中分解( D )主要是消除其中多余的数据相关性.

分布式数据库管理系统简介

分布式数据库管理系统简介 一、什么是分布式数据库: 分布式数据库系统是在集中式数据库系统的基础上发展来的。是数据库技术与网络技术结合的产物。 分布式数据库系统有两种:一种是物理上分布的,但逻辑上却是集中的。这种分布式数据库只适宜用途比较单一的、不大的单位或部门。另一种分布式数据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。由于组成联邦的各个子数据库系统是相对“自治”的,这种系统可以容纳多种不同用途的、差异较大的数据库,比较适宜于大范围内数据库的集成。 分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS和分布式数据库(DDB)。 在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的 操作系统支持、被不同的通信网络连接在一起。 一个分布式数据库在逻辑上是一个统一的整体:即在用户面前为单个逻辑数据库,在物理上则是分别存储在不同的物理节点上。一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库。它的分布性表现在数据库中的数据不是存储在同一场地。更确切地讲,不存储在同一计算机的存储设备上。这就是与集中式数据库的区别。从用户的角度看,一个分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好那些数据是存储在同一台计算机上,有单个数据库管理系统(DBMS)管理一样,用 户并没有什么感觉不一样。 分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性。 分布式数据库系统是一个客户/ 服务器体系结构。 在系统中的每一台计算机称为结点。如果一结点具有管理数据库软件,该结点称为数据库服务器。如果一个结点为请求服务器的信息的一应用,该结点称为客户。在ORACL客户, 执行数据库应用,可存取数据信息和与用户交互。在服务器,执行ORACL软件,处理对ORACLE 数据库并发、共享数据存取。ORACL允许上述两部分在同一台计算机上,但当客户部分和 服务器部分是由网连接的不同计算机上时,更有效。 分布处理是由多台处理机分担单个任务的处理。在ORACL数据库系统中分布处理的例 子如: 客户和服务器是位于网络连接的不同计算机上。 单台计算机上有多个处理器,不同处理器分别执行客户应用。 参与分布式数据库的每一服务器是分别地独立地管理数据库,好像每一数据库不是网络化的数据库。每一个数据库独立地被管理,称为场地自治性。场地自治性有下列好处: ?系统的结点可反映公司的逻辑组织。

国内三大中文期刊全文数据库的比较

国内三大中文期刊全文数据库的比较研究(建议新手查阅) 中国期刊网全文数据库》、《维普中文科技期刊数据库》和《万方数据库资源系统数字化期刊》是国内影响力和利用率很高的综合性中文电子期刊全文数据库,这三个数据库已经成为大多数高等院校、公共图书馆和科研机构文献信息保障系统的重要组成部分。在互联网中,这三大数据库也成为中文学术信息的重要代表,体现了我国现有的中文电子文献数据库的建设水平。 笔者结合工作和学习中的实践,就上述三大数据库的收录情况、检索功能、检索结果、检索界面、用户服务等方面进行全面的比较,并通过检索实践举例进行比较分析,以供参考。 1 收录情况(数据较早,甚至不是2004年的数据,感觉更像2002年左右的数据,后面将尽可能给出最新的数据值。) 收录范围与数量 《中国期刊网全文数据库》(本文中简称“清华”)是由清华同方光盘股份有限公司、光盘国家工程研究中心和中国学术期刊(光盘版)电子杂志社共同研制出版的综合性全文数据库。该数据库收录自从1994年来公开出版发行的6600余种国内核心期刊和一些具有专业特色的中英文期刊全文,累积全文文献618万多篇,题录1500万余条,按学科分为理工A(数理科学)、理工B(化学化工能源与材料)、理工C(工业技术)、农业、医药卫生、文史哲、经济政治与法律、教育与社会科学、电子技术与信息科学九大类,126个专题文献数据库。 《中文科技期刊数据库》(本文中简称“维普”)由科技部西南信息中心主办,重庆维普资讯有限公司制作。其前身为《中文科技期刊篇名数据库》。该数据库收录了自1989年以来国内出版发行的12000种期刊,其中全文收录8000余种,按学科分为经济管理、教育科学、图书情报、自然科学、农业科学、医药卫生、工程技术等7大类,27个专辑,200个专题,按《中图法》编制了树型分类导航和刊名导航系统,基本覆盖了国内公开出版的具有学术价值的期刊,同时还收录了中国港台地区出版的108种学术期刊,积累700余万篇全文文献,数据量以每年100万篇的速度递增。 《万方数据资源系统数字化期刊》(本文中简称“万方”)是万方数据库资源系统三大组成部分之一,由中国科技信息研究所属下的北京万方数据股份有限公司创办。万方期刊收录了我国自然科学的大量期刊以及社会科学的部分期刊,范围包括基础科学、医药卫生、农业科学、工业技术、人文科学等5大类,以及英文版期刊、中国科学系列杂志,共2500多

数据库的体系结构

数据库基础 ( 视频讲解:25分钟) 本章主要介绍数据库的相关概念,包括数据库系统的简介、数据库的体系结构、数据模型、常见关系数据库。通过本章的学习,读者应该掌握数据库系统、数据模型、数据库三级模式结构以及数据库规范化等概念,掌握常见的关系数据库。 通过阅读本章,您可以: 了解数据库技术的发展 掌握数据库系统的组成 掌握数据库的体系结构 熟悉数据模型 掌握常见的关系数据库 1 第 章

1.1 数据库系统简介 视频讲解:光盘\TM\lx\1\数据库系统简介.exe 数据库系统(DataBase System,DBS)是由数据库及其管理软件组成的系统,人们常把与数据库有关的硬件和软件系统称为数据库系统。 1.1.1 数据库技术的发展 数据库技术是应数据管理任务的需求而产生的,随着计算机技术的发展,对数据管理技术也不断地提出更高的要求,其先后经历了人工管理、文件系统、数据库系统等3个阶段,这3个阶段的特点分别如下所述。 (1)人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算。当时硬件和软件设备都很落后,数据基本依赖于人工管理,人工管理数据具有如下特点: ?数据不保存。 ?使用应用程序管理数据。 ?数据不共享。 ?数据不具有独立性。 (2)文件系统阶段 20世纪50年代后期到60年代中期,硬件和软件技术都有了进一步发展,出现了磁盘等存储设备和专门的数据管理软件即文件系统,文件系统具有如下特点: ?数据可以长期保存。 ?由文件系统管理数据。 ?共享性差,数据冗余大。 ?数据独立性差。 (3)数据库系统阶段 20世纪60年代后期以来,计算机应用于管理系统,而且规模越来越大,应用越来越广泛,数据量急剧增长,对共享功能的要求越来越强烈。这样使用文件系统管理数据已经不能满足要求,于是为了解决一系列问题,出现了数据库系统来统一管理数据。数据库系统满足了多用户、多应用共享数据的需求,它比文件系统具有明显的优点,标志着管理技术的飞跃。 1.1.2 数据库系统的组成 数据库系统是采用数据库技术的计算机系统,是由数据库(数据)、数据库管理系统(软件)、数

第1章 数据库系统概述习题解答

第1章数据库系统概述 习题解答 一. 填空题 1.数据模型通常由(数据结构)、(数据操作)和(数据完整性约束)三要素组成。 2.数据模型通常分(层次)、(网络)、(关系)和(面向对象)是四种。 3.数据操作描述的是系统的动态特性,主要分为(检索)和(更新)两大类,共包括 (查询)、(插入)、(删除)和(修改)4种操作。 4.关系数据库系统是以(关系模型)为基础的数据库系统。 5.从数据库管理系统的角度划分数据库系统的体系结构,可分为(外模式)、(模式)和(内模式)三层。 6.有了外模式/模式映象可以保证数据和应用程序之间的(逻辑独立性);有了模式/内模式映象,可以保证数据和应用程序之间的(物理独立性)。 7.数据库管理系统主要由(数据描述语言及其翻译程序)、(数据操纵/查询语言及其翻译程序)和(数据库管理例行程序)三部分组成。 8.数据库管理系统在三层结构之间提供的两层映象是(外模式/模式映象)和(模式/内模式映象)。 9.当前数据库系统的主流是(关系数据库系统)。 10.DBMS的中文意思是(数据库管理系统)。 二. 选择题 1.( B )是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的聚集。 A.数据库系统 B.数据库 C.关系数据库 D。数据库管理系统 2.数据库系统的基础是( D )。 A.数据结构 B.数据库管理系统 C.操作系统 D.数据模型 3.( C )处于数据库系统的核心位置。 A.数据字典 B.数据库 C.数据库管理系统 D.数据库管理员 4.对数据库的操作要以( B )的内容为依据。 A.数据模型 B.数据字典 C.数据库管理系统 D.运行日志 5.数据库系统三层结构的描述放在( D )中。 A.数据库 B.运行日志 C.数据库管理系统 D.数据字典 6.在执行查询语句时,DBMS从数据字典中调出相应的内模式描述,并从模式映象到内模式,从而确定应读人的( B )。 A.逻辑数据 B.物理数据 C.操作序列 D.优化策略 7.有了模式/内模式映象,可以保证数据和应用程序之间的( B )。 A.逻辑独立性 B.物理独立性 C.数据一致性 D.数据安全性 8.( A )是数据库中全部数据的逻辑结构和特征的描述。

常用中文数据库周记

常用中文数据库周记 这周我们进行的是常用中文数据库的学习。 周一学习的是网上三大中文期刊数据库引文功能之比较。随着网上检索技术和现代信息技术的发展, 人们对传统印刷版期刊和手工检索的使用率越来越低, 取而代之的是方便快捷的电子期刊。中文电子期刊收录了这些期刊, 并采用全文、文摘、题录等多种形式向国际互联网用户提供服务, 使读者能够轻松快捷的检索到所需资料。 小组五个人,分别对三大数据库的收录范围、检索途径、检索功能、检索结果的输出结果和检索效果进行比较。我的任务是这个实验报告的摘要、引文和检索结果的输出处理的比较。对于这方面的比较,我分别对检索效果、显示排序去重、文章结果显示、全文浏览、来源库、检索途径等等进行了比较分析。经过分析我得出了综合性最强的是“CNKI”,收录理工科科技信息文献最多的是“维普”。 周三我们进行学习的就是一个实践作业,研究的是信管专业,老师给我们分出了十四个点,如下: 我选择的是课程体系设置和出国留学信息。学习了两年的信息管理与信息系统专业,对这个专业真的不是非常的了解,经过这次的学习,加深了我对本专业的认识。信息管理与信息系统专业(简称“信息管理”专业)是顺应知识经济时代的迫切需要,整合经济信息管理、情报学、管理信息系统、科技信息等专业新成立的一门信息科学和管理学交叉学科。通过现代管理学、信息科学、网络技术及业务知识的融合,培养适应知识经济需要,以信息技术进行现代化管理的“复合型、应用型、创新创业型” 中、高级管理人才。毕业生具备信息资源收集、分析、检索、利用的综合能力,能在政府、金融机构及企业信息化领域从事实施、维护、分析、智能决策等“IT+管理”类深具发展潜力的工作。最后自己查找了关于本专业出国留学的信息。出国留学,这种学习的好处当然一定会是多方面的——异域的风俗,不同的文化,更包容更自由的环境;全新开放的视野、完善先进的设施,更多的信息,更好的机会。但这一切好处都是建立在学习的基础之上的,就读学校给你提供的是环境和条件,不是成功本身。中国之所以每年有数十万人自费出国留学,客观地讲,是因为大家对留学生的成功成才抱有极大的希望,对投资子女出国留学的回报有较好预测。 经过这周的学习,不仅让我了解了三大数据库的使用方法,而且也知道了他们之间的差

ORACLE数据库管理系统介绍

ORACLE 数据库管理系统介绍 的特点: 可移植性 ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及

共享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程 ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON(Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。 ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式DB中事务恢复进程RECO 和对服务进程与用户进程进行匹配的Dnnn进程等。 的逻辑结构 构成ORACLE的数据库的逻辑结构包括: (1)表空间

1第一章数据库系统概述

第一章绪论练习 一、单项选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据 库系统阶段。在这几个阶段中,数据独立性最高的是()阶段。 A 数据库系统 B 文件系统 C 人工管理 D 数据项管理 2. 数据库系统的核心和基础是()。 A 物理模型 B 概念模型 C 数据模型D逻辑模型 3 数据库系统与文件系统的主要区别是()。 A 数据库系统复杂,而文件系统简单 B 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 4 数据库的概念模型独立于()。 A 具体的机器和DBMS B E-R图 C 信息世界D现实世界 5. 实现将现实世界抽象为信息世界的是()。 A 物理模型 B 概念模型 C 关系模型D逻辑模型 6 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的①B,支 持数据库各种操作的软件系统叫做②B,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的一个整体叫做③。 ① A 文件的集合B 数据的集合 C命令的集合 D 程序的集合 ② A 命令系统B 数据库管理系统 C 数据库系统 D 操作系统 ③ A 命令系统B 数据库系统 C 软件系统 D 数据库管理系统 7 长期存储在计算机内,有组织的、可共享的大量数据的集合是()。 A 数据 B 数据库 C 数据库管理系统 D 数据库系统 8 数据库具有①、最小的②和较高的③。 ① A 程序结构化B 数据结构化 C 程序标准化 D 数据模块化 ②A 冗余度 B 存储量 C 完整性 D 有效性 ③A 程序与数据可靠性 B 程序与数据完整性 C 程序与数据独立性 D 程序与数据一致性 9 在数据库中存储的是()。 A 数据 B 数据模型 C 数据及数据之间的联系 D 信息 10 数据库中,数据的物理独立性是指()。 A数据库与数据库管理系统的相互独立性

几种常用数据库的比较

几种常用数据库的比较 目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、Informix和INGRES。这些产品都支持多平台,如UNIX、VMS、Windows,但支持的程度不一样。IBM的DB2也是成熟的关系型数据库。但是,DB2是内嵌于IBM的AS/400系列机中,只支持OS /400操作系统。 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL 开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB 的注册商标。 MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。

与其他数据库管理系统相比,MySQL具有以下优势: (1)MySQL是一个关系数据库管理系统。 (2)MySQL是开源的。 (3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。 (4)MySQL服务器工作在客户/服务器或嵌入系统中。 (5)有大量的MySQL软件可以使用。 2.SQL Server SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。 目前最新版本是SQL Server 2005,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。 SQL Server 提供了众多的Web和电子商务功能,如对XML 和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。而且,由于其易操作性及其友好的操作界面,深受广大用户的喜爱。

常用数据库管理系统介绍

常用数据库管理系 统介绍 1

常见数据库管理系统简介 当前市场上比较流行的数据库管理系统产品主要是Oracle、IBM、Microsoft和Sybase、mysql等公司的产品,下面对常见的几种系统做简要的介绍: 11.4.1 Oracle Oracle数据库被认为是业界当前比较成功的关系型数据库管理系统。Oracle公司是世界第二大软件供应商,是数据库软件领域第一大厂商(大型机市场除外)。Oracle的数据库产品被认为是运行稳定、功能齐全、性能超群的贵族产品。这一方面反映了它在技术方面的领先,另一方面也反映了它在价格定位上更着重于大型的企业数据库领域。对于数据量大、事务处理繁忙、安全性要求高的企业,Oracle无疑是比较理想的选择(当然用户必须在费用方面做出充分的考虑,因为Oracle数据库在同类产品中是比较贵的)。随着Internet的普及,带动了网络经济的发展,Oracle适时的将自己的产品紧密的和网络计算结合起来,成为在Internet应用领域数据库厂商的佼佼者。Oracle数据库能够运行在UNIX、Windows等主流操作系统平台,完全支持所有的工业标准,并获得最高级别的ISO标准安全性认证。Oracle采用完全开放策略,能够使客户选择最适合的解决方案, 2

同时对开发商提供全力支持。Oracle数据库系统的特点有: ?无范式要求,可根据实际系统需求构造数据库。 ?采用标准的SQL结构化查询语言。 ?具有丰富的开发工具,覆盖开发周期的各阶段。 ?数据类型支持数字、字符、大至2GB的二进制数据,为数据库的面向对象存储提供数据支持。 ?具有第四代语言的开发工具(SQL*FORMSSQL*REPORTS、SQL*MENU等)。 ?具有字符界面和图形界面,易于开发。Oracle7以后得版本具有面向对象的开发环境CDE2。 ?经过SQL*DBA控制用户权限,提供数据保护功能,监控数据库的运行状态,调整数据缓冲区的大小。 ?分布优化查询功能。 ?具有数据透明、网络透明,支持异种网络、异构数据库系统。并行处理采用动态数据分片技术。 ?支持客户机/服务器体系结构及混合的体系结构(集中式、分布式、客户机/服务器)。 ?实现了两阶段提交、多线索查询手段。 ?支持多种系统平台(Linux、HPUX、SUNOS、OSF/1、VMS、 Windows、OS/2)。 3

1第一章数据库系统概述教学内容

1第一章数据库系统 概述

第一章绪论练习 一、单项选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据 库系统阶段。在这几个阶段中,数据独立性最高的是()阶段。 A 数据库系统 B 文件系统 C 人工管理 D 数据项管理 2. 数据库系统的核心和基础是()。 A 物理模型 B 概念模型 C 数据模型 D逻辑模型 3 数据库系统与文件系统的主要区别是()。 A 数据库系统复杂,而文件系统简单 B 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 4 数据库的概念模型独立于()。 A 具体的机器和DBMS B E-R图 C 信息世界 D现实世界 5. 实现将现实世界抽象为信息世界的是()。 A 物理模型 B 概念模型 C 关系模型 D逻辑模型 6 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的①B,支 持数据库各种操作的软件系统叫做②B,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的一个整体叫做③。 ① A 文件的集合 B 数据的集合 C命令的集合 D 程序的集合 ② A 命令系统 B 数据库管理系统 C 数据库系统 D 操作系统 ③ A 命令系统 B 数据库系统 C 软件系统 D 数据库管理系统 7 长期存储在计算机内,有组织的、可共享的大量数据的集合是()。 A 数据 B 数据库 C 数据库管理系统 D 数据库系统 8 数据库具有①、最小的②和较高的③。 ① A 程序结构化 B 数据结构化 C 程序标准化 D 数据模块化 ②A 冗余度 B 存储量 C 完整性 D 有效性 ③ A 程序与数据可靠性 B 程序与数据完整性 C 程序与数据独立性 D 程序与数据一致性 9 在数据库中存储的是()。 A 数据 B 数据模型 C 数据及数据之间的联系 D 信息 10 数据库中,数据的物理独立性是指()。

数据库系统与数据模型简介

数据库系统与数据模型简介 胡经国 本文作者的话 本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。希望能够得到大家的指教和喜欢! 下面是正文 一、数据库系统及其组成 1、数据库系统的概念 数据库系统(Database System)是用于组织和存取大量数据的管理系统,方便多用户使用计算机软硬件资源组成的系统。它与文件系统的重要区别是数据的充分共享、交叉访问以及应用(程序)的高度独立性。 2、数据库系统的组成 数据库系统由计算机系统、数据库、数据库管理系统、应用程序和用户组成。 ⑴、计算机系统 计算机系统是指用于数据库管理的计算机硬件资源和基本软件资源。其中,硬件资源包括CPU、大容量内存(用于存放操作系统、数据库、数据库管理系统、应用程序等)、直接存取的外部存储设备(硬盘);软件资源包括操作系统、应用程序。 ⑵、数据库 什么是数据库?数据库是提供数据的基地。它能保存数据,并让用户从它那里访问有用的数据。数据库是数据处理的新技术,也是一项先进的软件工程。 数据库中的业务数据,是以一定的组织方式存储在一起的、相互有关的数据整体。数据库中保存的数据是相关数据,是一种相对稳定的中间数据。为了便于管理和处理这些数据,将这些数据存入数据库时,必须具有一定的数据结构和文件组织形式(顺序文件、索引文件)。 “相关数据”、“一定的组织形式”和“共享”是关系型数据库的三个基本要素。 ⑶、数据库管理系统

数据库管理系统(Database Management System,DBMS)包括面向用户的接口功能和面向系统的维护功能两大方面。前者为用户存取数据提供必要的手段,包括处理能力。后者为数据库管理者提供数据库的维护工具,具体包括数据库定义、数据装入、数据库操作、控制、监督、维护、恢复、通信等。 数据库管理系统通常由以下三部分组成:数据库描述语言(DLL)、数据库操作(DML)或查询程序、数据库管理例行程序。 总之,信息的集合是数据库,而数据库管理系统的软件则可用于完成信息的存储和检索。 ⑷、应用程序和用户 数据库管理员(DBA)是系统工作人员,负责对整个数据库系统进行维护。 应用程序员是后台专业用户,对数据库进行检索、插入、删除或更新。 非程序员是终端用户,通过联机终端设备,由基本命令组成的询问语言对数据库进行检索、插入、删除或更新等操作。例如,话务员、管理员、质检员。 二、数据模型 1、数据模型基本概念 数据模型是数据库系统的核心,是对客观事物及其联系的数据的描述,即实体模型的数据化。数据模型是表示实体与实体之间联系的模型。 2、数据模型类型 当前,流行的数据模型有:关系、层次、网状三种数据模型。 ⑴、关系数据模型 关系数据模型是新的DBMS,将数据简单地表示为一个或多个表格的内容。它是由表格形式体现的,这种“表”在数学上称为关系。表中的每一行称为记录,每个记录由若干字段组成:一个记录描述一个事物,它的各个字段是该事物各种性质的描述。在关系数据库中,这些字段称为属性。 ⑵、层次数据模型 层次数据模型,也称为树状模型,是一个以记录类型为结点的有根的定向树。 层次数据模型的特点为:有而且仅有一个实体,向上不与任何实体联系,称为根;有若干实体,向下不与任何实体联系,称为叶;其余的实体,向下可以与任何实体联系,但向上只与唯一的一个实体联系(一对多联系),称为中间节点。根节点在最高层,即第一层。同一层上的节点之间没有联系。具有这些特点的数据结构,称为层次结构。例如大学行政组织结构。典型例子是IBM的IMS。

数据库管理系统的简介及简单应用

数据库管理系统的简介及简单应用 摘要 对于数据库系统的设计和管理必然是未来的一个发展趋势.本文就是对于数据库管理系统的研究.本文首先对有关学生信息系统的设计和管理方面的背景以及一些国内外现状进行了介绍,接着对于学生信息系统的设计和管理的基础知识进行了了解,比如J2EE平台概述、SSI架构概述、数据库技术、C/S与B/S结构、JA VE编程语言等,接着从学生学籍信息管理系统设计的可行性,以及学生学籍信息管理系统功能分析等方面进行了说明,最后利用上面的相关知识进行了学生学籍信息管理系统设计. 关键词 互联网;数据库系统;数据库;学生管理系统 Introduction and Simple Application of Database Management System Abstract The design and management of database system is a trend in the future. This paper is about the research of database management system. Firstly, this paper introduces the background of the design and management of student information system and some current situations at home and abroad. Secondly, it understands the basic knowledge of the design and management of student information system, such as J2EE platform overview, SSI architecture overview, database technology, C/S and B/S structure, JA VE programming language and so on. Secondly, it designs student status information management system. Feasibility and function analysis of student roll information management system are explained. Finally, the student roll information management system is designed with the above knowledge.

浙大数据库资源-个人整理版

浙江大学图书馆数据库资源 https://www.doczj.com/doc/0b10735294.html,KI(中国知网) 下载《中国期刊全文数据库》(全文年限:1994年以后)、《中国优秀硕士学位论文全文数据库》(全文年限:1999年以后)、《中国博士论文全文数据库》的数据和全文(全文年限:1999年以后)。 此外还可以检索引文、会议论文、报纸、专利、成果、标准等数据库的摘要信息。 CNKI世纪期刊现已对我校读者开通使用,该数据库基于对近5年来,期刊、学位论文、会议论文、图书等文献引文数据的分析,遴选出4195种过刊引文数据较高的刊物,将其创刊以来的全文数据完整的进行回溯。累计回溯文献量达550多万篇,大部分收录年限为1979年-1993年,刊物最早回溯时间到1887年。 2.万方数据 中国学位论文数据库(CDDB):收录了我国自然科学和社会科学各领域的硕士、博士及博士后研究生论文的文摘信息。 的各种学术会议论文,每年涉及上千个重要的学术会议,是目前国内收集学科最全、数量最 其收录范围包括新技术、新产品、新工艺、新材料、新设计,涉及自然科学各个学科领域。 专利数据库(zl):收录从1985年至今授理的全部专利数据信息,包含专利公开(公告)日、公开(公告)号、主分类号、分类号、申请(专利)号、申请日、优先权等数据项。 中外标准数据库(BZ):收录了中国国家标准、中国行业标准、中国建材标准、中国建设标准、国际标准化组织标准、国际电工委员会标准、欧洲标准、英国标准学会标准、法国标准协会标准、德国标准化学会标准、日本工业标准调查会标准、美国国家标准、美国行业标准等国内外各种标准的题录信息。 科技文献类数据库:有冶金自动化文献、机械工程文摘、中国建材文献、农业科学文献、光纤通信文献、管理科学文献、煤炭科技文献、铁路航测遥感、船舶文献数据库、有色金属文献、水利期刊文献、人口科学文献、金属材料文献、磨料磨具文献、粮油食品文献、麻醉科学文献、环境科技文献、地震文献数据、采矿文献数据、计算机文献、西文期刊馆藏、科技声像目录等按专题收录的数据库,收录相关专题中的期刊、会议、专利等文献信息。 中国科技论文统计分析数据库(CSTPC): 该数据库主要功能有: 查找国内发表的重要科技论文;了解历年来中国科技论文统计分析与排序结果;了解各地区、部门、单位、作者以及各学科及基金资助论文发表的详细情况。 中国科技论文引文分析数据库(CSTPI):该数据库集文献检索与论文统计分析于一体,既

第一章 数据库系统概述

第一章数据库系统概述 1、P19-1什么是数据库,什么是数据库管 理系统,什么是数据库系统? 2、DBS由那几部分组成? 3、数据库系统具有的独立性是指() A用户与数据分离B用户与程序分离C程序与数据分离D人员与设备分离 4、数据库管理系统是专门用于管理 的软件。 5、文件系统与数据库系统的最大区别是在 方面。 6、在数据库系统的组织结构中,把概念数 据库与物理数据库联系起来的映射是 ()A.外模式/内模式 B.内模式/ 外模式 C.概念模式/内模式 D.概念 模式/外模式 7、数据库系统的数据独立性包括独立 性和独立性。 8、数据模型不用于描述( )。A.客观事 物 B.事物间的联系 C.数据存储 D. 事物及其相互间的联系。 9、数据库操纵语言(DML)的基本操作不包 括()。A.插入B.修改C.排序D. 查询。 10、内模式是描述数据如何在存储介 质上组织存储的.又称之为模式。 11、数据库(DB)、数据库系统(DBS) 和数据库管理系统(DBMS)三者之间的 关系是_______。 A.DBS包括DB和DBMS B.DBMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS 12、数据库管理系统的主要功能是什么? 第二章关系数据库系统 1、将下列术语中概念最接近的分组,并用 括号分别括起来:元组、关系、记录、 记录型、标识符、关系模式、实体、关 键字、实体型、实体集 2、设关系R,S如下,计算: (1)R1=R自然连接S (2)R2=R连接S,连接条件是 [2]<[5]。 3、设有两个关系R(A,B,C)和S(C,D, E),试用SQL查询语句表示关系代数表 达式)) | | ( ( , S R D B E A ? = σ π。 4、如果数据库中出现类似如“人的身高= 10米”的数据.则说明数据的()未 受到保护。A.安全性B.完整性C.一致性 5、MySql支持的数据类型有_________. 6、关系代数中三种专门的关系运算 是、、。 7、设有两个关系R (A,B,C) 和S (C,D, E),试用SQL查询语句表达下列关系代数 表达式πA,E (σB = D (R∞S))。 R S:

第三章文献检索常用中文数据库

医学信息检索练习题 主编:华北煤炭医学院医学信息检索教研室 第三章常用中文数据库 一、名词解释 1. 二次检索 2. 加权检索 二、填空题 1.中国生物医学文献数据库的主题标引依据、________________。2.中文科技期刊数据库的回溯期是年。 3.中国学术期刊网络出版总库中的检索项“主题”包括、、。 4.万方数字化期刊的回溯是年。 三、判断题: ( ) 1. CNKI是中国期刊全文数据库的缩写名称。 ( ) 2. 在CBM数据库中,若要了解某一期刊的相关信息,可以在基本检索界面选择“刊名”字段,进行检索。 ( ) 3. 我们可以利用CBM的“E-mail”功能将检索结果发送至自己的邮箱,但是发送的结果最多不能超过500条。 ( ) 4. 中国学术文献网络出版总库的检索首页默认为跨库检索,即在系统默认的多个数据库中同时检索。 ( ) 5. 万方数字化期刊中的全文有PDF和CAJ两种格式。 ( ) 6. 中国学术期刊网络出版总库和中文科技期刊数据库(全文版)的全文都不能批量下载。 四、选择题 ( ) 1.下列关于中国学术文献网络出版总库检索结果下载的说法正确的是 a. 题录可以批量下载,但每次不能超过50条。

b. 题录可以批量下载,但每次不能超过200条。 c. 全文可以批量下载,但每次不能超过50篇。 d. 全文每次只能下载1篇。 ( ) 2. 从中国学术期刊网络出版总库中检索得到的全文可以用下列哪种(些)阅读器阅读? a. CAJViewer b. Adobe Reader c. SSReader d. Apabi Reader ( ) 3.下列数据库中,回溯期最早的是 a. 中国生物医学文献数据库 b. 中文科技期刊数据库 c. 中国博士学位论文全文数据库 d. 中国重要会议论文全文数据库( ) 4. 在我们所学数据库中的“二次检索”和“在结果中检索”是指: a. 在已检出文献的基础上,再加入新的词进行进一步的检索,相当于逻辑组配 符AND b. 在已检出文献的基础上,再加入新的词进行进一步的检索,相当于逻辑组配 符OR c. 在已检出文献的基础上,再加入新的词进行进一步的检索,相当于逻辑组配 符NOT d. 在已检出文献的基础上,再加入新的词进行进一步的检索,逻辑组配符可任 意选择AND、OR、NOT ( ) 5. 以下中文数据库中,哪个具有主题词检索功能 a. 中国生物医学文献数据库 b. 中国学术期刊网络出版总库 c. 中文科技期刊数据库 d. 万方数字化期刊 五、简答题 1.简述中国生物医学文献数据库的检索途径。 2.在本章所讲的数据库中哪些提供免费的题录和文摘的下载? 3. 中国生物医学文献数据库中的缺省检索是指在哪些字段中检索?

相关主题
文本预览
相关文档 最新文档