项目1掌握数据库基础知识_第1页
项目1掌握数据库基础知识_第2页
项目1掌握数据库基础知识_第3页
项目1掌握数据库基础知识_第4页
项目1掌握数据库基础知识_第5页
已阅读5页,还剩40页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目一 掌握数据库基础知识项目导入数据库技术是信息处理的基础, 它不仅反映数据本身所代表的基本信息, 还反映数据之 间的联系, 是相关数据的集合。 数据库技术是计算机领域发展最快的学科之一,目前, 数据 库技术已从第一代的网状、 层次数据库系统, 第二代的关系数据库系统, 发展到以面向对象 模型为主要特征的第三代数据库系统。 其中建立在关系模型基础上的关系数据库是当前最流 行的、应用最广泛的数据库,当前所开发的基于数据库的应用系统基本上都是关系数据库。 因此, 在本项目中, 首先对数据库的基础知识进行初步的讨论, 然后对数据库开发所使用的 平台 SQL Server 2005 再作概况的介绍。

2、项目分析数据库技术是为了解决计算机信息处理过程中大量数据有效地组织和存储的问题, 在数 据库系统中减少数据存储冗余、 实现数据共享、 保障数据安全以及高效地检索数据和处理数 据而设计的,所以,数据库是相关数据的集合。本教材中以学生管理数据库系统为教学案例, 以关系数据库技术作为基础, 不但需要对 数据库的基础理论有一定的了解, 同时还需要掌握一种数据库开发平台, 即数据库管理系统 (DBMS )的使用方法,才能在开发平台上有效地开发出一个实用的学生管理数据库系统。 因此,本项目将包括数据库的基础知识介绍和数据库开发平台 SQL Server 2005 的使用能力 训练两部分内容。能力目标1.

3、了解学生管理数据库的基本需求;2. 了解数据管理技术的 3 个阶段;3. 掌握数据库、数据管理系统和数据库系统的基本概念;4. 掌握 SQL Server 数据库的基本组成和有关知识。知识目标:1. 能根据实际环境进行数据库应用系统的需求分析和功能设计;2. 具备使用数据库理论分析相关信息抽象数据的能力;3. 了解并掌握数据库开发平台 SQL Server 2005 的概况和基本设置方法。任务1学生管理数据库基本需求任务要求根据学生管理的工作流程,对学生管理数据库系统进行整体分析与规划。1. 分析学生管理数据库系统的整体需求,掌握需求分析的基本方法;2. 规划学生管理数据库系统应具备的功能模块

4、。知识储备一个数据库应用系统的开发设计通常要经历多个环节,简单地说可以分为对应用系统前台应用界面(应用层)和后台数据库(数据层)设计两个部分的设计,每一部分的设计都是 一个庞大、复杂的工程,因此,通常都是结合软件工程的原理和方法进行数据库软件的设计。 从一个应用软件开发的角度讲,一个数据库应用系统的一般设计环节如图1-1所示。就数据库系统的规划设计来讲,一般设计过程包括:需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构设计、数据库实施及数据库的运行维护6个环节。设计一个数据库应用系统,首先要对系统的应用环境进行分析,掌握用户需求要求, 这是整个开发的基础,需求分析的准确与否,关

5、系到数据库应用系统的开发质量,本任务将主要讨论学生管理数据库系统的需求分析这个环节。1. 需求分析的任务需求分析是指在开发设计开始阶段,收集用户的功能要求,了解系统的应用环境,对需要使用的数据进行收集整理,建立起一个完整数据集的过程。比如系统的使用用户的种类、 相关应用的历史数据、有关表单资料的查阅以及实际运作流程等,从而得出所开发系统的功能运行过程。用户需求包括数据和处理两部分需求:数据需求是指数据库中存储哪些数据结构;处理需求是指用户要完成什么处理功能,以及对这些处理的响应时间、处理方法等有什么要求。需求分析阶段的任务主要包括以下几个方面:(1)分析用户活动,产生业务流程图了解用户当前的业

6、务活动和职能, 理清其处理流程。把用户业务分成若干个子处理过程, 使每个处理功能明确、界面清楚,画出业务流程图。(2)确定系统范围,产生系统范围图在和用户经过充分讨论的基础上,确定计算机所能进行数据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成,即确定人机界面。(3)分析用户活动所涉及的数据,产生数据流图深入分析用户的业务处理,以数据流图形式表示出数据库的方向和对数据所进行的加工。 数据流图有四个基本成分:数据流、加工或处理、文件、外部实体。(4)分析系统数据,产生数据字典数据字典提供对数据库时间描述的集中,它的功能是存储和检索各种数据描述,数据字典是数据收集和数据分析的主要成果

