数据库原理及应用(MySQL版)完教学课件完整版电子教案_第1页
数据库原理及应用(MySQL版)完教学课件完整版电子教案_第2页
数据库原理及应用(MySQL版)完教学课件完整版电子教案_第3页
数据库原理及应用(MySQL版)完教学课件完整版电子教案_第4页
数据库原理及应用(MySQL版)完教学课件完整版电子教案_第5页
已阅读5页,还剩885页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库基础知识第1章数据库基本情况介绍数据库是数据管理的有效技术,是信息系统的核心和基础。数据库技术的出现极大地促进了计算机向各行各业的渗透。如今信息已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件。因此,作为信息系统的核心和基础的数据库得到越来广泛的应用。 数据库的建设规模、数据库信息量的大小和使用频度也已经成为衡量一个国家信息化 程度的重要标志。数据库基本情况介绍数据库技术的发展成就:经历了3代演变:层次/网状系统、关系系统、新一代数据库系统造就了4位图灵奖得主: C.W. Bachman(查尔斯 巴赫曼)、 E.

2、F.Codd(埃德加 科德)、J. Gray(詹姆斯 格雷)和 Michael Stonebraker(迈克尔 斯通 布雷克)发展了1门计算机基础学科:数据建模和DBMS核心技术为主,内容丰富领域宽广带动了1个巨大软件产业:DBMS及相关工具产品、应用套件、解决方案今天,随着计算机系统硬件技术的进 步以及互联网技术的发展,数据库系统所管理的数据以及应用环境发生了很大的变化。其 表现为数据种类越来越多、数据越来越复杂、数据量剧增、应用领域越来越广泛,可以说数据管理无处不需无处不在,数据库已经成为每个人生活中不可缺少的一部分。四位图灵奖得主詹姆斯格雷(1998)查尔斯巴赫曼 (1973)埃德加科德

3、(1981)迈克尔斯通布雷克(2014)Charles.W.Bachman网状数据库之父1960年为通用电气制造了世界上第一个网状数据库系统IDS积极推动与促成了数据库标准的制定:DBTG报告 在数据库技术的产生、发展与推广应用方面都发挥了巨大的作用 由于他在数据库方面的杰出成就1973获图灵奖1983年成立自己的公司:Bachman Information SystemEdgar F.Codd 博士关系数据库之父 美国工程院院士原是英国人,1923生于英格兰中部波特兰第二次世界大战时应征入伍,在皇家空军服役。1942-1945年间任机长,参与了许多惊心动魄的空战。英国牛津大学数学专业理学士及

4、硕士学位,毕业后到IBM公司工作从事操作系统和自动机理论研究。年近40重返密歇根大学进修计算机与通信专业,1963年获得硕士学位,1965年又获得博士学位。60年代后期开始数据库研究, 1970年E.F.Codd 博士提出关系模型概念(CACM,Vol.13, Vol.6, 1970 )。1981年获图灵奖,84年从IBM公司退休。还创办了一个研究所:关系研究所(The Relational Institute)和一个公司:Codd & Associations,进行关系数据库产品的研发、销售、咨询等业务。James Gray数据库技术和事务处理专家1944年生,美国加州大学伯克利分校计算机科

5、学系博士。先后在贝尔实验室、IBM、Tandem、DEC等公司工作,研究方向转向数据库领域。 由于他在数据库和事务处理研究方面的原创性贡献以及在将研究原型转化为商业产品的系统实现方面的技术领袖地位,1998年获奖(时任微软研究员)。2007年1月28日失踪。 Michael Stonebraker现代主流数据库系统架构的奠基人大数据之父发明了许多几乎所有现代数据库系统所用的概念,创办了无数成功的数据库技术公司。获得美国工程院院士、IEEE软件系统奖、冯诺依曼奖和第一届SIGMOD Edgar F. Codd创新奖等多个重量级荣誉。2014年获图灵奖。我国的数据库发展立足应用、开发自主的数据库系

6、统科学研究与国际研究方向同步产品开发应用集成创21世纪研究开发应用赶90年代外国专家来华讲学中国专家出国进修国家攻关、863高技术项目、国家自然基金等等请进来走出去学80年代1976年萨师煊教授将数据库概念引入国内,在全国讲学,在人大开设数据库课引进看70年代本章要点数据库技术的发展数据库的四个基本概念数据模型关系数据库数据库技术的发展数据管理是数据处理的中心问题数据处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和数据管理是指对数据进行分类、组织、编码、存储、检索和维护。数据库技术就是应数据管理任务的需要而产生的,是当代计算机系统的重要组成部分。在应用需求的推动下,在计算机软硬件

