数据库原理精品课件完整版

上传人:r****d 文档编号:94844668 上传时间:2022-05-23 格式:DOC 页数:36 大小:121KB
收藏 版权申诉 举报 下载
数据库原理精品课件完整版_第1页
第1页 / 共36页
数据库原理精品课件完整版_第2页
第2页 / 共36页
数据库原理精品课件完整版_第3页
第3页 / 共36页
资源描述:

《数据库原理精品课件完整版》由会员分享,可在线阅读,更多相关《数据库原理精品课件完整版(36页珍藏版)》请在装配图网上搜索。

1、第一章绪论本章要求:1、了解数据管理的开展过程2、掌握数据库系统的根本概念和主要特点3、掌握数据库系统的三级模式结构和数据库系统的组成4、掌握实体、记录等有关概念和三种数据模型本章内容:1 数据库系统概述请选择内容2 数据模型3 DBS的结构返回4 数据库系统的组成数据库系统12021/8/7第一章绪论1 数据库系统概述一、根本概念1、数据:描述事务的符号记录。可用文字、图形等多种形式表示,经数字化处理后可存入计算机。2、数据库DB:按一定的数据模型组织、描述和存储在计算机内的、有组织的、可共享的数据集合。3、数据库管理系统DBMS:位于用户和操作系统之间的一层数据管理软件。主要功能包括:数据

2、定义功能:DBMS提供DDL,用户通过它定义数据对象。数据操纵功能:DBMS提供DML,用户通过它实现对数据库的查询、插入、删除和修改等操作。数据库系统22021/8/7第一章绪论数据库的运行管理:DBMS对数据库的建立、运行和维护进行统一管理、统一控制,以保证数据的平安性、完整性、并发控制及故障恢复。数据库的建立和维护功能:数据库初始数据的输入、转换,数据库的转储、恢复、重新组织及性能监视与分析等。4、数据库系统DBS:计算机中引入数据库后的系统,包括数据库DB数据库管理系统DBMS应用系统数据库管理员DBA和用户数据库系统32021/8/7第一章绪论二、数据管理与数据处理1、数据管理:对数

3、据收集、整理、组织、存储、维护、检索、传送等对象操作目标:在妥当的时候以妥当的形式给妥当的人提供妥当的数据。2、数据处理:对数据进行加工、计算、提炼,从而产生新的有效数据的过程数据信息数据库系统42021/8/7第一章绪论3、管理与处理的关系:管理是处理的根底处理为管理效劳源数据数据管理管理和处理又可看成一个问题的两个阶段,故可以统一起来,数据处理数据处理其中心是管理新数据新数据数据库系统52021/8/7第一章绪论三、数据管理的开展阶段?人工管理阶段50年代中期以前?文件系统阶段50年代中期至60年代后期?数据库系统阶段60年代后期以后数据库系统62021/8/7第一章绪论1、人工管理阶段程

4、序员管理阶段?数据不保存特点:?程序员负责数据管理的一切工作?数据和程序一一对应,没有独立性和共享性数据和程序的关系:应用程序1数据1应用程序2数据2应用程序n数据n数据库系统72021/8/7第一章绪论2、文件系统阶段基硬件:有了大容量直接存储外存设备,如磁盘、磁鼓等软件:有了专门的数据管理软件-文件系统础处理方式:有批处理、联机实时处理等又可分为两个阶段160年代初期出现了初等的文件系统主要特点:?组织方式:顺序文件?数据结构:物理结构= 逻辑结构?软件功能:仅有简单I/O操作2 60年代中期出现了成熟的文件系统?组织方式:顺序和随机存取并用主要特点:?数据结构:物理结构和逻辑结构有了简单

5、的变换?软件功能:软件系统提供了存取方法数据库系统82021/8/7第一章绪论数据与程序的关系:数据1应用程序1数据2应用程序2存取方法应用程序n数据n操作系统负责三个主要缺点:?数据高度冗余:数据根本上还是面向应用或特定用户的。?数据共享困难:文件根本上是私有的,只能提供很弱的文件级共享?数据和程序缺乏独立性:只有一定的物理独立性,完全没有逻辑独立性。数据库系统92021/8/7第一章绪论3、数据库系统阶段文件系统不能适应大数据量、多应用共享数据的根本原因:数据没有集中管理数据库方法的根本出发点:把数据统一管理、控制,共享使用数据与程序的关系:应用程序1应用程序数2DBMS据库应用程序n数据

6、库系统102021/8/7第一章绪论1数据高度结构化集成,面向全组织2数据共享性好。可为多个不同的用户共同使用3数据冗余少,易扩充4数据和程序的独立性高主物理独立性: 存储结构变,逻辑结构可以不变,从要而应用程序也不必改变。逻辑独立性: 总体逻辑结构变,局部逻辑结构可以优不变,从而应用程序也不必改变。点好处:简化应用程序的编写和维护5数据控制统一平安性控制:防止泄密和破坏完整性控制:正确、有效、相容并发控制:多用户并发操作的协调控制故障恢复:发生故障时,将数据库恢复到正确状态数据库系统112021/8/7第一章绪论4、各个阶段的比拟:从四个方面人工管理文件系统数据库系统谁管理数据程序员操作系统