7、,在数据库设计中占有很重要地位。2. 需求分析的方法调查了解了用户的需求以后,还需要进一步分析和表达用户的需求,用于需求分析的方法有很多种,主要的方法有自顶向下和自底向上两种,其中自顶向下的结构化分析方法(Structured Analysis, SA)是一种简单实用的方法。(1)SA方法SA方法是从最上层的系统组织入手,采用自顶向下、逐层分解的方法分析系统。SA方法把每个系统都抽象成图1-2所示的数据流图形式。图1-2系统最高层的数据流图信息要求处理要求在SA方法中,处理过程的处理逻辑常常借助判定表和判定树来描述,系统中的数据则 借助数据字典(DD )来描述。(2)数据流图数据流图(Data

8、 Flow Diagram,DFD )表达了数据与处理的关系。数据流图中的基本元 素如下: 圆圈符:O表示处理,输入数据在此进行变换产生输出数据。在其中注明处理的名称。 矩形符:I描述一个输入源点或输出汇点。在其中注明源点或汇点的名称。 箭头:-命名的箭头描述一个数据流。 内容包括被加工的数据及其流向, 流线上要注明数据名称, 箭头代表数据流动方向。 右开口矩形框:I I向右开口的矩形框表示文件和数据存储,要在其内标明相应的具体名称。(3)数据字典数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是各类数据结构和属性的清单。它与数据流图互为解释,数据字典贯穿于数据库需求分析

9、直到数据 库运行的全过程,在不同的阶段,其内容形式和用途各有区别,在需求分析阶段,它通常包含以下五个部分的内容。 数据项数据项是不可再分的数据单位,对数据项的描述,通常包括数据项名、含义、别名、类 型、长度、取值范围以及与其他数据项的逻辑关系。 数据结构数据结构反映了数据之间的组合关系。 一个数据结构可以由若干个数据项组成, 也可以 由若干个数据结构组成, 或有若干个数据项和数据结构混合组成。 它包括数据结构名、 含义 及组成该数据结构的数据项名或数据结构名。 数据流数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。 对数据流的描述应包括数据流名、说明、流出的加工名,

10、流入的加工名以及组成该数据流的数据结构或数据项。 数据存储数据存储是处理过程中要存储的数据,它可以是手工凭证、手工文档或计算机文档。对数据存储的描述应包括数据存储名、说明、输入数据流、输出数据流、数据量、存取频率和 存取方式。 处理过程对处理过程的描述包括处理过程名、说明、输入数据流、输出数据流,并简要说明处理工作、频度要求、数据量及响应时间等。最终形成的数据流图和数据字典是“系统需求分析说明书”的主要内容,是下一步进行概念结构设计的基础。在本任务中,我们从项目准备的角度, 对学生管理数据库应用系统先做一个整体的概括 分析,对学生管理数据库中所需要准备的数据及其相关理论进行一个框架层面上的了解

11、,为后续进行数据库规划和应用开发作好充足的知识和技能上的准备。任务实施学生管理数据库系统, 具有不同的用户群体, 不同的用户群体又对数据有着不同的需求 要求,正确地分析相应用户的要求并恰当地将其表达出来,是学生管理数据库系统设计的起始工作。在本任务实施前,首先要对用户环境进行准确的分析。1. 用户类型分析学生管理数据库通常的用户为学生、教师和教学管理人员。不同的用户有不同的信息查询和信息管理要求。学生管理数据库系统, 要方便应用系统的管理员对数据库中的基本信息 数据进行管理和维护, 教师用户能够对基本信息进行查询并对部分信息进行更新管理,学生对与自己相关的数据可以进行查询,对个人的基本信息可以

12、进行维护。2. 功能需求分析学生管理数据库系统其主要功能是实现了基础资料、学生管理、课程管理和成绩管理四大模块的管理。其中,基础资料中又包括院系、班级、宿舍、教师基本资料的管理,包括了 对其的增加、删除、修改和查询;学生管理中,包括学生档案和学生学籍的管理,包括了对 其中学生各个属性的增加、删除、修改和查询;课程管理中,包括了对新的课程进行设置, 以及对班级选课的管理;成绩管理中,包括了对学生成绩的录入和对学生成绩进行分析。任务实践1. 设计完成学生管理数据库系统的数据流图根据任务实施环节对学生管理数据库系统应用环境的分析,绘制学生管理数据库系统的数据流程图,如图1-3所示。图1-3学生管理数

13、据库系统数据流图2. 设计相关功能模块。根据功能需求分析的情况,确定学生管理数据库系统的功能模块如下:(1) 基本信息管理:包括院系信息管理和专业信息管理等功能;(2) 班级信息管理:包括班级信息管理和班级信息浏览等功能;(3) 教师信息管理:包括教师信息录入和管理等功能;(4) 学生基本信息管理:包括学生信息的录入、管理、查询以及导入、导出等功能;(5) 系统维护:主要用于实现数据的备份、还原和清理功能;(6) 用户管理:主要用于实现用户管理、更改密码等功能。任务 2 了解数据库基础知识任务要求通过本任务的学习应掌握以下内容: 数据、数据库、 数据库管理系统和数据库系统的基 本知识。知识储备