7、发展的基础上,数据管理技术主要经历了人工管理、文件管理、数据库管理这三个阶段。人工管理阶段(1)20世纪50年代中期以前,计算机主要用于科学计算。当时的硬件状况是外存只有纸带、卡片、磁带,没有磁盘等直接存取设备;软件的状况是没有操作系统,也没有管理数据的专门软件;数据的处理方式是批处理。人工管理阶段有如下几个特点:数据不能长期保存应用程序管理数据数据不能实现共享数据不具有独立性人工管理阶段(2)人工管理阶段,应用程序与数据之间的一一对应关系文件管理阶段(1)20世纪50年代后期到60年代中期,计算机开始大量应用于数据管理。硬件方面有了磁盘、磁鼓等直接存取设备,软件方面,操作系统中已经有了专门的

8、数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,还能够联机实时处理。文件管理阶段的特点:数据可以长期保存由文件系统管理数据文件管理也存在一定的缺点:数据的冗余度较大,共享性差数据的独立性差文件管理阶段(2)文件管理阶段应用程序与数据之间的对应关系数据库管理阶段(1)20世纪60年代后期以来,计算机管理的对象规模越来越大,应用范围越来越广泛,数据量急剧增加,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。硬件方面,已有大容量磁盘,硬件价格下降;软件价格上升,编制和维护软件所需要的成本相对增加;其中维护的成本会更多一些;在处理方式上,联机实时处理要求更多,并开始提出和考虑分

9、布处理。在这种背景下,出现了统一管理数据的专门软件系统数据库管理系统。用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统标志着数据管理技术的飞跃。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又能简化应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。数据库管理阶段(2)数据库系统阶段应用程序与数据之间的对应关系数据库的四个基本概念数据库的四个基本概念与数据库技术密切相关的4个基本概念包括:数据(Data)数据库(DB,DataBase)数据库管理系统(DBMS,DataBase Manag

10、ement System)数据库系统(DBS,DataBase System)数据(Data)(1)描述事物的符号记录称为数据。数据是数据库中存储的基本对象,它的表现形式可以是数字,也可以是文字、图形、图像、音频、视频等,他们都可以经过数字化后存入计算机中。现在计算机存储和处理的对象十分广泛,表示这些对象的数据也变得越来越复杂。数据(Data)(3)需要注意的是仅有数据记录并不能完全表达它所代表的含义,需要经过解释。数据及其语义是不可分的,没有语义的数据是没有意义和不完整的。例如:109是一个数据语义1:现代汉语词典的单价109元语义2:某个小朋友的身高109厘米语义3:某专业学生人数等等数据

11、库(DB)数据库,简单的理解就是数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。严格来讲,数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享。数据库的特点永久存储 数据库中的数据需要永久存储,便于人们充分地利用这些数据。有组织 数据按一定的数据模型组织、描述和存储。在数据库中的数据不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。 可共享 数据库中

12、的数据可以为用户共享,因此冗余度较小、数据独立性较高且容易扩展。数据库管理系统(DBMS)(1)数据库管理系统是位于用户和操作系统之间的一个专门为数据库的建立、使用、维护而配置的软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。常用的数据库管理系统有SQL Server、ORACLE、MySQL等。国产的数据库产品都有哪些?是由哪些公司开发的?都应用于哪些领域?数据库管理系统(DBMS)(2)数据库管理系统的主要功能包括:数据定义功能数据操纵功能数据组织、存储和管理数据库的事务管理和运行管理数据库的建立和维护功能其他功能数据库管理系统(DBMS)(3)数据库管理

13、系统的主要功能之数据定义功能:数据库管理系统提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中数据对象的组成和结构进行定义。CREATE数据库管理系统(DBMS)(4)数据库管理系统的主要功能之数据操纵功能:数据库管理系统提供数据操纵语言(Data Manipulation Language,DML),用户可以使用该语言操纵数据,实现对数据库中数据的基本操作,包括插入(INSERT)、删除(DELETE)、修改(UPDATE)和查询(SELECT)等。数据库管理系统(DBMS)(5)数据库管理系统的主要功能之数据组织、存储和管理:数据库

