大学基础与计算机 8_第1页
大学基础与计算机 8_第2页
大学基础与计算机 8_第3页
大学基础与计算机 8_第4页
大学基础与计算机 8_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

数据库设计基础及其应用第六章人

献目录数据库系统概述数据模型关系代数数据库设计的基本步骤本章小结0405030201数据库系统概述01一、数据库系统的基本概念二、数据库系统的发展三、数据库系统的基本特点四、数据库系统的内部结构数据库系统的概述01

数据库系统的概述与发展基本概念数据库系统是现代信息技术的核心组成部分,它为各种应用提供了数据存储、检索、更新和管理的高效手段。随着信息技术的飞速发展,数据呈爆炸式增长,人们对数据管理的要求也越来越高。功能与特点数据库系统不仅能够处理海量数据,还能保证数据的完整性和一致性,支持多用户并发访问,确保数据的安全性和实现隐私保护。数据库系统通过结构查询语言(SQL)等工具,为用户提供了强大的数据操作能力。发展历程经历了从层次数据库、网状数据库到关系数据库的演变,如今,随着大数据、云计算和人工智能技术的融合,新型数据库系统如NoSQL和NewSQL等应运而生,进一步推动了数据管理技术的革新。重要性数据库系统已成为支撑企业运营、科学研究和日常生活的不可或缺的技术基础。一、数据库系统的基本概念01数据库系统是由数据库及其管理软件组成的系统,用于存储、维护和应用数据。它通常包括数据库、DBMS、数据库管理员(

Database

Administrator,DBA

)、应用和用户等要素。1.

数据库数据库是长期存储在计算机内的、有组织的、

可共享的大量数据的集合。其中的数据按一定的数据模型组织、描述和存储,具有冗余度较低、数据独立性较高、易扩展等特点。012.

DBMSDBMS

是位于用户与操作系统之间的一层数据管理软件,是数据库系统的核心。它负责科学地组织、描述和存储数据,高效地获取和维护数据,并提供如下核心功能。(1

)数据定义功能:提供数据定义语言(

Data

Definition

Language,DDL

),用户可以通过DDL定义数据库结构,如表、视图、索引等数据对象。(

2

)数据操纵功能:提供数据操纵语言(

DataManipulationLanguage,DML

),用户可以通过

DML实现对数据库的基本操作,如增、删、改、查。(3)数据库控制功能:提供数据控制语言(

DataControlLanguage,DCL),用于控制数据库访问权限和事务管理,主要命令有GRANT、REVOKE;提供事务控制语言(

TransactionControlLanguage,

TCL),用于管理数据库中的事务。(

4

)数据库运行管理功能:数据库在建立、运行和维护时由DBMS

统一管理和控制,保证数据的安全性、完整性,以及实现并发控制、故障恢复等。(

5

)数据库建立和维护功能:包括数据库初始数据的输入、转换功能,数据库的转储、备份、恢复功能,数据库的重组织功能和性能监视、分析功能,等等。一、数据库系统的基本概念一、数据库系统的基本概念013.

DBADBA

负责创建、监控和维护整个数据库,确保数据能被任何有权使用的人有效使用。DBA还负责决定数据库的存储结构和存取策略,定义数据库的安全性要求和完整性约束条件等。4.

应用程序应用程序是使用数据库的应用程序,例如学生管理系统、图书管理系统等。5.

用户用户是使用数据库系统的最终用户,例如学生、教师、图书管理员等。二、数据库系统的发展011.文件系统阶段

文件系统阶段是数据库系统的发展初级阶段,它出现于20世纪50年代至60年代。在这一阶段,数据通过文件的方式存储在磁盘上,文件系统提供了简单的数据共享与数据管理功能。然而,文件系统缺乏高级的数据管理功能,如确保数据一致性的功能、并发控制和恢复功能,同时数据冗余度高、数据依赖性高,难以进行复杂查询和数据分析。因此,文件系统很快暴露出其在数据管理方面的不足。012.

数据库技术探索确立阶段数据库技术探索确立阶段的主要特点是文件系统向数据库系统的过渡,并正式提出“数据库”的概念。在这一阶段,数据仍然以文件的形式存储在磁盘上,但人们已经开始了对数据管理功能的探索。自20世纪60年代起,以层次模型和网状模型为代表的数据库系统相继问世。这些数据库系统为统一管理与共享数据提供了有力支撑,标志着数据库时代的到来。商用数据库也开始出现并应用,但多为网状及层次数据库。同时,数据库研究形成了理论基础,特别是关系数据库理论的提出,为后续的数据库发展奠定了坚实的基础。二、数据库系统的发展01(1)层次数据库:

采用树状结构来组织数据,每个节点代表一个记录,节点之间通过父子关系连接。这种结构使得数据关系更加明确,但难以处理多对多关系,缺乏灵活性。(2)网状数据库:

采用图结构来表示数据,节点之间可以有多种关系,不再局限于父子关系。网状数据库能处理多对多关系,数据冗余度降低,查询更灵活,但结构复杂、维护困难。(3)关系数据库:关系数据库理论出现于20世纪70年代初期,由埃德加·弗兰克·科德(EdgarFrankCodd)提出的关系模型发展而来,通过表格结构实现数据的高效存储和查询。二、数据库系统的发展013.

数据库技术成熟阶段在数据库技术成熟阶段,关系模型的提出,为数据库系统提供了标准化的结构理论基础,基于此模型的关系数据库系统(如SystemR和Ingres等)相继出现,关系理论也日臻完善,包括关系数据库查询语言(如SQL、QBE)、规范化理论等核心内容。数据库应用已经十分普及,渗透到社会的各个方面,数据库技术出现了众多分支,数据库技术走向全面成熟。特别是关系数据库在20世纪80年代得到了充分的发展。关系数据库的每个表格代表一个实体,每行代表一个记录,每列代表一个属性。关系数据库具有数据独立性高、支持复杂查询、数据一致性强、易于维护等优点,迅速成为DBMS的主流。SQL是关系数据库的标准查询语言,提供了强大的数据操作和查询功能。至今,关系数据库系统仍在数据库应用领域占据主要地位。二、数据库系统的发展014.

数据库技术深化发展阶段(1)对象数据库:

引入了面向对象的概念,旨在处理更加复杂的数据类型。它将数据和操作封装在一起,通过类和对象的方式组织数据。(2)NoSQL数据库:应对大数据和高并发需求,支持非结构化数据。它通常不采用关系模型,而是采用键值、列族、文档、图等多种数据模型。(3)NewSQL数据库:结合了关系数据库和NoSQL数据库的优点,旨在提供关系数据库的ACID(AtomicityConsistencyIsolationDurability,原子性、一致性、隔离性、持久性)特性和NoSQL数据库的可扩展性。二、数据库系统的发展014.

数据库技术深化发展阶段(4)时间序列数据库:专门用于存储和查询时间序列数据,这种数据通常具有时间戳和大量连续记录。(5)图数据库:专门用于存储和查询图结构数据,节点和边表示实体和关系。(6)多模型数据库:支持多种数据模型,如关系模型、文档模型、图模型等,旨在提供统一的数据管理平台,适应多样化的数据需求。(7)内存数据库:将数据存储在内存中,以实现高速的数据访问和查询。二、数据库系统的发展01

数据库系统的发展过程是一个不断探索和创新的过程,从最初的文件系统到现在的各种新型、专用数据库系统,每一步都凝聚着无数数据库专家的智慧和努力。二、数据库系统的发展三、数据库系统的基本特点011.

数据结构化数据库系统实现了数据结构化,使得数据之间的关系得以体现,便于查询和管理数据。这种结构化不仅体现在数据内部,整体数据也是结构化的,数据之间具有联系。这是数据库系统与文件系统的主要区别之一。2.

数据共享性高、冗余度低、一致性高数据库中的数据可以被多个用户或应用程序共享,这大大降低了数据的冗余度,节省了存储空间。同时,由于数据是面向整体的,因此可以避免数据之间的不相容性与不一致性,提高了数据的一致性。三、数据库系统的基本特点013.

数据独立性高数据独立性高是数据库系统的基本特点之一

,它包括逻辑独立性和物理独立性。逻辑独立性使得用户不必关心数据的物理存储方式,而物理独立性则使得数据的物理存储变化不会影响应用程序。这种独立性简化了应用程序的编制,大大降低了应用程序的维护和修改成本。4.

数据统一管理与控制数据库中的数据由DBMS统一管理与控制。DBMS提供了数据的安全性保护、数据的完整性检查、并发控制和数据库恢复

4

