收藏 分销(赏)

激励大学生的说说:感情的世界没有对与错课件.ppt

上传人:a199****6536 文档编号:13222377 上传时间:2026-02-05 格式:PPT 页数:253 大小:2.32MB 下载积分:8 金币
下载 相关 举报
激励大学生的说说:感情的世界没有对与错课件.ppt_第1页
第1页 / 共253页
激励大学生的说说:感情的世界没有对与错课件.ppt_第2页
第2页 / 共253页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第一章,绪论,数据库是,数据管理,的工具。,数据管理,经历了从手工管理阶段、文件管理阶段到数据库管理阶段的变迁。,1.1 数据库系统概述,1.1.1,数据、数据库、数据库管理系统、数据库系统,一、数据库,(Data Base),存放数据的仓库(顾名思义,/,不准确的含义),信息的载体,/,表示,尽管数据库技术已发展成熟,但还没有一个普遍接受的、严格的定义。,数据库应具备的特征,/,定义:,(1),数据库是相互关联的数据的集合,数据库中的数据不是孤立的,数据与数据之间是相互关联的,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。,如:学籍管理学生、课程两类数据。,(2),用综合的方法组织数据,顺序、索引、聚簇Cluster,1.1.1,数据、数据库、数据库管理系统、数据库系统,例:人事部门有一个职工文件:,职工基本情况,有关人事管理的数据,教育部门也有一个职工文件:,职工基本情况,有关教育培训的数据,其中,“职工基本情况”重复存储,浪费空间。可共享存储类似这样的共同数据,以降低数据的冗余度。,(,3),具有较小的数据冗余,可供多个用户共享,低冗余与数据共享:,在数据库技术之前,数据文件都是,独立的,,任何数据文件都必须含有满足某一应用的,全部数据,。,1.1.1,数据、数据库、数据库管理系统、数据库系统,1.1.1,数据、数据库、数据库管理系统、数据库系统,(5),具有安全控制机制,能够保证数据的安全、可靠,数据库要有一套安全机制,以便有效地防止数据库中的数据被非法使用/修改;,数据库还要有一套备份/恢复机制,以保证当数据遭到破坏时将数据立刻完全恢复=继续、可靠地运行。,(6),允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性,一致性,:数据库中的数据是共享的,并且允许多个用户同时使用相同的数据。这就要求数据库能够协议一致,保证各个用户之间对数据的操作不发生矛盾和冲突。,正确性、完整性:,保证数据正确的特性数据完整性,可通过建立一些约束条件保证数据库中的数据是正确的。,如:学生年龄20 (2或100则错误),1.1.1,数据、数据库、数据库管理系统、数据库系统,二、,数据库管理系统(DataBase Management System,DBMS),上节提到的数据库的功能/特性不是数据库中的数据固有的,是靠管理或支持数据库的系统软件DBMS提供的。,DBMS任务:,对数据资源进行管理,使之能为多个用户共享。,保证数据的安全性/可靠性/完整性/一致性/独立性,1.1.1,数据、数据库、数据库管理系统、数据库系统,1.1.1,数据、数据库、数据库管理系统、数据库系统,2,数据库操纵功能,完成对数据库中数据的操作:插入、删除、修改;,重新组织数据库的存储结构;,完成对数据库的备份/恢复等.,DBMS功能:,1,数据库定义功能,定义数据库结构和存储结构;,定义数据库中数据之间的联系;,定义数据完整性约束条件和保证完整性的触发机制等.,三、数据库系统和数据库管理员,1数据库系统,(DataBase System,DBS),基于数据库的计算机应用系统,包括:,以数据为主体的,数据库,管理数据库的系统软件,DBMS,支持数据库系统的计算机,硬件环境和操作系统环境,管理和使用数据库系统的人,特别是,DBA,方便使用和管理系统的,技术说明书和使用说明书,1.1.1,数据、数据库、数据库管理系统、数据库系统,1.1.1,数据、数据库、数据库管理系统、数据库系统,注:DBA工作繁重、重要、关键:,除了要掌握一定的数据处理、数据库技术之外,还应有处理好人际关系的素质、能力。在一个企事业中,特别是一个规模较大的数据库,不能指望一两个人来完成管理工作,所以DBA常指数据库管理部门。,开发DBS时,一开始就应设置DBA的职位或相应的机构,以明确DBA职责、权限。,2,文件系统阶段(50年代后期60年代中期),特点:,计算机技术有了很大的发展,开始广泛应用于信息处理,存储设备有了磁盘、磁鼓等可直接存取的设备,计算机有了操作系统,包括文件管理系统,用户可将数,据组织成文件体交给系统进行自动管理。,数据可长期保存在磁盘等存储设备上,程序和数据有了一定的独立性,且文件有多种形式的组,织结构:顺序、链接、索引、直接,1.1.2,数据管理技术的产生和发展,缺点:,(1)数据冗余较大,每个文件都是为特定的用途设计的,,同样数据在多个文件中重复存储,进能提供以文件为单位的数据共享。,(2)程序和数据之间的独立性较差,应用程序依赖于文件的存储结构,修改文件存储结构就要修改程序,1.1.2,数据管理技术的产生和发展,(3)对数据的表示和处理能力较差,文件的结构和操作比较单一,不够丰富。,(4)数据不一致,由(1)造成,更新时会造成同一数据在不同文件中的不一致。,(5)数据联系弱,文件与文件之间是独立的,文件之间的联系必须通过程序来构造。,尽管如此,文件系统在数据管理技术的发展中仍起着很重要的作用。,1.1.2,数据管理技术的产生和发展,1.1.2,数据管理技术的产生和发展,3.数据库系统阶段,从60年代后期开始,计算机用于信息处理的规模越来越大,对数据管理的技术提出了更高的要求,此时开始提出计算机网络系统和分布式系统,出现了大容量的磁盘,文件系统已不再能胜任多用户环境下的数据共享和处理。一个新的数据库管理技术DBMS由此而形成,它对所有用户数据实行统一的、集中的管理、操作和维护。,特点:(,具体见萨师煊等主编数据库系统概论Page9-13),按照数据模型的进展情况,数据库系统的发展可划分为三代:,第一代:层次数据库系统和网状数据库系统,主要支持层次和网状数据模型,第二代:关系数据库系统,支持关系数据模型,该模型有严格的理论基础,概念简单、清晰,易于用户理解和使用。因此一经提出便迅速发展,成为实力性最强的产品。,1.1.2,数据管理技术的产生和发展,1.2 数据模型,模型,对客观事物、现象、过程或系统的简化描述,所有的数据库系统都为它所要描述的世界建立了模型:,数据建模:描述了组织数据的框架结构。,如:楼房住户-数据;房间规格-数据模型,数据建模最后发展成为数据的存储方式(数据字典 中的定义),业务功能建模:用户的最终需求。,业务功能建模最后发展成为应用程序,产生高效的应用程序的前提是良好的数据模型。(正如10 平米的房间无法成为会议厅一样,一个糟糕的数据模型也无法产生高质量的应用。,1.2 数据模型,为什么要建立数据模型(Data Model):,象盖大楼的设计图一样,DM可使所有的,项目参与者都有一个共同的数据标准,避免出现问题再解决(边干便改的方式),可及早发现问题,加快应用开发速度,1.2.1,数据模型的三要素,33.,数据的约束条件,完整性规则的集合,数据库中的数据必须满足,这组规则。,约束条件的主要目的是使数据库与它所描述的现实系,统相符合。,设计时:时数据模型正确、真实、有效地反映现实,运行时:保证数据库中的数据值真实地体现现实世 界的状态,1.2.2常见数据模型,根据数据模型应用目的不同,数据模型有以下几种:,概念(数据)模型(,Conceptual Data Model),面向现实世界建模,主要用来描述现实世界的概念化结构,与具 体的DBMS无关;,-,现实世界的事物经过人脑的抽象加工,提取出对用,户有用的信息,经过组织整理加工形成结余现实世,界和计算机世界之间的中间模型;,-,CDM只关心现实世界中的事物、事务特征、联系,,完全没有与具体及其相关的任何概念;,1.2.2常见数据模型,逻辑(数据)模型(,Logical Data Model),面向用户建模,用户从数据库所看到的数据模型;,-是具体的,DBMS所支持的数据模型(网状/层次,/关系/面向对象);,-,既要面向用户,也要面向系统;,-,LDM表示数据建联系的方法,-,一般的,DBMS支持一种LDM(特殊的DBMS支,持多种LDM),1.2.2常见数据模型,物理(数据)模型(,Physical Data Model),面向具体的DBMS,面向机器,描述数据在存储介质上的组织结构,-,PDM不仅与具体的DBMS有关,还与操作系统 和硬件有关,-,每一种逻辑模型在实现时都有其对应的物理模型,-,PDM加入了概念模型中为考虑的因素:触发器、存储过程、主键、外键、索引等,-DBMS为保证其独立性和可以执行,大部分PDM 的实现工作由系统自动完成,而设计者只设计索 引、聚簇等特殊结构,1.2.3概念模型,实体-联系(Entity-Relationship)概念模型,首先介绍E-R模型中常用的几个重要概念,利用它们可,构造出现实世界的数据的抽象描述。,1实体、实体型、实体集,实体(,Entity),客观存在并能相互区分的事物,如:人;数据库课程;正是用的计算机;一 场足球赛,不能严格地定义实体,正如几何中“点”,“线”一样。,关键之处:一个实体能和别的实体区分开。,1.2.3概念模型,3联系(Relationship),实体集合间存在的相互关系,为了建立现实世界的完整模型,常常需要对联系 分,类,根据一个实体集合的实体可以和多少个另一类,实体集合的实体相联系,可将联系分为如下几种:,(1),一对一联系(,1:1),系系主任,(2),一对多联系(,1:n),班级学生,(3),多对多联系(,m:n),课程学生,1.2.3概念模型,举例1:(具体见萨师煊等主编数据库系统概论 Page17-18),两个实体型之间的联系(图1.10),三个实体型之间的联系(图1.11),一个实体型之间的联系(图1.12),举例2:(具体见萨师煊等主编数据库系统概论 Page19-20)图1.14、图1.15,1.2.3概念模型,4 实体-联系图,(1),确定所有实体集合,用矩形方框表示实体集合,方框内标明实体集合名称;,(2),选择实体集应包含的属性,用椭圆框表示属性,通过无向边连接到实体集。只有一个属性的实体集可用属性代替,附加到它参加的联系上;,(3),确定实体集之间的联系,用菱形框表示,框内标明联系的名称,通过无向边(或有向边)连接到参加联系的每个实体集合;,1.2.3概念模型,(4),确定实体集的关键字,用下划线在属性上标明关键字的属性集合;,(5),确定联系的类型,在用无向边连接联系到实体集时,在边上注明1或 n(多)来知名联系的类型。(在用有向边连接联系到实体集时,让边的箭头指向1的实体集的一方,多对多因为都是多方,故无箭头),1.2.4 三种主要的逻辑数据模型,上节讨论的概念数据模型是“概念上”的,是抽象的,它与具体的数据库管理系统无关。这节要讨论的数据模型将与具体的DBMS有关,与DBMS支持的数据和联系的表示或存储有关。,前面提到过,数据库中不仅要存放数据本身,还要存放数据间的联系,可用不同的方法表示数据与数据之间的联系。,把表示数据与数据之间联系的方法称为逻辑(数据)模型。,1.2.4 三种主要的逻辑数据模型,一、,层次模型(,Hierarchical Model),用树型结构来表示实体之间联系的模型。,支持层次模型的典型系统诞生于1970年前后,是IBM,公司的IMS(Information Management System)系统。,1.,层次模型的数据结构,层次模型示例(,萨师煊等主编数据库系统概论,Page22 图1.17),举例:Page23,1.2.4 三种主要的逻辑数据模型,2,层次模型的数据操纵与完整性约束,3,层次模型的存储结构,4层次模型的优缺点,优点:结构简单,缺点:插入、删除限制多,1.2.4 三种主要的逻辑数据模型,二、,网状模型(,Network Model),典型代表:DBTG(Data Base Task Group)数据,库任务组,1,网状模型的数据结构,2,网状模型的数据操纵与完整性约束,3,网状模型的存储结构,4网状模型的优缺点,优点:更能直接描述世界,缺点:结构复杂,1.2.4 三种主要的逻辑数据模型,三、,关系模型(,Relational Model),1970,IBM,E.F.Codd,关系模型源于数学,它把数据看成是二维表(关系)中的元素。(其严格定义下一章给出),用关系表示(不需用指针)实体和实体之间联系的模 型称为关系模型。,基本术语:,萨师煊等主编数据库系统概论,Page31,举例见教材,对于用户,关系方法应该是很简单的,但RDBMS很 复杂,因为将大量工作都转嫁给了RDBMS。,1.2.4 三种主要的逻辑数据模型,RDBMS的设想在层次、网状数据库诞生的同时产生的,但研制开发RDBMS却花费了比人们想象的要长得多的时间。所以成为商品并投入使用比层次、网状数据库晚了十几年。但一投入使用就显示了旺盛的活力,并逐步取代层次、网状数据库。,1.3 数据库系统的结构,1.3.1,数据库系统模式的概念,当,设计数据库,时,对数据库的,结构,感兴趣;,即,模式(Schema):,数据库中数据的逻辑结 构和特征的描述,当,应用数据库,时,关心的是数据库中存在的数据,实例(Instance)。,数据库中的数据经常变化,而数据库的结构在一定时,间范围内不会改变。,数据库中结构的定义可以在多个抽象级别进行,形成,多个级别的数据库模式。,1.3.2 数据库系统的三级模式结构,数据库系统的三级模式不仅可以使数据具有独立性,而且还可以使数据达到共享,使同一数据满足更多用户的不同要求。,一、,内模式(,Internal Schema),存储模式,是数据在数据库系统的内部表示,即对数据的物 理结构,/存储方式的描述,是低级描述,一般由 DBMS提供的语言或工具完成;,1.3.2 数据库系统的三级模式结构,要修改存储数据库的结构(例如,用倒排文件代替多,链表),那么仅仅需要把这些修改反映在存储模式中;,通常我们不关心内模式的具体技术实现,而是从一般组,织的观点(即概念模式)或用户的观点(外模式)来讨,论数据库的描述。但我们必须意识到基本的内模式和存,储数据库的存在。,1.3.2 数据库系统的三级模式结构,二、,模式(,Schema),逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图;,DBMS提供数据定义语言DDL来描述逻辑模式,严 格定义数据的名称、特征、相互关系、约束等。,1.3.2 数据库系统的三级模式结构,三、,外模式(,External Schema),用户模式(视图),是模式的子集或变形,是与某一应用有关的数据 的逻辑表示;,不同用户需求不同,看待数据的方式也可以不同,对数据保密的要求也可以不同,使用的程序设 计语言也可以不同,因此不同用户的外模式的描 述可以使不同的。,1.3.2 数据库系统的三级模式结构,举例:,民航售票系统包括处理航班程序和处理旅客程序。,-程序的使用人员不必知道关于人事档案、丢失的行 李、飞行员的航行分配等信息;,-,调度员可能需要知道关于航班、飞机和人事档案等 信息(如那些飞行员有资格驾驶,747),但不必知道雇员的工资、旅客等信息。,所以可以为订票部门建立一个数据库视图,为调度部门建立另一个完全不同的部门,。,1.3.2 数据库系统的三级模式结构,Note:视图处理的数据并不实际存储在数据库中,而仅可以从逻辑数据库中构造出来。视图比(逻辑)模式的抽象级别更高。,举例:“年龄”在人事部门数据库中,但(逻辑)模式重金包含出生年月。当用户希望通过访问视图得到年龄时,DBMS翻译这个要求,在从物理数据库上取出的数据完成计算。,注:一个数据库只有一个模式,一个内模式,但可以有多个外模式。,1.3.3 数据库的二级映象,在三级模式中提供了两级映象,保证了数据库系统的数据独立 性,既物理独立性与逻辑独立性。,一、,外模式,/模式映象,数据库系统投入使用后,可能有必要修改模式(如增加新关系、属性、改变类型),这时:,重新定义外模式/模式映象,=现存外模式不变=应用程序不变,DBA职责,1.3.3 数据库的二级映象,二、,模式,/内模式映象,当内模式发生变化时:,重新定义模式/内模式映象=模式保持不变=外模式保持不变=建立在外模式上的应用程序保持不变,1.5 数据库技术的研究领域,1.数据库管理系统软件的开发,2数据库设计,3数据库理论,具体见萨师煊等主编数据库系统概论,page39-40,第二章 关系数据库,1,关系操作,查询操作:选择,/,投影,/,连接,/,除,/,并,/,交,/,差,2.1 关系模型概述,从数据模型的三要素加以介绍,一、,数据结构,关系,二、,关系操作,增加、删除、修改,2.1 关系模型概述,元组关系演算:谓词变元的基本对象是,元组,变量,域关系演算:谓词变元的基本对象是,域,变量,Note,:关系代数和关系演算是抽象的查询语言,与具体的,DBMS,中实际语言不一样,但彼此等价,是从抽象的观点出发学习数据库查询的问题。,3,关系数据语言(,具体见萨师煊等主编数据库系统概论,page47),2,关系操作的表示方法:,关系代数:用对关系的运算表达查询要求,关系演算:用谓词表达查询要求,2.1 关系模型概述,实体完整性,关系模型必须满足的完整性约束条件,参照完整性,三、,关系的完整性约束条件,用户定义的完整性:针对某一具体数据库的约束条件,反映某一具体应用所设计的数据 必须满足的语义要求。,(关系系统自动支持),2.2 关系数据结构及形式化定义,2.2.1,关系,一、,基本概念(,具体见萨师煊等主编数据库系统概论,page47-),1,域(,Domain,),2,笛卡尔积(,Cartesian Product,),元组(,Tuple,),3,关系(,Relation,),分量(,Component,),候选码 Candidate Key,非码属性Non-key attribute,主码,Primark Key,全码,All-key,主属性,Prime attribute,2.2 关系数据结构及形式化定义,二、关系的三种类型,基本关系(基本表):实际存在的表,是实际存 储数据的逻辑表示,三、,关系的性质(,6,条,,具体见萨师煊等主编数据库系统概论,P50),查询表:查询结果对应的表,视图表,:由基本表或其它视图标导出的表,,虚表,不对应实际存储的数据,2.2.2 关系模式,值(,Value,):是型的一个具体赋值,关系是值,型(,Type,):对某一类数据的结构和属性的说明,关系模式是型(关系模式是对关 系的描述),2.3 关系的完整性,(具体见萨师煊等主编数据库系统概论P52-55),2.4 关系代数(Relational Algebra),关系代数是对关系运算的总和,关系运算分两类,:,2.4.1,传统的集合运算,并交差积(按行),2.4.2 专门的关系运算,选择,/,投影,/,连接,/,除(按行、列),一、,几个记号和概念,元组,分量,属性列域,剩余属性组,元组的连接,象集,关系运算定义(具体见萨师煊等主编数据库系统概论P58-64),第三章 关系数据库标准语言SQL,关系代数和关系演算是形式化查询语言,商业,DBMS,使用,SQL,(,Structured Query Language,)。,1974 年由,IBM,的,San Jose,研究室提出,最初叫,SEQUEL,(,Structured English Query Language,),关系数据库系统通过SQL对数据库进行查询和更新,目前有许多不同版本的SQL语言,有两个不同的主要标准:,ANSI(American National Standards Institute)1986,ISO(International Standards Organization):,SQL-89,SQL-92,SQL 2,正在制定SQL 3,3.1 SQL语言概貌及特点,一、SQL特点,1,一体化,SQL,是一种一体化的语言,它包括了数据定义、查询、更新、控制四方面功能。,可以完成数据库活动中的全部工作,以前的非关系模型的数据语言一般包括:内模式描述语 言、模式描述语言、外模式描述语言、数据操纵语言等 。内容多,操作起来不像SQL那样简单。,3.1 SQL语言概貌及特点,2,高度非过程化,没有必要一步步地告诉计算机“如何”去做,只需描述清楚用户要“做什么”,,SQL,就可以将要求交给系统,自动完成全部工作。,3,面向集合的操作方式,操作对象、查询结果是元组的集合;,插入、删除、更新操作的对象也可以是元组的集合。,3.1 SQL语言概貌及特点,4,两种使用形式,统一的语法结构,自含式:将,SQL,作为操作命令独立使用,现在许多数据库开发工具都将SQL直接融入到自身的语言中。,宿主式:将,SQL,嵌入到高级语言中使用,3.1 SQL语言概貌及特点,5,语言简洁,SQL,虽然功能强且使用两种方式,但只有为数不多的几条命令,另外语法也非常简单,接近自然语言,易掌握、学习。,除了以上特点之外,SQL语言还支持数据库的三级模式结构。(具体见萨师煊等主编数据库系统概论Page87),3.1 SQL语言概貌及特点,二、SQL语言组成,SQL,同一般的程序设计语言一样,由以下几个部分组成:,1,常量:文本常量(字符串)、整型常量、数值常量,2,数据类型:以,IBM DB2 SQL,为例,具体见萨师煊等主,编数据库系统概论,P89,3,空值:,NULL,3.1 SQL语言概貌及特点,集合运算符:,、,-,算术运算符:,+,,,-,,,*,,,/,5.,函数,SQL,提供了非常丰富的内部函数聚集函数,(详见萨师煊等主编数据库系统概论,P100,),4.,运算符,字符串运算符:,|,(连接),比较运算符:,6,个,逻辑运算符:,NOT,,,AND,,,OR,3.1 SQL语言概貌及特点,6,谓词,SQL,为了具有强大的查询能力,提供了一系列的谓词:,BETWEEN AND /NOT BETWEEN AND,介于两者之间,/,介于两者之外,IN/NOT IN 在其中/不在其中,LIKE 匹配,IS NULL/IS NOT NULL,EXISTS/NOT EXISTS 存在/不存在量词,ANY 任意一个存在量词,ALL 全程量词,3.1 SQL语言概貌及特点,7,表达式,8,条件,由一个或多个含有比较运算符的表达试及逻辑运算符组合而成。,命令(具体见萨师煊等主编数据库系统概论P86 表3.1),3.2 数据定义,存储过程定义,基本表定义,定义功能,数据库的定义:和物理数据有关,以后介绍,视图定义,索引定义,规则定义,与数据完整性有关,以后介绍,3.2.1 定义、删除与修改基本表,(,具体见萨师煊等主编数据库系统概论,P88),3.2.2,建立与删除索引,(,具体见萨师煊等主编数据库系统概论,P90),在使用关系数据库系统时,用户所看到和操作的数据好像在简单的二维表中,而实际上数据在磁盘上是如何存储的用户可能不知道。然而数据的物理存储如何却使数据库主要性能的主要因素。,索引时最常见的改善数据库性能的技术。,CREATE TABLE 表名(列名数据类型列级完整性约束条件,表级完整性约束条件,例:CREATE TABLE Student(Sno CHAR(5)NOT NULL UNIQUE,SNAME CHAR(20)UNIQUE,SSEX CHAR(1),SAGE INT,SDEPT CHAR(15);,修改基本表:,ALTER TABLE 表名ADD新列名数据类型完整性约束,DROP完整性约束名,ALTER 列名数据类型;,例:向学生表增加“入学时间”日期型,ALTER TABLE STUDENT ADD Scome date;,修改年龄为半字长整数,ALTER TABLE STUDENT ALTER SAGE SMALLINT,删除学生姓名必须取唯一值的约束。,DROP TABLE Student DROP UNIQUE Tag Sname,DROP TABLE,3.2.2,建立与删除索引,关于索引,索引的建立和删除由DBA或建表的人负责,用户不必也不能在存取数据是选择索引;,作为一般规则,不应该在一个表上建立太多的索引(2-3个)。索引能改善查询效果,但也耗费了磁盘空间。降低了更新操作的性能。因为系统必须花时间来维护这些索引;,表中数据越多,索引的优越性才越明显。,3.3.1 单表查询,指定列,消除重复行,选择表中若干列,全部列,经计算的列,选择表中若干元组,查询满足条件的元组,对查询结果排序,对查询结果分组,3.3.2 连接查询,等值,/非等值连接,自身连接,外连接,复合条件连接,3.3.3 嵌套查询,带有,IN谓词的查询,带有比较运算符的查询,带有,ANY或ALL谓词的子查询,带有,EXISTS谓词的查询,3.3.4,集合查询,具体见萨师煊等主编数据库系统概论,P114,3.3.5 SELECT,语句的一般格式,具体见萨师煊等主编数据库系统概论P 115,3.4 数据更新,插入、修改、删除数据(具体见萨师煊等主编数据库,系统概论,P117,),一、插入数据,1,插入单个元组,2,插入子查询结果,3.4 数据更新,二、修改数据,1,修改一个元组的值,2,修改多个元组的值,3,带子查询的修改语句,3.4 数据更新,三、删除数据,1删除一个元组的值,2删除多个元组的值,3带子查询的删除语句,4更新操作与数据库的一致性,3.5 视 图,一、关于视图:,视图是原始数据库数据的一种变换,是查看表中数据,的另外一种方式;,可将视图看成是一个移动的窗口,通过它可看到感兴,趣的数据;,视图可从一个或多个实际表中获得;,视图的定义存在数据库中,而数据并没再存一份在数,据库中,通过视图看到的数据存放在基本表中;,对视图的操作同其它表一样,通过视图修改数据时,,实际是修改基本表中的数据,相反,基本表数据的改,变也会自动反映在由基本表产生的视图中。,3.5 视 图,二、视图的作用,1,简单性,看到的就是用户需要的,不仅可简化用户对数据的理解,也可简化它们的操 作。经常使用的查询可以被定义为视图。,3.5 视 图,2,安全性,通过视图用户只能查询和修改他们能见到的数据,数据库其它数据则既看不到也取不到。,数据库授权命令可是用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定的行、列上。,视图可防止未授权用户查看特定的行,/,列,3,逻辑数据独立性,3.5 视 图,一、,定义视图,具体见萨师煊等主编数据库系统概论,P121-124,二、,查询视图,具体见萨师煊等主编数据库系统概论,P125,三、,更新视图,具体见萨师煊等主编数据库系统概论,P126,3.6 数据控制,SQL,数据控制功能对数据库中数据的安全控制提供保护,主要表现在对数据使用的授权,(GRANT),和收回授权,(REVOKE),。,每个用户对自己拥有的资源可以由任意的操作权限,同时也可以把其中的一部分权限授予他人。,(具体见萨师煊等主编数据库系统概论P130),3.6 数据控制,一、授权,3.6 数据控制,二、,收回权限,注:授权(GRANT)和收回授权(REVOKE)并不是数据库的全部控制功能,只是其中的一小部分,其它功能如安全性、完整性、并发控制和恢复在7、8、9、10章介绍。,3.7 嵌入式SQL,前面几节介绍的,SQL,,是作为独立的数据语言直接由用户在交互环境下使用的。此外,,SQL,还可以作为子语言嵌入在宿主语言(,PASCAL,、,C,等)中使用。,SQL,作为子语言嵌入在宿主语言中使用必须要解决以下三方面问题:,1,嵌入识别问题,宿主语言的编译程序不能识别,SQL,语句,所以首要问题要解决如何区分宿主语言的语句和,SQL,语句。,3.7 嵌入式SQL,2,宿主语言与,SQL,语言的数据通信问题,DBMS,将,SQL,语句的查询结果或执行状态必须交给宿主语言,/,应用程序处理(通过,SQLCA,);运行时,宿主语言的数据通过变量(称为主变量)也要能够交给,SQL,使用。,3,宿主语言的单记录与,SQL,的多记录的问题,宿主语言一般一次处理一条记录;,SQL,语言常常处理的是记录(元组)的集合,其查询结果通常是含多个记录的一张表。“阻抗不匹配”,本节将围绕如何解决这三个问题来介绍。,3.7 嵌入式SQL,一、,嵌入识别与预编译,解决方法:为,SQL,语句加一个特殊的前缀。,在用宿主语言的编译系统编译源程序之前,首先由预编译系统将SQL语句转换为宿主语言的合法函数调用。,3.7 嵌入式SQL,3.7 嵌入式SQL,一、,数据通信区与主变量,1,数据通信区,SQLCA,SQL Communication Area,在嵌入,SQL,语句的程序中,一般在程序的前部 都要有一条语句:,EXEC SQL INCLUDE SQLCA,这里SQLCA即是SQL与宿主语言的通信区,它 类似于结构变量,各个变量分别反映SQL语句 的各种执行状态。,3.7 嵌入式SQL,DBMS,:数据库厂商标识,0,:成功,例如:,SQL Anywhere,中,SQLCA,有,16,个属性:,SQLCode(long):,存放执行,SQL,后返回的代码,100,:,SELECT,找不到符合条件的记录,-1,:,SQL,操作错误,DataBase,Userid,DBPass,SQLErrText,:错误代码,SQLDBCode,:错误信息,3.7 嵌入式SQL,SQL被执行时,DBMS将产生的各类系统信息(如执行状态信息)写入系统通信区,应用程序在调用SQL后,可通过读取数据通信区中信息来确定语句执行情况。,应用通过,SQLCA,与数据库通信,应用,SQLCA,DBMS,连接参数,状态信息,3.7 嵌入式SQL,输出主变量:,SQL,对其赋值或设置状态信息,返回给应 用程序。,利用它可得到,SQL,语句的结果数据和状态。,输入主变量:由应用程序赋值,,SQL,引用。,可用于:插入数据、修改值、制定条件 (,WHERE,),2,主变量,SQL,语句使用,宿主语言的变量,来输入,/,输出数据,主变量(,Host Variable,),主变量根据作用不同分为:,3.7 嵌入式SQL,Note,:所有变量要在,BEGIN DECLARE SECTION,END DECLARE SECTION,之间说明。,3.7 嵌入式SQL,三、,游标(,Cursor),当查询结果超过一个元组时,不能一次性将结果值赋给宿主语言的变量,因为主变量仅能保存一个数据,而不是一组数据。为此,引进一个特殊的数据结构游标(,Cursor,)。,游标是系统为用户开设的一个数据缓冲区,存放,SQL,的执行结果。可将其理解为一个指示器,指向数据库中满足条件的元组。,游标包含两部分内容:,结果集:游标内,SELECT,语句执行后产生的集合;,游标位置:游标指针的当前位置。,3.7 嵌入式SQL,游标的定义和使用分为下面几步:,声明游标,不可执行的指令,仅定义游标,,SELECT,语句没有执行,(类似于变量说明),打开游标,执行,SELECT,语句,将结果放入结果集中。,推进游标,移动指针,该变结果集的当前记录。,通过游标更新数据,关闭游标,程序实例(具体见萨师煊等主编数据库系统概论 P136-146),第四章 关系系统及查询优化,具体见萨师煊等主编数据库系统概论,P151-167,4.1.3,全关系系统的12条基本准则,4.1 关系系统,4.1.1 关系系统的定义,4.1.2 关系系统的分类,4.2,关系数据库系统的查询优化,4.2.1 关系系统及其查询优化,4.2.6,优化的一般步骤,4.2.5 关系代数表达式的优化算法,4.2.4 关系代数等价变换规则,4.2.3 查询优化的一般准则,4.2.2 一个实例,第五章 关系数据理论,数据库设计的一个最基本的问题是如何建立一个好的数据库模式。,即给出一组数据,如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。,E-R模型方法讨论了实体与实体之间的数据联系,现在来讨论实体内部属性与属性之间的数据关联,目标是要设计一个“好”的数据库模型。,5.1 问题的提出,1,关系模型定义复习,2,在解决如何设计一个好的数据库模式之前,先看一看什么是“不好”的数据库设计(关系数据库模式可能出现的异常)。,例:建立一个关系数据库来描述学生的一些情况,该数据库只包含一个关系模式:,学生(,学号,,姓名,系名,系主任,,课程,,成绩),3.例:具体见萨师煊等主编数据库系统概论P171页,5.1 问题的提出,(,1,)存在的问题:,i.,数据冗余:姓名,系名,系,=,重复出现。,ii.,更新异常:某一元组修改系主任,其他不变,=,同一系,系主任不同,造成了数据潜在的不一致 性。,iii.,插入异常:系刚成立,尚未招收学生,主关键字 为空,则系主任、选的课都无法存入数据库,未 选课的学生信息也无法存入。,删除异常:一个系的学生毕业了,删除这些学生的记录,则系主任等信息也删除掉了。,5.1 问题的提出,(,2,)产生异常的原因:,这些异常的产生主要是因为关系模式的结构,即关系模式中的属性之间存在过多的,数据依赖关系,,与现实世界不符合。,注:数据依赖关系最重要的一类是函数依赖。,主关键字(学号,+,课程)一定,元组就确定了,元组分量也就确定了,即所有其它属性都依赖于“学号”和“课程”。,但实际:学号姓名,不需选课。,系名系主任。,5.1 问题的提出,(,3,)解决:,分解为三个新的关系模式:,学生(学号,姓名,系名),成绩(学号,课程,成绩),系(系名,系主任),这样上面提到的问题不存在了,将学生、成绩和系三个相对独立的实体划分开来,使之更符合现实世界的实际。,5.2 规范化(Normalization),5.2.1 函数依赖(Functional Dependency),回顾:函数熟悉的概念。,Y=f(x),:,x,和,Y,之间数量上的对应关系。给定,x,值,,Y,值,与之对应。称,x,函数决定,Y,,或,Y,函数依赖于,x,。,在关系数据库中讨论函数或函数依赖注重的是语义上,的关系。,如:省=f(城市),5.2.1 函数依赖(Functional Dependency),定义 函数依赖,(,具体见萨师煊等主编数据库系统概论,172,页),说明:,t1x=t2x,=t1r=t2r成立,就有,x,Y。,只有当,t1x=t2x,为真,而,t1Y=t2Y,为假时 ,,x,Y。,当,t1x=t2x,为假时,不管,t1Y=t2Y,为,T/F,,都有,x,Y。,比如:当x为关键字属性时,t1x=t2x,肯定为,F ,但x,Y成立。,5.2.1 函数依赖(Functional Dependency),术语和记号:,非平凡的函数依赖(Nontrivial Functional Dependency),通常讨论。,x,Y,但,Yx,(Y不包含于x),则xY称为非平凡的函数依赖。,若,Y,x,显然x,Y成立。(称为平凡的函数依赖。Trivial Functional Dependency,),5.2.1 函数依赖(Functional Dependency),决定因素(Determinant),若xY,则x称为决定因素(决定方)。,x,Y,Yx则记作x,Y。,如:学号,姓名,。,若Y不函数依赖于x,记作x,Y。,5.2.1 函数依赖(Functional Dependency),定义 完全函数依赖(Full Functional Dependency):,若xY,并且对x的任何一个真子集x,都有,xY,则称Y,完全函数依赖,x,记作,x Y,.,部分函数依赖(Partial Functional Dependency):,若xY成立,则称Y部分函数依赖于x.记作,xY,。(与书上定义比较),例:5.1 模式中,(学号,课程)系名,f,p,p,5.2.1 函数依赖(Functional Dependency),定义传递函数依赖(Tra
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服