14、管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据库管理系统(DBMS)(6)数据库管理系统的主要功能之数据库的事务管理和运行管理:数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证数据的安全性、完整性、多用户对数据的并发使用和发生故障之后的系统恢复。数据的安全性是指保护数据以防止不合法使用造成的数据泄密和破坏。数据的完整性是指数据的正确性、有效性和相容性。并发控制是指当多个用户的并发进程同时存取、修改数据库时,为避免相互干扰而得到错误的结果或使得数据库的完整性遭到破

15、坏而采用的控制手段。数据库的恢复功能是指当计算机系统的硬件故障、软件故障、操作人员的失误和故意破坏等因素造成数据库部分或者全部数据的丢失时,数据库管理系统将数据库从错误状态恢复到某一个已知的正确状态的功能。数据库管理系统(DBMS)(7)数据库管理系统的主要功能之数据库的建立和维护功能:数据库的建立和维护功能是指数据库初始数据的输入、转换功能,数据库的转储、恢 复功能,数据库的重组织功能和性能监视、分析功能等。数据库管理系统(DBMS)(8)数据库管理系统的主要功能之其他功能:数据库管理系统与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数

16、据库之间的互访和互操作功能等。数据库系统(DBS)数据库系统是由数据库、数据库管理系统(DBMS)、应用程序和数据库管理员(DBA,DataBase Administrator)组成的存储、管理、处理和维护数据的系统。数据库提供数据的存储功能,数据库管理系统提供数据的组织、存取、管理和维护等基础功能,数据库应用系统根据应用需求使用数据库,数据库管理员负责全面管理数据库系统。在一般不引起混淆的情况下,人们常常把数据库系统简称为数据库。数据库系统的特点(1)数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一。数据的共享性高、冗余度低且易于扩充数据库系统从整体的角度看待和描述数据,数

17、据不再面向某个应用,而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据库系统的特点(2)数据独立性高数据库的独立性是数据库管理数据的一个显著优点,包括数据的物理独立性和逻辑独立性。物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的数据有数据库管理系统统一管理和控制数据库管理系统提供数据库安全性保护、完整性检查、并发控制以及数据库恢复技术数据库的系统结构数据库系统结构(1)考查数据库系统的结构可以有多种不同的层次或者不同的角度从数据库最终用户角度来看,数据库系统的结构分为单用户结构、主从式结构、分布式结构

18、、客户-服务器、浏览器-应用服务器/数据库服务器多层结构等。这是数据库系统外部的体系结构。从数据库应用开发人员的角度来看,数据库系统通常采用三级模式结构,这是数据库系统内部的系统结构。数据库系统结构(2)数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。模式(1)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图。数据库模式是数据库设计者以某一种数据模型为基础,统一综合地考虑了所有用户的逻辑结构,并将这些需求有机地结合成一个逻辑整体。模式(2)定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数

19、据项构成,数据项的名字、类型、取值范围等,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。一个数据库只有一个模式。它是由数据库管理系统提供的模式数据定义语言(模式DDL)严格定义。外模式(1)外模式又称子模式或者用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。同一外模式也可以为某一用户的多个应用系统所使用,但是一个应用程序只能使用一个外模式。外模式(2)外模式是保证数据库安全性的一个有力措施,每个用户只能看见和访问所对应

20、的外模式之中的数据,数据库中的其余数据是不可见的。数据库管理系统提供外模式数据定义语言(外模式DDL)来严格地定义外模式。内模式内模式也称存储模式,一个数据库只有一个内模式。内模式是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。数据库管理系统提供内模式数据定义语言(内模式DDL)来定义内模式。两级映像为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。应用A应用B应用C应用D应用E外模式1外模式2外模式3模式内模式数据库外模式

21、/模式映像模式/内模式映像外模式/模式映像对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变,应用程序依据外模式编写,从而应用程序不必改变,保证了数据与程序之间的逻辑独立性,简称数据的逻辑独立性。模式/内模式映像数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,他定义了数据全局逻辑结构与存储结构之间的对应关系。该映像通常包含在模式描述中当数据库的存储结构改变时