个方面的数据管理与控制功能,确保了数据的正确性和一致性,同时也提高了数据库的可靠性和可用性。三、数据库系统的基本特点01现代数据库系统还具有数据完整性、数据安全性、数据可恢复性、支持多种数据模型等特点。数据完整性保证了数据的正确性和一致性;数据安全性通过访问控制机制限制不同用户对数据的访问;数据可恢复性使得DBMS

能够在数据损坏或系统故障时恢复数据;而支持多种数据模型则满足了不同应用需求。四、数据库系统的内部结构01数据库系统是一个复杂的系统,它由多个部分组成,这些部分相互协作,共同完成数据的存储、管理和维护工作。为了便于理解和设计数据库系统,通常采用分层结构来描述数据库系统的内部结构,如图

所示。数据库系统的内部结构四、数据库系统的内部结构011.

数据库系统的3级模式结构数据库系统的3级模式结构是数据库系统内部的抽象结构,它将数据库系统划分为3级模式:外模式、模式和内模式。外模式(ExternalSchema):也称为子模式或用户模式,是对用户能够看见和使用的局部数据的逻辑结构和特征的描述。每个用户只能看见和使用与自己相关的部分数据,不同的用户可以使用不同的外模式来访问同一数据库。外模式是模式的子集,一个数据库可以有多个外模式。四、数据库系统的内部结构011.

数据库系统的3级模式结构模式(Schema):也称为逻辑模式,是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式定义了数据库中所有数据的逻辑结构,包括数据的类型、数据的联系、数据的约束等。一个数据库只有一个模式。内模式(InternalSchema):也称为存储模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。内模式定义了数据在存储介质上的存储方式、存取方法、索引结构等。一个数据库只有一个内模式。四、数据库系统的内部结构012.

数据库系统的两层映像为了保证数据库系统的数据独立性,数据库系统在3级模式之间提供了两层映像。外模式/模式映像:定义了外模式与模式之间的对应关系。当模式改变时,只需要修改外模式/模式映像,而外模式可以保持不变,从而保证了数据的逻辑独立性。模式/内模式映像:定义了模式与内模式之间的对应关系。当内模式改变时,只需要修改模式/内模式映像,而模式可以保持不变,从而保证了数据的物理独立性。四、数据库系统的内部结构01综上所述,数据库系统的内部结构通过三级模式结构和两层映像,保证了数据的逻辑独立性和物理独立性,为保证数据库系统的灵活性和可扩展性提供了坚实的基础。数据模型02一、数据模型的基本概念二、E-R模型三、层次模型四、网状模型五、关系模型一、数据模型的基本概念字02数据模型是对现实世界数据特征的抽象,用于描述一组数据的概念和定义。它从抽象层次上描述了数据库系统的静态特征、动态行为和约束条件,是数据库系统的核心与基础。数据模型通常由数据结构、数据操作和完整性约束3部分组成。数据结构描述了数据库的组成对象,包括数据的类型、内容、性质和数据之间的相互关系。数据操作描述了对数据库各种对象实例的操作,

即系统的动态行为。完整性约束定义了给定数据模型中数据及其联系所具有的制约和依存关系,用于确保数据的一致性和准确性。根据应用目的,数据模型可以分为概念模型、逻辑模型和物理模型3种类型。一、数据模型的基本概念字02概念模型(ConceptualModel):也称为信息模型,按用户的观点来对数据和信息建模,主要用于数据库设计。常用的概念模型有E-R模型。逻辑模型(LogicalModel):按计算机系统的观点来对数据和信息建模,主要用于DBMS

