




免费预览已结束,剩余96页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库技术简介,一内容数据库技术的基本理论和方法数据库领域研究的的新理论、新技术。,二要求掌握相关理论、原理和技术有课后书面作业期末闭卷考试成绩:平时成绩(20)考试成绩(80),三教材与参考书1.教材:数据库理论与新技术北京理工大学出版社2.参考资料:1.王珊萨师煊数据库系统概论高等教育出版社2.闪四清,数据库系统原理与应用教程,清华大学出版社,北京,2008.43.李昭原,数据库技术新进展清华大学出版社2007.104.SYBASE、ORACLE、IBMDB2、INFORMIX、MSSQLSERVER数据库系统有关资料。3.教材和参考书的使用本课程以教材为主,课件内容主要来自教材和参考书,课程内容自成体系。对以前一点没有学过数据库基本知识的同学,可以从参考书1或其它相关参考书中查到一些最基本的知识。,四.本课程主要内容第一章关系和关系模型数据模型,关系和关系模式,键,关系的更新.第二章关系运算布尔运算,选择,投影,连接,除,常关系,属性命名,关系代数.第三章数据依赖函数依赖、多值依赖和连接依赖,数据依赖的公理系统,依赖集的等价和覆盖及算法。第四章关系数据库范式范式的概念,1NF5NF,模式分解及其算法,生成范式的不同算法。第五章数据库系统设计数据库系统设计与数据库设计,数据库系统设计的任务与内容,数据库系统设计方法与步骤。第六章数据库管理系统数据库管理系统的系统结构、主要功能、实现技术、语言处理,当前流行的主流数据库管理系统简介。,本课程主要内容,第七章分布式数据库系统分布式数据库系统的特点,分布式数据库系统的体系结构,分布式查询处理,分布式事务管理,分布式目录,数据库的安全保护,数据库的完整性保护。第八章面向对象数据库新应用的需求与传统数据库的局限性,面向对象数据模型,面向对象数据库系统的查询、并发控制,面向对象数据库管理系统,对象-关系数据库管理系统。第九章数据库技术新进展数据库技术新进展,包括:数据仓库、数据挖掘、并行数据库、Web数据库、多媒体数据库、工程数据库、主动数据库等。第十章数据库技术论文选读选择10-15篇与教学内容相关的学术论文进行讲解,让学生了解本学科的基本研究方法和研究方向。,五.数据库领域研究的三个主要方面,1数据库管理系统软件(DBMS)研究其设计方法和实现技术,数据模型,对持久性数据的有效存储和存取方法,数据结构定义和数据操纵语言,用户接口等。数据库管理系统软件是位于用户和操作系统之间的数据管理软件。如ORACLE、SQLServer、DB2、ACCESS等,2数据库应用系统的设计方法和工具早期有设计指南和规范标准,设计阶段的计算机辅助设计工具,计算机辅助设计全过程。要求设计工具能够支持不同应用领域数据库设计,如支持复杂对象设计等。,3有关数据模型及设计理论的研究(7方面)(1)数据依赖理论函数依赖、多值依赖、连接依赖(2)规范化理论范式、算法、模式分解(3)查询优化理论包括逻辑层和物理层的优化,4泛关系理论泛关系模型、泛关系表示、泛关系查询5符号表追踪理论6超图理论利用超图研究数据库模式的特性7空值理论(不确定信息)空值表示,加了空值后的运算、推理,空值的分类,分解方法、查询优化等。,分布式数据库面向对象数据库对象关系数据库并行数据库多媒体数据库工程数据库智能数据库模糊数据库嵌入式数据库,主动数据库空间数据库时态数据库Web数据库数据仓库和数据挖掘,六.数据库领域的新技术,人工管理阶段(上世纪50年代初期)数据不保存应用程序管理数据数据不共享数据不具有独立性,七.数据管理技术的产生和发展,文件系统阶段(上世纪50年代后期)数据物理结构和逻辑结构的分离数据可以长期保存由文件系统管理数据数据文件是面向应用的数据共享性差,冗余度大数据独立性差,数据库系统阶段(上世纪60年代后期)数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由统一管理和控制,数据库管理系统,数据库,数据库(DataBase,DB)长期存放在计算机内的、有组织的、可共享的数据集合。数据库管理系统(DataBaseManagementSystemDBMS)数据库管理系统是位于用户和操作系统之间的数据管理软件。如ORACLE、SQLServer、DB2、ACCESS等。数据库管理系统的功能是:科学地组织和存储数据、高效地获取和维护数据。,八.数据库、数据库管理系统、数据库系统,数据库系统(DBS)由:数据库、数据库管理系统、应用系统、数据库管理员(DBA)、数据库用户构成的系统,后页,任课教师:苏桂平手机箱:sugp答疑地点:青年公寓6号楼2层214-3答疑时间:周三上午3-4节,第一章关系和关系模型,主要内容:数据模型关系和关系模式键关系的更新,数据模型的组成要素:数据结构、数据操作、数据的完整性基本的数据模型分类:层次、网状、关系数据模型、面向对象数据模型,1.1数据模型,1.1.1数据模型的组成要素,(l)数据结构:用于描述数据的静态结构,包括应用所涉及的对象类和对象类所具有的特性以及它们之间的联系。(2)数据操作:是施加在对象上的一组操作,是对系统动态特性的描述。(3)数据的完整性:是对数据静态和动态特征性的限制,是一组完整性规则的集合。完整性规则是用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,1.层次模型有且仅有一个结点无双亲,称为根结点;其它结点有且仅有一个双亲。层次模型的数据结构是一棵树。,1.1.2基本数据模型分类,大学组织机构的层次模型,2.网状模型,允许一个结点可以有多个双亲;多个结点无双亲结点。,基本结构是二维表,一张表称为一个关系。与层次和网状模型比较,关系模型有下列优点:数据结构单一;建立在严格的数学概念基础上;将数据定义和数据操纵统一在一种语言中,使用方便,易学易用。由于关系模型具有许多优点,因而在80年代之后的商品化数据库系统几乎都是关系型的。所以关系数据库是本课程的主要研究内容之一。,3.关系数据模型,(a)学生关系,(b)教师开课关系,可以表示复杂对象;模块化的结构,便于管理;具有定义抽象数据类型的能力。面向对象的数据模型是新一代数据库系统的基础,是数据库技术发展的方向。,4.面向对象数据模型,1.2关系和关系模式1.2.1关系在关系模型中唯一的数据结构是关系,一个关系对应一张二维表。域:具有相同数据类型的值的集合。定义1(笛卡尔积):D1,D2,.,Dn的笛卡尔积为:D1D2.Dn=(d1,d2,.,dn)diDi,i=1,2,.,n。其中每一个元素(d1,d2,.,dn)叫做一个n元组(n-tuple),元素中第i个值di叫做第i个分量。,例:设D1=1,2,3,D2=a,bD1D2=(1,a),(1,b),(2,a),(2,b),(3,a),(3,b),实际上,如D1学生集(50个),如D2班级集(2个),D1D2有多少元素?意义?定义2(关系):集合D1,D2,.,Dn笛卡尔积的任一个子集称该集合上的一个关系(Relation)。其中,集合D1,D2,.,Dn是关系中元组的取值范围,称关系的域(domain),这些域是有限的非空集合,n叫做关系的度(degree)。,关系的基本概念关系(Relation)二维表,关系用关系名标识,如关系r。元组(Tuple)表中的行,一般用变量t表示。属性(Attribute)表中的一列,如列Ai,domAi表示属性Ai的域键(Key,码)可以唯一地确定一个元组的属性组。关系举例:火车时刻表,dom(NUMBER)=565,523,532,K95,K96dom(FROM)=dom(TO)=BeiJing,XuZhou,ShenZhendom(DEPARTS)=dom(ARRIVES)=一组时间。,表1火车时刻表,关系的性质(关系数据库中对关系的限定)1.每一列中的值是同类型的数据,来自同一个域。2.不同的列可以有相同的域,每一列称为属性,用属性名标识。3.列的顺序是无关紧要的。4.任意二个元组不能完全相同。(相同元组称重复组)5.行的顺序是无关紧要的。6.关系中的每个分量都是原子值,是不可分的数据项。,1.2.2关系模式关系模式一般表示为:关系名(属性1、属性n)如:R(A1,A2,An)。用U表示关系R的属性集合U=A1A2An,模式R上的一个关系r是从U到D的映象。元组tr,t的分量用tAi表示.tAiDi例:在学生关系模式S(SNO,SNAME,AGE,SEX,CNO)中,当CNO=1,就可以一班学生的列表,即一个具体的关系;当CNO=2,就可以二班学生的列表,即另一个具体的关系。,定义(关系数据库模式):设属性集U和U的属性所关联的域为D,U上的关系数据库模式R是R1,R2,Rp的集合,即:R=R1,R2,Rp,且U=R1R2Rp。比如:R1为学生关系:S(Sno,Sname,Sbirth,Dept,Class,Rno)R2为班级关系:C(Class,Pname,Dept,Cnum,Cyear)R3为系关系:D(Dept,Dno,Office,Dnum)R4为学生会关系:M(Mname,Myear,Maddr,Mnum)关系数据库:一个关系数据库模式R对应的所有关系集合r1,r2,rp称为关系数据库模式R上的一个关系数据库d.,关系模式和关系的区别和联系:,关系模式:对一类实体特征的结构性描述,即对关系的结构性描述,该描述一般包括关系名、属性名、属性域的类型和长度,属性之间固有的依赖联系等。关系模式和关系的区别和联系:关系模式描述的是关系的静态结构信息,是对一个关系的“型”的描述,是相对固定的。关系是在关系模式约束之下的若干实体的集合,实体的数量是随时间变化的,但这种变化必定在关系模式的约束范围内。一般用大写字母表述关系的结构,比如R,用小写字母一个具体的关系值,如r.,1.3键(Key)和关系的完整性1.键设关系模式R(U),KU,r是R上的任一关系,若对r中的任意二个不同的元组t1、t2满足:(1)t1Kt2K;(2)若KK而t1Kt2K不成立。称K是R的键。若仅条件(1)成立,K是R的超键。有键的定义得出:键是能唯一标示元组的最小属性集。在上面火车时刻表的例子中,NUMBER是一个键。,2.主键、隐含键、候选键、超键,主键:有的关系具有多于一个键,这种情况下指派其中一个键为主键,简称为关系的键。用带下划线的属性表示。例如:TRAIN(NUMBER,FROM,TO,DEPARTS,ARRIVES)TRAIN(NUMBER,FROM,TO,DEPARTS,ARRIVES)隐含键:未被制定的键称隐含键,也称替补键。候选键:主键和隐含键统称为候选键。超键:在上面键的定义中,若条件(2)不成立,称K为R的超键。例如:NUMBER、FROM是一个超键。,3.关系的完整性,实体完整性关系中键属性的值不能取空值。例如:学生关系S(SNO,SNAME,AGE,SEX,CNO)参照完整性是关系间引用所遵循的规则,与外键有关。用户定义的完整性数据间应满足的语义约束关系,由用户定义,由系统检查。,(2)完整性约束,下下页,参照完整性规则关系R中外键的值或者为空值,或者为被参照关系中主键的值。,建立表结构和完整性约束,补充:SQL语言简介SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言将数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能集于一体,可以独立完成数据库生命周期中的全部活动.SQL被作为关系型数据库管理系统的标准语言。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。基本的SQL语句包括Select、Insert、Update、Delete、Create、Drop,它们可以被用来完成几乎所有的数据库操作。很多数据库根据不同的需要对SQL语句进行了再开发和扩展。,SQL的基本语句,1.创建新表createtabletabname(col1type1notnullprimarykey,col2type2notnull,.)例:CREATETABLEC(CNONUMBER(6),CMNCHAR(10))2.选择select*fromtable1where范围例:SELECTSNO,SNAMEFROMSWHERECNO=2002013.插入insertintotable1(field1,field2)values(value1,value2)例:INSERTINTOSVALUES(909901,李利,21,男,200205);,4.删除deletefromtable1where范围例:DELETEFROMSWHERESNO=20100162;5.更新(修改)updatetable1setfield1=value1where范围例:UPDATESSETSage=23WHERESno=20100162完成核心功能SQL语言只用9个动词,并且它的表达接近英语句子,所以比较简单、易学。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言,比如:C、PL/1、FORTRAN。,CREATETABLES(SNONUMBER(4),SNAMECHAR(10)NOTNULL,AGENUMBER(3),SEXCHAR(1),CNONUMBER(6),CONSTRAINTSK1PRIMARYKEY(SNO),CONSTRAINTSK2FOREIGNKEY(CNO)REFERENCESC(CNO),CONSTRAINTSK3CHECK(AGEIN(16,45);,CREATETABLEC(CNONUMBER(6),CMNCHAR(10),CONSTRAINTCKPRIMARYKEY(CNO);,1.4关系的更新插入、删除、修改,1插入对关系r(A1,A2,An),插入操作形式为:ADD(r;A1=d1,A2=d2,An=dn)ADD(r;d1,d2,dn)例:ADD(S;SNO=909901,SNAME=李利,AGE=21,SEX=男,CLASSNO=200205),插入操作的有效检查:(1).描述的元组是否符合所指定的关系模式;(2).元组的某些值是否属于对应的域;(3).元组的键是否已在关系中存在。,例:用SQL语言实现在学生关系S中插入一个元组。INSERTINTOSVALUES(909901,李利,21,男,200205);,2删除对关系r(A1,A2,An),删除操作形式为:DEL(r;A1=d1,A2=d2,An=dn)DEL(r;d1,d2,dn);若K=B1B2Bm,DEL(r;B1=k1,B2=k2,Bm=km)例:DEL(S;SNO=909901,SNAME=李利,AGE=21,SEX=男,CLASSNO=200205),删除操作的检查:如果被删除元组在关系中不存在,这个关系将保持不变,但需给出一个出错提示。*删去最后一个元组不受限制,即允许是空关系。,实际上,为了识别被删除的元组并不需要所有元组的信息,只需要制定键的值就足够了。比如:删除学号为909901的学生元组DELETEFROMSWHERESNO=909901;,3修改修改元组的部分值。对关系r(A1,A2,An),若属性集C1,C2,CpA1,A2,An,则修改操作形式为:CH(r;A1=d1,A2=d2,An=dn;C1=e1,C2=e2,Cp=ep)如果KB1,B2,Bm为键,则可简化为:CH(r;B1=k1,B2=k2,Bm=km;C1=e1,C2=e2;Cp=ep)例:CH(S;SNO=909901;CLASSNO=200203),修改操作可用删除操作后跟一个插入操作实现。对插入和删除操作的限制可运用到修改操作中。,例:施加一系列操作于火车时刻表1.ADD(train;33,TianJin,ShangHai,17:20,10:36);2.ADD(train;Y15,BeiJing,TianJin,10:05,12:43);3.DEL(train;523);4.CH(train;NUMBER=532;DEPARTS=22:45,ARRIVES=10:42)。,火车时刻表,练习,2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系办公地点、人数。学会:学会名、成立年份、办公地点、人数。语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。请给出关系模式,指出各关系模式的候选键和外键。,练习解答,解:(1)关系模式如下:学生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班级:C(Class,Pname,Dept,Cnum,Cyear)系:D(Dept,Dno,Office,Dnum)学会:M(Mname,Myear,Maddr,Mnum)(2)各关系模式的候选键、外部键如下:A、学生S候选键:Sno;外部键:Dept、Class;B、班级C候选键:Class;外部键:Dept;C、系D候选键:Dept或Dno;无外部键;D、学会M候选键:Mname;无外部键。课后练习:如何用SQL来创建该数据库?(建议没有学过数据库的同学在自学SQL后练习一下),第二章关系运算,本章的主要内容:布尔运算选择投影连接除常关系属性重命名关系代数,2.1布尔运算,关系可以看做元组的集合,那么集合的并、交、差等布尔运算算都可以用到关系中。关系的布尔运算包括:并、交、差、广义笛卡尔积、补、有效补。,同类关系:若R和S是同类关系,则满足如下条件:(1)R和S具有相同的度;(2)R和S的对应属性定义在同一个域上。同类关系也称相容运算,布尔运算大多是在同类关系中进行。,并(Union)关系R和S的并其结果由属于R或属于S的所有元组组成,其结果为一个新关系。记为:Q=RS=t|tR或tS,交(Intersection)关系R和S的交其结果由既属于R又属于S的所有元组组成。记为:Q=RS=t|tR且tS,差(Difference)关系R和S的差由属于R但不属于S的所有元组组成。记为:Q=RS=t|tR但tS,例子:RS,R,S,RS,例子:R-S,例子:RS,例:并运算的SQL实现查询200201班的学生和年龄超过23岁的学生姓名。SELECTSNO,SNAMEFROMSWHERECNO=200201UNIONSELECTSNO,SNAMEFROMSWHEREAGE23;*INTERSECT(交)、MINUS(差),广义笛卡尔积的例子:,R,S,RS,有学生关系S(Sno,Sname,Sage)和选课关系SC(Sno,Cno,Grade)SELECTS.*,SC.*FROMS,SC,例:广义笛卡尔积的SQL实现,补(Complement)关系模式R(A1,A2,An),R上的关系r。补运算:设dom(R)表示模式R上的所有元组的集合,则关系r的补为:r=dom(R)r,例:设R(A,B),dom(A)=a1,a2,a3,dom(B)=b1,b2R上的关系r和r的补r如下所示。,r(AB)r(AB)a1b1a2b2a1b2a3b1a2b1a3b2,例:设R(A,B,C),dom(A)=a1,a2,dom(B)=整数的集合,dom(C)=c1,c2。求r的补。,r(ABC)a11c1a12c2a21c1a22c1a23c2,有效补关系模式R(A1,A2,An),属性Ai的有效值域:adom(Ai,r)=d|dDi,存在tr且tAi=d定义r的有效补为:,有效补的应用:当关系元组数比其有效补元组数多得多时,有效补可作为数据压缩手段。例如:学生选课,一个班有50个学生选数据库课,3个学生不选,则存储选修了数据库课的学生可用存储其有效补实现。,练习,1.设R(A,B,C),dom(A)=a1,a2,dom(B)=b1,b2,b3,dom(C)=c1,c2r(ABC)a2b3c1a2b1c1a2b2c1a1b1c1求:r的补和有效补,从关系中选择在指定属性上有确定值的关系的子集。表示为:Aa(r)ttr且tA=a。选择运算是选择关系中行的子集,即选择满足条件元组。,例:在下面关系train中求:FROMbeijing(train);DEPARTS16:55(train),2.2选择(Select),(2)可分配A=a(rs)=A=a(r)A=a(s)其中、或,且r和s是同类关系。广义选择:Aa(r)t|tr且tAa其中为、。,选择运算的特性,设r(R)是一个关系,A和B为R的属性。(1)可交换A=a(B=b(r))B=b(A=a(r)。例:学生关系中,A=2011年入学,B=信息学院,2.3投影(Project)投影是选取关系中列的子集。设模式R上关系r,X是R上属性的子集,r到X上的投影r表示为:r(X)=x(r)=tX|tr。投影的结果不是原来的关系,是X中几列属性。*如果X中不包含R的键,则选取的列中会出现重复元组,r(X)中应不包含重复元组。例:Sno,Sname(S);Cno(S),投影的特性:,投影的串接给定关系r(R),且YXR,则:Y(X(r)=Y(r)对一串投影而言,若X1X2XmR,则:X1(X2(Xm(r)X1(r)投影和选择的可交换性设r是R上的一个关系,AX,XR,则下式成立:X(A=a(r)=A=a(X(r),SELECTSNO,SNAMEFROMSWHERECNO=200401,投影,选择,检索200401班学生的姓名。,2.4连接(Join),R,S,例子:求R和S自然连接,连接运算:有学生关系S和课程关系C.SELECTSNO,SNAME,S.CNO,CMNFROMS,CWHERES
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030自动轨道抛光机行业产业运行态势及投资规划深度研究报告
- 2025至2030中国不锈钢磁力泵行业发展趋势分析与未来投资战略咨询研究报告
- 契税法培训课件
- 2025年护理资格知识前列腺增生的临床表现理论考试试题及答案
- 2025年餐饮食品安全试题及答案
- 2025至2030中国人工胰腺装置和系统行业项目调研及市场前景预测评估报告
- 《金属材料及热处理》课件 11.2使用性能原则
- 办公耗材定点采购合同协议
- 2025至2030云防火墙管理行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国透气款鞋行业市场发展态势及发展趋势与行业项目调研及市场前景预测评估报告
- 医院小额采购管理办法
- 肝脏弥漫性病变超声诊断与检查规范
- 2026版高三一轮总复习(数学) 高考命题改革及备考导向分析 课件
- 产后出血病例讨论分析
- 肿瘤病人疼痛护理课件
- 酒店餐饮英语培训课件
- 2025年长沙市中考物理试卷真题(含答案)
- 外科术后康复
- 口腔科主任述职报告
- 营养科专案管理制度
- 达州国企考试试题及答案
评论
0/150
提交评论