22、(例如选用了另外一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序之间的物理独立性,简称数据的物理独立性。三级模式结构小结(1)在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,因此设计数据库模式结构时应首先确定数据库的逻辑模式。数据库的内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图,即外模式,也独立于具体的存储设备。数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备,设计外模式时应充分考虑到应用的扩充性。三级模式结构小结(2)特定的应用程序是在外模式描述的数据结

23、构上编制的,它依赖于特定的外模式,于数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。数据库系统的组成(1)数据库系统一般是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成。数据库及硬件平台数据库系统的数据量都很大,数据库管理系统丰富的功能使得其自身的规模也很大,因此整个数据库系统对硬件资源提出了较高的要求。数据库系统的组成(2)软件数据库系统的软件主要包括:数据库管理系统、操作系统、具有与数据库接口的高级程序语言及其编译系统、以数据库管理系统为核心的应用开发工具以及为特定应用环境开发

24、的数据库应用系统。人员开发、管理和使用数据库的人员主要包括数据库管理员(DBA)、系统分析员和数据库设计人员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图,也具有不同的职责。数据模型数据模型(1) 数据模型是数据库系统的核心和基础,了解数据模型的基本概念是学习数据库的基础。模型是指对现实世界中某个对象特征的模拟和抽象,如飞机模型、火车模型等。数据模型(2) 数据模型是对现实世界数据特征的抽象,也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。数据模型应满足三方面的要求:一是能比较真实地模拟现实世界,二是容易为人所理解,三是便于在计算机上实现。根据模型应用

25、的不同目的,使用的数据模型有:概念模型、逻辑模型和物理模型。数据模型(3)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。逻辑模型是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。数据模型(4)为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。这就是三个世界的假设。数据模型(5)数据模型的组成要素:一般来讲,数据模型是严格定义的一组概念

26、的集合。这些概念精确地描述了系统的静态特征、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。数据结构数据结构是所描述的对象类型的集合,是对系统静态特性的描述。数据结构主要描述数据库的组成对象以及对象之间的联系。在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。数据操作数据操作是对系统动态特性的描述。是指对数据库中各种对象的值允许执行的操作的集合。包括操作以及有关的操作规则。数据库中主要有查询和更新(包括插入、删除和修改)两类操作。数据模型必须定义 这些操作的确切含义、操作符号、操作规则和实现操作的语言。数据完整性约束条件数据的完整性约束

27、条件是一组完整性规则。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,来保证数据库正确、有效和相容。数据模型应该反映和规定其必须遵守的基本的和通用的约束条件,还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。概念模型概念模型概念模型是现实世界到机器世界的一个中间层次,主要用于信息世界的建模,是数据库设计人员进行数据库设计的有力工具。概念模型中的概念(1)实体(entity):客观存在并相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象地概念或联系。例如学生、课程、教师、图书、

28、演出等等属性(attribute):实体所具有的某一特性称为属性学生的属性有学号、姓名、性别、身份证号等等码(key):唯一标识实体的属性集称为码例如学生的学号、图书的ISBN号等等概念模型中的概念(2)实体型(entity type):具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,学生姓名,性别,出生日期,所属专业 编号,入学日期,借阅类型编号)就是一个实体型实体集(entity set):同一类型实体的集合称为实体集例如全体学生的集合就是一个实体集。概念模型中的概念(3)联系(relationship):在现实世界中,

29、事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型。概念模型的表示方法很多,其中最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship approach)。该方法用E-R图(E-R diagram)来描述现实世界的概念模型,E-R方法也称为E-R模型。常用的数据模型层次模型(1)层次模型是数据库系统中最早出现的数据模型。层次数据库系统的典型代表是1968年IBM公司推出的第一个大型商用数据库管理系统的IMS(Information Managem

30、ent System)系统。层次模型是用树形结构来表示现实世界中各事物之间的联系。层次模型(2)现实世界中许多实体之间的联系呈现出一种很自然的层次关系,如一个单位的行政机构、一个家庭的家族关系等层次模型具有层次清晰、构造简单、易于实现等优点,但由于受到上述两个条件的限制, 它可以比较方便地表示出一对一和一对多的联系,但不能直接表示出多对多的联系。网状模型(1)网状数据库系统采用网状模型作为数据的组织方式。网状数据模型的典型代表是DBTG系统,也称CODASYL系统。这是20世纪70年代数据系统语言研究会(CODASYL,Conference On Data System Language)下属

31、的数据库任务组(DBTG,Data Base Task Group)提出的一个系统方案。网状模型用以实体为结点的有向图来表示各实体及其之间的联系。网状模型(2)网状模型可以表示现实世界中非层次的更复杂的关系,适用于表示多对多的关系,层次模型实际上是网状模型的一个特例。 网状模型能够更直接地描述现实世界,具有良好的性能,存取效率较高。但是网状模型比较复杂,用户不容易掌握和使用关系模型关系模型是最重要的一种数据模型。1970年,美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础,由于E.F