的实现。常用的逻辑模型有层次模型、网状模型、关系模型和面向对象模型。物理模型(PhysicalModel):用于描述数据在存储介质上的存储方式和存取方法。物理模型的具体实现细节由DBMS决定。数据模型在实际应用中具有广泛的用途,从数据库设计到数据挖掘与分析,都离不开数据模型的支持。在数据库设计中,数据模型用于描述数据的组织形式和关系,通过建立合适的数据模型,可以提高数据库的性能和可靠性。在数据挖掘与分析中,数据模型用于描述数据的内在规律和特性,通过对数据模型的分析和研究,可以提取出有价值的信息和知识。二、E-R模型02E-R模型是数据库设计中的一种图形化工具,它通过定义实体、联系和属性,以及它们之间的联系的类型和基数性,方便数据库的概念建模和逻辑结构设计。1.E-R模型的基本概念E-R模型用实体、属性和联系来描述现实世界的数据结构。实体(Entity):实体是现实世界中事物的抽象,是概念模型中的基本单位。属性(Attribute):属性是现实世界中事物特性的抽象,它刻画了实体的性质。在E-R图中,属性用椭圆形表示,椭圆形内填写属性名,并用无向边与其实体集相连。联系(Relationship):联系是现实世界中事物间关联的抽象,它反映了实体间所遵守的一种规则与关系,如1:1、1:N或M:N。二、E-R模型02E-R模型是数据库设计中的一种图形化工具,它通过定义实体、联系和属性,以及它们之间的联系的类型和基数性,方便数据库的概念建模和逻辑结构设计。2.E-R模型的表示方法E-R模型可以用一种非常直观的图示形式表示,这种图示形式称为E-R图。E-R图包括实体集、属性和联系3个主要元素,如图6-2所示。(1)实体集的表示方法:用矩形表示实体集,矩形内写上实体集名。(2)属性的表示方法:用椭圆形表示属性,椭圆形内写上属性名,并用直线与其实体集相连。(3)联系的表示方法:用菱形表示联系,菱形内写上联系名。用直线将具有联系的矩形分别与菱形相连,并在连线上标明联系的类型。二、E-R模型02E-R模型是数据库设计中的一种图形化工具,它通过定义实体、联系和属性,以及它们之间的联系的类型和基数性,方便数据库的概念建模和逻辑结构设计。2.E-R模型的表示方法E-R模型可以用一种非常直观的图示形式表示,这种图示形式称为E-R图。E-R图包括实体集、属性和联系3个主要元素,如图6-2所示。(1)实体集的表示方法:用矩形表示实体集,矩形内写上实体集名。(2)属性的表示方法:用椭圆形表示属性,椭圆形内写上属性名,并用直线与其实体集相连。(3)联系的表示方法:用菱形表示联系,菱形内写上联系名。用直线将具有联系的矩形分别与菱形相连,并在连线上标明联系的类型。二、E-R模型02

E-R

图示例2.E-R模型的表示方法二、E-R模型023.E-R模型的特点E-R模型能够清晰地表示现实世界中的实体、属性和它们之间的联系,为数据库设计提供了一个直观且易于理解的框架。4.E-R模型的实际应用E-R模型在数据库设计中发挥着至关重要的作用。它帮助开发者在数据库设计的初期阶段明确数据库的逻辑结构,包括实体、属性和联系。通过E-R模型,开发者可以更容易地理解数据库中的各个组成部分,从而确保数据库的设计既准确又高效。二、E-R模型02例如,在图书管理系统中,可以使用E-R模型来表示图书、读者和借阅关系等实体和联系。通过E-R模型,可以清晰地看出图书和读者之间的借阅关系,一本图书可以被多个读者借阅、一个读者也可以借阅多本图书。综上所述,E-R模型是一种非常重要的数据库设计工具,它能够帮助开发者更好地理解和构建数据库的逻辑结构。三、层次模型02层次模型是数据库系统中最早出现的数据模型之一。1.

层次模型的基本概念层次模型是一种采用树状结构表示实体及其联系的数据模型。层次模型将数据组织成一对多的关系,其中一个父节点可以有多个子节点,一个子节点只能有一个父节点。2.

层次模型的表示方法层次模型的树状结构中,每个节点表示一个记录类型,节点之间的连线表示记录类型之间的联系。下图

所示为一个学校的层次模型。层次模型示意三、层次模型023.

层次模型的特点(1)层次模型的数据结构相对直观、简单清晰且容易理解。由于层次模型结构严密,数据之间的关联关系明确,记录之间的联系通过指针实现,因此查询操作相对高效。(2)层次模型只能表示一对多的联系,难以表示多对多的联系;数据冗余度大,因为子节点需要重复存储父节点的信息;数据独立性差,因为数据的物理存储结构与逻辑存储结构紧密耦合。4.

层次模型的实际应用层次模型适用于具有明显层次结构的数据,例如组织机构、文件系统等的数据。早期的DBMS,例如IBM的IMS就基于层次模型四、网状模型021.

网状模型的基本概念网状模型是一种描述实体间复杂联系的数据模型,它用网状结构表示实体及其联系。它允许一个事物与另外几个事物都有联系,从而构成一张网状图。在这种模型中,数据元素可以与多个其他数据元素直接连接,形成一个复杂的网状结构。网状模型能够灵活地描述事物及其之间的关系,是数据库系统的重要组成部分。2.

