1.1试述数据、数据管理、数据库管理系统、数据库的概念。
答:
数据:
描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。
*解析:
在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据等。现在计算机能存储和处理的对象十分广泛,表示这些对象的 数据也越来越复杂。
数据与其语义是不可分的。500这个数字可以表示一件物品的价格是500元,也可以表示一个学术会议参加的人数有500人。还可以表示一袋奶粉重500克。
数据管理:
对数据进行有效的分类、组织、编码、存储、检索、维护和应用,它是数据处理的中心问题。
*解析:数据处理:从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说有价值、有意义的数据。数据管理技术的发展及其应用的广度和深度,极大地影响着人类社会发展的进程。
数据库管理系统:
数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
*解析:
DBMS是一个大型复杂的软件系统。是计算机中的基础软件。目前,专门研制DBMS的厂商及其研制的DBMS产品很多。著名的有美国IBM公司的DB2关系数据库管理系统、IMS层次数据库管理系统;美国ORACLE公司的ORACLE关系数据库管理系统;SYBASE公司的SYBA
SE关系数据库管理系统;美国微软公司的SQL SERVER关系数据库管理系统等等。
数据库:
数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
*解析:
简单地讲,数据数据库数据具有永久储存、有组织和可共享三个特点。
数据模型是数据库的核心概念。每个数据库中数据的都是按照某一种数据模型来组织的。
1.2在文件处理系统中存储信息的弊端有哪些?试举例说明。
答:
在文件处理系统中存储组织信息的主要的弊端包括:
数据的冗余和不一致(data redundancy and inconsistency)。由于文件和程序是在很长的一段时间内由不同的程序员创建的,不同文件可能有不同的结构,不同程序可能采用不同的程序设计语言写成。此外,相同的信息可能在几个地方(文件)重复存储。例如,如果某学生有两个专业(例如,音乐和数学),该学生的地址和电话号码就可能既出现在包含音乐系学生记录的文件中,又出现在包含数学系学生记录的文件中。这种冗余除了导致存储和访问开销增大外,还可能导致数据不一致性(data inconsistency),即同一数据的不同副本不一致。例如,学生地址的更改可能在音乐系记录中得到反映而在系统的其他地方却没有。
数据访问困难(difficulty in accessing data)。假设大学的某个办事人员需要出居住在某个特定邮编地区的所有学生的姓名,于是他要求数据处理部门生成这样的一个列表。由于原始系统的设计者并未预料到会有这样的需求,因此没有现成的应用程序去满足这个需求。但是,系统中却有一个产生所有学生列表的应用程序。这时该办事人员有两种选择:一种是取得所有学生的列表并从中手工提取所需信息,另一种是要求数据处理部门让某个程序员编写相应的应用程序。这两种方案显然都不太令人满意。假设编写了相应的程序,几天以后这个办事人员可能又需要将该列表减少到只列出至少选课60学时的那些学生。可以预见,产生这样一个列表的程序又不存在,这个职员就再次面临前面那两种都不尽如人意的选择。
这里需要指出的是,传统的文件处理环境不支持以一种方便而高效的方式去获取所需数据。我们需要开发通用的、能对变化的需求做出更快反应的数据检索系统。
数据孤立(data isolation)。由于数据分散在不同文件中,这些文件又可能具有不同的格式,因此编写新的应用程序来检索适当数据是很困难的。
完整性问题(integrity problem)。数据库中所存储数据的值必须满足某些特定的一致性约束(consistency constraint)。假设大学为每个系维护一个账户,并且记录各个账户的余额。我们还假设大学要求每个系的账户余额永远不能低于零。开发者通过在各种不同应用程序中加入适当的代码来强制系统中的这些约束。然而,当新的约束加入时,很难通过修改程序来体现这些新的约束。尤其是当约束涉及不同文件中的多个数据项时,问题就变得更加复杂了。
原子性问题(atomicity problem)。如同任何别的设备一样,计算机系统也会发生故障。一旦故障发生,数据就应被恢复到故障发生以前的一致的状态,对很多应用来说,这样的保证是至关重要的。让我们看看把A系的账户余额中的500美元转入B系的账户余额中的这样一个程序。假设在程序的执行过程中发生了系统故障,很可能A系的余额中减去的500美元还没来
得及存入B系的余额中,这就造成了数据库状态的不一致。显然,为了保证数据库的一致性,这里的借和贷两个操作必须是要么都发生,要么都不发生。也就是说,转账这个操作必须是原子的——它要么全部发生要么根本不发生。在传统的文件处理系统中,保持原子性是很难做到的。
并发访问异常(concurrent access anomaly)。为了提高系统的总体性能以及加快响应速度,许多系统允许多个用户同时更新数据。实际上,如今最大的互联网零售商每天就可能有来自购买者对其数据的数百万次访问。在这样的环境中,并发的更新操作可能相互影响,有可能导致数据的不一致。设A系的账户余额中有10 000美元,假如系里的两个职员几乎同时从系的账户中取款(例如分别取出500美元和100美元),这样的并发执行就可能使账户处于一种错误的(或不一致的)状态。假设每个取款操作对应执行的程序是读取原始账户余额,在其上减去取款的金额,然后将结果写回。如果两次取款的程序并发执行,可能它们读到的余额都是10 000美元,并将分别写回9500美元和9900美元。A系的账户余额中到底剩下9500美元还是9900美元视哪个程序后写回结果而定,而实际上正确的值应该是9400美元。为了消除这种情况发生的可能性,系统必须进行某种形式的管理。但是,由于数据可能被多个不同的应用程序访问,这些程序相互间事先又没有协调,管理就很难进行。
作为另一个例子,假设为确保注册一门课程的学生人数不超过上限,注册程序维护一个注册了某门课程的学生计数。当一个学生注册时,该程序读入这门课程的当前计数值,核实该计数还没有达到上限,给计数值加1,将计数存回数据库。假设两个学生同时注册,而此时的计数值是(例如)39。尽管两个学生都成功地注册了这门课程,计数值应该是41,然而两个程序执行可能都读到值39,然后都写回值40,导致不正确地只增加了1个注册人数。此外,假设该课程注册人数的上限是40;在上面的例子中,两个学生都成功注册,就导致违反了40个学生为注册上限的规定。
安全性问题(security problem)。并非数据库系统的所有用户都可以访问所有数据。例如在大学中,工资发放人员只需要看到数据库中关于财务信息的那个部分。他们不需要访问关于学术记录的信息。但是,由于应用程序总是即席地加入到文件处理系统中来,这样的安全性约束难以实现。
1.3数据库管理系统阶段数据管理的主要特点是什么?
答:
一、人工管理阶段:特点
数据的管理者:人
数据面向的对象:某一应用程序
数据的共享程度:无共享,冗余度极大
数据的独立性:不独立,完全依赖于程序
数据的结构化:无结构
数据控制能力:应用程序自己控制
二、文件系统阶段:特点
数据的管理者:文件系统
数据面向的对象:某一应用程序
数据的共享程度:共享性差,冗余度大
数据的独立性:独立性差
数据的结构化:记录内有结构,整体无结构
数据控制能力:应用程序自己控制
三、数据库系统阶段:特点
数据的管理者:数据库管理系统
数据面向的对象:整个应用系统
数据的共享程度:共享性高,冗余度小
数据的独立性:具有高度的物理独立性和逻辑独立性
数据的结构化:整体结构化,用数据模型描述
数据控制能力:由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力
或1 人工管理阶段(20世纪50年代中期以前)的特点:
(1)数据不保存在机器中;
(2)没有专用软件对数据进行管理;
(3)只有程序的概念,没有文件的概念;
(4)数据面向应用,即一组数据对应一个程序。
2 文件系统阶段的特点与缺陷:
特点:
(1)数据可长期保存在磁盘上。
(2)数据的逻辑结构与物理结构有了区别
(3)文件组织呈现多样化
(4)数据不再属于某个特定程序,可以重复使用。
其缺陷是:
(1)数据冗余性
(2)数据不一致性
(3)数据联系弱
3 数据库阶段的特点
(1) 采用复杂的数据模型表示数据结构。
(2) 有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)
(3) 数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据, 也可以用程序方式操作数据库。
(4) 系统提供了四个方面的数据控制功能:数据库的恢复、并发控制、数据完整性和数据安全性, 以保证数据库中数据是安全的、正确的和可靠的。
(5) 对数据的操作不一定以记录为单位,还可以数据项为单位,增加了系统的灵活性。
1.4什么是数据独立性?数据独立性又分为哪两个层次?为什么需要数据独立性?
答:
生活中数据库系统的实际例子修改模式的定义而不影响位于其上层的模式的能力叫做数据独立性。在数据库管理系统中,数据独立性分为两个层次:物理数据独立性和逻辑数据独立性。
物理数据独立性是指修改了数据库的物理模式不用去修改应用程序的能力;逻辑独立性是指修改了数据库的逻辑模式不用去修改应用程序的能力。
数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
需要数据独立性的原因:1)减轻了应用程序的维护工作量;(2)对同一数据库的逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给DBA维护、改变数据库的物理存储提供了方便。
1.5试举例说明数据库的应用。
答:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论