《Access数据库基础 第1章数据库基础知识.pptx》由会员分享,可在线阅读,更多相关《Access数据库基础 第1章数据库基础知识.pptx(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章数据库基础知识,Access数据库基础,数据库技术和系统已经成为信息基础设施的核心技术和重要基础。数据库技术作为数据管理最有效的手段,极大地促进了计算机应用的发展。掌握和了解数据库相关基础知识,可为后面各章的学习打下基础。言规范书写的、人类可读的文本文件。,本章学习目标通过本章的学习,学生应初步了解数据库、数据库管理系统、数据库系统、数据模型、层次模型和关系模型的概念及数据库设计的一般步骤。,简单来说,数据库(Database,DB)就是存放各种数据的仓库,是计算机应用系统中的一种专门管理数据资源的系统。数据库中的数据有多种表现形式,如文字、数字、符号、图形、图像等等。1.1.1数据库的
2、概念严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。例如,某学校的人事部门常常要把本单位职工的基本情况(教师编号、姓名、性别、年龄、工作时间、政治面貌、学历、职称等)存放在表中,这张表就可以看成是一个数据库,如图1-1所示。有了这个“数据仓库”,我们就可以根据需要随时查询某职工的基本情况,查询具体某个职称的职工人数,也可以添加新职工的信息,还可以根据某个职工的离职或联系方式变动而删除或修改数据等。,1.1数据库概述,1.1数据库概述,在一个数据库中可以包含多个表,读者要把数据库与数据表区分开来,“教学管理”数据库中的“课程”数据表如图1-2所示。例如,使用4个表的教学管理系统
3、并不是4个数据库,而是一个包含有4个表的数据库。Access数据库会将自身的表与其他对象(如窗体、报表、宏和模块)一起存储在单个数据库文件中。,1.1数据库概述,在图1-2中,“课程”数据表内有5条数据。事实上,每一条数据(即每一行)就是一条“记录”,而每条记录包含多项数据,如第2条记录为“102”“英语”“必修”“4”等多项数据,每一个数据项就是一个“字段”。所以在数据表中,一行就是一条记录,在每一条记录中,每一个数据项就是一个字段。例如,在“课程”数据表中,5行代表有5条记录,而每一条记录有4个字段(课程编号、课程名称、课程类别、学分)组成。由此可知,若干个“字段”可以组成一条“记录”,若
4、干条“记录”可以组成一个“数据表”,若干个“数据表”可以组成一个“数据库”,而若干个“数据库”就可以组成一个完整的“应用系统”。,1.1数据库概述,小知识,1.1数据库概述,以Access2010格式创建的数据库的文件扩展名为.accdb,而以早期Access(如Access2003)格式创建的数据库的文件扩展名为.mdb。,1.1.2数据库的基本功能1.支持向数据库中添加新数据记录例如,图1-1所示的“教学管理”数据库中,当调入一批新教师后,在“教师”数据表中就应该增加新教师的记录信息。2.支持编辑数据库中的现有数据例如,图1-1所示的“教学管理”数据库中,当部分教师的职称发生变化后,在“教
5、师”数据表中就应该修改这部分教师的记录信息。,3.支持删除信息记录例如,图1-1所示的“教学管理”数据库中,当部分教师因工作需要调离本单位,在“教师”数据表中就应该能删除这部分教师的记录信息。4.支持以不同的方式组织和查看数据在数据库中,组织和查看数据的视图方式有数据表视图、数据透视表视图、数据透视图视图和设计视图4种。5.支持通过报表、电子邮件、Intranet或Internet与他人共享数据数据库中的数据可以以多种格式导出后与他人共享,如图1-3所示。,1.1数据库概述,1.1数据库概述,1.1.3数据处理数据处理是从大量的原始数据抽取出有价值的信息,即数据转换成信息的过程。主要对数据库中
6、所输入的各种形式的数据进行加工整理,其过程包含对数据的收集、存储、加工、分类、归并、计算、排序、转换、检索、打印和输出等操作。,数据和信息之间是相互联系的。数据是反映客观事物属性的记录,是信息的具体表现形式。数据经过解释并赋予一定的意义之后,就成为信息;而信息需要经过数字化转变成数据才能存储和传输。数据处理的基本目的就是从大量的、可能杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据。例如,向“教师”数据表中增加一条记录或从“教师”数据表中通过教师编号查找某教师姓名等信息都是数据处理。,1.1数据库概述,1.1数据库概述,小知识,商务网站的数据处理:由于网站的
7、访问量非常大,在进行一些专业的数据分析时,往往要有针对性的数据清洗,即把无关的数据、不重要的数据等处理掉。接着对数据进行相关分类,进行分类划分之后,就可以根据具体的分析需求选择模式分析的技术,如路径分析、兴趣关联规则、聚类等。通过模式分析,找到有用的信息,再通过联机分析(OLAP)的验证,结合客户登记信息,找出有价值的市场信息,或发现潜在的市场。,数据库管理系统(DatabaseManagementSystem,DBMS)是一种操作和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也
8、通过DBMS进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改访问数据库。大部分DBMS提供数据定义语言和数据操作语言。数据定义语言主要用于建立、修改数据库的库结构,数据定义语言所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(DataDictionary)中。数据操作语言主要供用户实现对数据的追加、删除、更新、查询等操作。,1.2数据库管理系统,1.2.1数据库管理系统的组成DBMS大多是由许多系统程序所组成的一个集合,根据其功能和应用需求,DBMS通常由数据库语言和例行程序两部分组成。1.数据库语言数据库语言是给用户提供的语言,包括
9、两个子语言:数据定义子语言和数据操作子语言。SQL语言就是一个集数据定义和数据操作子语言为一体的典型数据库语言。大多出现的关系数据库系统产品都提供SQL语言作为标准数据库语言。,1.2数据库管理系统,小知识,目前常见的数据库管理系统主要有Sybase、DB2、Oracle、MySQL、Access、VisualFoxpro、MSSQLServer、Informix、PostgreSQL等。,(1)数据定义子语言(DataDefinitionLanguage,DDL)数据定义语言包括数据库模式定义和数据库存储结构与存取方法定义两方面。数据库模式定义处理程序接收用数据定义语言表示的数据库外模式、内
10、模式、存储模式及它们之间的映射的定义,通过各种模式翻译程序负责将它们翻译成相应的内部表示形式,存储到数据库系统中称为数据字典的特殊文件中,作为数据库管理系统存取和管理数据的基本依据;而数据库存储结构和存取方法定义处理程序接收用数据定义语言表示的数据库存储结构和存取方法定义,在存储设备上创建相关的数据库文件,建立起相应物理数据库。,1.2数据库管理系统,(2)数据操作子语言(DataManipulationLanguage,DML)数据操作语言用来表示用户对数据库的操作请求,是用户与DBMS之间的接口。一般对数据库的主要操作包括:查询数据库中的信息、向数据库插入新的信息、从数据库删除信息以及修改
11、数据库中的某些信息等。数据操作子语言通常又分为两类:一类是嵌入主语言,由于这种语言本身不能独立使用,故称为宿主型的语言;另一类是交互式命令语言,由于这种语言本身能独立使用,故又称为自主型或自含型的语言。2.例行程序数据库管理例行程序随着系统的不同而不同,一般包括以下三部分:,1.2数据库管理系统,(1)语言翻译处理程序语言翻译处理程序包括DDL翻译程序、DML处理程序、终端查询语言解释程序和数据库控制语言的翻译程序等。(2)系统运行控制程序系统运行控制程序包括系统的初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序事务管理、程序运行日志
12、管理程序和通信控制程序等。,1.2数据库管理系统,(3)公用程序公用程序包括定义公用程序和维护公用程序。定义公用程序包括信息格式定义、概念模式定义、外模式定义和保密定义公用程序等。维护公用程序包括数据装入、数据库更新、重组、重构、恢复、统计分析、工作日记转储和打印公用程序等。,1.2数据库管理系统,小知识,以结构化查询语言SQL为例,其DDL语言有CreateTable/Index、DropTable/Index等语句,可分别供用户建立和删除关系型数据库的关系(二维表),或者建立和删除数据库关系的索引,而SQL语言中的SELECT、FROM、WHERE等实现对数据库中数据的查询、更新等操作。,
13、1.2.2数据库管理系统的层次结构根据处理对象的不同,数据库管理系统的层次结构由高级到低级依次为应用层、语言翻译处理层、数据存取层、数据存储层和操作系统。1.应用层应用层是DBMS与终端用户和应用程序的界面层,处理的对象是各种各样的数据库应用。2.语言翻译处理层语言翻译处理层是对数据库语言的各类语句进行语法分析、视图转换、授权检查、完整性检查等。,1.2数据库管理系统,3.数据存取层数据存取层处理的对象是单个元组,它将上层的集合操作转换为单记录操作。4.数据存储层数据存储层处理的对象是数据页和系统缓冲区。5.操作系统操作系统是DBMS的基础。操作系统提供的存取原语和基本的存取方法通常是作为和D
14、BMS存储层的接口。,1.2数据库管理系统,数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。1.3.1引入数据库系统的必要性数据,也叫信息资源,已经成为各个组织最宝贵的无形财产,因此各个组织机构也都十分需要一个可以存储和处理数据的技术。尤其是进入互联网时代以来,数据量大幅度地增长,用户每天用各种终端访问各种服务器里的数据,那么数据的存储和处理技术就显得更为重要了。数据库系统由此产生,数据库系统就是存储、管理、处理和维护数据的系统。,1.3数据库系统,1.3.2数据库系统
15、的组成数据库系统(DatabaseSystem,DBS)的层次结构如图1-4所示。,1.3数据库系统,数据库系统一般由4个部分组成。1.数据库数据库是指长期存储在计算机内的、有组织、可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。2.硬件硬件构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。,1.3数据库系统,3.软件软件包括操作系统、数据库管理系统及应用程序。数据库管理系统是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维
16、护数据的系统软件。其主要功能包括:数据定义功能、数据操作功能、数据库的运行管理和数据库的建立与维护。4.人员数据库系统人员主要有4类。(1)系统分析员和数据库设计人员:系统分析员负责应用系统的需求分析和规范说明,他们和用户及数据库管理员一起确定系统的硬件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定及数据库各级模式的设计。,1.3数据库系统,(2)应用程序员:负责编写使用数据库的应用程序。这些应用程序可对数据进行建立、检索、删除或修改。(3)最终用户:他们利用系统的接口或查询语言访问数据库。(4)数据库管理员(DatabaseAdministrator,DBA):负责数
17、据库的总体信息控制。DBA的具体职责包括:具体数据库中的信息内容和结构,决定数据库的存储结构和存取策略,定义数据库的安全性要求和完整性约束条件,监控数据库的使用和运行,负责数据库的性能改进、数据库的重组和重构,以便提高系统的性能。,1.3数据库系统,1.3.3数据库系统的特点数据库系统具有数据结构化、数据独立性高、数据的共享性高、冗余度低、易扩充和数据由DBMS统一管理和控制等特点。1.数据结构化数据库系统实现了整体数据的结构化,这是数据库最主要的特征之一。这里所说的“整体”结构化,是指在数据库中的数据不再只针对某个应用,而是面向全组织。不但数据内部是结构化的,而且整体也是结构化的,数据之间有
18、联系。2.数据独立性高数据独立性包括数据的物理独立性和逻辑独立性。,1.3数据库系统,物理独立性是指数据在磁盘上的数据库中如何存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来,当数据的物理存储结构改变时,用户的程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说,数据的逻辑结构改变了,用户程序也可以不改变。数据与程序的独立,把数据的定义从程序中分离出去,加上存取数据是由DBMS负责提供,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。,1.3数据库系统,3.数据的共享性高、冗余度低、易扩充(1)数据的共享性高:数据
19、库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,所以数据可以被多个用户、多个应用程序共享使用。(2)冗余度低:冗余度是指同一数据被重复存储的程度,数据库系统由于数据结构化,使得冗余度可能降到最低程度。(3)易扩充:由于设计时主要考虑数据结构化,即面向系统,而不是面向某个应用,所以容易扩充。,1.3数据库系统,4.数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据。1.3.4数据库系统发展历程20世纪60年代后期,使用电子计算机进行数据处理的规模越来越大,同时出现了大容量且价格低廉的磁盘存储器,操
20、作系统也日渐成熟。为了解决数据的独立性问题,实现数据的统一管理,达到数据共享的目的,出现了数据库技术。1.第一代数据库系统(层次和网状数据库系统)1963年,Bachman设计开发的IDS系统开始投入运行,它可以为多个COBOL程序共享数据库。1968年,TOTAL等网状数据库系统开始出现。,1.3数据库系统,1969年,IBM公司McGee等人开发的层次式数据库系统的IMS系统发表,它可以让多个程序共享数据库。1969年10月,CODASYL数据库研制者提出了网络模型数据库系统规范报告,使数据库系统开始走向规范化和标准化。1971年,美国数据库系统语言协会下属的数据库任务组对网络数据库方法进
21、行了系统的研究、探讨,提出了称为DBTG报告的若干报告,DBTG报告确定并建立了网络数据库系统的许多概念、方法和技术,提出了三级抽象模式:对应用程序所需的那部分数据结构描述的外模式、对整个客体系统数据结构描述的概念模式、对数据存储结构描述的内模式,解决了数据独立性的问题,标志着数据库在理论上的成熟。,1.3数据库系统,正因为如此,许多专家认为数据库技术起源于20世纪60年代末。2.第二代数据库系统(关系数据库系统)1970年IBM公司Codd发表了题为“大型共享数据库数据的关系模型”的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论。关系方法由于其理论上的完美和结构上的简单,对数
22、据库技术的发展起了至关重要的作用,成功地为关系数据库技术奠定了理论基础。20世纪70年代是关系数据库理论研究和原型系统开发的时代。关系数据库系统的研究取得了一系列的成果,主要包括以下几个方面:(1)奠定了关系模型的理论基础,给出了被人们普遍接受的关系模型的规范说明。,1.3数据库系统,(2)提出了关系数据库语言,如关系代数、关系演算、SQL语言、QBE等。这些描述性语言一改以往程序设计语言和网状、层次数据库语言的面向过程的风格,以其易学易懂的优点得到了最终用户的欢迎,为20世纪80年代数据库语言标准化打下了基础。(3)研制了大量的关系数据库系统原型,攻克了系统实现中查询优化、并发控制、故障恢复
23、等一系列关键技术。不仅大大丰富了数据库管理系统实现技术和数据库理论,更重要的是促进了关系数据库系统产品的蓬勃发展和广泛应用。,1.3数据库系统,3.第三代数据库系统20世纪80年代以来,数据库理论和应用进入成熟发展时期。随着计算机技术和计算机网络的发展,计算机应用领域迅速扩展,数据库应用领域也在不断地扩大,数据库技术在商业领域的巨大成就刺激了其他领域对数据库需求的迅速增长。一方面,新的数据库应用领域,如计算机辅助设计管理(CADCAM)、过程控制、办公自动化系统、地理信息系统(GIS)、计算机制造系统(CIMS)等,为数据库的应用开辟了新的天地;另一方面,在实际应用中管理方面的新需求也直接推动
24、了数据库技术的研究与发展。,1.3数据库系统,以关系数据库为代表的传统数据库已经很难胜任新领域的需求,因为新的应用要求数据库能处理复杂性较高的数据,如处理与时间有关的属性,甚至还要求数据库有动态性和主动性。这样就必须有新的数据库技术才能够满足现实需要。为了满足现代应用的需求,必须将数据库技术与其他现代数据处理技术(如面向对象技术、时序和实时处理技术、人工智能技术、多媒体技术)完善地集成,以形成“新一代数据库技术”,也可称为“现代数据库技术”,如时态数据库技术、实时数据库技术和多媒体数据库技术等。第三代数据库系统中最主要的数据库类型是面向对象数据库系统(Object-OrientedDataba
25、seSystem,OODBS),它是数据库技术与面向对象程序设计方法相结合的产物,它既是一个DBMS,又是一个,1.3数据库系统,面向对象系统。因而既具有DBMS特性,如持久性、辅助管理、数据共享(并发性)、数据可靠性(事务管理和恢复)、查询处理和模式修改等,又具有面向对象的特征,如类型类、封装性数据抽象、继承性、对象标识、复合对象和可扩充等特性。,1.3数据库系统,小知识,数据库系统包括数据库、数据库管理系统、应用系统和数据库管理员。数据库是长期存储在计算机内的有组织、可共享的大量的数据集合,数据库管理系统是由管理员操作管理数据库的查询、更新、删除等操作,数据库应用系统用来操作数据库。,数据
26、模型(DataModel)是数据特征的抽象。数据(Data)是描述事物的符号记录,模型(Model)是现实世界的抽象。数据模型从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。1.4.1数据模型的组成数据模型所描述的内容包括三个部分:数据结构、数据操作和数据约束。1.数据结构主要描述数据的类型、内容、性质及数据间的联系等,是目标类型的集合。目标类型是数据库的组成部分,一般可分为两类:数据类型、数据类型之间的联系。数据类型如DBTG(数据库任务组)网状模型中的记录型、数据项,关系模型中的关系、域等。联系部分有DBTG网状模型中的系型等。,1.
27、4数据模型,2.数据操作数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。它是操作运算符的集合,包括若干操作和推理规则,用以对目标类型的有效实例所组成的数据库进行操作。3.数据约束数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。它是完整性规则的集合,用以限定符合数据模型的数据库状态,以及状态的变化。约束条件可以按不同的原则划分为数据值的约束和数据间联系的约束;静态约束和动态约束;实体约束和实体间的参照约束等。,1.4数据模型,数据结构是数据模型的基础,数据操作和约束都基本建立在数据结构
28、上。不同的数据结构具有不同的操作和约束。1.4.2数据模型的层次类型数据模型按不同的应用层次分成三种类型:概念数据模型、逻辑数据模型和物理数据模型。1.概念数据模型概念数据模型(ConceptualDataModel),是一种面向用户、面向客观世界的模型,主要用来描述客观世界的概念化结构,它是数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据及数据之间的联系等,与具体的DBMS无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。,1.4数据模型,概念数据模型用于信息世界的建模,一方面应该具有较强的语义表达能力,能够方便、直接表达应用中的各种语义
29、知识,另一方面它还应该简单、清晰、易于用户理解。在概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型。目前较为有名的是E-R模型。2.逻辑数据模型逻辑数据模型(LogicalDataModel),是一种面向数据库系统的模型,是具体的DBMS所支持的数据模型,如网状数据模型(NetworkDataModel)、层次数据模型(HierarchicalDataModel)等。此模型既要面向用户,又要面向系统,主要用于DBMS的实现。,1.4数据模型,3.物理数据模型物理数据模型(PhysicalDataModel),是一种面向计算机物理表示的模型,描述了数据在储存介质上的组
30、织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有其对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。,1.4数据模型,1.4数据模型,E-R模型,全称为实体联系模型、实体关系模型或实体联系模式图(ERD),由美籍华裔计算机科学家陈品山发明,是概念数据模型的高层描述所使用的数据模型或模式图。E-R图由实体、属性和联系组成。其中实体是一个数据的使用者,其代表软件系统中客观存在的生活中的实物,如人、动物,物体、列表、部门、项目等。而同一类实体就构成了一个实体集。实体的内
31、涵用实体类型来表示。实体类型是对实体集中实体的定义。实体中的所有特性称为属性,如用户有姓名、性别、住址、电话等。“实体标识符”是在一个实体中,能够唯一表示实体的属性和属性,小知识,1.4数据模型,集的标识符。但对于一个实体只能使用一个“实体标识符”来标明。实体标识符也就是实体的主键。在E-R图中,实体所对应的属性用椭圆型的符号线框表示出来,添加了下划线的名字就是我们所说的标识符。在我们生活的世界中,实体不会是单独存在的,实体和其他的实体之间是有着千丝万缕的联系的。例如,某人在单位的某个部门工作,其中的实体有“某人”和“单位的某个部门”,它们之间有着很多的联系。,1.4.3重要的数据模型数据发展
32、过程中产生过三种基本的数据模型,它们是层次模型、网状模型和关系模型,这三种模型是按其数据结构命名的。前两种采用格式化的结构,格式化模型可以描述复杂的数据结构,用存取路径实现数据间的联系,而关系模型为非格式化的结构,用单一的二维表的结构表示实体及实体之间的联系。在三种基本的数据模型中,应用最广泛的是关系模型。,1.4数据模型,1.层次模型层次模型将数据组织成一对多关系的结构,层次结构采用关键字来访问其中每一层次的每一部分。优点是存取方便且速度快;结构清晰,容易理解;数据修改和数据库扩展容易实现;检索关键属性十分方便。缺点是结构呆板,缺乏灵活性;同一属性数据要存储多次,数据冗余大(如公共边);不适
33、合拓扑空间数据的组织。2.网状模型网状模型用连接指令或指针来确定数据间的显式连接关系,是具有多对多类型的数据组织方式。优点是能明确而方便地表示数据间的复杂关系;数据冗余小。,1.4数据模型,缺点是复杂的网状结构增加了用户查询和定位的困难;需要存储数据间联系的指针,使得数据量增大;数据的修改不方便(指针必须修改)。3.关系模型关系模型以记录组或数据表的形式组织数据,以便于利用各种地理实体与属性之间的关系进行存储和变换,不分层也无指针,是建立空间数据和属性数据之间关系的一种非常有效的数据组织方法。优点是结构特别灵活,概念单一,满足所有布尔逻辑运算和数学运算规则形成的查询要求;能搜索、组合和比较不同
34、类型的数据;增加和删除数据非常方便;具有更高的数据独立性、更好的安全保密性。缺点是数据库较大时,查找满足特定关系的数据比较费时;对空间关系无法满足。,1.4数据模型,(1)关系中的数据结构:关系模型采用二维表来表示。二维表由表框架和表的元组组成。表框架由多个命名的表属性组成。每个属性有一个取值范围称为值域。二维表中的每一行数据称为元组。(2)关系操作:关系模型的数据操作是建立在关系上的数据操作,一般有数据查询(基本单位是元组分量)、数据删除(基本单位是元组)、数据插入(基本单位是元组)和数据修改(基本单位是元组分量)四种操作。(3)关系中的数据约束:关系模型中提供实体完整性约束、参照完整性约束
35、和用户完整性约束三种数据约束。,1.4数据模型,实体完整性约束简单地说,就是主键值必须唯一,并且不能为空值。参照完整性约束参照完整性约束给出了关系之间建立联系的主键与外键引用的约束条件,它要求“不引用不存在的实体”。用户定义的完整性约束用户定义的完整性约束是用户针对某一具体应用的要求和实际需要,以及按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件。,1.4数据模型,关系数据库是采用关系模型作为数据组织方式的数据库。关系数据库的特点在于它将每个具有相同属性的数据独立地存储在一个表中。对任意一个表而言,用户可以新增、删除和修改表中的数据,而不会影响表中的其他数据。关系数据库产品一经问世
36、,就以其简单清晰的概念、易懂易学的数据库语言,深受广大用户喜爱。1.5.1关系模型结构1.关系(表文件)关系数据库的表采用二维表格来存储数据,是一种按行与列排列的具有相关信息的逻辑组,它类似于Excel工作表。一个数据库可以包含任意多个数据表。,1.5关系数据库,在用户看来,一个关系模型的逻辑结构是一张二维表,由行和列组成。这个二维表就叫关系,通俗地说,一个关系对应一张表。2.元组(记录)表中的一行即为一个元组,或称为一条记录。一条记录的内容是描述一类事物中的一个具体事物的一组数据,如一位教师的教师编号、姓名、性别、年龄、工作时间、政治面貌、学历、职称等。一般地,一条记录由多个数据项(字段)构
37、成,记录中的字段结构由关系模式决定。,1.5关系数据库,3.字段(属性)数据表中的每一列称为一个字段,表是由其包含的各种字段定义的,每个字段描述了它所含有的数据的意义,数据表的设计实际上就是对字段的设计。创建数据表时,为每个字段分配一个数据类型,定义它们的数据长度和其他属性。字段可以包含各种字符、数字、甚至图形。如教师编号、姓名、性别、年龄、工作时间、政治面貌、学历、职称,照片等。每个字段都有相应的描述信息,如字段名、数据类型、数据宽度、数值型数据的小数位数等。,1.5关系数据库,4.属性值行和列的交叉位置表示某个属性值,如“计算机基础”就是课程名称的属性值。5.域域是字段(属性)的取值范围。
38、6.主码主码(也称主键或主关键字),是表中用于唯一确定一个元组的数据。关键字用来确保表中记录的唯一性,可以是一个字段或多个字段,常用作一个表的索引字段。每条记录的关键字都是不同的,因而可以唯一地标识一个记录。,1.5关系数据库,7.关系模式关系的描述称为关系模式。对关系的描述,一般表示为“关系名(属性1,属性2,属性n)”。例如:课程(课程编号,课程名称,课程类别,学分)。表1-1所示是一个典型描述学生基本信息的关系模型。,1.5关系数据库,1.5.2关系数据库的层次结构关系数据库的层次结构可以分为四级:数据库、表与视图、记录和字段,相应的关系理论中的术语是数据库、关系、元组和属性,分别说明如
39、下:1.数据库关系数据库按其数据存储方式及用户访问的方式分为本地数据库和远程数据库两种类型。(1)本地数据库:本地数据库驻留在本机驱动器或局域网中,如果多个用户并发访问数据库,则采取基于文件的锁定(防止冲突)策略,因此,本地数据库又称为基于文件的数据库。典型的本地数据库有Paradox、dBASE、FoxPro及Access等。基于本地数据库的应用程序称为单层应用程序,因为数据库和应用程序同处于一个文件系统中。,1.5关系数据库,(2)远程数据库:远程数据库通常驻留在其他机器中,用户通过结构化查询语言SQL来访问远程数据库中的数据,因此,远程数据库又称为SQL服务器。有时,来自远程数据库的数据
40、并不驻留在一个机器而是分布在不同的服务器上。典型的SQL服务器有InterBase、Oracle、Sybase、Informix、MicrosoftSQLServer以及DB2等。基于SQL服务器的应用程序称为两层或多层应用程序,因为数据库和应用程序驻留在彼此不依赖的系统(层)中。本地数据库与SQL服务器相比较,前者访问速度快,但后者的数据存储容量要大得多,且适合多个用户并发访问。究竟使用本地数据库还是SQL服务器,取决于多方面因素,如要存储和处理的数据多少,并发访问数据库的用户个数,对数据库的性能要求等。,1.5关系数据库,2.表关系数据库的基本成分是一些存放数据的表(关系理论中称为“关系”
41、)。数据库中的表从逻辑结构上看相当简单,它是由若干行和列简单交叉形成的,不能表中套表。它要求表中每个单元都只包含一个数据,可以是字符串、数字、货币值、逻辑值、时间等较为简单的数据。一般数据库中无法存储C+语言中的结构类型、类对象。图像的存储也比较烦琐,很多数据库无法实现图像存储。对于不同的数据库系统来说,数据库对应物理文件的映射是不同的。例如,在dBASE、FoxPro、Paradox数据库中,一个表就是一个文件,索引及其他一些数据库元素也都存储在各自的文件中,这些文件通常位于同一个目录中。而在Access数据库中,所有的表以及其他成分都存储在一个文件中。,1.5关系数据库,3.视图为了方便地
42、使用数据库,很多DBMS都提供对于视图(Access中称为查询)结构的支持。视图是根据某种条件从一个或多个基表(实际存放数据的表)或其他视图中导出的表,数据库中只存放其定义,而数据仍存放在作为数据源的基表中。因此,当基表中数据有所变化时,视图中看到的数据也随之变化。为什么要定义视图呢?首先,用户在视图中看到的是按自身需求提取的数据,使用方便。其次,当用户有了新的需求时,只需定义相应的视图(增加外模式)而不必修改现有应用程序,这既扩展了应用范围,又提供了一定的逻辑独立性。另外,一般来说,用户看到的数据只是全部数据中的一部分,这也为系统提供了一定的安全保护。,1.5关系数据库,4.记录表中的一行称
43、为一条记录。一条记录的内容是描述一类事物中的一个具体事物的一组数据,如一位教师的教师编号、姓名、性别、年龄、工作时间、政治面貌、学历、职称等。一般地,一条记录由多个数据项(字段)构成,记录中的字段结构由表的标题(关系模式)决定。记录的集合(元组集合)称为表的内容,表的行数称为表的基数。值得注意的是,表名以及表的标题是相对固定的,而表中记录的数量和多少则是经常变化的。,1.5关系数据库,5.字段表中的一列称为一个字段。每个字段表示表中所描述的对象的一个属性,如教师编号、姓名、性别、年龄、工作时间、政治面貌、学历、职称等。每个字段都有相应的描述信息,如字段名、数据类型、数据宽度、数值型数据的小数位
44、数等。由于每个字段都包含了数据类型相同的一批数据,因此,字段名相当于一种多值变量。字段是数据库操作的最小单位。表定义的过程就是指定每个字段的字段名、数据类型及宽度(占用的字节数)。表中每个字段都只接受所定义的数据类型。,1.5关系数据库,数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统称为数据库应用系统。数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。1
45、.需求分析调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量,以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。,1.6数据库设计步骤,需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。在需求分析中,通过“自顶向下,逐步分解”的方法分析系统,分析的结果采用数据流程图(DFD)进行图形化的描述。2.概念结构设计对用户要求描述的现实世界(可能是一个企业、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信
46、息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机,1.6数据库设计步骤,上的具体实现细节,用一种抽象的形式表示出来。以扩充的E-R模型方法为例,第一步,先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步,再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。3.逻辑结构设计逻辑结构设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数
47、据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓的“逻辑数据库”。,1.6数据库设计步骤,4.物理结构设计根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓的“物理数据库”。5.数据库的实施数据库实施阶段,设计人员运营DBMS提供的数据库语言(如SPL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制和调试应用程序,组织数据入库,并进行试运行。,1.6数据库设计步骤,6.数据库的运行和维护数据库应用系统经过试运行后,即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整、修改。,1.6数据库设计步骤,谢谢观看THANKYOU,