网状模型的表示方法网状模型的网状结构中,每个节点表示一个记录类型,节点之间的连线表示记录类型之间的联系。下图6-4所示为一个学生选课系统的网状模型。学生——选课——课程

网状模型示意四、网状模型023.

网状模型的特点(1)直接描述现实世界:

网状模型能够更为直接地描述现实世界,

表示实体间的多种复杂联系。(2)高效存取:网状模型具有良好的性能,存取效率较高。对于某些特定类型的查询,

网状模型能够提供更高的效率。(3)结构复杂:网状模型的结构相对复杂,随着应用环境的扩大,基于网状模型的数据库的结构会变得越来越复杂,不利于最终用户掌握。(4)DDL/DML复杂:网状模型的DDL和DML也相对复杂,需要嵌入某一种高级语言,如COBOL或C语言中,增加了用户的学习和使用难度。四、网状模型024.

网状模型的实际应用网状模型适用于需要表示复杂联系的数据,例如企业资源规划(EnterpriseResourcePlanning,ERP)系统、航班预订系统等的数据。早期的DBMS,例如CODASYL的DBTG关系模型的系统,就是基于网状模型的。五、关系模型02关系模型用二维表格来表示实体及其联系。关系模型是目前最流行、应用最广泛的数据模型之一。1.

关系模型的核心要素关系(表):关系模型中的基本单位,通常以二维表格的形式表示。每个关系具有唯一的名称,由元组和属性组成,用于存储相关数据。元组(行):关系中的一条记录,代表一个具体的实体或实例。每个元组包含多个属性值,这些属性值对应不同的域。属性(列):关系中的一个字段,用于描述实体的某个特定方面或特征。每个属性都有名称和数据类型,如字符串、整型等。主键:用于唯一标识关系中的每个元组。主键可以是单个属性,也可以是多个属性的组合。主键的值在关系中必须是唯一的,且不能为空。外键:用于建立不同关系之间的联系。外键的值引用另一个关系中的主键的值,从而保持数据之间的一致性和完整性。域:属性的取值范围。五、关系模型02关系模型用二维表格来表示实体及其联系。关系模型是目前最流行、应用最广泛的数据模型之一。2.

关系模型的表示方法使用二维表格来表示关系模型时,每个表格代表一个关系,表格的每一行代表一个元组,表格的每一列代表一个属性。下图所示为一个二维表格。

二维表格示意五、关系模型02关系模型用二维表格来表示实体及其联系。关系模型是目前最流行、应用最广泛的数据模型之一。3.

关系模型的特点(1)结构简单、直观,易于理解和操作:关系模型使用二维表格来表示数据,结构简单、直观,易于理解和操作。(2)数据独立性高:关系模型的逻辑结构与物理结构相互独立,用户只需要关注数据的逻辑结构,而不需要关心数据的物理存储方式。(3)数据共享性高、冗余度低:关系模型中的数据可以被多个用户共享,降低了数据冗余度。(4)支持复杂的查询操作;关系模型提供了强大的查询语言(SQL),可以方便地进行复杂的查询操作。五、关系模型02关系模型用二维表格来表示实体及其联系。关系模型是目前最流行、应用最广泛的数据模型之一。4.

关系模型的实际应用关系模型广泛应用于各种类型的DBMS中,如ERP系统、客户关系管理(CustomerRelationshipManagement,CRM)系统、电子商务平台、数据分析和报表系统等。在这些应用场景中,

关系模型通过其结构化的数据表示方式和强大的数据操作能力,

有效满足了复杂业务逻辑和数据处理需求。五、关系模型02关系模型用二维表格来表示实体及其联系。关系模型是目前最流行、应用最广泛的数据模型之一。4.

关系模型的实际应用关系模型广泛应用于各种类型的DBMS中,如ERP系统、客户关系管理(CustomerRelationshipManagement,CRM)系统、电子商务平台、数据分析和报表系统等。在这些应用场景中,

关系模型通过其结构化的数据表示方式和强大的数据操作能力,

有效满足了复杂业务逻辑和数据处理需求。五、关系模型02

综上所述,关系模型是一种高效、灵活且易于理解的数据组织方式。它通过定义关系、元组、属性、主键和外键等核心概念,