32、.Codd的杰出工作,他于1981年获得ACM图灵奖。关系数据库所谓关系数据库,其数据组织的逻辑结构一定是采用关系模型。与早期的层次模型和网状模型不同,关系模型是建立在严格的数学概念的基础上的。按照数据模型的三要素,关系模型是由关系数据结构、关系操作集合和关系完整性约束三部分组成的。关系模型的数据结构关系模型的数据结构(1)学院编号学院名称院长电话地址01管理学院张华80669318学院办公室-管理学院楼319房间02信息学院李丽美80665376学院办公室-信息学院楼407房间03机械学院王永超80665516学院办公室-机械与纺织学院楼508房间关系模型的数据结构非常简单,只包含单一的数据

33、结构关系。在用户看来,关系就是一张规范化的二维表。在关系模型中,现实世界的实体以及实体之间的各种联系均用关系来表示。关系模型的数据结构(2)域(domain):域是一组具有相同数据类型的值的集合。如表示性别的集合男,女、表示成绩的范围0到100之间正整数等。笛卡尔积(cartesian product):笛卡尔积是域上的一种集合运算。给定一组域D1,D2,Dn,允许其中某些域是相同的,D1,D2,Dn的笛卡尔积为其中每一个元素(d1,d2,dn)叫做一个元组(n-tuple),元素中的每个值di叫做一个分量(component)。一个域允许的不同取值个数称为这个域的基数(cartesian n

34、umber)。若Di(i=1,2,n)为有限集,其基数为mi(i=1,2,n),则D1D2Dn的基数Mi为关系模型的数据结构(3)笛卡尔积可表示为一张二维表。表中的每行对应一个元组,表中的每一列的值来自个域。例如,给出如下两个域 : D1= 学院集合 COLLAGE= 管理学院,信息学院,机械学院 ,基数为 3 D2= 院长集合 DEAN= 张华,李丽美,王永超 ,基数为 3 则 D1、D2 的笛卡尔积为: D1D2=(管理学院,张华),(管理学院,李丽美),(管理学院,王永超), (信息学院,张华),(信息学院,李丽美),(信息学院,王永超), (机械学院,张华),(机械学院,李丽美),(机

35、械学院,王永超) 其中,(管理学院,张华)、(管理学院,李丽美)等都是元组,管理学院、张华、李丽美、 机械学院等都是分量。 该笛卡尔积的基数为 33=9,即 D1D2 共有 9 个元组。关系模型的数据结构(4)学院表(COLLAGE, DEAN)关系(relation):D1D2Dn的子集叫做在域D1,D2,Dn上的关系,表示为R(D1,D2,Dn)。这里的R表示关系的名字,n是关系的目或度(degree)当n=1时,称该关系为单元关系(unary relation),或一元关系;当n=2时,称该关系为二元关系(binary relation)关系是笛卡尔积的子集,所以关系也是一张二维表关系模

36、型的数据结构(5)元组(tuple):关系中每个元素就是关系的元组,在二维表上一行即为一个元组属性(attribute):关系中的每列对应于一个域,由于域可以相同,为了加以区分,必须给每列起一个名字,因此表中的一列既是一个属性(attribute),n目关系必然有n个属性。给每一个属性起的名称就是属性名。元组中的每一个属性值称为一个分量。关系模型的数据结构(6)学院编号学院名称院长电话地址01管理学院张华80669318学院办公室-管理学院楼319房间02信息学院李丽美80665376学院办公室-信息学院楼407房间03机械学院王永超80665516学院办公室-机械与纺织学院楼508房间(01

37、,管理学院,张华,80669318,学院办公室 - 管理学院楼 319 房间)就是 一个元组学院表有 5 列,即有 5 个属性:学院编号、学院名称、院长、电话和地址。“管理学院”就是(01,管理学院, 张华,80669318,学院办公室 - 管理学院楼 319 房间)元组的一个分量。关系模型的数据结构(7)码(key):若关系中的某一个属性组的值能唯一地表示一个元组,而其子集不能,则称该属性组为候选码,简称码。若一个关系有多个候选码,则选定一个为主码(Primary Key)。候选码 中的属性均称为主属性,不包含在任何候选码中的属性称为非主属性或非码属性。在最简单的情况下,候选码只包含一个属性

