《《数据库总复习》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库总复习》PPT课件.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一块第一块 数据库系统概述数据库系统概述l基本概念(什么是数据库基本概念(什么是数据库)l数据库管理技术的产生与发展数据库管理技术的产生与发展 l数据库系统结构数据库系统结构 l数据模型数据模型 1.1 1.1 三个重要的概念三个重要的概念l数据库(简称为数据库(简称为DB)l数据库管理系统(简称为数据库管理系统(简称为DBMS)l数据库系统(简称为数据库系统(简称为DBS)其中:其中:DBS包含包含DB和和DBMS要求掌握三个概念的定义和三者之要求掌握三个概念的定义和三者之间的关系!间的关系!一一.数据库数据库 数据库定义:长期存储在计数据库定义:长期存储在计算机内的、有结构的、大量的、算
2、机内的、有结构的、大量的、可共享的可共享的数据集合数据集合。二二.数据库管理系统数据库管理系统 数据库管理系统数据库管理系统(DataBase DataBase Management SystemManagement System,简称,简称DBMSDBMS):为了方便数据库的建立、运用和:为了方便数据库的建立、运用和维护,人们研制的一种数据管理维护,人们研制的一种数据管理软软件件(DB2DB2,OracleOracle,Access,Access,Microsoft SQL ServerMicrosoft SQL Server,SybaseSybase等)。等)。三三.数据库系统数据库系统
3、基于数据库的计算机应用系统基于数据库的计算机应用系统1.21.2数据库管理技术的产生与发展数据库管理技术的产生与发展三个阶段:三个阶段:l人工管理阶段人工管理阶段l文件系统阶段文件系统阶段l数据库系统阶段数据库系统阶段其中数据库技术的特点l数据结构化。数据结构化。l数据共享性数据共享性高高、冗余度、冗余度低低。l数据独立性高。数据独立性高。l数据由数据由DBMSDBMS集中管理集中管理l方便的用户接口方便的用户接口 1.3 1.3 数据库系统的模式结构数据库系统的模式结构l从数据库管理系统的角度看,数从数据库管理系统的角度看,数据库系统通常采用三级模式结构。据库系统通常采用三级模式结构。l外模
4、式、模式和内模式外模式、模式和内模式l两级映射两级映射要求掌握三级模式的定义和三者之要求掌握三级模式的定义和三者之间的映射关系!间的映射关系!一、外模式一、外模式l外模式也称子模式或用户模式,是数外模式也称子模式或用户模式,是数据库用户(包括应用程序员和最终用据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的据视图,是与某一应用有关的数据的逻辑表示。逻辑表示。二、模式二、模式l模式也称概念模式,是数据库中的数模式也称概念模式,是数据库中的数据在逻辑级上的
5、视图,是数据库中全据在逻辑级上的视图,是数据库中全体数据的逻辑结构和特征的描述。它体数据的逻辑结构和特征的描述。它通常以某一数据模型为基础,定义数通常以某一数据模型为基础,定义数据库全部数据逻辑结构。据库全部数据逻辑结构。三、内模式三、内模式l内模式也称存储模式。它既定义了数内模式也称存储模式。它既定义了数据库中全部数据的物理结构,还定义据库中全部数据的物理结构,还定义了数据的存储方法、存取策略等。了数据的存储方法、存取策略等。三级模式结构三级模式结构用户A1用户用户A2A2用户用户B1B1用户用户B2B2视图视图A A视图视图B B基本表基本表 存储数据库存储数据库 (内视图)(内视图)外模
6、式外模式A A外模式外模式B B概念模式概念模式(模式)(模式)存储结构定义存储结构定义(内模式)(内模式)由数据由数据库管理库管理员建立员建立和维护和维护的模式的模式1.4 概念数据模型l如何画如何画E-R图?图?lE-R图三要素:实体集、属性和联系集。图三要素:实体集、属性和联系集。l用长方形表示实体用长方形表示实体l椭圆形表示属性,并用无向边把实体与其椭圆形表示属性,并用无向边把实体与其属性连接起来属性连接起来l菱形表示实体间的联系菱形表示实体间的联系l联系的种类:联系的种类:1:1、1:n、n:1或或m:n1.5 逻辑数据模型l数据模型描述了数据库中的数据数据模型描述了数据库中的数据内
7、容及其联系方式,体现了数据内容及其联系方式,体现了数据库的逻辑结构。库的逻辑结构。l不同的数据模型就是用不同的数不同的数据模型就是用不同的数据组织形式来表达实体及其联系。据组织形式来表达实体及其联系。一.层次模型l层次模型是将数据组织成有向有层次模型是将数据组织成有向有序的树结构,也叫序的树结构,也叫树形结构树形结构。(反映数据之间的反映数据之间的隶属隶属关系关系)l层次模型是数据库技术中发展最层次模型是数据库技术中发展最早、技术上比较成熟的一种数据早、技术上比较成熟的一种数据模型。模型。二.网状模型 现实世界中实体集间的联系更多的现实世界中实体集间的联系更多的是非层次关系,层次模型难以直观的
8、表是非层次关系,层次模型难以直观的表现这种联系树的集合,网状模型克服了现这种联系树的集合,网状模型克服了它的局限性,可以清晰灵活地表示这种它的局限性,可以清晰灵活地表示这种非层次关系。非层次关系。三.关系模型l关系模型是用关系模型是用二维表格二维表格数据来表数据来表示实体及实体之间联系的模型。示实体及实体之间联系的模型。l一个表就是一个关系。一个表就是一个关系。l一张表格中的一列称为一个一张表格中的一列称为一个“属属性性”,相当于记录中的一个数据项,相当于记录中的一个数据项(或称为字段),属性的取值范围(或称为字段),属性的取值范围称为域。称为域。习题假设某工厂物资管理系统涉及如下实体:假设某
9、工厂物资管理系统涉及如下实体:l仓库(仓库号、面积)仓库(仓库号、面积)l货物(货号、名称)货物(货号、名称)l职工(职工号、姓名、年龄、职称)职工(职工号、姓名、年龄、职称)各实体之间具有如下所述联系:一个仓库可以各实体之间具有如下所述联系:一个仓库可以存放多种货物,一种货物可以存放在多个仓库中,存放多种货物,一种货物可以存放在多个仓库中,即仓库与货物之间存在即仓库与货物之间存在“存货存货”联系;一个仓库有联系;一个仓库有多个职工当保管员,每一个职工只能在一个仓库工多个职工当保管员,每一个职工只能在一个仓库工作,即仓库与职工之间存在作,即仓库与职工之间存在“工作工作”联系。联系。请用请用E-
10、RE-R图表示该工厂物资管理的概念模型。图表示该工厂物资管理的概念模型。第二块第二块 关系数据库关系数据库l几个重要概念几个重要概念l三类完整性约束三类完整性约束 l八个关系代数运算符八个关系代数运算符 2.1 2.1 几个重要的概念几个重要的概念l候选码候选码l主码主码l外码外码l主属性主属性l非主属性非主属性要求掌握各个概念的定义!要求掌握各个概念的定义!l候选码(候选码(Candidate Key):能唯):能唯一表示关系中元组的一个属性或属一表示关系中元组的一个属性或属性集。称为候选码,也称候选关键性集。称为候选码,也称候选关键字。字。如:如:“学生关系学生关系”中学号能唯一标中学号能
11、唯一标识每个学生,则属性识每个学生,则属性“学号学号”是学是学生关系的候选码。生关系的候选码。l主码(主码(Primary Key):如果一个关):如果一个关系中有多个候选码,可以从中选择一系中有多个候选码,可以从中选择一个作为查询、插入或删除元组的操作个作为查询、插入或删除元组的操作变量,被选中的候选码称为主关系码,变量,被选中的候选码称为主关系码,或简称主码、主键、主关键字等。或简称主码、主键、主关键字等。l每个关系必须有且仅有一个主码。每个关系必须有且仅有一个主码。l外码(外码(Foreign Key):设):设F是基本是基本关系关系R的一个或一组属性,但不是关的一个或一组属性,但不是关
12、系系R的主码(或候选码)。如果的主码(或候选码)。如果F与与基本关系基本关系S的主码的主码K相对应,则称相对应,则称F是是基本关系基本关系R的外部关系码,可简称外的外部关系码,可简称外码。码。2.22.2关系的完整性约束关系的完整性约束 关系模型中允许定义三类完整性:关系模型中允许定义三类完整性:实实体完整性、参照完整性和用户定义的完整体完整性、参照完整性和用户定义的完整性性。其中实体完整性和参照完整性是关系其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,是由关模型必须满足的完整性约束条件,是由关系数据库系统自动支持的。而用户定义的系数据库系统自动支持的。而用户定义的完整性是应用
13、领域需要遵循的条件,体现完整性是应用领域需要遵循的条件,体现在具体领域中的语义约束。在具体领域中的语义约束。一、实体完整性:l规则规则2.1 实体完整性规则:实体完整性规则:若若属属性性A是是基基本本关关系系R的的主主属属性性,则则属性属性A不能取空值。不能取空值。l如如:在在学学生生档档案案表表里里,由由于于“学学号号”是是基基本本关关系系的的主主属属性性,则则“学学号号”值值不不能能为为空空值值,学学生生的的其其他他属属性性可可以以是是空空值值,如如“年年龄龄”值值或或“性性别别”值值如如果果为为空空,则则表表明明不不清楚该学生的这些特征值。清楚该学生的这些特征值。二、参照完整性:l规则规
14、则2.2 参照完整性规则:参照完整性规则:若属性(属性组)若属性(属性组)F是基本关系是基本关系R的外的外码,它与基本关系码,它与基本关系S的主码的主码K相对应(基相对应(基本关系本关系R和和S不一定是不同的关系),则不一定是不同的关系),则对于对于R中每个元组在中每个元组在F上的值必须为:上的值必须为:(1)或者取空值()或者取空值(F的每个属性值均为空的每个属性值均为空值);值);(2)或者等于)或者等于S中某个元组的主码值。中某个元组的主码值。三、用户定义的完整性l用户定义的完整性约束:用户定义的完整性约束:就是针对某一具体关系数据库的约就是针对某一具体关系数据库的约束条件,它反映某一具
15、体应用所涉及的束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。数据必须满足的语义要求。例如:在学生关系中,学生年龄分量的例如:在学生关系中,学生年龄分量的取值范围应该限定在取值范围应该限定在1830岁,学生考岁,学生考试的成绩必须在试的成绩必须在0100之间,学生的性之间,学生的性别应该为男或女等。别应该为男或女等。2.3 2.3 关系代数关系代数习题习题R Sl求求RS,RS,RS,RSl求求A=a1(R),A,B(S),RSRS(R.B=S.B)ABCa1b1c1a3b4C6a1b2c1a2b2c1a1b2c3a3b2c1RSABCa1b1c1a1b2c3RSABCa3b4C6a
16、1b2c1a2b2c1a3b2c1RSR.AR.BR.CS.AS.BS.Ca1b1c1a1b1c1a3b4c6a1b1c1a1b2c1a1b1c1a2b2c1a1b1c1a1b2c3a1b1c1a1b1c1a1b2c3a3b4c6a1b2c3a1b2c1a1b2c3a2b2c1a1b2c3a1b2c3a1b2c3a1b1c1a3b2c1a3b4c6a3b2c1a1b2c1a3b2c1a2b2c1a3b2c1a1b2c3a3b2c1RSA=a1(R)ABCa1b1c1a1b2c1a1b2c3A,B(S)ABa1b1a1b2a3b2R.AR.BR.CS.AS.BS.Ca1b1c1a1b1c1a1b
17、2c1a1b2c3a2b2c1a1b2c3a1b2c3a1b2c3a1b2c1a3b2c1a2b2c1a3b2c1a1b2c3a3b2c1RS(R.B=S.B)第三块第三块 SQL SQL语言语言SQL包括四大功能:数据定义、包括四大功能:数据定义、数数据查询、数据操纵据查询、数据操纵和数据控制。和数据控制。3.1 SELECT命令(查询元组)SELECTSELECT ALL|DISTINCTALL|DISTINCT FROMFROM ,WHEREWHERE GROUP BYGROUP BY HAVING HAVING ORDER BYORDER BY ASC|DESC 2ASC|DESC;3
18、.2 INSERT命令(插入元组)插入数据为元组值的时候,使用插入数据为元组值的时候,使用 VALUES VALUES 子句来指定一行或多行的列值。子句来指定一行或多行的列值。一般格式如下:一般格式如下:INSERTINSERTINTO INTO (,)2)VALUES(VALUES(1,)2);3.3 DELETE命令(删除元组)SQL中使用中使用 DELETE 语句,基于在语句,基于在 WHERE 子句中指定的搜索条件从表子句中指定的搜索条件从表中删除数据行。其一般格式如下:中删除数据行。其一般格式如下:DELETE FROM WHERE;3.4 UPDATE命令(修改数据)一般格式如下:
19、一般格式如下:UPDATE UPDATE SET SET =,=WHERE WHERE ;设有学生课程数据库中包含如下关系设有学生课程数据库中包含如下关系:S(学号学号Sno,姓名姓名Sname,性别性别Sex,系别系别SD,年年龄龄Age)C(课程号课程号Cno,课程名课程名Cname,上课学期上课学期Term,学分学分Credit)SC(学号学号Sno,课程号课程号Cno,成绩成绩Grade)其中,为学生表,为课程表,为学其中,为学生表,为课程表,为学生选课成绩表。生选课成绩表。习题习题(1)查询在查询在001系的女学生的学号和姓名。系的女学生的学号和姓名。(2)查询所有姓陈的学生的姓名和
20、性别。查询所有姓陈的学生的姓名和性别。(3)按学生年龄降序显示所有学生的信息按学生年龄降序显示所有学生的信息.(4)查询选修了查询选修了”数据库数据库”课程的学生的学号课程的学生的学号,姓名和成绩姓名和成绩.(6)往课程表中新增加一门课,其课程编号为往课程表中新增加一门课,其课程编号为C05,课程名为,课程名为WEB程序设计,上课学期为程序设计,上课学期为3,学分为,学分为2。(7)往选课表中增加一条新的选课记录,学号为往选课表中增加一条新的选课记录,学号为07070103的学生选修了编号为的学生选修了编号为A02的课程。的课程。(8)删除学号为删除学号为03060105的学生的记录。的学生的
21、记录。(9)删除课程名为删除课程名为“数学数学”的课程记录。的课程记录。(10)将学生表将学生表S中的学生肖杰的名字改为肖洁。中的学生肖杰的名字改为肖洁。(11)将所有学生的成绩降低将所有学生的成绩降低5分。分。(1)查询在查询在001系的女学生的学号和姓名。系的女学生的学号和姓名。Select sno,snameFrom sWhere sd=“001”and sex=“女女”(2)查询所有姓陈的学生的姓名和性别。查询所有姓陈的学生的姓名和性别。Select sname,sexFrom sWhere sname like“陈陈*”(3)按学生年龄降序显示所有学生的信息按学生年龄降序显示所有学生
22、的信息.Select*From sOrder by age desc(4)查询选修了查询选修了”数据库数据库”课程的学生的学号课程的学生的学号,姓名和成绩姓名和成绩.Select sno,sname,gradeFrom s,c,scWhere s.sno=sc.sno and o=o and cname=“数据库数据库”(6)往课程表中新增加一门课,其课程编号为往课程表中新增加一门课,其课程编号为C05,课程名为,课程名为WEB程序设计,上课学期为程序设计,上课学期为3,学分为,学分为2。Insert into cValues(“C05”,”WEB程序设计程序设计”,3,2)(7)往选课表中增
23、加一条新的选课记录,学号为往选课表中增加一条新的选课记录,学号为07070103的学生的学生选修了编号为选修了编号为A02的课程。的课程。Insert into sc(sno,cno)Values(“07070103”,”A02”)(8)删除学号为删除学号为03060105的学生的记录。的学生的记录。Delete from s where sno=“03060105”(9)删除课程名为删除课程名为“数学数学”的课程记录。的课程记录。Delete from c where cname=“数学数学”(10)将学生表将学生表S中的学生肖杰的名字改为肖洁。中的学生肖杰的名字改为肖洁。Update s set sname=“肖洁肖洁”where sname=“肖杰肖杰”(11)将所有学生的成绩降低将所有学生的成绩降低5分。分。Update sc set grade=grade-5