以及支持数据独立性、完整性、一致性和最小化冗余等特点,为现代数据库技术的发展提供了坚实的理论基础。另外,随着关系模型的普及,层次模型和网状模型逐渐被替代。关系模型03一、关系模型的基本操作二、关系模型的基本运算三、关系模型的扩充运算一、关系模型的基本操作03

关系模型是数据库系统中最重要的数据模型之一,它将数据组织成关系的形式,并使用关系代数对数据进行操作。关系模型的核心要素之间相互关联,共同构成了关系数据库的基础,因此理解关系模型的核心要素是学习关系数据库的基础(关系模型的核心要素参考6.2.5小节)。关系模型提供了插入(Insert)、删除(Delete)、修改(Update)和查询(Query)4种基本操作来对关系中的数据进行处理,

这些操作是关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)的核心功能,也是用户与数据库交互的主要方式。一、关系模型的基本操作031.

插入(1)定义插入是指向关系中添加新的元组。(2)操作方式插入的操作方式是指定要插入数据的关系名称,以及要插入的属性值,可以使用VALUES关键字或SELECT语句。(3)示例(4)注意事项插入的数据必须符合属性的数据类型和约束条件。如果插入的数据包含主键,则主键值不能与现有记录中的主键值重复。一、关系模型的基本操作032.

删除(1)定义删除是指从关系中删除指定的元组。(2)操作方式删除的操作方式是指定要删除数据的关系名称。使用WHERE子句指定删除条件,如果不指定删除条件,则会删除所有记录。(3)示例(4)注意事项删除是不可逆的,请谨慎操作。如果删除的记录的主键值被其他关系的外键引用,则可能会导致参照完整性约束冲突。一、关系模型的基本操作033.

修改(1)定义修改是指修改关系中指定元组的属性值。(2)操作方式修改的操作方式是指定要修改数据的关系名称。使用SET子句指定要修改的属性和新值。使用WHERE子句指定修改条件,如果不指定修改条件,则会修改所有记录。(3)示例(4)注意事项修改的数据必须符合属性的数据类型和约束条件。如果修改的数据包含主键,则主键值不能与现有记录中的主键值重复。一、关系模型的基本操作034.

查询(1)定义:查询是指从关系中检索满足条件的元组。(2)操作方式查询的操作方式是使用SELECT语句指定要查询的属性和关系名称。使用WHERE子句指定查询条件,如果不指定查询条件,则会检索所有记录。使用ORDERBY子句对查询结果进行排序,

使用GROUPBY子句对查询结果进行分组,

使用HAVING子句对分组后的结果进行过滤。(3)示例(4)注意事项查询不会修改数据库中的数据。查询语句可以非常复杂,可以根据需要进行各种组合和嵌套。关系模型的4种基本操作是数据库操作的基础,掌握这些操作对于使用关系数据库至关重要。在实际应用中,通常会使用SQL来执行这些操作。

二、关系模型的基本运算03

关系模型的基本运算是指对关系进行操作的基本操作符,

它们是关系代数的核心

,也是关系数据库查询语言的基础。关系模型的基本运算包括并(Union)、差(Difference)、笛卡儿积(CartesianProduct)、选择(Selection)、投影(Projection)5种,具体介绍如下。1.

并(1)定义并是指将两个具有相同属性的关系合并,去除重复元组(2)示例二、关系模型的基本运算032.

差(1)定义差是指从一个关系中去除与另一个关系相同的元组,用符号“-”表示。(

2

)示例二、关系模型的基本运算033.

笛卡儿积(1)定义笛卡儿积是指将两个关系的元组进行组合,生成一个新的关系

,用符号“×”表示。(2)示例二、关系模型的基本运算034.

选择(1)定义选择是指从关系中选择满足指定条件的元组

,用符号“σ”表示。(2)示例二、关系模型的基本运算035.

投影(1)定义投影是指从关系中选择指定的属性,并去除重复元组

,用符号“π”表示。(2)示例三、关系模型的扩充运算03关系代数的扩充运算是在基本运算的基础上,

为了方便查询而定义的扩充操作符。常用的扩充运算包括连接(Join)、除(Division)、交(Intersection)3种,具体介绍如下。1.

连接(1)定义:接是指根据连接条件,将两个关系的元组进行组合,生成一个新的关系。三、关系模型的扩充运算031.

连接(1)定义:接是指根据连接条件,将两个关系的元组进行组合,生成一个新的关系。(2)类型:连接分为3种类型。①