38、。在最极端的情况下, 关系的所有属性是这个关系的候选码,称为全码。如果关系中某个属性或属性组并非本关系的码,但却是另外一个关系的码,则称这样的属性或属性组为本关系的外码(Foreign Key)。关系模型的数据结构(8)学院编号学院名称院长电话地址01管理学院张华80669318学院办公室-管理学院楼319房间02信息学院李丽美80665376学院办公室-信息学院楼407房间03机械学院王永超80665516学院办公室-机械与纺织学院楼508房间学院编号就是该关系的候选码,如果学院名称没有重复的,学院名称也可以当做一个候选码。所以该关系有两个候选码:学院编号和学院名称。选择其中一个比如学院编号

39、作为主码学院编号和学院名称都是主属性,院长、电话和地址都是非主属性。关系模型的数据结构(9)关系可以有三种类型:基本关系、查询表和视图表。基本表示实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。关系模型的数据结构(10)基本关系具有如下6条性质:列是同质的,即每一类中的分量是同一类型的数据,来自通过一个域不同的列可以出自同一个域,每一列为一个属性,不同的属性要给予不同的属性名列的顺序无所谓,即列的次序可以任意交换任意两个元组的候选码不能取相同的值行的顺序无所谓,即行的次序可以任意交换分量必须取原子值,即每一

40、个分量都必须是不可分的数据项。这是关系模型必须满足的一条最基本的性质关系模型的数据结构(11 )关系模式:关系模式就是对关系的描述。关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成买这些属性来自哪些域,以及属性与域之间的对应关系。关系模式可以形式化地表示为:R(U,D,DOM,F)其中,R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像关系,F为属性间数据的依赖关系集合。关系模式通常可以简记为R(U)或R(A1,A2,An)关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库。因此关系数据库就是一些相关的二维表和其

41、他数据库对象的集合。关系操作关系操作(1)关系模型中常用的关系操作包括查询(query)操作和修改操作,其中修改操作包括插入(insert)、删除(delete)、修改(update)。关系的查询表达能力很强,是关系操作的最主要部分。查询操作有可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(except)、交(intersection)、广义笛卡尔积等。其中选择、投影、并、差、广义笛卡尔积是5种基本操作。关系操作的特点是集合操作方式,即操作的对象和结果都是集合早期的关系操作通常使用关系代数和关系演算来实现关系操作(2)集合运算符

42、并-差交广义笛卡尔积专门的关系运算符选择投影连接除关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。关系代数的运算对象是关系,运算结果也是关系,运算符包括两类:集合运算符和专门的关系运算符。传统的集合运算传统集合运算传统的关系运算是二目运算,包括并、差、交和广义笛卡尔积4种运算。设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,t是元组变量,tR表示t是R的一个元组。并并(union):关系R与关系S的并其结果仍为n目关系,由属于R或者属于S的元组组成。记作:已知关系R和关系S,求RS差差(except):关系R与关系S的差结果仍为n目关系,由属于R但

43、是不属于S的所有元组组成。记作:已知关系R和关系S,求R-S交交(intersection):关系R与关系S的交结果仍为n目关系,由既属于R又属于S的元组组成。记作:关系的交可以用差来表示:RS=R-(R-S)已知关系R和关系S,求RS广义笛卡尔积(1)广义笛卡尔积(extended cartesian product):n目关系R和m目关系S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S中的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。记作:广义笛卡尔积是关系上的运算,而笛卡尔积是域上的运算。传统的集

44、合运算(3)已知关系R和关系S,求RS专门的关系运算专门的关系运算(1)专门的关系运算包括选择、投影、连接、除等。象集给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集(images set)定义为: ,它表示R中属性组X上值为x的诸元组在Z上分量的集合。XZx1z1x2z1x1z2x1z3x3z2x2z2x3z3x1z4x1在R中的象集Zx1=z1,z2,z3,z4x2的在R中的象集Zx2=z1,z2 x3在R中的象集Zx3=,z2,z3 投影(1)关系R上的投影是从R中选择出若干属性列组成新的关系。记作:投影操作是从列的角度进行的运算。例:查询学生姓名及专业名。 或者投

45、影(2)投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列之后,就可能出现重复行,应取消这些完全相同的行。 例:查询专业名 连接(1)连接也称为连接,它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。连接运算从R和S的广义笛卡尔积RS中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较关系的元组。连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equijoin),另一种是自然连接(natural join)。等值连接是从关系R与关系S的广义笛卡尔积中选取A、B属性值相等的那些元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量