14、1. 数据库管理技术的产生数据库技术产生于 20 世纪 60 年代末 70 年代初,其主要目的是有效地管理和存取大量 的数据资源。近年来,数据库技术和计算机网络技术的发展相互渗透, 相互促进, 已成为当 今计算机领域发展迅速, 应用广泛的两大领域, 数据库技术不仅应用于事务处理, 并且进一 步应用到情报检索, 人工智能, 专家系统,计算机辅助设计等数据管理领域。谈数据管理技 术,先要讲到数据处理。所谓数据处理,是指对各种数据进行收集、存储、加工和传播的一 系列活动的总和。纵观数据处理的历史, 可以认为,数据库技术萌芽于五十年代后期, 形成 于六十年代中期 , 成熟于七十年代,广泛应用于八十年代

15、。2. 数据库管理技术的发展数据库管理技术主要研究如何存储、 使用和管理数据, 是计算机数据管理技术发展的新 阶段 ,是计算机技术中发展最快、应用最广的技术之一。数据管理的水平是和计算机硬件、 软件的发展相适应的, 随着计算机技术的发展, 数据管理技术经历了三个阶段的发展: 人工 管理阶段;文件系统阶段;数据系统阶段。(1) 人工管理阶段( 20 世纪 50年代)在这一阶段,计算机主要用于科学计算, 硬件设施方面, 外部存储只有磁带、卡片和纸 带等,没有磁盘等直接存取设备。 软件方面, 只有汇编语言, 没有操作系统和数据管理软件, 数据量小,数据无结构,由用户直接管理,数据依赖于特定的应用程序

16、,缺乏独立性。此阶 段应用程序与数据之间的关系是一一对应的关系,如图 1-4 所示。图1-4人工管理阶段应用程序与数据之间的关系人工管理阶段的数据具有以下几个特点: 数据不保存当时的计算机主要用于科学计算,一般不需要 长期保存数据。每处理一批数据,都要特地为这批 数据编制相应的应用程序,计算任务完成后,用户 作业退出计算机系统,数据空间随着程序空间一起 被释放。 没有专门的软件对数据进行管理每个应用程序都要包括存储结构、存取方法、 输入/输出方式等内容的设计。一旦数据发生改变,就必须修改应用程序,因而数据与程序 不具有独立性。 数据不共享一组数据对应一个应用程序。 如果多个应用程序涉及某些相同

17、的数据,则必须各自进行定义,因此程序间有大量的数据冗余。 数据不具有独立性数据的独立性包括了数据的逻辑独立性和数据的物理独立性。当数据的逻辑结构或物理 结构发生变化时,必须对应用程序做相应的修改。(2) 文件系统阶段(20世纪50年代后期60年代中期)图1-5文件系统阶段应用程序与数据之间的关系在这一阶段,计算机已大量用于数据的管理。硬件方面,有了磁盘、 磁鼓等直接存取存储设备。软件方面, 操作系统中已经有了专门的管理软件, 一般称为文件系统。数据处理方式有 批处理,也有联机实时处理。此阶段 应用程序与数据之间的关系如图1-5 所示。文件系统阶段的数据具有以下几个特点: 数据长期保存数据以“文

18、件”形式可长期保存在外部存储器的磁盘上。由于计算机大量用于数据处理,数据需要长期保留在外存上反复进行查询、修改、插入及删除等操作。 文件系统管理数据所有的文件由文件管理系统统一进行管理和维护,数据文件可以脱离程序而独立存在。文件系统把数据组织成相互独立的数据文件,按文件名访问,按记录进行存取,可以对文件 进行修改、插入及删除操作。文件系统实现了记录内的结构性,但文件之间整体无结构,数使应据之间的联系要通过程序去构造。程序和数据之间由文件系统提供存取方法进行转换, 用程序与数据之间有了一定的独立性。 数据共享性差,冗余度大由于文件之间缺乏联系,造成每个应用程序都有对应的文件,而不能共享相同的数据

19、,因此,数据的冗余度大,同样的数据有可能在多个文件中重复存储。这往往在进行更新操作时就可能使同样的数据在不同的文件中不一样,造成数据的不一致性。 数据独立性差文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据增加一些新的应用会很困难,系统不容易扩充。一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构的定义。因此数据与程序之间仍缺乏独立性。可见,文件系统仍然是一个不具有弹性的整体无结构的数据集合,即文件之间是孤立的, 不能反映现实世界事物之间的内在联系。(3)数据库系统阶段(20世纪60年代后期至今)在此阶段,数据管理规模一再扩大,数据量急剧

20、增加。硬件已有大容量磁盘,硬件价格,为了解决共享数据的需求,从用来统一管理数据。数据库阶段下降,软件价格上升。介于这种情况,为了提高系统性能 文件系统中分离出了专门的软件系统一一数据库管理系统, 应用程序与数据之间的关系如图 1-6所示。图1-6数据库阶段应用程序与数据之间的关系数据库系统阶段的数据管理具有以下几个特点: 数据结构化数据库是存储在磁盘等外部存储设备上的数据集合,是按一定的数据结构组织起来的。与文件系统相比,文件系统中的文件之间不存在联系,因而从总体上看数据没有结构的;而数据库中文件是相互联系的,并在总体上有一定的结构形式。这就是文件系统与数据库系统 的最大区别。数据库正是通过文