等值连接(EquiJoin):连接条件为相等比较。②

自然连接(NaturalJoin):在等值连接的基础上,去除重复属性。③

外连接(OuterJoin):保留不满足连接条件的元组。(3)示例三、关系模型的扩充运算032.

除(1)定义除是指查询满足“所有”条件的关系,用符号“÷”表示。(2)示例三、关系模型的扩充运算033.

交(1)定义交是指求两个关系的交集,即同时属于两个关系的元组,用符号“∩”表示。(2)示例关系模型的基本运算和扩充运算两者共同构成了关系模型的完整体系。它们可以灵活组合,用于表达各种复杂的查询需求。理解这些运算的含义和应用场景,对于学习和使用关系数据库至关重要。

数据库设计的基本步骤04一、数据库设计概述二、需求分析三、概念设计四、逻辑设计六、数据库实施七、数据库运行和维护五、物理设计一、数据库设计概述04数据库设计是指根据用户需求,设计出合理的数据库结构,以有效地存储和管理数据。它是数据库系统开发的核心环节,直接影响数据库的性能、可维护性和可扩展性。数据库设计是一个复杂的过程,通常包括以下几个基本步骤。需求分析:明确用户需求,确定系统功能和数据范围。概念设计:将用户需求抽象为概念模型,例如E-R模型。逻辑设计:将概念模型转换为逻辑模型,例如关系模型。物理设计:将逻辑模型转换为物理模型,确定数据的存储结构和存取方法。数据库实施:创建数据库,加载数据,编写应用程序,测试数据库。数据库运行和维护:对数据库进行日常运行和维护工作,例如备份、恢复、性能优化等。每个步骤都有其特定的目标和任务,各步骤之间相互联系、相互影响,形成一个迭代的过程。一、数据库设计概述二、需求分析041.

需求分析的方法数据库设计常用的需求分析方法如下。(1)访谈:

与用户进行面对面交流,

了解用户需求。访谈可以是结构化的,

也可以是非结构化的。(2)问卷调查:设计问卷,收集用户需求。问卷调查可以覆盖更广泛的用户群体。(3)观察:观察用户的操作流程以了解用户需求。观察可以帮助发现用户未明确表达的需求。(4)文档分析:分析现有系统文档以了解用户需求。文档分析可以帮助设计者快速了解系统现状。二、需求分析042.

需求分析的内容需求分析的内容可分为如下5个部分。(1)数据需求:确定需要存储哪些数据,以及数据的属性、类型、取值范围和数据量、数据增长趋势等。(2)功能需求:确定系统需要实现哪些功能,例如数据录入、查询、修改、删除、统计等。(3)性能需求:确定系统的性能需求,例如响应时间、吞吐量、并发用户数等。(4)安全需求:确定系统的安全需求,例如用户权限控制、数据加密、审计日志等。(5)其他需求:例如系统的可扩展性、可维护性、可移植性等。二、需求分析043.

示例假设要设计一个学生选课系统,需求分析需要明确以下内容。(1)数据需求学生信息:学号(唯一标识)、姓名、性别、年龄、专业、班级。教师信息:教师号(统一标识)、姓名、职称、院系。课程信息:课程号(唯一标识)、课程名、学分、授课教师、上课时间、上课地点。选课信息:学号、课程号、成绩。(2)功能需求学生:选课、退课、查询课程信息、查询成绩、修改个人信息等。教师:录入成绩、修改成绩、查询选课学生信息等。管理员:管理学生信息、管理课程信息、管理选课信息等。二、需求分析043.

示例假设要设计一个学生选课系统,需求分析需要明确以下内容。(3)性能需求系统能够支持1000个用户同时在线,响应时间不超过3s;容量预估为10000名学生、500门课程、每年50万条选课记录。(4)安全需求学生只能查看自己的成绩,教师只能修改自己授课课程的成绩,管理员拥有最高权限。三、概念设计04概念设计是将用户需求抽象为概念模型的过程。概念模型是独立于具体数据库管理系统的,它描述了数据的静态结构和动态行为,是用户和数据库设计人员之间沟通的桥梁。实体-联系模型(E-R模型)是这一阶段常用的方法,

它通过定义实体、属性和实体之间的联系来描述数据模型。概念模型的目的是清晰地表达数据和数据之间的关系,为逻辑设计提供一个清晰的蓝图。在这一阶段,设计者需要识别出所有的实体类型,确定实体的属性,以及实体间的关系。三、概念设计041.