46、必须是同名的属性组,并且在结果中把重复的属性去掉。一般的连接操作是从行的角度进行运算,但是自然连接会取消重复列,所以是同时从行和列的角度进行运算。连接(2)已知关系R和关系S,分别求R与S等值连接和自然连接的结果连接(3)查询每位同学借阅图书的情况。Student Borrow除(1)设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。给定关系R(X,Y)和S(Y,Z),其中X、Y、Z为属性组。R中的Y与S中的Y可以有不同的属性名,但是必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上

47、的投影:元组在X上分量值x的象集Yx包含S在Y上的投影的集合。除操作是同时从行和列角度进行运算。除(2)【例】已知关系R和S,求RS。在关系R中,A的值有4个a1,a2,a3,a4,其中:a1的象集是b1,b2,b3, a2的象集是b1,b3,a3的象集是b1,b2,a4的象集是b1;关系S在B列上的投影为b1,b2,b3;只有a1的象集包含了S在B列上的投影,所以RS=a1。关系代数综合应用(1)查询图书“Python编程”的作者。首先在图书表 Book 中选择书名为“Python 编程”的图书信息,然后再在作者这列上做投影关系代数综合应用(2)查询“张晶晶”同学借阅的图书名称。首先要将学生

48、表 Student、图书表 Book 和 借阅表 Borrow 进行连接然后在连接的结果上选择学生姓名为“张晶晶”的借阅记录,最后再在图书名称上进行投影。 (Student Borrow Book)关系代数综合应用(3)查询借阅了全部图书的学生学号。查询借阅了全部图书的学生的学号就是要查询哪些学号所借图书的图书编号是包含所 有图书的图书编号的,因此使用除法是最好的。首先在借阅表 Borrow 中在学号和图书编号这两列上投影,然后让其除以图书表上图书编号的投影关系代数综合应用(4)查询没有借阅过图书的学生学号。所有学生的学号减去借阅过图书的学生的学号,就是没有借 阅过图书的学生的学号使用差运算关

49、系完整性关系完整性关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性,应该有关系系统自动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。实体完整性(1)实体完整性:关系数据库中的每个元组应该是可区分的,是唯一的。这样的约束条件用实体完整性来保证。实体完整性的规则:若属性(一个或一组属性)A是基本关系R的主属性,则A不能取空值(null value)。所谓的空值就是“不知道”或“不存在”或“无意义”的值。参照完整性(1)参照完整性:现实世界中的实体之间往往存在某种联

50、系,在关系模型中实体及实体之间的联系是用关系来描述的,不同关系之间的联系都是通过主码和外码实现参照完整性就是定义外码与主码之间的引用规则的。参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。用户定义的完整性(1)任何关系数据库系统都应该支持实体完整性和参照完整性。这是关系模型所要求的。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性(2)用户定义的完整性就是针对某一具体关系

51、数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。成绩的取值范围可以定义为0100之间,身份证号和生日要对应等等。感谢聆听MySQL第2章本章要点 MySQL的特点MySQL下载安装MySQL服务的启动与关闭Workbench的基本配置2.1MySQL数据库简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双

52、授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,大量信息系统开发都选择MySQL作为网站数据库。2.1MySQL数据库简介MySQL是最流行的关系型数据库管理系统之一,根据2020年2月DB-Engines发布的DBMS数据库排行,中MySQL排名第二,见图2.1图2.1 MySQL流行度排名资料来源:DB-Engines 数据库流行度排行榜 /en/ranking 2020年3月11日。2.1.1 MySQL的基础特性(1)MySQL 采用了开源GPL协议,不需要支付额外的费用。你可以修改源码来开发自己的 MySQL 系统。需要注意,即使MySQL

53、是开源软件,但是可以从Oracle购买商业许可证版本,以获得高级支持服务(特殊企业用户需要)。(2)使用C/C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。(3)支持类UNIX及Windows等多种操作系统。支持yum、apt等包管理软件支持。(4)提供C api和C+、.NET、Node.js,Python、PHP、ODBC、JDBC等数据库连接途径。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。(5)支持多用户。优化的SQL查询算法,有效地提高查询速度。支持多线程,充分利用CPU资源,可以处理拥有上千万条记录的大型数据库。(6)