7、提供存取方法系统集中管理面向谁特定应用根本上是特定用户面向系统共享性不能充分共享共享很弱数据独立性没有一定的物理独立性较高的独立性文件系统和数据库系统的本质区别:内部:数据库的数据是结构化的,有联系的文件系统的各记录无联系外部:数据库系统是共享的文件系统根本上是面向特定用户的数据库系统122021/8/7第一章绪论2 数据模型数据处理的抽象过程涉及三个领域抽象转换=?机器世界数据世界现实世界=?信息世界?建立概念模型建立数据模型便于用户和DB设计人员交流便于机器实现一、概念模型(信息模型把现实世界中的客观对象抽象成的某种信息结构,主要用于数据库设计。?独立于具体的计算机系统?独立于具体的DBM

8、S支持的数据模型数据库系统132021/8/7第一章绪论1、实体与记录实体:客观存在并可相互区分的事物。信实体集:性质相同的同类实体的集合。息世属性:实体具有的某一特性。界实体标识符:能将一个实体与其它实体区分开来的一个或一组属性。记录?实体抽象表示数文件?实体集据世字段或数据项?属性界关键字?实体标识符。唯一地标识一个记录。又称码、键。数据库系统142021/8/7第一章绪论2、型与值在DBS中,每一个对象广义上讲都有型与值之分:型是对象的结构或特性描述,值是一个具体的对象实例。类似于程序设计语言中数据类型与数据值的概念。1实体型:对实体固有特性或结构的描述。用实体名及其属性名集合来抽象和刻

9、画。如汽车车牌号,车型,车主实体值:实体型的一个实例,即一个具体的实体。如豫A00001,丰田,张三2记录型:记录格式。记录值:一个具体的记录。数据库系统152021/8/7第一章绪论如:车牌号名称车主豫A00001丰田张三3几点说明? 区分型与值的实质? DBS中讨论的重点是型? 通常只说实体、记录,含义根据上下文自明3、实体间的联系?实体内部的联系属性间的联系:反映在数据上就是记录内部数据项间的联系?实体之间的联系:反映在数据上就是记录之间的联系数据库系统162021/8/7第一章绪论实体之间的联系可归结为三类:11对1联系1 :1:两个实体如国家总统集中的每一个实体至多和另一个实体集学员

10、队队长中的一个实体有联系。21对多联系1 :n:假设实体集A中的每个实体与实体集B中0个或多个实如国家部长体有联系,而B中每个实体至多与A中的学员队学员一个实体有联系,那么称从A到B为1对多的联系。3多对多联系m :n:两个实如学员课程体集中的每一个实体都和另一个实体集中0个或多个实体有联系。数据库系统172021/8/7第一章绪论DBS的核心问题之一:如何表示和处理实体及实体间的联系。4、概念模型的表示方法之一:实体联系方法Entity-Relationship Approach用ER图Entity-Relationship Diagram描述:?实体型:用长方形表示属性名实体名联系:用菱形

11、表示1属性:用椭圆形表示?框内写上相应的名称属性名联系名?用无向边连接:n实体与其属性属性名实体名联系与其属性联系与有关实体,并标上联系类型数据库系统182021/8/7第一章绪论说明:?联系也必须命名学员?多个实体之间也可以有联系1n单个实体之间也可以有联系领导?联系也可以有属性供给商pm供给n工程零件供给量数据库系统192021/8/7第一章绪论例:某工厂物资管理E-R图P20姓名 号码面积地址帐号仓库号 号职工号姓名年龄供给商号1n职称供给商仓库职工工作mm1n库存库存量供给量供给领导nnp零件工程单价描述零件号规格工程号预算开工日期名称数据库系统202121/8/7第一章绪论二、数据模

12、型是对现实世界进行抽象的工具,它按计算机系统的观点对数据建模,用于提供数据库系统中信息表示和操作手段的形式框架,主要用于DBMS的实现,是数据库系统的核心和根底。1、常用的数据模型层次模型网状模型关系模型面向对象模型称作非关系模型,是以下根本层次联系的集合Ri Ri,Rj是实体型记录型LijLij是从Ri到Rj的1:1或1:n联系Rj 数据库系统212021/8/7第一章绪论2、数据模型的三要素形式化描述数据、数据结构静态数据之间的联系数据操作动态以及数据操作和有关的语义完整性约束约束规那么的方法如何表示如何实现如何保证数据的实体及联系查、增、删、改约束条件得到满足难点是表示联系根据现实世界实

13、体间联系的特征用四种不同的方法进行抽象层次模型(因此,是按照数据结构网状模型的类型来命名数据模型关系模型面向对象模型数据库系统222021/8/7第一章绪论3、层次模型根据一个单位的组织结构直观地得出学院部系方框表示一个实体型处结点教研室学员队线表示联系边教员学员1定义:用树形结构来表示实体以及实体间联系的模型。其特征是:a有且仅有一个结点无双亲根结点;b其它结点有且仅有一个双亲。数据库系统232021/8/7第一章绪论2说明:a树中实体间联系只能是从父到子的1:1或1:n联系,对m:n联系,须使用辅助手段转换成多个1:n联系,但不易掌握b简单直观,结构清晰,运行效率高,但编程复杂4、网状模型

14、1定义:用图结构来表示实体以及实体间联系的模型。其特征是:任一结点都可以无双亲或有一个以上的双亲。学校例教员班级课程学生数据库系统242021/8/7第一章绪论2优:可表示m:n的联系,运行效率高缺:过于复杂,实现困难3说明a即使对网状模型,具体在计算机上实现时,m:n 的联系仍需分解成假设干个1:n的联系。因此,网状模型的图结构实质上是有向图,如学生学号姓名年龄性别课程号名称m选课学生成绩单课程成绩单n学号课程号得分课程数据库系统252021/8/7第一章绪论工人b网状模型中允许两结点间有多条边,使用保养层次模型那么不允许设备5、关系模型层次、网状模型根本上是面向专业人员的,使用极不方便问题

15、:寻找一种能面向一般用户的数据模型?1定义:用二维表关系来描述实体及实体间联系的模型。2例如供给商零件供给nm数据库系统262021/8/7第一章绪论供给商S零件PS# SNAME SADDRP# PNAME PRICES1 张三北京P1 电机2000S2 李四郑州P2 螺丝2联系供给SP关系:对应一张表,每表起一个名称即关系名S# P# QTY元组:表中的一行S1 P1 200属性:表中一列,每列起一个名称即属性名S1 P3 22主码:唯一确定一个元组的属性组域:属性的取值范围数据库系统272021/8/7第一章绪论3关系模式:对关系的描述,一般表示为:关系名属性1,属性2,属性n4优点:?

16、无论实体还是实体之间的联系都用统一的数据结构二维表、关系来表示,可方便地表示m:n联系,因此概念简单,用户易懂易用mn如:选修课程学生可表示为:学生学号,姓名,性别,系和年级课程课程号,课程名,学分选修学号,课程号,成绩?表格中行、列次序无关?有坚实的理论根底关系理论数据库系统282021/8/7第一章绪论?存取路径对用户透明,用户只需指出“做什么,不需说明“怎么做,因此数据独立性更高缺点:由于存取路径对用户透明,查询效率不够高,必须对查询请求进行优化。说明:关系必须标准化,关系的每个分量必须是一个不可分的数据项,不允许表中套表。标准化理论将在后续章节讲解。5关系模型与非关系模型的比拟关系模型

17、非关系模型统一不统一实体及实体间联系采用的数据结构均为关系操作方式一次一集合一次一记录存取路径对用户透明对用户不透明数据库系统292021/8/7第一章绪论3 DBS的结构三级模式外模式、模式、内模式两级映象外模式/模式,模式/内模式映象一、DBS的三级模式结构1、模式Schema:又称逻辑模式。DB的全局逻辑结构。即DB中全体数据的逻辑结构和特征的描述。说明模式只涉及到型的描述,不涉及具体的值实例,反映的是数据的结构及其联系模式不涉及物理存储细节和硬件环境,也与应用程序无关模式承上启下,是DB设计的关键DBS提供模式DDLData Definition Language来定义模式描述DB结构

18、数据库系统302021/8/7第一章绪论模式定义的任务概念模型?模式?定义全局逻辑结构构成记录的属性名、类型、宽度等?定义有关的平安性、完整性要求?定义记录间的联系一个数据库只有一个模式2 、外模式:又称子模式或用户模式。DB的局部逻辑结构。即与某一应用有关的数据的一个逻辑表示。说明:?外模式是某个用户的数据视图,模式是所有用户的公共数据视图;?一个DB只能有一个模式,但可以有多个外模式;?外模式通常是模式的子集,但可以在结构、类型、长度等方面有差异;?DBS提供外模式DDL。数据库系统312021/8/7第一章绪论3、内模式:又称存储模式。数据的物理结构和存储方式的描述。即DB中数据的内部表

19、示方式。说明:?一个数据库只有一个内模式?DBS提供内模式DDL;记录存储格式,?内模式定义的任务索引组织方式,数据是否压缩、是否加密等。4、两级映象及其作用1外模式/模式映象:定义外模式和模式间的对应关系。对应同一个模式可以有多个外模式,对每个外模式都有一个外模式/模式映象。作用:模式变,可修改映象使外模式保持不变,从而应用程序不必修改,保证了程序和数据的逻辑独立性。数据库系统322021/8/7第一章绪论2模式/内模式映象:定义DB全局逻辑结构和存储结构间的对应关系。一个数据库只有一个模式,也只有一个内模式,因此模式/内模式的映象也是唯一的。作用:存储结构变,可修改映象使逻辑结构模式保持不

20、变,从而应用程序不必修改,保证了数据与程序的物理独立性。数据库系统332021/8/7第一章绪论4 数据库系统的组成一、数据库系统DataBase System,DBS的组成广义上讲,DBS就是计算机系统中引进数据库后的构成。有下面四局部:1、数据库:一个或多个数据库数据库的四要素:用户数据、元数据、索引和应用元数据2、软件?操作系统;支持DBMS的运行?数据库管理系统DBMSDataBase Management System:操纵和管理数据库的大型软件系统,是数据库系统的核心?数据库应用开发工具等辅助软件?具有数据库接口的高级语言与编译系统,如C、C+等?某个数据库应用系统数据库系统342

21、021/8/7第一章绪论3、人员用户应用程序员数据库管理员DBA使用开发管理DBAData Base dministrator的职责:决定数据库的内容和逻辑结构、存储结构确定数据的平安性要求和完整性约束条件监控数据库的使用和运行,维护数据库决定数据库的存储结构和存储策略负责数据库的改良和重组重构4、硬件计算机及有关设备,要求有足够大的内、外存储容量及较高的处理速度。数据库系统352021/8/7第一章绪论数据库系统图示:?没?用户2? ? ?用户n应用应用程序1应用程序m? ? ?程序员辅助软件DBMS操作系统DBA负责? ? ?数据库数据库数据库系统362021/8/7第一章绪论二、数据库系

22、统研究的对象如何高效巧妙地进行数据管理,而又花费最少三个主要研究领域:如:占用空间少DBMS及其辅助软件查询快数据库设计维护方便等数据库理论作业:3,5,7,12,13,20,22数据库系统372021/8/7第二章关系数据库本章要求:1、掌握关系、关系模式、关系数据库等根本概念2、掌握关系的三类完整性的含义3、掌握关系代数运算本章内容:请选择内容1 关系模型的根本概念2 RDBS的数据操纵语言:关系代数3 RDBS的数据操纵语言:关系演算语言返回数据库系统数据库系统2021/8/738第二章关系数据库1 关系模型的根本概念层次、网状数据库是面向专业人员的,使用很不方便。程序员必须经过良好的培

23、训,对所使用的系统有深入的了解才能用好系统。关系数据库就是要解决这一问题,使它成为面向用户的系统。关系数据库是应用数学方法来处理数据的。它具有结构简单、理论根底坚实、数据独立性高以及提供非过程性语言等优点。数据库系统数据库系统2021/8/739第二章关系数据库一、关系的数学定义1、域Domain: 值的集合。它们具有相同的数据类型,语义上通常指某一对象的取值范围。例如:全体整数,0到100之间的整数,长度不超过10的字符串集合2、笛卡尔积Cartesian Product:设D1、D2、Dn是n个域, 那么它们的笛卡尔积为D1?D2?Dn=(d1,d2,dn) | di ?Di,i=1,2,

24、n其中每一个元素称为一个n元组(n-tuple), 简称元组;元组中的每个值di称为一个分量(component).数据库系统数据库系统2021/8/740第二章关系数据库张三数学优笛卡尔积可以写成一个二维表张三数学良例如:张三语文优设D1=张三,李四,张三语文良D2=数学,语文,李四数学优D3=优,良李四数学良李四语文优那么D1D2D3可用二维表表示为:李四语文良3、关系Relation笛卡尔积D1?D2?Dn的子集合,记作RD1,D2,Dnn为关系的目或度关系名数据库系统数据库系统2021/8/741第二章关系数据库4、说明?关系是一个二维表。?每行对应一个元组。?每列可起一个名字,称为属

25、性。属性的取值范围为一个域,元组中的一个属性值是一个分量。5、关系的性质?列是同质的,即每列中的数据必须来自同一个域?每一列必须是不可再分的数据项不允许表中套表,即满足第一范式?不能有相同的行?行、列次序无关数据库系统数据库系统2021/8/742第二章关系数据库二、关系模型三局部:关系数据结构、关系操作集合、关系的完整性一数据结构1、单一的数据结构:关系二维表不管是实体还是实体间的联系都用关系表示。实体值?关系的元组,在关系数据库中通常称为记录属性值?元组的分量,在关系数据库中通常称为字段关键字码:唯一标识一个元组的属性组关键字可以有多个,统称候选关键字。在使用时,通常选定一个作为主关键字。

26、主关键字的诸属性称为主属性,其它为非主属性。数据库系统数据库系统2021/8/743第二章关系数据库2、关系模式:关系的描述。包括关系名、诸属性名、属性向域的映象、属性间的依赖。关系的型属性的类型、长度等一个元组为关系的一个值表示:RU,D,dom,F关系数据库模式:对关系数据库的描述,包括域型的定义及在域上定义的所有关系模式。关系数据库:所有实体及实体间联系的关系的集值合。是某时刻所有关系模式对应的关系的集合。数据库系统数据库系统2021/8/744第二章关系数据库3、关系的三种类型根本关系:客观存在的根本表查询表:由根本表按一定条件检索得到的结果视图View:从一个或多个根本关系上导出的关

27、系。它不对应实际的存储数据,是一个虚关系,然而可永久存在。相当于关系模型的外模式。由于二维表的存储策略非常简单,关于数据库的物理存储完全由DBMS自动完成。因此,在关系模型中不需要与内模式相应的概念。数据库系统数据库系统2021/8/745第二章关系数据库查询操作二关系操作1、种类:选择、投影、连接、除、并、交、差增加、删除、修改维护操作2、特点:一次一集合关系型?集合操作,一次操作一次一记录非关系型可存取多个元组?非过程化语言:用户只需告诉做什么What不需告诉怎么做How?数据定义、数据操纵、数据控制语言集成在一起DDLDCL:权限控制、完整性控制等DML数据库系统数据库系统2021/8/

28、746第二章关系数据库三关系模型的三类完整性1、实体完整性Entity Integrity根本关系的所有主属性不能取空值原因:根本关系?堤寮鞴丶质鞘堤灞乜汕治恍员晔叮晔斗什荒芸?、参照完整性Referential Integrity,也叫引用完整性假设根本关系R含有与另一个根本关系S的主关键字相对应的属性组FF称为R的外键或外部码,那么R中每个元组在F上的值或为空值,或等于S中某个元组的主关键字值数据库系统数据库系统2021/8/747。第二章关系数据库EMP的外键例:职工关系EMPENO,ENAME,DNO,只能取空值或DEPT部门关系DEPTDNO,DNAME中某关键字DEPT的主键的值又

29、如:学生关系SNO,SNAME,AGE,SEX课程关系CNO,CNAME选课关系SNO,CNO,G3、用户定义的完整性用户定义的某一属性值必须满足的语义要求。一经定义,DBMS会自动检查,从而不必在应用程序中作检查。本节开头本章开头下一节数据库系统数据库系统2021/8/748第二章关系数据库2 RDBS的数据操纵语言:关系代数关系代数的运算对象是关系,运算结果也为关系。其运算按运算符的不同可分为两类。一、传统的集合运算1、并Union:R ?S = t | tRtS2、交Intersection:R ?S = t | tRtS3、差Difference:R ?S = t | tRtS4、笛卡

30、尔积广义:R ?S = tt| tR tSrsr s 数据库系统数据库系统2021/8/749第二章关系数据库从行的角度的运算二、专门的关系运算1、选择Selection,又称限制Restriction?(R):在关系R中选出满足条件F的诸元组形成一个新F关系。条件表达式从列的角度的运算2、投影Projection?R:在R中选出假设干属性列组成一个新关系。A属性组投影后假设有重复行,那么自动保存一个数据库系统数据库系统2021/8/750?第二章关系数据库3、连接Join:从两个关系的笛卡尔积中选取属性间R SA?B满足条件A?B的元组。R中属性S中属性连接是同时处理比拟运算符多个关系的说明

31、:重要运算R S= ?R?SA?BA?B当?为等号且A、B两属性相同时,称为自然连接,记作R S假设仅有?为等号的条件,称为等值连接自然连接将去掉重复属性数据库系统数据库系统2021/8/751第二章关系数据库4、除DivisionRX,Y?SY,Z:把R按X的值分组,假设某一组中属性组Y的值包含S在Y上投影的全部属性组元组,那么该X的值作为S# C# GSC:S1 C1 A商关系的一个元组S1 C2 A例:求至少选修C1、按S1分组S1 C3 AC3课程的学生号码S1 C5 BS2 C1 B设一临时关系K:C#S2 C2 CC1S2 C4 CS3 C2 BC3S3 C3 C关系代数表达式S3

32、 C4 BS4 C1 B S1, ?SC??K = S#,C#S4 C3 A数据库系统数据库系统2021/8/752第二章关系数据库4、除DivisionRX,Y?SY,Z:把R按X的值分组,假设某一组中属性组Y的值包含S在Y上投影的全部属性组元组,那么该X的值作为S# C# GSC:S1 C1 A商关系的一个元组S1 C2 A例:求至少选修C1、S1 C3 AC3课程的学生号码S1 C5 BS2 C1 B按S2分组设一临时关系K:C#S2 C2 CC1S2 C4 CS3 C2 BC3S3 C3 C关系代数表达式S3 C4 BS4 C1 B S1, ?SC?K = S#,C#S4 C3 A数据

33、库系统数据库系统2021/8/753第二章关系数据库4、除DivisionRX,Y?SY,Z:把R按X的值分组,假设某一组中属性组Y的值包含S在Y上投影的全部属性组元组,那么该X的值作为S# C# GSC:S1 C1 A商关系的一个元组S1 C2 A例:求至少选修C1、S1 C3 AC3课程的学生号码S1 C5 BS2 C1 B设一临时关系K:C#S2 C2 CC1S2 C4 CS3 C2 BC3按S3分组S3 C3 C关系代数表达式S3 C4 BS4 C1 B S1, ?SC?K = S#,C#S4 C3 A数据库系统数据库系统2021/8/754第二章关系数据库4、除DivisionRX,

34、Y?SY,Z:把R按X的值分组,假设某一组中属性组Y的值包含S在Y上投影的全部属性组元组,那么该X的值作为S# C# GSC:S1 C1 A商关系的一个元组S1 C2 A例:求至少选修C1、S1 C3 AC3课程的学生号码S1 C5 BS2 C1 B设一临时关系K:C#S2 C2 CC1S2 C4 CS3 C2 BC3S3 C3 C关系代数表达式按S4分组S3 C4 BS4 C1 B, S4 S1, ?SC?K = S#,C#S4 C3 A数据库系统数据库系统2021/8/755第二章关系数据库S# C# GSC:三、关系代数运算举例S1 C1 AS:S# SN SD SAS1 C2 A求至少

35、选修这样一S1 C3 AS1 A CS 20门课的学生姓名,这门S1 C5 BS2 B CS 21S2 C1 B课的直接先行课是C2?S3 C MA 19S2 C2 CS4 D CI 19?先找出先行课为C2的课程号:S2 C4 CS5 E MA 20?C,记为PCS3 C2 BS6 F CS 22PC#=C2S3 C3 C?找选修该类课程的学生学号:S3 C4 BC:C# CN PC#S4 C2 BPC ?SCC1 G S#,C#S4 C5 D记为PCSC2 H C1S5 C2 C?C3 I C2S5 C3 B?找出学生姓名:C4 J C2?S5 C5 BC5 K C4PCS ?SS6 C1

36、 A?SNS#,SNS6 C5 A数据库系统数据库系统2021/8/756第二章关系数据库最终的关系代数表达式:?C?SC?SPC#=C2SNS#,C#S#,SNPCPCS说明:用关系代数表示查询时,假设查询涉及多个关系,需用连接操作实现;假设查询诸如“选修了全部课程的学生、“使用了全部零件的工程等,需用除法操作实现。作业:1,4,5,6本章开头下一节本节开头数据库系统数据库系统2021/8/757第二章关系数据库3 RDBS的数据操纵语言:关系演算语言关系演算:基于谓词演算面向元组:谓词变量的获得值是关系中的元组按谓词变量元组变量的特征划分面向域:谓词变量的获得值是关系中某属性的值域变量一、

37、元组关系演算1、元组关系演算表达式:t为元组变量 t | ?(t) 运算的结果还是一个关系公式数据库系统数据库系统2021/8/758第二章关系数据库2、原子公式?R (t): 表示t是关系R中的一个元组?ti?uj: 表示t的第i个分量和u的第j个分量满足比拟关系?ti?C 或C?ti:含义同上,只不过C为常量3、公式的递归定义(1)每个原子公式是一个公式;(2)设?1、?2是公式,那么?1、?1 ?2、?1 ?2 也是公式;(3)设?是公式,t是元组变量,那么( ?t) ?、( ?t) ?也是公式;(4)除此之外没有其它形式的公式。数据库系统数据库系统2021/8/759第二章关系数据库4

38、、关系代数运算均可用关系演算来表示,反之亦然见教材P71。S:S# SN SD SA5、用关系演算来表达查询S1 A CS 20S2 B CS 21例1,求年龄大于或等于20的学生:S3 C MA 19S20= t | S(t)?t4?20 S4 D CI 19S5 E MA 20例2,求学生姓名及所在的系:S6 F CS 22(2)S1 A CS 20S1= t | (?u )(S(u) ?S2 B CS 21t1=u2 ?t2=u3 )S3 C MA 19S4 D CI 19S5 E MA 20S6 F CS 22数据库系统数据库系统2021/8/760第二章关系数据库4、关系代数运算均可

39、用关系演算来表示,反之亦然见教材P106。S:S# SN SD SA5、用关系演算来表达查询S1 A CS 20例如,求年龄大于或等于20的学生:S2 B CS 21S3 C MA 19S20= t | S(t)?t4?20 S4 D CI 19S5 E MA 20S6 F CS 226、平安表达式:不产生无限关系和无穷验证的关系演算表达式。措施;进行平安限制。即规定一个有限的符号集通常取关系的各属性列中所有值的聚集数据库系统数据库系统2021/8/761第二章关系数据库平安演算表达式的充分条件:设DOM(?) 是适中选定的一个有限集合, 当满足下述条件时,元组演算表达式 t | ?(t) 是

40、平安的:(1) 如果t 使?(t)为真, 那么t 的每个分量是DOM(?)中的元素;限定自由变量, 保证结果的有限性(2) 对于?(t)中每一个形如(?u)(W(u) 的子表达式, 假设u 使W(u)为真,那么u 的每个分量是DOM(?)中的元素;(3) 对于?(t)中每一个形如(?u)(W(u) 的子表达式, 假设u 使W(u)为假,那么u 的每个分量是DOM(?)中的元素; 换言之, 假设u 的某一分量不属于DOM(?), 那么W(u)为真限定约束变量, 保证计算过程的有穷验证性数据库系统数据库系统2021/8/762第二章关系数据库二、未实现的元组关系演算语言ALPHAE. F. Cod

41、d提出,但并未实现。1、检索操作GET)1不设元组变量例:取出计算机系学生的学号:GET W S.S#):S.SD=CS工作空间名表达式限定条件数据库系统数据库系统2021/8/763第二章关系数据库二、未实现的元组关系演算语言ALPHAE. F. Codd提出,但并未实现。1、检索操作GET1不设元组变量(事实上关系名起到元组变量的作用)例:取出计算机系学生的学号:GET W S.S#):S.SD=CS相当于投影相当于原子公式ti?C取出一个计算机系学生的学号GET W (1) S.S#):S.SD=CS定额数据库系统数据库系统2021/8/764第二章关系数据库(2) 使用元组变量用较短的

42、名字代替较长的关系名应用场合使用量词时变量范围说明关系名元组变量例查找不选C1课程的学生姓名RANGE SC XGET W S.SN): ?X(X.S# ?S.S# ?X.C# ?C1)查找选修全部课程的学生姓名RANGE C CXRANGE SC SCXGET WS.SN): ?CX?SCX(SCX.S# =S.S# ?SCX.C# =CX.C#)数据库系统数据库系统2021/8/765第二章关系数据库2、存储操作1修改:UPDATE关键字不能修改,2插入:PUT只能先删除、再插入3删除:DELETE参阅教材P67-P69。数据库系统数据库系统2021/8/766第二章关系数据库三、域关系演

43、算与元组关系演算类似,只不过这里的变量取值范围是属性值,其谓词变元称作欲变量,关系的属性名可视作欲变量。关系代数、元组关系演算、域关系演算的表达能力是等四价、的域。关系演算语言QBEQBE是Query By Example的缩写,1978年在IBM370上实现。1、特点?用户通过表格形式提出查询,查询结果也通过表格显示出来?用户容易掌握,易学易用数据库系统数据库系统2021/8/767第二章关系数据库2、使用方法1用户提出使用要求如键入某一命令2机器显示空白表格SS#SNSDSA3用户输入关系名如学生关系S4机器自动显示属性名数据库系统数据库系统2021/8/768第二章关系数据库2、使用方法

44、1用户提出使用要求如键入某一命令2机器显示空白表格查询条件SD=CS3用户输入关系名如学生关系SSS#SNSDSA4机器自动显示属性名5提出查询要求P.张三CSP.30如查询计算机系的学生姓名和年龄P.是操作符例如元素(任选一个可能的值)数据库系统数据库系统2021/8/769第二章关系数据库3、其他例子:1查询操作SS#SNSDSA例1:查计算机系年龄大P.张三CS>19于19的学生姓名两个条件写两行, SS#SNSDSA例如元素相同, 表示P.张三CS条件之间是“与的关P.张三>19系例2:查计算机系或年龄大于19的学生姓名SS#SNSDSA例如元素不同, 表示P.张三CS条件

45、之间是“或的关系P.李四>19数据库系统数据库系统2021/8/770第二章关系数据库例3:查选修C2的学生名字涉及两个关系,需要连接操作SCS#C#GS1C2不同关系中的两个例如元素相同,表示了连接操作。SS#SNSDSAS1P.张三数据库系统数据库系统2021/8/771第二章关系数据库(2) 修改操作修改操作符为“U.,不允许修改主码,假设要修改主码,需先删除元组,再插入。SS#SNSDSA例1:把学号为S1的学S1U. CS生转入计算机系。修改操作不包含表SS#SNSDSA达式,可有两种表U.S1CS示方法。SS#SNSDSA例2:将计算机系所有学生的年龄增加1岁。19S1CSU

46、.S119+1数据库系统数据库系统2021/8/772第二章关系数据库3插入操作操作符为“I.,新元组必须包含码,其他属性值可为空。SS#SNSDSA例:19I.S8美丽CS4删除操作操作符为“D.。SS#SNSDSA例:删除计算机系D.CS的学生。数据库系统数据库系统2021/8/773第三章关系数据库标准语言SQL本章要求:1、掌握SQL定义根本表和建立索引的方法2、掌握SQL中各种查询方法和数据更新方法3、掌握SQL中视图的定义方法和用法4、掌握SQL的授权机制5、了解嵌入式SQL的根本使用方法本章内容:请选择内容1 SQL概述2 SQL数据定义功能3 SQL数据操纵功能4 视图返回5

47、SQL数据控制功能6 嵌入式SQL2021/8/7数据库系统数据库系统74第三章关系数据库标准语言SQL1 SQL概述一、SQL 的开展SQL是Structured Query Language的缩写ANSI解释为Standard Query Language74年Boyce &Chambarlin提出,在IBM的System R上首先实现79年Oracle82年IBM的DB2采用SQL作为数据库语言84年Sybase2021/8/7数据库系统数据库系统75第三章关系数据库标准语言SQL86年10月成为美国国家标准87年国际标准化组织ISO采纳为国际标准89年ISO推出SQL8992年

48、ISO推出SQL2目前正制定SQL3标准二、SQL的主要特点1、一体化:两方面集DDL、DML、DCL为一体实体和联系都是关系,因此每种操作只需一种操作符2021/8/7数据库系统数据库系统76第三章关系数据库标准语言SQL2、高度非过程化语言WHAT ?HOW ?3、面向集合的操作方式一次一集合4、交互式和嵌入式两种使用方式,统一的语法结构5、语言简洁,易学易用完成核心功能只有9个动词:数据查询:SELECT数据定义:CREATE,DROP,ALTER数据操纵:INSERT,DELETE,UPDATE数据控制:GRANT,REVOKE6、支持三级模式结构视图?外模式根本表的集合?模式存储文件

49、和索引?内模式2021/8/7数据库系统数据库系统77第三章关系数据库标准语言SQL用户SQLView V1View V2外模式Base tableBase tableBase tableBase table模式B1B2B3B4Stored fileStored file内模式S1S2SQL支持的三级模式结构2021/8/7数据库系统数据库系统78第三章关系数据库标准语言SQL说明:?根本表是独立存在的表。一个关系对应一个表。一个或多个表对应一个存储文件,每个表可有假设干索引,这些索引也可放在存储文件中。?视图是从一个或几个根本表中导出的表,概念上同根本表。但它并不真正存储数据,也不独立存在,

50、它依赖于导出它的根本表,数据也存放在原来的根本表中。?对内模式,只需定义索引,其余的一切均有DBMS自动完本钱节开头本章开头下一节2021/8/7数据库系统数据库系统79第三章关系数据库标准语言SQL2 SQL数据定义功能三局部:?定义和修改根本表定义模式:CREATE TABLEDROP TABLEALTER TABLE?定义视图定义外模式:CREATE VIEWDROP VIEW?定义索引定义内模式:CREATE INDEXDROP INDEX说明:视图是从根本表导出的虚表,索引依赖于根本表,SQL没有修改视图和索引的操作,可通过先删除,再创立达此目的。2021/8/7数据库系统数据库系统

51、80第三章关系数据库标准语言SQL一、根本表的定义和修改1、定义:根本格式为CREATE TABLE 表名列名1 类型列级完整性约束,列名2 类型列级完整性约束;例如CREATE TABLE SS# CHAR3NOT NULL UNIQUE,取值唯一SN CHAR15,说明:不允许取空值SD CHAR15,?注意SQL语句的书写格式SA SMALLINT;?SQL支持空值的概念。允许空值的列未输入数据时系统自动置为空值。?SQL支持的数据类型随系统不同而有所差异。2021/8/7数据库系统数据库系统81第三章关系数据库标准语言SQL不支持NOT NULL选择2、修改根本表如ALTER TABL

52、E S ADD SD INT;1增加列:ALTER TABLE 表名ADD列名类型完整性约束;2修改列如ALTER TABLE S MODIFY SD CHAR20ALTER TABLE 表名MODIFY 列名类型;3删除完整性约束ALTER TABLE 表名DROP完整性约束名;注意:不能删除列,新增列的值一律为空值,可增加列宽,但一般不能减小列宽,修改可能会破坏已有数据。在定义根本表时要考虑充分2021/8/7数据库系统数据库系统82第三章关系数据库标准语言SQL3、删除:DROP TABLE 表名;注意:删除根本表时,表中的数据、建立在表上的索引和视图将一并被删除,因此应格外小心。二、索

53、引的建立和删除由DBA或表的属主进行,存取数据时由系统自动选取适宜的索引作为存取路径,用户不必也不能选择索引。2021/8/7数据库系统数据库系统83第三章关系数据库标准语言SQL一个索引项值仅对应唯一的数据记录1、建立CREATE UNIQUE CLUSTER INDEX 索引名ASCASCON 表名列名,列名;DESCDESC改变记录的物理顺序使之与索引项值的排列顺序升序或降序相同,称为聚簇索引。显然一个表只能建立一个缺省为升序聚簇索引。可通过在经常查询而改动小的表上建立这种索引来提高查询效率。如CREATE UNIQUE INDEX XSNOON SS#;CREATE UNIQUE IN

54、DEXSCNO ON SCSNO ASC,CNO DESC;2、删除DROP INDEX 索引名;2021/8/7数据库系统数据库系统84第三章关系数据库标准语言SQL3 SQL数据操纵-查询查询是数据库的核心操作。SQL仅提供了唯一的语句SELECT,其使用方式灵活,功能非常丰富。相当于投影1、一般格式细节见P115全部字段SELECTALL |DISTINCT *| 目标列被查询的关系FROM根本表或视图相当于选择或连接 WHERE条件表达式 GROUP BY列名1 HAVING内部函数表达式 分组统计ASC满足条件的组才输出 ORDER BY列名2 ;DESC对查询结果排序2021/8/

55、7数据库系统数据库系统85第三章关系数据库标准语言SQL2、简单查询例1:求选修了课程的学生学号从结果中去掉重复的元组SELECT DISTINCTS#FROM SC;例2:SELECT的后面可以是表达式。如求计算机系学生的学号和出生年份:SELECT S#,Birthday:,2000-SAFROM SWHERE SD=CS;例3:连续范围查询,使用BETWEEN NOT BETWEENSELECT S#,SA即求20到22岁之间FROM S的学生学号和年龄WHERE SA BETWEEN 20 AND 22;2021/8/7数据库系统数据库系统86第三章关系数据库标准语言SQL例4:离散范

56、围查询,使用IN NOT IN星号表示无投影SELECT *相当于假设干FROM SOR的缩写WHERE SD IN MA,CS;SD=MA OR SD=CS2021/8/7数据库系统数据库系统87第三章关系数据库标准语言SQL2、简单查询例1:求选修了课程的学生学号从结果中去掉重复的元组SELECT DISTINCTS#FROM SC;例2:SELECT的后面可以是表达式。如求计算机系学生的学号和出生年份:SELECT S#,Birthday:,1998-SAFROM SWHERE SD=CS;例3:连续范围查询,使用BETWEEN NOT BETWEENSA>=20 AND 相当于假

57、设干SELECT S#,SASA<=22AND 的缩写FROM SWHERE SA BETWEEN 20 AND 22;2021/8/7数据库系统数据库系统88第三章关系数据库标准语言SQL例4:离散范围查询,使用IN NOT INSELECT *相当与假设干FROM SOR的缩写WHERE SD IN MA,CS;例5:模糊查询,使用LIKE NOT LIKESELECT *查姓名中有清字的学生FROM SWHERE SN LIKE %清%;DB2中,下划线_表示匹配任何单个字符其它语言中, 常用?百分号%表示匹配任何字符串常用*例6: 涉及空值的查询, IS NULLIS NOT N

58、ULLSELECT S#, C# FROM SCWHERE G IS NULL ;2021/8/7数据库系统数据库系统89第三章关系数据库标准语言SQL3、连接查询:涉及至少两个表的查询SQL中没有专门的JOIN命令,而是靠SELECT语句中的WHERE子句来到达连接运算的目的,因此更加灵活、简便。用来连接两个表的条件称为连接条件或连接谓词。连接条件的一般格式为:表名1.列名1 比拟运算符表名2.列名2表名1.列名1 BETWEEN 表名2.列名2 AND 表名2.列名3比拟运算符主要有:=、> 、< 、>=、<=、!=。等值连接:运算符为“=时。非等值连接:运算符不是

59、“=时。自然连接:等值连接且目标列不含重复属性。连接操作的实现过程:见教材P102中部。2021/8/7数据库系统数据库系统90第三章关系数据库标准语言SQL例1:简单的连接查询S : S# SN SD SASC:S# C# G求选修C1课程的学生学号、01 A MA 20 01 C1 A 02 B CS 1901 C2 A姓名和成绩03 C IS 2102 C2 B连接字段SELECT S.S#, SN, G04 D MA 1902 C3 CFROM S, SC05 E MA 2003 C3 B04 C1 BWHERE S.S#=SC.S# 连接条件04 C4 AAND SC.C#=C1;或称连接谓词表名前缀(字段名唯一时可省略)2021/8/7数据库系统数据库系统91第三章关系数据库标准语言SQL例1:简单的连接查询S : S# SN SD SASC:S# C# G条件满缺乏满足求选修C1课程的学生学号、01 A MA 20 01 C1 A 02 B CS 1901 C2 A姓名和成绩03 C IS 2102 C2 BSELECT S.S#, SN, G04 D MA 1902 C3 CFROM S, SC05 E MA 2003 C3 B04 C1

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!