21、件之间的联系反映现实世界事物间的自然联系。 数据的共享性高,冗余度低,易扩充数据库中的数据是面向整个系统,是有结构的数据,不但可以被多个应用共享,而且容易增加新的应用,易于修改、易于扩充。这样就大大减少了数据冗余,提高了共享性,节约 存储空间。数据共享还能够避免数据之间的不相容性与不一致性。 数据独立性高 数据独立是数据库技术努力追求的目标, 数据独立性包括数据的物理独立性和数据的逻 辑独立性两方面。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。 数据在 磁盘上存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构, 这样当数据的物理存储改变了,应用

22、程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,当数据的逻辑结构改时, 用户程序也可以不变。在数据方式下, 用户不是自建文件, 而是取自数据库中的某个 子集, 是数据库管理系统从数据库映射出来的, 所以叫做逻辑文件, 但实际上的物理存储只 出现一次。 数据由数据库管理系统统一管理和控制。数据库系统提供了 4个方面的数据控制功能, 分别是并发控制、 恢复、完整性和安全性。 数据库中各个应用程序所使用的数据由数据库系统统一规定,按照一定的数据模型组织和建立,由系统统一管理和集中控制,以保证数据的完整性、 安全性, 并在多用户同时使用数据 库时进行并发控制,在发生故障后对系

23、统进行恢复。任务实施数据库理论及其应用技术是在人们运用计算机进行数据处理过程中产生的一门有关数 据采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程的知 识和技术, 其中有很多概念性的知识需要理解。 本任务作为数据库概念设计的前述知识, 通 过任务实践来介绍数据库系统的基本概念。任务实践1. 数据( Data )(1)数据的定义数据是描述事物的符号记录。 数据的概念包括两个方面: 一是存储在某一种媒体上的数 据形式;二是描述事物特性的数据内容。(2)数据的表现形式数据是数据库中存储的基本对象。 数据在大多数人的第一印象中就是数字, 其实数字只 是其中一种最简单的表现形式

24、, 是数据的一种传统和狭义的理解。 按广义的理解来说, 数据 的种类有很多, 如文字、图形、图像、声音、视频、语言以及学校学生的档案等, 都是数据, 都可以转化为计算机可以识别的标识,并以数字化后的二进制形式存入计算机。在日常生活中, 人们需要描述各种事物, 可直接用自然语言描述。 在计算机中,为了存 储和处理这些事物, 就要抽出对这些事物感兴趣的特征组成一个记录来描述。 例如:在学生 管理数据库中, 学生的基本信息情况是学生的姓名、性别、出生年月,这都说明了学生的基本特征,就可以这样来描述一个学生:(张三,男,1994/04 )。(3)数据与信息的关系信息与数据既有联系, 又有区别。信息是对

25、数据加工处理之后所得到的并可以对决策产生影响的数据。数据是信息的表现形式;信息是数据有意义的表示。 可以用图1-7表示出数据与信息之间的关系。(4)数据与其语义学生记录就是一个数据。对于此记录来说,要表示特定的含义,必须对它给予解释说明, 数据解释的含义称为数据的语义,数据与其语义是不可分的。可以这样认为:数据是信息的符号表示或载体,信息则是数据的内涵, 是对数据的语义解释。 例如:学生记录(张三,男, 1994/04)可以解释为张三是名男同学,出生年月为1994年4月,这样它才具有了表述信息的功能。2. 数据库(DB DataBase)数据库是指长期存放在计算机内的、有组织的、可共享的数据集

26、合。 从字面意思来说就是存放数据的仓库,该仓库建立在计算机存储设备上,且数据是按一定的格式存放的,可供多用户共享,具有尽可能小的冗余度和较高的数据独立性和易扩展性。它不仅描述事物的数据本身,还包括相关事物之间的联系。数据库具有两个比较突出的特点。(1)集成性把在特定的环境中与某应用程序相关的数据及其联系集中在一块并按照一定的结构形 式进行存储,即集成性。例如,可以将图书馆的馆藏图书和图书借阅情况保存在数据库中, 以便于对图书信息的管理。(2)共享性数据库中的数据能被多个应用程序的用户所使用,即共享性。例如,学生管理数据库即可以给教务处提供学生信息,又可以给学工处等其他部门提供学生信息。 数据库

27、的用户分为 3种: 数据库管理员:他们使用数据库管理系统提供的工具软件对数据库进行各种维护和管理,以便使其更好地为其他用户服务。 应用程序员:他们使用数据库语言和程序设计语言编写使用和操纵数据库中数据的程序。 非程序员用户:他们通过联机终端设备,使用数据库查询语言访问数据库。3. 数据库管理系统(DBMS DataBase Managenent System )数据库管理系统是数据库系统的核心组成部分,是一种操纵和管理数据库的大型软件, 用于建立、使用和维护数据库。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。用户在数据库系统中的一些操作,如数据定义、数据