54、提供Workbench等用于管理、检查、优化数据库操作的管理工具。(7)提供多语言支持。(8)支持多种存储引擎。2.2MySQL的下载与安装对于不同的操作系统,MySQL提供了相应的版本。在Windows操作系统下,MySQL数据库的安装包分为图形化界面安装和免安装这两种安装包。这两种安装包的安装方式不同,配置方式也不同。图形化界面安装包有完整的安装向导,安装和配置很方便。2.2MySQL的下载与安装本书以MySQL8.0为例介绍其在Windows10操作系统下的安装和配置过程。下载地址:/downloads/mysql/2.2MySQL的下载与安装MySQL提供MSI安装和Zip压缩包两种方

55、式,以MSI安装方式为例,在位置1选择Windows平台,在位置2进入下载链接,页面跳转至图2.3。2.2MySQL的下载与安装(3)下载前会提示是否注册,可以跳过此步骤,安装文件名为mysql-installer-community-8.0.X.msi,大约400MB,文件形式见图2.6。2.2MySQL的下载与安装进入“Choosing a Setup Type(安装类型选择)”窗口,根据右侧的安装类型描述文件选择适合自己的安装类型,这里选择默认的安装类型(开发者模式:Developer Default,即全部组件安装),如图2.6所示。2.2MySQL的下载与安装开发者模式中的安装组件包

56、括,见图2.7:MySQL服务器MySQL核心程序MySQL ShellMySQL的命令行客户端应用程序,可用于管理MySQL服务器和InnoDB集群实例。MySQL路由器将安装在MySQL服务节点上的路由器守护程序,用于InnoDB群集设置。MySQL工作台MySQL的图形化命令行客户端应用程序,用于开发和管理服务器。MySQL for Excel访问和操作MySQL数据的Excel插件。Visual Studio MySQL在Visual Studio开发环境中调用MySQL服务器的插件。MySQL Conncetors多种MySQL连接器,如网络,Java,C / C +,OBDC等。示

57、例和教程帮助用户开始学习MySQL开发。2.2MySQL的下载与安装选择标准MySQL服务器模式,配置见图2.12。保持默认配置,TCP/IP端口为3306。2.2MySQL的下载与安装授权方式选择推荐配置,采用SHA-256强加密方式,点击Next,见图2.13。2.2MySQL的下载与安装在位置1填写MySQL根账户密码,此页面位置2可以添加其他用户角色,这里暂时不填写,在本书十三章有MySQL用户管理详细解释,见图2.14。2.2MySQL的下载与安装在位置1填写MySQL根账户密码,此页面位置2可以添加其他用户角色,这里暂时不填写,在本书十三章有MySQL用户管理详细解释,见图2.14

58、。2.2MySQL的下载与安装在此页面中,将MySQL服务设置为Windows系统服务,默认服务名称为MySQL80,以系统账户为服务的所有者,见图2.15。2.2MySQL的下载与安装确认执行配置的操作。点击Execute执行配置,成功后出现图2.7。服务启动后,Windows10通知栏将出现弹窗提示。在windows任务管理器中也会出现MySQL80服务正在运行,见图2.18。2.2MySQL的下载与安装安装程序要求连接服务,需要在位置1输入根用户密码,点击Check验证,位置3提示Connection Succeeded表明服务启动成功,可以正常连接,点击Next,应用配置。2.2MyS

59、QL的下载与安装路由配置完成后,出现两个窗口,一为MySQL Shell8.0,窗口内容如下:另一窗口为MySQL图形化管理工具Workbench,界面见图2.23:2.2MySQL的下载与安装进入MySQL命令行操作方式为点击Windows开始菜单 MySQLMySQL 8.0 Command Line Client Unicode,输入根用户root的密码,进入MySQL,出现下图表明已经在命令行进入MySQL,见图2.24至此MySQL安装结束。2.3MySQL服务的启动与关闭在window下,MySQL服务的启动关闭可以通过命令行、Window任务管理器等方式启动与关闭MySQL服务。

60、2.3.1命令行方式操作MySQL服务在命令行中使用操作MySQL,需要确保环境变量配置正确,如果在命令行启动MySQl不成功,则需要在“计算机-属性-高级系统设置-环境变量-path“中增加MySQL二进制文件路径。MySQL相关二进制文件的默认路径是:2.3.1命令行方式操作MySQL服务(1)如果MySQL数据库服务,设置的不是自动启动的话,就需要手动的开启服务和关闭服务。开启MySQL的方法为以管理员身份进入命令行,键入命令为:net start MySQL服务名,以默认服务名“mysql80“为例。2.3.1命令行方式操作MySQL服务(2)服务关闭方法为 net stop MySQ

温馨提示

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

评论

0/150

提交评论