版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库概述Contents目录01初识数据库系统数据库在信息系统中的位置、数据库技术的发展历程02数据与数据库数据的概念、数据库的定义与特征03数据库管理系统与数据库系统DBMS功能、数据库系统的组成04数据库内部结构三层结构、三级模式、两级映像、数据独立性05数据模型概念模型、E-R图、数据模型类型、E-R图转换06关系模型深入关系数据结构、关系的数学定义、关系模式07关系代数传统集合运算、专门关系运算、应用实例08本章小结知识体系回顾与学习要点总结01:初识数据库系统01DatabasePosition数据库在信息管理系统中的位置数据库是信息管理系统的核心,所有功能模块都围绕数据库展开操作图书管理系统架构所有大学都有图书馆,都使用了基于计算机的图书管理系统对图书进行管理。系统一般包含三大核心功能模块:01图书管理02读者管理03借阅管理核心观点图书管理系统就是对存放在数据库中的图书信息进行操作,数据库是系统的核心,所有功能模块都围绕数据库展开。图书查询及借阅数据流程查询流程用户输入图书信息→查询信息通过互联网发送给服务器→图书查询程序从数据库中查询所需信息→将查询结果返回给查询界面借阅流程图书借阅界面传递图书和读者信息→图书借阅程序收到信息→将借阅信息存储到数据库中→完成借阅操作数据库中存储的信息图书信息读者信息借阅信息DatabaseEvolution数据库技术的发展历程数据管理技术经历了三个发展阶段,与计算机技术发展息息相关人工管理阶段时间范围电子计算机问世之前技术特征使用人工对数据进行管理,无自动化数据管理工具数据特点数据不保存、数据不共享、数据无独立性文件管理阶段时间范围1946年-1960年代硬件背景ENIAC问世,真空电子管,磁带存储技术特征使用磁带进行数据存储和管理,顺序读取数据代表产品磁带文件系统数据库系统阶段时间范围1960年代-至今硬件背景集成电路、大规模集成电路、微处理器技术特征数据库管理系统出现,数据独立、共享、可扩展代表产品IMS、DBTG、SystemR、Ingres发展趋势现在,数据库系统正进入管理非结构化数据、海量数据、知识信息,面向物联网、大数据、云计算等新应用与服务为主要特征的新型数据库系统阶段,向着综合、集成、分布、个性、智能一体化的数据库服务系统时代迈进。DatabaseMilestones数据库技术里程碑事件数据库发展史上的关键节点与重要产品IDS-第一个网状数据库通用电气公司开发了用于生产的集成数据存储(IDS),这是原始的数据库管理系统,也是第一个网状数据库管理系统,奠定了网状数据库的基础。IDS是第一个用于生产的基于磁盘的数据库管理系统。IMS-第一个商用数据库系统IBM公司在1968年开发的IMS(InformationManagementSystem),一种适合IBM公司主机的层次数据库,是第一个商用的数据库系统,标志着数据库系统从萌芽期走向成熟期。关系模型理论的诞生IBM的研究员E.F.Codd发表了论文"ARelationalModelofDataforLargeSharedDataBanks",提出了关系模型的概念,奠定了关系模型的理论基础,这是数据库系统历史上具有划时代意义的里程碑。关系型数据库的问世20世纪70年代末80年代初,IBM的SystemR和加州大学伯克利分校的Ingres关系型数据库发布,标志着关系型数据库的正式问世。这两个系统为后来的商业关系数据库奠定了基础。关系模型占据统治地位20世纪80年代末,关系模型数据库逐渐占据统治地位。随着计算机硬件的发展和关系模型的兴起,关系数据库成为商业处理应用中的主要数据模型,迄今一直独占鳌头。1961196819701970s1980s02:数据与数据库02DataConcept数据的概念与表现形式数据不仅仅是数字,它具有多种表现形式数据的定义什么是数据?数据(Data)是描述事物的符号记录。数据不仅仅是数字,它具有多种表现形式,可以是文字、图形、图像、声音和视频等。数据的表现形式文字图形图像声音视频信息与数据的关系信息是数据的释义信息是对数据的解释和理解,赋予数据具体的含义。数据是信息的符号记录数据是信息的具体表现形式,是存储和操作的对象。示例:大一新生基本信息属性(型)学号姓名年龄院系班级具体数据(值)2024001,张三,18,计算机科学系,计算机2401班DatabaseDefinition数据库的定义与特征数据库是有组织、可共享的数据集合数据库定义数据库(DataBase,DB)就是存放数据的仓库,是指按一定的结构组织,长期储存在计算机内的,可共享的数据的集合。核心特征有组织的数据集合长期存储在计算机内可共享的数据资源数据库的四大特征01较小的冗余度数据按一定的数据模型组织、描述和储存,避免重复存储,节省存储空间。02较高的数据独立性数据的逻辑结构与物理存储分离,应用程序不必关心数据的存储细节。03易扩展性数据库结构可以方便地进行修改和扩展,适应新的应用需求。04可为各种用户共享多个用户和应用程序可以同时访问和使用数据库中的数据,提高数据利用率。理解要点数据库不仅仅是一个数据容器,更是一个有组织的、智能化的数据管理系统。它通过特定的数据模型组织数据,提供高效的数据访问机制,确保数据的一致性和完整性,是现代信息系统的核心基础设施。03:数据库管理系统与数据库系统03DBMSPosition数据库管理系统的定位DBMS是位于用户和操作系统之间的基础软件DBMS的层次位置数据库管理系统(DBMS)是位于用户和操作系统之间的基础软件,主要用来管理、控制数据库中各种数据库对象。数据库用户无法直接通过操作系统操作数据库文件中的具体内容,只能通过数据库管理软件对数据库中的具体内容进行操作。DBMS的核心目标让用户能够更方便、更有效、更可靠地建立数据库和使用数据库中的信息资源。DBMS如何工作1调用操作系统服务DBMS通过调用操作系统的进程管理、内存管理、设备管理、文件管理等服务2提供数据管理接口为数据库用户提供管理、控制数据库对象、数据库文件的接口3实现数据管理维护实现对数据的管理和维护,保证数据的安全性、完整性和一致性数据库系统层次结构用户/应用程序DBMS操作系统硬件/存储设备DBMSFunctionsDBMS的六大核心功能提供全方位的数据管理与服务能力01数据定义提供DDL,对数据对象的组成与结构进行定义。典型应用CREATETABLE,ALTERTABLE02数据组织存储管理分类组织、存储和管理各种数据,确定结构和存取方式。管理对象数据类型、数据、存取路径03数据操纵提供DML,实现对数据库的基本操作。操作类型查询、插入、删除、修改04数据库的运行管理统一管理和控制数据库,保证数据的正确性、安全性与完整性。核心机制并发控制、事务处理、故障恢复05数据库的建立与维护提供数据库初始数据输入、转换、备份、恢复等功能。维护功能备份、恢复、重组、性能监视06其他功能网络通信、数据导入导出、多数据库协同工作等。应用场景网络通信、数据转换、分布式协同DBSComposition数据库系统的组成数据库系统由数据库、硬件、软件和人员四部分组成数据库系统的四大组成部分01数据库长期存储在计算机内的、有组织的、可共享的数据集合,按数据模型组织、描述和存储。02硬件构成计算机系统的各种物理设备,包括存储数据所需的外部设备(服务器、存储设备等)。03软件包括操作系统、数据库管理系统及应用程序。DBMS是核心软件,负责数据的定义、操纵、运行管理和维护。04人员主要是数据库管理员(DBA),负责数据库的运行和管理。还包括设计、开发、终端及运维人员。人员角色详解数据库管理员(DBA)负责数据库的运行和管理,包括数据库设计、权限管理、备份恢复、性能优化等。设计与开发人员系统设计人员负责数据库结构设计,开发人员负责编写应用程序代码。终端用户通过应用程序使用数据库的普通用户,如图书管理员、读者等。运维人员负责数据库系统的日常维护、监控和故障处理。04:数据库内部结构04Three-TierArchitecture数据库系统的三层结构从DBMS开发人员角色看,数据库系统抽象为三层架构01视图层服务对象终端用户或应用程序开发人员主要功能描述整个数据库系统的某个部分,为最终使用用户提供数据视图,或为应用程序开发人员提供最终数据。典型实现应用系统界面、数据库管理工具02逻辑层服务对象数据库管理员(DBA)主要功能描述数据库中存储什么数据以及这些数据间存在什么关系。通过相对简单的结构描述整个数据库。典型实现数据表结构、字段定义、关系设计03物理层服务对象数据库管理系统开发人员主要功能最低层次的抽象,隐藏操作系统、硬件信息及数据存储方式,抽象为数据操作接口。典型实现文件系统、数据块、存储引擎三层结构的核心价值三层结构实现了数据独立性、逻辑独立性:视图层为用户和开发人员提供简化的数据视图,逻辑层为管理员提供数据逻辑结构的抽象,物理层隐藏了复杂的存储实现细节。每层各司其职,使得数据库系统更加灵活、易于维护和扩展。ViewLayer视图层详解数据库系统的最高层次抽象,为用户提供数据视图视图层的定义与作用视图层是数据库系统的最高层次的抽象,描述整个数据库系统的某个部分,为最终使用用户提供数据视图,或为应用程序开发人员提供最终数据。视图层的主要特点只展示用户需要的数据子集隐藏底层复杂的数据结构简化数据操作和访问提供友好的用户界面视图层的演进传统数据库系统DOS时代的Foxbase、Foxpro,Windows时代的Access等单机版数据库。特点:用户直接操作数据表,需掌握数据库知识现代数据库系统数据库管理系统与业务应用系统分开部署,各种人员分工合作。特点:用户通过应用系统界面访问数据视图层的主要职责DBA数据维护界面应用开发数据集用户操作界面数据展示视图LogicalLayer逻辑层详解描述数据库中存储什么数据以及数据间的关系逻辑层的定义与作用逻辑层是比物理层更高一层的抽象,描述数据库中存储什么数据以及这些数据间存在什么关系。逻辑层通过相对简单的结构描述了整个数据库。尽管逻辑层的简单结构的实现涉及了复杂的物理层结构,但逻辑层的用户不必知道这些复杂性。逻辑层的内容01数据表根据业务逻辑分析并创建相应的数据表,每个数据表代表一个实体或关系。02数据字段为每个数据表定义数据字段(属性),包括字段名、数据类型、约束等。03表间关系确定表与表之间的关系,包括一对一、一对多、多对多关系。逻辑层的使用者数据库管理员设计数据库的逻辑结构,确定应保存哪些信息,创建数据表和字段。系统开发人员根据业务需求设计数据库结构,理解数据表之间的关系,进行应用开发。核心优势逻辑层的用户不必知道复杂的物理层结构,只需关注数据的逻辑关系和结构,大大简化了数据库的使用和管理。PhysicalLayer物理层详解最低层次的抽象,隐藏复杂的存储实现细节物理层的定义与作用物理层是最低层次的抽象,操作系统、硬件信息及数据在存储器上的存储方式进行隐藏,并将它们抽象为数据操作接口提供给逻辑层,供逻辑层对数据进行存取。物理层隐藏的内容操作系统类型和版本硬件信息和存储介质类型数据的物理存储方式文件组织结构和存取方法物理层的核心职责抽象数据操作接口将复杂的物理存储细节抽象为简单的数据操作接口,供逻辑层调用。实现数据存储将逻辑层设计的逻辑结构及数据,通过操作系统提供的数据接口存储到系统的存储上。管理物理文件管理数据库在操作系统中的物理文件,包括文件的创建、组织、存储和访问。三层结构的核心价值物理层将复杂的存储实现细节隐藏起来,为逻辑层提供统一的抽象接口。逻辑层不需要关心数据库底层数据是以一个文件、还是多份文件、还是数据块的形式存在磁盘上,只需调用物理层提供的抽象接口进行数据存取。这种分层设计实现了物理独立性,当存储方式改变时,不会影响上层逻辑。SchemavsInstance数据库的型与值理解数据库中"型"和"值"的概念是掌握数据库结构的关键型(Schema)什么是"型"?"型"是指对某一数据的结构和属性的说明,可以理解为数据表的定义结构及字段。型的表现形式数据表的表名字段名(属性名)数据类型和长度约束条件示例:读者表的结构(型)读者(编号,姓名,性别,电话)值(Instance)什么是"值"?"值"是型的具体赋值,可以理解为数据表内的记录,是符合"型"的定义的具体数据。值的表现形式数据表中的行(记录)每个字段的具体取值符合约束的实际数据示例:读者表的数据(值)1,张三,男,138001380002,李四,女,139001390003,王五,男与值的关系型是相对稳定的,值是相对变动的。数据表结构及字段一旦确定,就比较固定,不会轻易修改;然而数据表中的数据却是动态的,不断变化的。同一个"型"可以有无数个"值"与之对应。理解"型"与"值"的概念对于理解数据库的三级模式结构至关重要。Three-SchemaArchitecture三级模式体系结构数据库系统分为外模式、概念模式、内模式三级三级模式结构概述与数据库系统的三层结构类似,大多数据库系统也可以分为三级模式结构、两级映像。三级模式分别是外模式、模式、内模式,两级映像分别是外模式/模式映像和模式/内模式映像。01外模式别名用户模式、子模式作用用户与数据库系统的接口,是用户用到的那部分数据的描述对应层级视图层02模式别名逻辑模式作用数据库中全部数据的逻辑结构和特征的描述对应层级逻辑层03内模式别名存储模式作用数据物理结构和存储方式的描述对应层级物理层ConceptualSchema模式:概念层的抽象概念模式是数据库中全部数据的逻辑结构和特征的描述概念模式的定义模式也称概念模式,是数据库中全部数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及型的描述,不涉及具体的值。模式的特点描述数据库的结构及其联系是相对稳定的不涉及具体存储细节提供连接外模式和内模式的中间层描述语言模式DDL(SchemaDataDefinitionLanguage)模式与实例的关系型模式(Schema)模式是数据库的数据表的结构信息及字段信息,是没有具体值的。数据表结构及字段一旦确定,就比较固定。值实例(Instance)存储在数据表中的具体数据称为实例,也是模式中的具体值。实例反映的是数据库某一时刻的状态,所以是相对变动的。示例说明模式:读者(编号,姓名,性别,电话)实例1:1,张三,男例2:2,李四,女式稳定不变,实例可以随时增删改ExternalSchema外模式:用户接口层外模式是用户与数据库系统的接口外模式的定义与特点概念模式以外的模式称为外模式,外模式也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式的核心特点只描述用户需要的数据子集由若干个外部记录类型组成隐藏数据库的其他部分简化用户与数据库的交互描述语言外模式DDL(ExternalSchemaDDL)外模式与视图层的关系外模式相当于视图层外模式是数据库系统三层结构中视图层的具体实现,为不同用户提供定制化的数据视图。多外模式设计一个数据库可以有多个外模式,不同的用户或应用可以有不同的外模式,每个外模式只包含该用户需要的数据。外模式的价值保证数据安全性:用户只能看到和操作自己有权限的数据简化用户操作:用户只需关心自己需要的数据实现逻辑独立性:当概念模式改变时,外模式可以不变InternalSchema内模式:存储层抽象内模式是数据物理结构和存储方式的描述内模式的定义概念模式以内的模式称为内模式,内模式也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。内模式定义的内容所有内部记录类型索引的组织方式文件的组织方式数据的压缩和加密描述语言内模式DDL(InternalSchemaDDL)存储方式与组织01记录的存储方式顺序存储树结构Hash方法02数据压缩数据可以压缩存储以节省存储空间,或不压缩存储以提高访问速度。03数据加密数据可以明文存储(不加密)或加密存储以保护敏感信息。Two-LevelMapping两级映像机制两级映像保证数据库数据的逻辑独立性和物理独立性两级映像概述数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。映像的核心作用实现模式之间的相互转换隔离不同层级的变化影响保证数据的独立性01模式/内模式映像位置与作用存在于概念模式和内模式之间,实现了概念模式到内模式之间的相互转换。保证的独立性物理独立性02外模式/模式映像位置与作用存在于外模式和概念模式之间,实现了外模式到概念模式之间的相互转换。保证的独立性逻辑独立性两级映像的核心价值两级映像机制使得数据库系统具有高度的数据独立性。当物理存储结构改变时,只需修改模式/内模式映像,而不必修改概念模式;当概念模式改变时,只需修改外模式/模式映像,而不必修改外模式。这种设计大大降低了数据库维护和应用程序开发的复杂度。DataIndependence数据的独立性数据独立性的概念与实现机制数据独立性的概念数据的独立性是指数据与程序独立,就是将数据的存取从程序中分离出去,由数据库管理系统负责数据的处理及存储,从而简化应用程序,减少应用程序编制的工作量。物理独立性定义当数据库的内模式发生改变时,模式不变。由于应用程序处理的只是数据的逻辑结构,这样物理独立性可以保证,当数据的物理结构存储改变时,应用程序不用改变。实现机制通过修改概念模式/内模式之间的映像来保证物理独立性。示例场景更换存储设备、改变文件组织方式、调整索引策略等逻辑独立性定义用户的应用程序与数据的逻辑结构是相互独立的。数据的逻辑结构发生变化后,用户程序也可以不修改。实现机制通过修改外模式/概念模式之间的映像来保证逻辑独立性。示例场景增加新字段、拆分数据表、调整字段类型等ArchitectureSummary层次与模式的关系总结数据库系统各层次与模式的完整对应关系三层结构与三级模式的完整对应视图层外模式用户接口层,为终端用户和应用程序提供数据视图逻辑层概念模式逻辑结构层,为数据库管理员提供数据逻辑结构描述物理层内模式物理存储层,为DBMS开发人员提供数据存储方式数据库对象对应关系视图外模式基本表概念模式存储文件内模式数据独立性的保证物理独立性通过模式/内模式映像保证。当内模式改变时,只需修改映像,概念模式保持不变。逻辑独立性通过外模式/模式映像保证。当概念模式改变时,只需修改映像,外模式可以不变。05:数据模型05DataModelConcept数据模型的概念数据模型是对现实世界中数据特征的抽象模型的本质什么是模型?模型是对现实世界中某个对象特征的模拟和抽象,通过模型使人们能大概了解真实的对象是什么样子。模型的示例飞机模型-了解飞机的外观汽车模型-了解汽车的外观、轮子数量、功能模型的价值通过模型可以大概了解真实对象的样子、内容和特征,简化对复杂事物的理解。数据模型的定义什么是数据模型?数据模型也是一种模型,是对现实世界中数据特征的抽象,用来描述数据、组织数据和对数据进行操作。数据模型的作用描述数据的样子和内容组织数据的结构定义数据操作方式数据建模过程第1步:现实世界→信息世界(概念模型)第2步:信息世界→机器世界(数据模型)ConceptualModel概念模型:E-R模型概念模型是按用户的视角对数据和信息进行建模概念模型的基本概念概念模型也称信息模型,是按用户的视角对数据和信息进行建模,是现实世界到信息世界的抽象,是用户和数据库设计人员交流的工具,主要用于数据库设计。概念模型的特点直观表达信息内容简单、清晰、易于理解与具体数据库无关最著名的概念模型实体-联系模型(E-R模型)E-R模型的基本概念01实体(Entity)客观存在并互相区别的事物。如图书、读者、管理员。02属性(Attribute)实体所具有的某一特性。如图书的编号、名称、作者等。03码(Key)唯一标识实体的属性或属性集。如图书编号。04域(Domain)属性的取值范围。如价格大于零。Entity,Type&Set实体、实体类型与实体集的关系深入理解三个核心概念的区别与联系实体定义客观存在并可相互区别的事物。实体的二义性总称:表示一类事物的统称,如"图书"具体:表示具体的个体,如《三国演义》示例图书(总称)、《三国演义》(具体)实体类型定义用实体名和其所有属性来共同表示同一类实体。表示方法实体(属性1,属性2,...)示例图书(编号,名称,作者)读者(编号,姓名,电话)实体集定义同一类型实体的集合,是实体具体化的集合。本质实体集是实体的集合,包含了该实体的所有具体个体。示例图书实体集包括:《三国演义》、《西游记》、《红楼梦》等具体图书三者的关系总结实体是个体或总称,实体类型是结构和属性的定义,实体集是具体个体的集合。如"图书"是实体,"图书(编号,名称...)"是实体类型,所有具体图书的集合是实体集。理解此区别是后续学习E-R图的基础。E-RMethodE-R方法基础实体-联系方法使用E-R图来表示数据模型E-R方法概述概念模型中最常用的方法为实体-联系方法,简称E-R方法。该方法直接从现实世界中抽象出实体和实体间的联系,然后用非常直观的E-R图来表示数据模型。E-R图的核心价值E-R图是用户和数据库设计人员交流的语言。设计人员根据用户需求设计出E-R图,然后再转换成数据表结构。E-R方法的适用场景数据库概念设计阶段,用于需求分析和数据库建模E-R图的图形符号矩形实体菱形联系椭圆属性线段连接线重要约定•主码(主键)的属性名下面加下划线•实体与联系的线段上标注联系的类型EntityRepresentationE-R图中的实体表示实体是现实世界中具有相同属性描述的事物的集合实体的图形表示图形符号实体名用矩形框表示实体,实体名写在框内实体的本质E-R图中的实体表示现实世界具有相同属性描述的事物的集合,它不是某一个具体事物,而是某一种类别所有事物的统称。命名规范每个实体由实体名唯一标记,通常使用名词或名词短语实体到数据表的转换转换规则在数据库设计时,一个实体通常转换成一张数据表,实体名设计为数据表名,实体的属性设计为数据表的字段。示例:图书实体E-R图中的实体图书转换后的数据表表名:图书字段:图书编号、图书名称...设计原则•实体名应具有描述性,反映业务含义•一个E-R图通常包含多个实体•每个实体应由实体名唯一标记AttributeClassificationE-R图中的属性分类深入理解属性的四种分类方式01简单属性与复合属性简单属性原子的、不可再分的属性。如读者编号、姓名。复合属性由多个简单属性组成的属性,可细分。如居住地址可细分为省市等。02单值属性与多值属性单值属性有唯一一个值的属性。如读者编号、姓名。多值属性可能有多个值的属性。如读者电话(可能有手机和座机)。03NULL属性当实体在某个属性上没有值或属性值未知时,使用NULL值。NULL的含义•无意义•不知道•属性值未知04派生属性可以从其他属性得来的属性。如年龄可从出生日期计算得出。特点派生属性的值不存储,而是通过计算得出,节省存储空间。RelationshipTypesE-R图中的联系类型实体间的三种联系:一对一、一对多、多对多1:1一对一定义A中每个实体,在B中至多有一个实体与之联系。示例•教师与工资单•读者与图书(一次借一本)•人与身份证A11B1:N一对多定义A中每个实体,B中有n个实体与之联系。示例•系统用户与图书•班级与学生•部门与员工A1nBM:N多对多定义A中每个实体对应B中n个实体,反之B中每个实体对应A中m个实体。示例•学生与课程•读者与图书(多次借阅)•医生与病人AmnBOne-to-OneRelationship一对一联系(1:1)详细解析一对一联系的定义与应用场景一对一联系的定义如果实体集A中的每个实体,在实体集B中至多有一个实体与之联系,则称实体集A与实体集B有一对一联系,记为1:1。一对一联系的特点两个实体集中的实体一一对应一个实体最多对应另一个实体集中的一个实体联系具有唯一性E-R图表示实体A11实体B典型应用场景教师与工资单每个教师只有一个工资单,每个工资单只属于一个教师。读者与图书借阅假设每个读者每次只能借一本图书,则读者与图书之间也是一对一关系。人与身份证每个人只有一个身份证,每个身份证只对应一个人。识别技巧如果两个实体之间是"拥有"、"对应"关系,且数量是一一对应,通常是一对一联系。One-to-ManyRelationship一对多联系(1:n)详细解析一对一联系的定义与应用场景一对多联系的定义如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,则称实体集A与实体集B有一对多的联系记为1:n。E-R图表示实体A1n实体B典型应用场景管理员与图书在图书管理系统中,系统用户要管理多本图书,要对多本图书进行录入和修改,系统用户和图书之间就是典型的一对多的关系。球队与队员每个球队有多名队员,一名队员只属于一个球队。n球队队员入队1Many-to-ManyRelationship多对多联系(m:n)详细解析一对一联系的定义与应用场景多对多联系的定义如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中有m个实体(m≥0)与之联系,则称实体集A与实体集B有多对多的联系,记为m:n。E-R图表示实体Amn实体B典型应用场景学生与课程一名学生可以选修多门课,一门课可以被多名学生选修。教师与课程一名教师课讲授多门课程,一门课程可以被多名教师授课。n学生课程选修mDesignruleE-R图设计原则概念模型是按用户的视角对数据和信息进行建模E-R图设计原则01实体中的属性应该仅属于某一实体或者联系。该原则确保了数据库中的某个数据只存储于某个数据库表中,避免同一数据存储于多个数据库表,造成数据冗余。02实体是一个单独的个体,不能存在于另一个实体中成为其属性。该原则确保了一个数据库表中不能包含另一个数据库表,即不能出现“表中套表”的现象。03同一个实体在同一个E-R图内仅出现一次。如一个实体可能与多个实体有联系,此时尽量不要让同一个实体多次出现,避免后期将E-R图转换成数据表时出现多建表的情况发生。DesignE-R图设计步骤概念模型是按用户的视角对数据和信息进行建模E-R图设计步骤01确定实体,根据需求描述确定系统中的实体集。02确定联系,根据需求描述确定各实体之间的联系。03确定属性,根据需求描述确定实体的属性。04画出所有实体和属性图,根据确定的实体和属性,画出实体和属性的表示图。05画出E-R模型总图,根据各实体之间的联系,将绘制的实体通过线段进行连接,整理为E-R模型图。DesignE-R图设计示例详细解析一对一联系的定义与应用场景示例某小型图书管理系统主要提供图书的借阅功能,主要功能模块有图书管理、读者管理、借阅管理、系统用户管理,图书管理是对图书馆中存在的图书进行管理,读者管理是对借阅图书的读者进行管理,借阅管理是对借书和还书进行管理,系统用户负责管理图书(如图书入库等)、管理图书借阅(如读者借书和还书)、管理读者(添加读者、删除读者)。请根据需求设计该系统的E-R图。图书姓名图书作者出版社出版时间图书价格图书位置图书编号图书用户账户用户密码用户姓名用户年龄用户电话用户地址用户编号系统用户出生日期读者姓名出生日期读者年龄读者类别读者电话读者地址读者编号读者DesignE-R图设计示例详细解析一对一联系的定义与应用场景示例某小型图书管理系统主要提供图书的借阅功能,主要功能模块有图书管理、读者管理、借阅管理、系统用户管理,图书管理是对图书馆中存在的图书进行管理,读者管理是对借阅图书的读者进行管理,借阅管理是对借书和还书进行管理,系统用户负责管理图书(如图书入库等)、管理图书借阅(如读者借书和还书)、管理读者(添加读者、删除读者)。请根据需求设计该系统的E-R图。画出E-R模型总图,根据各实体之间的联系,将绘制的实体通过线段进行连接,整理为E-R模型图。在这里只画实体,将属性省略。1n11系统用户图书读者管理管理借阅借阅时间归还时间nn数据模型的表现形式详细解析一对一联系的定义与应用场景层次模型采用树型结构表示数据与数据间的联系,每一个结点表示一个记录类型(实体),记录之间的联系用结点之间的连线表示,并且根结点以外的其他结点有且仅有一个双亲结点。画出E-R模型总图,根据各实体之间的联系,将绘制的实体通过线段进行连接,整理为E-R模型图。在这里只画实体,将属性省略。网络模型采用网络结构表示数据与数据间的联系的数据模型称为网状模型(networkmodel)在网状模型中,允许一个以上的结点无双亲,一个结点可以有多个双亲,允许有多个根结点,允许两个结点间有多种联系。关系模型关系模型的数据结构就是关系,无论实体集还是实体集之间的联系都用关系表示,在关系数据库中,关系就是一张二维表,由行和列组成。在关系模型中用表格结构表达实体集以及实体集之间的联系。面向对象模型面向对象模型是近些年出现的一种新的数据模型,它是用面向对象的观点来描述现实世界中的事物(对象)的逻辑结构和对象间的联系等的数据模型。关系模型实例详细解析一对一联系的定义与应用场景关系模型在关系模型中用表格结构表达实体集以及实体集之间的联系。以图书管理系统中的图书为例,图书的实体和属性为:图书(图书编号,图书名称,图书作者,出版社,出版时间,图书价格,图书位置)该图书关系模型的数据结构可以设计为如表所示的图书数据表:图书编号no图书名称name图书作者author出版社publisher出版时间date图书价格price图书位置place1002003西游记吴承恩中华书局2016-0440.002楼5-21002004三国演义罗贯中商务印书馆2016-0436.002楼5-21002005红楼梦曹雪芹商务印书馆2016-0446.002楼5-21002006水浒传施耐庵商务印书馆2016-0446.002楼5-21002007史记司马迁中华书局2018-0665.002楼5-31002008资治通鉴司马光中华书局2018-0655.002楼5-3概念模型向数据模型的转换详细解析一对一联系的定义与应用场景一对一(1:1)联系的转换示例:以教师与工资单的E-R图来说明一对一联系的转换教师工资单发工资资教师编号教师姓名教师职称教师电话工资单编号工资总额发放日期11方法一在转换为关系模式的过程中,如果采用通用策略,则会产生一个新的关系,假设是教师与工资单,则其关系模式是:教师与工资单(教师编号,工资单编号)教师(教师编号,教师姓名,教师职称,教师电话)工资单(工资单编号,工资总额,发放日期)概念模型向数据模型的转换详细解析一对一联系的定义与应用场景一对一(1:1)联系的转换示例:以教师与工资单的E-R图来说明一对一联系的转换教师工资单发工资资教师编号教师姓名教师职称教师电话工资单编号工资总额发放日期11方法二在任意一端的实体中的属性中增加另一端的实体的主键来实现,可以记作:实体1(实体1的主键,实体1的其他属性,实体2的主键)。在该例中采用该方法转换后的关系模型为:教师(教师编号,教师姓名,教师职称,教师电话,
工资单编号)工资单(工资单编号,
工资总额,
发放日期)或者:教师(教师编号,教师姓名,教师职称,教师电话)工资单(工资单编号,
工资总额,
发放日期,教师编号)概念模型向数据模型的转换详细解析一对一联系的定义与应用场景一对多(1:n)联系的转换示例:以系统用户与图书的E-R图来说明一对多联系的转换方法在该图实体是系统用户和图书,系统用户与实体图书之间是一对多的关系,它们之间的联系是管理关系。方法一:该图中n端为图书,可以在图书实体中增加系统用户的主键为属性,以便在图书表中能找到图书的管理系统用户,该E-R图的关系模型为:系统用户(用户编号,用户姓名,出生日期)图书(图书编号,图书名称,图书作者,用户编号)方法二:系统用户和图书之间的管理关系单独成表:系统用户(用户编号,用户姓名,出生日期)图书(图书编号,图书名称,图书作者)管理(图书编号,用户编号,入库日期,入库数量)系统用户图书管理用户编号用户姓名出生日期图书编号图书名称图书作者1n概念模型向数据模型的转换详细解析一对一联系的定义与应用场景多对多(m:n)联系的转换示例:在如图所示的E-R图中,实体学生与课程之间是多对多的关系,通过选课相关联,将该E-R图转换为关系模型为:方法多对多(m:n)的联系需要转换成一个独立的关系,记作:新关系(实体1的主键,实体2的主键)。学生(学生编号,学生姓名,出生日期)课程(课程编号,课程名称,课程学分)选课(学生编号,课程编号,选课学期,成绩)在选课关系中,学生编号和课程编号都不是唯一的,都不是选课关系中的主键,他们组合起来构成主键(联合主键)。n学生课程选课学生编号学生姓名出生日期课程编号课程名称课程学分106:关系模型的数据结构0601关系的基本概念1目或度常用R表示关系的名字,n表示关系的目或度(degree)。例:学生(学号,姓名,性别)的度为32候选码若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码。例:学号、身份证号都可作为候选码3主码若一个关系有多个候选码,则选定其中一个为主码(主键)。通常选择最简单或最常用的候选码4主属性包含在任何候选码中的属性称为主属性。未包含在任何候选码中的属性称为非码属性。例:学生(学号,姓名,性别,专业)主属性:学号非码属性:姓名、性别、专业5外码如果关系模式R中的属性或属性组非该关系的码,而是其他关系的码,那么该属性或属性组对关系模式R而言是外码。用于建立关系之间的联系6全码关系模型的所有属性组是这个关系模式的候选码,称为全码。所有属性组合在一起才能是候选码,缺一不可。例:选课(学号,课程号,成绩)三者共同唯一标识概念关系图关系↓包含候选码↓选定主码↓包含主属性关键要点候选码可以有多个,主码只能有一个主属性必须包含在候选码中外码用于建立关系间联系全码是所有属性共同组成候选码02域(Domain)的定义域的定义域是一组具有相同数据类型的值的集合域是关系中属性的取值范围,也是数据表中字段的取值范围域的特点1数据类型相同集合中的所有值具有相同数据类型2取值范围明确定义了属性的合法取值边界3原子性域中的值不可再分域的实例整数域定义:所有整数值的集合例:学生年龄、课程学分字符串域定义:所有合法字符序列的集合例:学生姓名、课程名称枚举域定义:有限个离散值的集合{"男","女"}日期域定义:所有合法日期的集合例:出生日期、入学日期域与属性的关系域属性每个属性都从一个域中取值域在表中的体现定义字段的数据类型限制字段的取值范围保证数据的合法性03笛卡儿积(CartesianProduct)数学定义给定一组域D₁,D₂,...,Dₙ,这些域中可以有相同的。D₁×D₂×...×Dₙ={(d₁,d₂,...,dₙ)|dᵢ∈Dᵢ,i=1,2,...,n}每个元素(d₁,d₂,...,dₙ)叫作一个n元组元组中的每个值dᵢ叫作一个分量特点说明笛卡儿积是所有域的所有取值的一个组合可表示为一张二维表,每一行对应一个元组每一列的值来自一个域实例:D₁×D₂×D₃的笛卡儿积D₁:01D₂:truefalseD₃:男女结果:2×2×2=8个元组(0,true,男)(0,true,女)(0,false,男)(0,false,女)(1,true,男)(1,true,女)(1,false,男)(1,false,女)表1.2D₁×D₂×D₃笛卡儿积的二维表D₁D₂D₃0true男0true女0false男0false女1true男1true女1false男1false女04笛卡儿积的应用实例将抽象域赋予实际意义,展示笛卡儿积的实际应用实际意义域班级{1班,2班}姓名{王明,张芳}性别{男,女}说明将D₁,D₂,D₃赋予实际意义后,笛卡儿积的结果更加直观,但仍然只具有数学意义。表1.3班级×姓名×性别笛卡儿积的二维表班级姓名性别1班王明男1班王明女1班张芳男1班张芳女2班王明男2班王明女2班张芳男2班张芳女不符合实际的情况•王明既属于1班又属于2班(矛盾)•王明既是男性又是女性(不可能)•张芳既属于1班又属于2班(矛盾)•张芳既是男性又是女性(不可能)05关系(Relation)的定义关系的数学定义关系是域的笛卡儿积的有意义的有限子集R(D₁,D₂,...,Dₙ)R-关系名n-关系的目或度D₁...Dₙ-域称关系R为n元关系关键理解1真子集:关系是笛卡儿积的真子集2有意义:符合现实世界语义3有限:关系中的元组数量有限表1.4学生关系符合实际意义的关系从表1.3的笛卡儿积中选出符合现实情况的元组班级姓名性别1班王明男2班张芳女关系名学生属性名班级、姓名、性别关系的度3(三元关系)其他可能的关系同一个笛卡儿积可以选出不同的符合实际的关系:{(1班,王明,男),(1班,张芳,女)}{(2班,王明,男),(1班,张芳,女)}06关系的6个限定条件确保关系的规范性和数据完整性1列是同质的每一列中的值是同一类型的数据,来自同一个域2列顺序无关列的次序可以任意交换,不影响关系的实际意义3行顺序无关行的次序可以任意交换,不影响关系的实际内容4主键取值唯一任意两个元组的码不能取相同的值,主键必须唯一不能有重复的主键值5属性名唯一不能有两个相同名字的属性名,属性名必须唯一不能有重复的属性名6分量必须取原子值每一个分量都必须是不可分的数据项错误:联系方式=(手机,电话,邮箱)正确:拆分为单独属性07关系的3种类型根据存储方式和生命周期进行分类基本关系(基表)定义实际存在的表,是实际存储数据的逻辑表示特点物理存储在数据库中数据持久化保存支持增删改查操作例:学生表、课程表、教师表查询表(临时表)定义查询结果对应的临时表特点查询时动态生成不持久化存储生命周期短例:SELECT结果集视图表(虚拟表)定义由基本表或其他视图表导出的虚拟表特点不独立存储数据只存放定义查询时动态生成例:学生成绩视图08关系模式(RelationSchema)形式化定义R(U,D,dom,F)R-关系名U-属性名集合D-属性的域dom-属性向域的映像F-属性间数据的依赖关系集合关系模式是对关系型的描述,反映了关系的结构和框架简化表示R(A₁,A₂,...,Aₙ)其中R是关系名称,A₁~Aₙ是关系的若干属性通常在关系模式主属性上加下划线表示该属性为主码属性型与值的区别关系模式(型)关系的结构描述,相对稳定学生(学号,姓名,性别,班级)关系(值)某一时刻的数据状态,动态变化学号姓名性别班级1001张三男1班实际应用中的对应关系模式数据表的结构关系数据数据表中的数据09关系数据库与存储结构关系数据库支持关系模型的数据库系统称为关系数据库系统在关系模型中,实体以及实体之间的联系都是用关系来表示的关系数据库的构成关系数据库模式所有关系模式的集合,是对关系数据库的描述关系数据库这些关系模式在某一时刻对应的关系的集合关系模型的存储结构关系数据库管理系统以一定的组织方式存储和管理数据,即设计和实现关系模型的存储结构。MySQL存储方式以文件方式存放在操作系统上一个数据库→一个文件夹一个表→一个文件Access存储方式从操作系统申请若干个大文件自行划分文件空间组织表、索引等存储结构存储结构的重要性影响存取效率保证数据安全优化空间利用07:关系的完整性约束0701实体完整性(EntityIntegrity)实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值(NULL)实体完整性规定了基本关系R的主属性A不能取空值为什么要实体完整性?主键作为唯一标识该记录的值如果主键为空,就会有很多相同的记录存在,无法区分这些记录重要说明若主码由多个属性组成,则所有这些属性都不可以取空值图书管理系统实例系统用户(用户编号,用户姓名,出生日期)主属性:用户编号(不能为空)图书(图书编号,图书名称,图书作者,用户编号)主属性:图书编号(不能为空)读者(读者编号,读者姓名,用户编号)主属性:读者编号(不能为空)借阅(图书编号,读者编号,借阅时间,归还时间)主属性:图书编号(不能为空)违反实体完整性的情况•图书编号为空→无法区分多本《西游记》•用户编号为空→无法关联到具体用户•读者编号为空→无法区分不同读者02参照完整性(ReferentialIntegrity)参照完整性规则若F是基本关系R的外码,与基本关系S的主码K相对应,则R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值术语说明参照关系R:外码所在的表被参照关系S:主码被参照的表图书管理系统实例被参照关系S:系统用户系统用户(用户编号,用户姓名,出生日期)主码K:用户编号参照关系R:图书图书(图书编号,图书名称,图书作者,用户编号)外码F:用户编号参照完整性约束图书关系中的用户编号要么为空,要么等于系统用户中的某个用户编号参照完整性的作用保证数据一致性维护关系间联系防止非法外键值支持级联操作03用户定义完整性(User-definedIntegrity)用户定义完整性用户定义的完整性就是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。由应用的环境决定,是特定业务规则的体现完整性约束总结实体完整性主键不能为空,区分记录参照完整性外键必须引用有效主键用户定义完整性满足特定业务规则用户定义完整性实例用户名约束规则:用户名要求不少于8位有效:admin123无效:admin密码约束规则:密码要求不少于8位,且必须有英文和数字组成有效:abc12345无效:12345678邮箱格式约束规则:必须符合邮箱格式规范年龄范围约束规则:年龄必须在0-150之间08:关系代数基础0801关系代数概述什么是关系代数?关系代数是一种抽象的查询语言,通过对关系的运算来表达查询结果关系代数用对关系的运算来表达查询要求,而不改变原关系运算的三要素1运算对象关系(表)2运算符四类运算符(集合、专门、比较、逻辑)3运算结果关系(表)关系运算的分类传统集合运算把关系看成元组的集合,只单纯从行的角度进行运算并∪交∩差-笛卡儿积×专门关系运算不只从行的角度,也从列的角度进行运算选择σ投影Π连接⨝除÷5种基本运算并、差、笛卡儿积、投影、选择是5种基本运算,其他运算都可以通过基本运算导出∪并-差×笛卡儿积Π投影σ选择02关系代数运算符分类传统集合运算符∪并∩交-差×笛卡儿积专门关系运算符σ选择Π投影⨝连接÷除比较运算符>≥<≤=≠逻辑运算符∧与AND∨或OR¬非NOT09:传统集合运算0901并运算(Union)定义关系R与S具有相同的关系模式,R∪S是由属于R或属于S的元组构成的集合R∪S={t|t∈R∨t∈S}其中t为元组变量特点R与S的元数相同(结构相同)从行的角度进行运算结果中去除重复元组表1.5关系RABC1ae2bf3cg4dh表1.6关系SABC2bf4dg5eh表1.7R∪SABC1ae2bf3cg4dh4dg5eh说明•结果包含R和S中的所有元组•(2,b,f)和(4,d,h)在两个关系中都存在,结果中只保留一个•(4,d,g)和(5,e,h)是S中特有的元组•并运算对应SQL中的UNION操作02差运算(Difference)定义关系R与S具有相同的关系模式,R-S是由属于R但不属于S的元组构成的集合R-S={t|t∈R∧t∉S}其中t为元组变量特点R与S的元数相同(结构相同)从行的角度进行运算结果是R中独有的元组表1.5关系RABC1ae2bf3cg4dh表1.6关系SABC2bf4dg5eh表1.8R-SABC1ae3cg4dh说明•结果只包含R中独有的元组•(2,b,f)在R和S中都存在,所以被排除•(4,d,h)在R中存在但在S中不存在,所以保留•(1,a,e)和(3,c,g)是R中特有的元组•差运算对应SQL中的EXCEPT操作03交运算(Intersection)定义关系R与S具有相同的关系模式,R∩S是由既属于R又属于S的元组构成的集合R∩S={t|t∈R∧t∈S}其中t为元组变量特点R与S的元数相同(结构相同)从行的角度进行运算结果是两个关系共有的元组表1.5关系RABC1ae2bf3cg4dh表1.6关系SABC2bf4dg5eh表1.9R∩SABC2bf说明•结果只包含两个关系共有的元组•只有(2,b,f)同时在R和S中存在•其他元组要么是R独有,要么是S独有•交运算对应SQL中的INTERSECT操作•交运算可以用并和差表示:R∩S=R-(R-S)04广义笛卡儿积ExtendedCartesianProduct定义关系R和S的度分别为m和n,元组的个数分别为k₁和k₂,R×S是一个(m+n)列、k₁×k₂行的关系R×S={tᵣ⌒tₛ|tᵣ∈R∧tₛ∈S}元组的前n列是R中的元组,后m列是S中的元组每个R中的元组与S中的每个元组进行组合特点1列数=R的列数+S的列数2行数=R的行数×S的行数3无条件连接,所有可能的组合表1.10关系R×SR.AR.BR.CS.AS.BS.C1ae2bf1ae4dg1ae5eh2bf2bf2bf4dg2bf5eh3cg2bf3cg4dg3cg5eh4dh2bf4dh4dg4dh5ehR有4行,S有3行,R×S有4×3=12行应用场景笛卡儿积是连接运算的基础,可以认为是无条件连接。在实际应用中,通常会在笛卡儿积的基础上添加选择条件,形成各种连接操作。10:专门关系运算1001选择运算(Selection)定义选择运算是从关系的水平方向进行运算,从关系R中选择满足给定条件的诸元组σF(R)={t|t∈R∧F(t)=True}σ-选择运算符F-逻辑表达式R-运算对象关系F中的运算对象:属性名或常数;运算符:算术比较符和逻辑运算符实例实例1:σ₁>₃(R)选取R关系中第一个属性值大于第三个属性值的元组结果为空(表1.11)实例2:σ₁="4"(R)选取R关系中第一个属性值等于"4"的元组ABC4dh表1.12σ₁="4"(R)的结果特点说明•选择运算不改变关系的结构(列数不变)•只在行的方向上进行筛选•可以用逻辑表达式组合多个条件•对应SQL中的WHERE子句02投影运算(Projection)定义投影运算是从关系的垂直方向进行运算,在关系R中选择出若干属性列A组成新的关系ΠA(R)={t[A]|t∈R}Π-投影运算符A-属性列集合R-运算对象关系从关系R中选出若干属性列,组成新的关系特点从列的角度进行运算关系的行数不变(除非有重复)可以重新排列属性的顺序自动去除重复的元组实例实例1:ΠA,B(R)从关系R中选出A、B两列AB1a2b3c4d表1.13ΠA,B(R)的结果实例2:ΠA,C(R)从关系R中选出A、C两列AC1e2f3g4h表1.14ΠA,C(R)的结果应用场景投影运算用于提取关系中需要的属性列,忽略不需要的列。对应SQL中的SELECT子句指定列名的情况。03θ连接与等值连接θ连接连接条件记作:AθB,θ是比较运算符R⨝S={tᵣ⌒tₛ|tᵣ∈R∧tₛ∈S∧tᵣ[A]θtₛ[B]}AθB从R×S中选取满足条件tᵣ[A]θtₛ[B]的元组等值连接当θ为等号(=)时,称为等值连接R.A=S.A的等值连接先计算笛卡儿积,然后选出R.A=S.A的行实例:R.A<S.A先计算R×S,然后选出R.A<S.A的行(表1.16)R.AR.BR.CS.AS.BS.C1ae2bf1ae4dg1ae5eh2bf4dg2bf5eh3cg4dg3cg5eh4dh5eh表1.16R.A<S.A的结果说明•θ连接可以看作是在笛卡儿积上选择•也可以记作:σAθB(R×S)•等值连接是最常用的连接类型•对应SQL中的JOIN...ON语句03自然连接(NaturalJoin)定义自然连接是等值连接中的特殊连接R⨝S={tᵣ⌒tₛ[U-B]|tᵣ∈R∧tₛ∈S∧tᵣ[B]=tₛ[B]}特殊条件:1.比较的属性必须相同2.所有相同属性的值需相等3.结果中去掉重复的属性特点从水平和垂直两个方向运算需要两个关系有相同的属性结果中去掉重复的列实例表1.18关系RABC1ae2bf3cg4dh表1.19关系SACD2fb4hd5geR⨝SR和S有属性A、C相同,找出R.A=S.A且R.C=S.C的行ABCD2bfb4dhd表1.20R⨝S的结果应用场景自然连接是实际工作中最常用的连接类型,对应SQL中的NATURALJOIN或JOIN...USING语句。它自动匹配相同名称的列,并去除重复列。04除运算(Division)定义除运算是同时从关系的水平方向和垂直方向进行运算R÷S={tr[X]|tr∈R∧ΠY(S)⊆Yx}R(X,Y)-关系R,属性组X、YS(Y,Z)-关系S,属性组Y、ZYx-x在R中的象集结果集的属性组为X象集的概念象集的本质是一次选择运算和一次投影运算对于关系R中属性X的某个值x,其象集Yx是R中所有X=x的元组在Y上的投影实例:R÷S表1.18关系RABC1ae2bf3cg4dh表1.19关系SACD2fb4hd5ge计算过程1.X为属性B,Y为属性A、C2.S在Y上的投影:ΠAC(S)={(2,f),(4,h),(5,g)}3.R中各B值的象集:AC(a)={(1,e)}AC(b)={(2,f)}AC(c)={(3,g)}AC(d)={(4,h)}4.包含ΠAC(S)的象集:(b)和(d)表1.21R÷SBbd11:综合应用案例1101图书管理系统关系模式四个关系模式系统用户(用户编号,用户姓名,出生日期)图书(图书编号,图书名称,图书作者,用户编号)读者(读者编号,读者姓名,用户编号)借阅(图书编号,读者编号,借阅时间,归还时间)外键关系图书.用户编号→系统用户.用户编号读者.用户编号→系统用户.用户编号借阅.图书编号→图书.图书编号借阅.读者编号→读者.读者编号表1.22系统用户用户编号用户姓名出生日期1001王家辉2000-02-081002陈冬冬2002-08-08表1.23图书图书编号图书名称图书作者用户编号1002003西游记吴承恩10011002004三国演义罗贯中10011002005红楼梦曹雪芹10021002006水浒传施耐庵10021002007史记司马迁10021002008资治通鉴司马光1001表1.24读者读者编号读者姓名用户编号202410001张贝贝1001202410002李建国1001202410003赵美玉1002202410004王东东1001202410005陈嘉伟1002表1.25借阅图书编号读者编号借阅时间归还时间10020032024100012024-09-102024-09-2010020042024100022024-09-102024-09-2210020052024100012024-09-122024-09-2210020062024100032024-09-122024-09-2410020072024100022024-09-152024-09-2510020082024100042024-09-152024-09-2502选择运算应用实例实例1从图书关系中选出由用户编号为1001的系统用户所管理的所有图书信息σ用户编号='1001'(图书)表1.26用户编号为1001所管理的图书图书编号图书名称图书作者用户编号1002003西游记吴承恩10011002004三国演义罗贯中10011002008资治通鉴司马光1001实例2从读者关系中选出由用户编号为1002的系统用户所管理的所有读者信息σ用户编号='1002'(读者)表1.27用户编号为1002所管理的读者读者编号读者姓名用户编号202410003赵美玉1002202410005陈嘉伟100203投影运算应用实例实例1从图书关系中选出图书编号、图书名称和图书作者Π图书编号,图书名称,图书作者(图书)表1.28图书投影结果图书编号图书名称图书作者1002003西游记吴承恩1002004三国演义罗贯中1002005红楼梦曹雪芹1002006水浒传施耐庵1002007史记司马迁1002008资治通鉴司马光实例2从读者关系中选出读者编号和读者姓名Π读者编号,读者姓名(读者)表1.29读者投影结果读者编号读者姓名202410001张贝贝202410002李建国202410003赵美玉202410004王东东202410005陈嘉伟04连接运算应用实例实例1查询所有图书及图书管理者信息图书⨝系统用户表1.30图书及管理者信息图书编号图书名称图书作者用户编号用户姓名出生日期1002003西游记吴承恩1001王家辉2000-02-081002004三国演义罗贯中1001王家辉2000-02-081002005红楼梦曹雪芹1002陈冬冬2002-08-081002006水浒传施耐庵1002陈冬冬2002-08-081002007史记司马迁1002陈冬冬2002-08-081002008资治通鉴司马光1001王家辉2000-02-08实例2查询所有读者及读者管理者信息读者⨝系统用户表1.31读者及管理者信息读者编号读者姓名用户编号用户姓名出生日期202410001张贝贝1001王家辉2000-02-08202410002李建国1001王家辉2000-02-08202410003赵美玉1002陈冬冬2002-08-08202410004王东东1001王家辉2000-02-08202410005陈嘉伟1002陈冬冬2002-08-0805综合运用实例(一)实例1查询系统用户"陈冬冬"管理的图书信息及系统用户信息σ用户姓名='陈冬冬'(图书⨝系统用户)表1.32陈冬冬管理的图书信息图书编号图书名称图书作者用户编号用户姓名出生日期1002005红楼梦曹雪芹1002陈冬冬2002-08-081002006水浒传施耐庵1002陈冬冬2002-08-081002007史记司马迁1002陈冬冬2002-08-08实例2查询系统用户"陈冬冬"管理的读者信息及系统用户信息σ用户姓名='陈冬冬'(读者⨝系统用户)表1.33陈冬冬管理的读者信息读者编号读者姓名用户编号用户姓名出生日期202410003赵美玉1002陈冬冬2002-08-08202410005陈嘉伟1002陈冬冬2002-08-0806综合运用实例(二)实例1查询系统用户"陈冬冬"管理的图书的图书编号、图书名称和图书作者Π图书编号,图书名称,图书作者(σ用户姓名='陈冬冬'(图书⨝系统用户))表1.34陈冬冬管理的图书信息图书编号图书名称图书作者1002005红楼梦曹雪芹1002006水浒传施耐庵1002007史记司马迁实例2查询读者"张贝贝"借阅过的所有图书的信息Π图书编号,图书名称,图书作者(σ读者姓名='张贝贝'(借阅⨝读者⨝图书))表1.36张贝贝借阅的图书信息图书编号图书名称图书作者1002003西游记吴承恩1002005红楼梦曹雪芹MySQL数据库与SQL基础主讲:何广赢时间:2026/01/01CONTENTS目录2.1MySQL数据库操作环境MySQL简介·核心特点·技术优势·安装与工具2.2SQL概述及功能数据库语言演进·SQL诞生与发展·五大特点·三级模式·四大功能2.3MySQL数据类型数值类型·字符类型·二进制类型·日期类型2.4MySQL运算符和表达式算术运算符·比较运算符·逻辑运算符·非符号运算符·优先级2.5MySQL常用函数比较函数·数值函数·字符函数·日期函数2.6本章小结知识回顾·最佳实践·学习路径·案例分析2.1MySQL数据库操作环境01MYSQLOVERVIEWMySQL数据库简介核心定位MySQL是当前非常流行的开源关系数据库管理系统,使用C语言和C++开发,采用CMake编译。作为Web应用中最广泛使用的数据库之一,MySQL以其高性能、高可靠性和易用性著称。开发与维护现由Oracle公司开发、发布及提供支持,确保产品的持续更新与技术支持。MariaDB分支MariaDB是MySQL的一个分支,由开源社区维护,采用GPL授权许可,保持与MySQL的API和命令行兼容。版本获取MySQL最新版本可以从官方网站下载:教学版本本书以MySQL8.0社区版本为例进行数据库应用知识的讲解,该版本功能完善、稳定可靠。KEYCHARACTERISTICSMySQL的核心特点01数据库管理系统MySQL是一个完整的数据库管理系统(DBMS),提供数据存储、管理、查询等全方位功能,确保数据的安全性、完整性和一致性。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起点2025年7月全勤制度
- 警务站值班制度
- 民政执法考试试题及答案
- 2026南平光泽县不动产登记中心劳务派遣工作人员招聘2人备考考试题库附答案解析
- 2026年上半年黑龙江省人民政府黑瞎子岛建设和管理委员会事业单位公开招聘工作人员4人备考考试试题附答案解析
- 2026湖南智谷投资发展集团有限公司招聘18人参考考试题库附答案解析
- 2026四川广安市华蓥市委“两新”工委、华蓥市级行业(综合)党委社会化选聘新兴领域党建工作专员6人参考考试试题附答案解析
- 2026普洱学院招聘硕士附以上12人备考考试试题附答案解析
- 2026广西防城港市滨海中学春季学期临聘教师招聘备考考试题库附答案解析
- 2026年度青岛平度市事业单位公开招聘工作人员(36人)参考考试试题附答案解析
- 2026年上海市初三语文一模试题汇编之古诗文阅读(学生版)
- 2026北京西城初三上学期期末语文试卷和答案
- 2025河北邢台市人民医院招聘编外工作人员41人备考题库完整答案详解
- 2025年聊城事业编考试作文真题及答案
- 2026中国市场主流人力资源创新产品、解决方案集锦与速查手册
- 《盾构构造与操作维护》课件-项目1 盾构机构造与选型认知
- 2025年度手术室护士长工作总结汇报
- 统编版(2024)八年级上册道德与法治期末复习每课必背学考点汇编
- 2025至2030实验室能力验证行业调研及市场前景预测评估报告
- 藕种购销合同范本
- 纱窗生产合同范本
评论
0/150
提交评论