28、操纵、 数据库的运行管理及数据控制等都是数据库管理系统来实现的。如图1-8所示。图1-8数据库管理系统数据库管理系统主要包括以下几个功能: 数据定义DBMS提供数据定义语言(DDL Data Definition Language ),定义数据库的三级模式 结构,两级映像以及定义数据的完整性和安全控制等约束。用户可以方便地对数据库中的数据对象(包括表、视图、索引、存储过程等)进行定义。 数据操纵DBMS提供数据操纵语言(DML Data Manipulation Language),用户可以使用 DML操纵数据实现对数据库的基本操作,如查询、插入、删除及修改等。 数据库的运行管理数据库的运行管

29、理功能是 DBMS勺运行控制、管理功能,所有数据库的操作都要在数据库管理系统的统一管理和控制下进行,以保证事务的正确运行和数据的安全性、完整性。这也是DBMS!行时的核心部分,它包括如下内容:数据的并发控制数据的安全性保护数据的完整性控制数据库恢复 数据字典数据字典是一个自动的或手动的存储数据元的定义和属性的文档。对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程 图中的各个元素做出详细的说明。数据字典本身也可以看成是一个数据库,只不过它是系统数据库,是一组表和视图结构,存放在SYSTEM表空间中。4. 数据库系统(DBS DataBase Sy

30、stem)数据库系统是由数据库及其管理软件组成的系统,是指在计算机系统中引入数据库后的系统,其构成主要有数据库及相关硬件、数据库管理系统及其开发工具、应用系统、数据库管理员和用户这几部分,其中,在数据库的建立、使用和维护的过程要有专门的人员来完成, 这些人就被称为数据库管理员(DBA DataBase Administrator)。数据库系统结构如图1-9所示。图1-9数据库系统结构数据库系统一般由4个部分组成: 数据库:是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、 描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。 硬件

31、:构成计算机系统的各种物理设备,包括存储所需的外部设备。 硬件的配置应满足整个数据库系统的需要。 软件:包括操作系统、数据库管理系统及应用程序。 人员:主要有4类。第一类为系统分析员和数据库设计人员,系统分析员负责应用系统的需求分析和规范说明, 并参与数据库系统的概要设计。数据库设计人员负责数据库中 数据的确定、数据库各级模式的设计。第二类为应用程序员,负责编写使用数据库的应用程 序。第三类为最终用户, 他们利用系统的接口或查询语言访问数据库。 第四类为数据库管理 员,负责数据库的总体信息控制。数据库系统在整个计算机系统中的地位如图 1-10所示。任务3数据库系统的结构任务要求1. 了解三级组

32、织结构描述方法;2. 熟悉模式之间的映射关系;3. 掌握数据模型的概念。知识储备数据库系统有着严谨的体系结构。虽然各个厂家、各个用户使用的数据库管理系统产品类型和规模可能相差很大, 但它们在体系结构上通常都具有相同的特征,即采用三级模式结构,并提供两种映像功能。1. 数据库系统的三级模式从数据库管理角度看,数据系统通常采用三级模式结构,这是数据库管理系统内部的系统结构;从数据库最终用户角度看,数据库系统的结构分为集中式结构、分布式结构、客户/服务器结构,这是数据库系统外部的结构。数据库系统的三级模式结构是指数据库系统由外模式、概念模式、内模式三级构成,如图1-11所示。内模式也称为存储模式,一