概念设计的方法E-R模型:使用实体、属性、联系等概念来描述数据。实体:现实世界中可以区分的事物,例如学生、课程、教师等。属性:实体的特征,例如学生的姓名、性别、年龄等。联系:实体之间的关系,例如学生和课程之间的选课关系。三、概念设计042.

示例使用E-R模型进行学生选课系统的概念设计,学生选课系统E-R图如图所示。学生选课系统E-R

图学生选课系统包含学生、课程和教师

3

个实体。其中学生和课程之间存在多对多的联系,通过构建选课联系来实现;教师和课程之间存在一对多的联系,一名教师可以教授多门课程,通过在课程属性中定义授课教师来实现。四、逻辑设计04逻辑设计是将概念模型转换为逻辑模型的过程。逻辑模型是依赖于具体DBMS的,通常采用关系模型来实现。在这一步骤,按照概念设计建立的基本E-R图,将概念模型转换为相应的逻辑模型,这种转换要符合关系模型的原则,要确定有多少个实体、每个实体有哪些属性、确定实体的主键、外键和实体之间的关系约束是什么。设计者需要确定表结构、字段、数据类型、主键、外键以及索引等。逻辑设计需要考虑数据的规范化,以避免数据冗余和更新异常。规范化过程包括将数据分解到多个表中,并通过外键来维护表之间的关系。逻辑设计的结果是创建出一个逻辑清晰、结构合理的数据库模式。它描述了数据的逻辑结构和约束条件,是数据库设计的核心。一、数据库设计概述四、逻辑设计04基于学生选课系统的概念模型,设计逻辑模型。学生选课系统的逻辑模型如图

所示。学生选课系统的逻辑模型四、逻辑设计04将学生选课系统设计为4个二维表格。学生信息表(Student):学号(主键)、姓名、性别、年龄、专业、班级。课程表(Course):课程号(主键)、课程名、学分、授课教师(外键)、上课时间、上课地点。教师信息表(Teacher):教师号(主键)、姓名、职称、所属院系。选课表(SC):学号(外键)、课程号(外键)、成绩。教师信息和课程表之间的关系是一对多的关系

,一名教师可以教授多门课程。学生信息表和课程表之间的关系是多对多的关系,一名学生可以选多门课程,一门课程也可以被多名学生选择,这种关系通过选课表来实现。五、物理设计04物理设计关注的是数据在存储介质上的具体实现,是将逻辑模型转换为物理模型的过程,即将6.4.4小节的逻辑模型的内容,在具体的物理介质上实现,比如确定系统需要建立几个物理学表,每个字段的类型(如字符串、整型、浮点型、日期等)与长度的定义,字段的其他详细定义(如非空、默认值),约束的定义(如主键、外键),等等。物理模型描述了数据的存储结构和存取方法,直接影响数据库的性能。设计者需要根据逻辑模型来决定数据文件的存储结构、索引策略、存储过程和触发器等。物理设计需要考虑数据的访问速度、存储空间的使用效率以及数据的安全性等因素。设计者可能会使用不同的DBMS提供的特定工具和命令来优化数据的物理存储。五、物理设计04基于逻辑模型,创建数据库和物理表等物理结构,使用DDL设计如下。(1)创建学生选课系统数据库course_system,设置数据库字符集为utf8mb4,以支持所有Unicode字符,同时设置校对规则为不区分大小写、Unicode排序规则。指令如下:五、物理设计042)创建学生信息表、教师信息表、课程表、选课表。指令如下:五、物理设计04(3)初始化数据并进行简单的验证。向数据表中插入数据,数据之间设计为完成的关系约束,通过查询语句对设计结果进行验证。指令如下:五、物理设计04(4)存取方法优化。指令如下:(5)确定数据的存储位置,修改配置文件/etc/f。指令如下:(6)确定数据库的参数设置,例如,缓冲区大小、日志文件大小等。指令如下:六、数据库实施04数据库实施是指创建数据库、加载数据、编写应用程序、测试数据库的过程。在数据库实施中,设计者将逻辑模型和物理设计转化为实际的数据库系统。这个步骤还可能包括编写存储过程和触发器。这个步骤编写的应用程序用来与数据库交互。此外

温馨提示

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

评论

0/150

提交评论