33、个数据库只有一个内模式,它是整个数据库的最底层表示。内模式是数据物理结构和存储方式的描述,是数据在数据内部的表示方式。内模式定义的是存储记录的类型、存储记录的物理顺序、 索引和存储路径等数据的存储组织。DBM醍供了内模式描述语言(内模式DDL来严格定义内模式。(2)模式模式也称为逻辑模式或概念模式,是数据库全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图, 它是数据库模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。模式实际上是数据库在逻辑上的视图, 一个数据库只有一个模式。 定义模式时,不仅要 定义数据的逻辑结构还

34、要定义数据记录由哪些数据项组成,以及数据项的名字、类型、取值范围等,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。DBMS提供了模式描述语言(模式 DDL)来严格地定义模式。(3)夕卜模式外模式也称为子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述, 有关的数据的逻辑表示。是数据库用户的数据视图, 是与某一应用外模式一般是模式的子集。 一个数据库可以有多个外模式。 这样, 不同的用户通过不同 的外模式实现各自的数据视图, 也达到共享数据的目的。 同一外模式可以被一个用户的多个 应用程序所使用,但一个应用程序只能使用一个外

35、模式。外模式是保证数据库安全性的一个有力措施。 每个用户只能看见和访问所对应的外模式 中的数据,数据库的其余数据是不可见的。DBM醍供了外模式描述语言(外模式DDL来严格地定义外模式。2. 数据库的两级映射数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMST理,使用户能逻辑地、 抽象地处理数据, 而不必关心数据在计算机中的具体表示方式与存储方式。 为了能够在内部实现这三个抽象层次的联系和转换,DBMS在这三级模式之间提供了两层映射。(1)外模式 / 模式映射。对应于同一个模式, 可以有任意多个外模式。 它定义了某一个外模式和模式之间的对应 关系,这些映射定义通常包含在

36、各自的外模式中,当模式改变时,该映射要做相应的改变, 以保证外模式保持不变,实现了数据与程序的逻辑独立性。(2)模式/ 内模式映射。它定义了数据逻辑结构和存储结构之间的对应关系, 说明逻辑记录和字段在内部是如何 表示的。这样,当数据库的存储结构改变时,可相应地修改该映射,从而使模式保持不变, 保证了数据与程序的物理独立性。正是这两层映射保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。模式是数据库中全体数据的逻辑结构和特征的描述, 它仅仅涉及到型的描述, 不涉及到 具体的值。 模式的一个具体值称为一个实例, 同一个模式可以有很多实例。 模式是相对稳定 的,而实例是相对变动的, 因为数据

37、库中的数据是在不断更新。 模式反映的是数据的结构及 其联系,而实例反映的是数据库某一时刻的状态。3. 数据模型数据模型是现实世界中数据特征的抽象。 在数据库中采用数据模型来抽象、 表示和处理 现实世界中的数据和信息。数据模型应满足三方面的要求:( 1) 能够比较真实地模拟现实世界;( 2) 容易为人所理解;( 3) 便于在计算机上实现。4. 数据模型的分类在数据库系统设计过程中针对不同的使用对象和应用目的往往分层次采用不同类型的模型,可以将这些模型分为两类,一种模型是概念模型;另一种是数据模型。(1)概念模型也称信息模型。它从用户的观点出发对数据和信息建模的,主要用于数据库的概念级设 计。通常

38、人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体和联系,它并不依赖于计算机系统或某个DBMS 系统,这样的模型就是物理数据模型。(2)数据模型是按计算机系统对数据建模,主要用于在 DBMS实现数据的存储、操纵、控制等。数据 模型是数据库系统的核心和基础,各种机器上 实现的dbmS件都是基于某种数据模型的。为了把现实世界中的具体事物抽象、组织 为某一 DBMS支持的数据模型,人们常常首先 将现实世界抽象为信息世界,然后将信息世界 转换为机器世界。无论是概念模型还是数据模 型都要能较好地刻画与反映现实世界,要与现 实世界保持一致。现实世

39、界中客观对象的抽象 过程如图1-12所示。图1-12现实世界中客观对象的抽象过程任务实施1. 数据模型的组成要素数据模型是模型中的一种,是对现实世界数据特征的抽象,它描述了系统的三个方面: 静态特性、动态特性和完整性约束条件。因此,数据模型通常由三部分组成:数据结构、数 据操作和数据完整性约束。(1)数据结构数据结构是所研究的对象类型的集合,用于描述系统的静态特性,是数据模型的基础。 数据操作和约束都建立在数据结构上,不同的数据结构具有不同的操作和约束。数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。例如, 建立一个学生管理数据库,学生(对象)的基本情况(类型)如学号、姓

40、名、性别、出生日 期、入学日期、学制、班号、宿舍号等构成了数据库的基本框架,而每个学生的课程信息和 成绩信息等对象与学生的基本信息存在着数据关联,这种数据关联也必须存储在数据库中。 数据模型按其数据结构类型的不同分为层次模型、网状模型、关系模型和面向对象模型。(2)数据操作数据操作是指对数据库中各种对象实例的操作,用于描述系统的动态特性。 例如,根据 用户的要求对数据库中的数据进行增加、 删除、查询、修改等各种操作。数据模型必须定义 这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言等。(3) 数据的完整性约束 数据的完整性约束是指在给定的数据模型中, 数据及其数据关联所遵守

41、的一组规则, 用 以保证数据库中数据的正确性、 一致性。 例如, 学生管理数据库中, 学号作为学生信息在数 据库中的唯一标志,每个学生的学号都不能为空值,并且不能有重复值。此外, 数据模型还应该提供自定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。 例如, 在学生管理数据库中规定学生的性别只能输入男 或女,输入的成绩不能超过 100 分等,这些系统数据的特殊约束要求, 用户能在数据模型中 自己来定义并产生制约。2. 概念模型 概念模型是现实世界到机器世界的一个中间层次, 是面向数据库用户的实现世界的模型, 主要用来描述世界的概念化结构, 它使数据库的设计人员在

42、设计的初始阶段, 摆脱计算机系 统及DBMS勺具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理 系统无关。针对于抽象的信息世界,建立概念模型涉及的一些基本概念。( 1) 实体( Entity ) 将现实世界中客观存在并可以相互区别的事物称为实体。 实体即可以是具体的事物, 例 如,一名学生,一门课程,也可以是抽象的事件,例如,学生的选课,老师的授课等都是实 体。( 2) 属性( Attribute ) 属性是指实体所具有的特性, 一个实体可以由若干个属性描述。 例如, 教师实体可以由 教师号、教师姓名、教师性别、教师职称等属性组成。属性的具体取值称为属性值,用来描 述一个具

43、体实体。属性值( 10001,张杨,男,讲师)具体代表教师实体的一位教师。( 3) 域( Domain) 属性的取值范围称为该属性的域,例如,学号的域为 12 位数字组成的字符编号集合。(4)实体型( Entity Type ) 用实体类型名和所有属性来共同表示的同一类实体, 称为实体型。 例如,教师(教师号、教师姓名、教师性别、教师职称)就是一个教师实体型。(5)实体集( Entity Set )同一类型实体的集合,例如全体学生就是一个实体集,学生实体集=张三,李四','张梅,。(6)键( Key)键是能够唯一地标识出一个实体集中每一个实体的属性或属性组合,键也被称为关键字或

44、码。例如,教师号在教师实体中就是键。(7)联系(Relationship )实体集之间的对应关系称为联系,它反映了现实世界事物之间的相互关联,主要指实体内部的联系(各属性之间的联系)和实体间的联系。实体之间的联系类型比较复杂,一般分 为一对一、一对多、多对多三类。一对一联系(1: 1)如果对于实体集 A中的每一个实体,实体集B中至多有一个与之相对应, 反之,实体集 B中的每一个实体,也至多有一个实体集 A的实体与之对应,则称实体集 A与实体集B具有 一对一联系,记作:1:1。例如,每个班级只有一个班长,班长和班级之间是一对一联系。一对多联系(1: n)如果对于实体集 A中的每一个实体,实体集B

45、中有n个实体与之相对应, 反之,如果实 体集B中的每一个实体,实体集A中至多只有一个实体与之相对应,则称实体集A与实体集B具有一对多联系,记作:1: n。例如,每个学生只能属于一个班级,每个班级可以有多名 学生,班级和该班级中的学生之间是一对多联系。多对多联系(m n)如果对于实体集 A中的每一个实体,实体集B中有n( n0)个实体与之相对应,反之, 如果实体集B中的每一个实体,实体集 A也有m(m0)个实体与之相对应,则称实体集A与实体集B具有多对多的联系,记作:m:n。例如,每个教师可以上多门课程,每门课程 又可以被多名教师授课,课程与教师之间是多对多联系。两个实体型之间的三类联系如图1-

46、13来表示。一对一一对多多对多图1-13两个实体型之间的联系示意图任务实践1. 概念模型的表示概念模型的表示方法很多,最常用的是实体一联系方法,是由美籍华人陈平山于1976年提出的,它通过简单的图形方式描述现实世界中的数据,这种图称为实体一联系图, 简称E-R图。E-R图提供了表示实体、属性和联系的方法。E-R图有三个要素:(1)实体用矩形表示实体,矩形内标注实体名称。(2) 属性用椭圆表示属性,椭圆内标注属性名称,并用连线与实体连接起来。(3) 实体之间的联系用菱形表示,菱形内注明联系名称,并用连线将菱形框分别与相关实体相连,并在连线上注明联系类型(1: 1、1: n或n: m °

47、图1-14所示为两个实体之间的三种联系。图1-15为一个班级、学生的完整E-R图,班级实体型与学生实体型之间是一对多的关系。(a) 1 : 1联系(b) 1 : n联系(c) m : n联系图1-14两个实体之间的三类联系2. 层次模型的表示层次模型是数据库系统中最早出现的数据模型,用树形结构表示实体类型及实体间联系的数据模型称为层次模型。 现实世界中很多事物是按层次组织起来的。层次数据模型的提出,首先是为了模拟这种按层次组织起来的事物,层次数据库也是按记录来存取数据的。层次模理系统,这是一个曾经广泛使用的数据库管理系统。层次模型的表示方法是:树的结点表示实体集(记录的型),结点之间的连线表示

48、相连 两实体集之间的关系,这种关系只能是“ 1: M的。通常把表示1的实体集放在上方, 称为父结点,表示M的实体集放在下方,称为子结点。(1)层次模型的数据结构层次模型有以下两个特点: 有且仅有一个结点无父结点,该结点称为根节点。 其他结点有且仅有一个父结点。每个记录类型可包含若干字段,记录类型描述的是实体,字段描述的是实体的属性。各个记图1-16 一个层次模型的示例在层次模型中,每个节点表示一个记录类型, 记录之间的联系用节点之间的连线表示这 种联系是父子之间的一对多的联系。所以层次模型数据库系统只能处理一对多的实体联系。录类型及其字段都必须命名,并且名称要求唯一。若用图来表示,层次模型是一

49、棵倒立的树。结点 层次从根开始定义,根为第一层,根的子女称为第二 层,根称为其子女的双亲,同一双亲的子女称为兄弟。 图1-16所示为一个系的层次模型。层次模型对具有一对多层次关系的描述非常自 然、直观、容易理解,这是层次数据库的突出优点。 层次模型中实体集之间多对多的联系的处理,解决的 方法是引入冗余结点。例如,学生和课程之间的多对多的联系, 引入学生和课程的冗余结点,转换为两棵树:一棵树的根是学生, 子结点是课程,它表现了一个学生可以选多门课程;一 棵树的根是课程,子结点是学生,它反映了一门课程可以被多个学生选。至于冗余结点可以用虚拟结点实现:在冗余结点处仅存放一个指针,指向实际结点。(2)

50、层次模型的数据操作与约束条件 层次模型的树是有序树(层次顺序)。对任一结点的所有子树都规定了先后次序, 这一限制隐含了对数据库存取路径的控制。 树中父子结点之间只存在一种联系,因此,对树中的任一结点, 只有一条自根结点到达它的路径。 不能直接表示多对多的联系。 树结点中任何记录的属性只能是不可再分的简单数据类型。(3)层次模型的存储结构层次数据库中不仅要存储数据本身,还要存储数据之间的层次联系,层次模型的数据存储常常是和数据之间联系的存储结合在一起的,常用的实现方法有两种。 顺序法按照层次顺序把所有的记录邻接存放,即通过物理空间的位置相邻来实现层次顺序。指针法各个记录存放时不是按层次顺序,而是

51、用指针按层次顺序把它们链接起来。(4)层次模型的优缺点层次模型的优点主要如下: 层次模型本身比较简单。 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性 能较优。 层次模型提供了良好的完整性支持。层次模型的缺点主要如下: 不能直接实现多对多联系。 对插入和删除限制比较多。 查询子女节点必须通过双亲节点。 由于结构严密,层次模型的操作命令趋于程序化。3.网状模型及其表示在现实世界中事物之间的联系更多的是非层次关系的。用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊病。用网络结构表示实体类型及其实体之间联系的模型。顾名思义,一个事物和另外的几个都有联系这样构成

52、一张网状图。网状数据模型的典型代表是 DBTG( Data Base TaskGroup )系统,也称CODASYf Co nference On Data SystemsLan guage)系统。若用图表示,网状模型是一个网络。状模型。(1)网状模型的数据结构网状模型的数据结构主要有以下两个特征允许一个以上的结点无双亲一个结点可以有多于一个的双亲网状模型的数据操作与约束条件网状模型一般来讲没有层次模型那样严格的完整性1-17所示为一个抽象的简单的网图1-17简单的网状模型的约束条件,但具体的网状数据库系统对数据操作都加了一些限制,提供了一定的完整性约束。DBTG在模式DDL中提供了定义DBT

53、G数据库完整性的若干概念和语句,主要如下:支持记录码的概念。例如,学生记录的学号就是码,因此数据库中不允许学生记录中学号出现重复值。保证一个联系中双亲记录和子女记录之间是一对多的联系。可以支持双亲记录和子女记录之间某些约束。例如,有些子女记录要求双亲记录存在才能插入、双亲记录删除时也连同删除。(3) 网状模型的存储结构网状模型的存储结构中关键是如何实现记录之间的联系。具体实现方法有链接法,如:单向链接,双向链接,环状链接,向首链接。(4) 网状模型的优缺点网状模型的优点主要如下: 能够更为直接地描述现实世界。 具有良好的性能,存取效率较高。网状模型的缺点主要如下: 结构复杂,不利于最终用户掌握

54、。 其DLL、DML语言复杂,用户不容易使用。4.关系模型关系模型是目前最重要的一种模型。关系模型是由IBM公司的E.F.Codd于1970年首次提出,以后的几年里陆续出现了以关系数据模型为基础的数据库管理系统,称为关系数据库管理系统,数据库领域当前的研究工作都是以关系方法为基础的。目前广泛使用的数据库管理系统有 Oracle、Sybase、Informix、DB2、SQLServer、Access 系列数据库等。关系模型是在层次模型和网状模型的基础上发展起来的,如果说层次模型和网状模型是用“图”表示实体及其他联系的话,那么关系模型是用“表”来表示的,关系就是二维表格。(1) 关系模型的数据结

55、构关系模型中数据的逻辑结构是一张二维表,它由行和列组成。每一行称为一个元组,每一列称为一个属性(或字段)。通过如图1-18所示的教师信息表,介绍关系模型中的相关术语。关系名关系教师号教师姓名教师性别教师职称10001张杨1 1T* lTt -/男讲师10002二李华J女1讲师10003张三£男;副教授J1J属性名或属性列一教师信息表某一分量啣 关系模式j 元组或行 元 组主码图1-18教师信息表(2) 关系数据模型的基本概念 关系模式(Relation Scheme )二维表的表头那一行称为关系模式,又称表的框架或记录类型。关系模式是记录的型,决定二维表的内容。数据库的关系数据模型就是若干关系模式的集合。 每一个关系模式都必须命名, 且同一 关系数据模型中关系模式名不允许相同。 每一个关系模式都是由一些属性组成, 关系模式的 属性名通常取自相关实体类型的属性名。关系模式可表示为:关系模式名(属性名1,属性名2,,属性名 n)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论