《数据库基础知识计算机软件及应用IT计算机专业资料.ppt》由会员分享,可在线阅读,更多相关《数据库基础知识计算机软件及应用IT计算机专业资料.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、电子商务数据库技术电子商务数据库技术2020/12/191为什么要学数据库?为什么要学数据库?2020/12/1922022/11/7白宏斌32020/12/193第一章第一章第一章第一章 数据库基础知识数据库基础知识数据库基础知识数据库基础知识2020/12/1941.1.1 1 数据库系统数据库系统w计算机数据管理的三阶段计算机数据管理的三阶段n手工处理阶段手工处理阶段l数据是程序的组成部分数据是程序的组成部分n文件系统阶段文件系统阶段l数据独立于程序,由文件管理数据独立于程序,由文件管理n数据库系统阶段数据库系统阶段l数据独立于程序,由数据库管理数据独立于程序,由数据库管理2020/12
2、/1952020/12/1961.1 数据库系统数据库系统w w数据库系统数据库系统数据库系统数据库系统包括:包括:n以数据为主体的数据库以数据为主体的数据库n数据库用户数据库用户n支持数据库的计算机软硬件环境支持数据库的计算机软硬件环境n管理数据库的系统软件管理数据库的系统软件DBMSDBMS2020/12/1971.2 数据库v数据库是数据库是 相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠;允许并发地使用享,
3、具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠;允许并发地使用数据,能有效、及时地处理数据,并能保证数据的一致性和完整性。数据,能有效、及时地处理数据,并能保证数据的一致性和完整性。2020/12/198相互关联的数据的集合相互关联的数据的集合v在数据库中不仅能够表示数据本身,还能够表示数据与数据之间的联系。在数据库中不仅能够表示数据本身,还能够表示数据与数据之间的联系。2020/12/199用综合的方法组织数据用综合的方法组织数据v数据库能够根据不同的需要按不同的方法组织数据。数据库能够根据不同的需要按不同的方法组织数据。2020/12/1910低冗余与数据共享低冗余与数据
4、共享文件系统中:文件系统中:职工基本情况 有关人事管理的数据 职工基本情况 有关教育培训的数据教育子系统人事子系统2020/12/1911数据库系统时:数据库系统时:教育子系统人事子系统低冗余与数据共享低冗余与数据共享有关人事管理的数据 职工基本情况 有关教育培训的数据2020/12/1912数据具有较高的独立性数据具有较高的独立性v数据的组织和存储方法与应用程序互不依赖、数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。彼此独立的特性。2020/12/1913保证数据的安全、可靠保证数据的安全、可靠v主动安全:有效地防止数据库中的数据被非法使用或非法修改主动安全:有效地防止数据库中的数
5、据被非法使用或非法修改v被动安全:数据遭到破坏时能立刻将数据完全恢复被动安全:数据遭到破坏时能立刻将数据完全恢复2020/12/1914最大限度地保证数据的正确性最大限度地保证数据的正确性200岁2020/12/1915数据可以并发使用数据可以并发使用并能同时保证数据的一致性并能同时保证数据的一致性v在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。2020/12/1916500元500+300=800500-168=332332元800元500元500元2020/12/191707
6、十一月 2022华北科技学院 白宏斌18v数据库是数据库是 相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠;允许并发地使用享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠;允许并发地使用数据,能有效、及时地处理数据,并能保证数据的一致性和完整性。数据,能有效、及时地处理数据,并能保证数据的一致性和完整性。2020/12/19181.3 1.3 数据库用户数据库用户w终端用户终端用户w专业用户(应
7、用程序员)专业用户(应用程序员)w系统用户(数据库管理员,系统用户(数据库管理员,DBADBA)2020/12/19191.4 软件支持系统软件支持系统w操作系统操作系统w软件开发工具软件开发工具wDBMS2020/12/1920数据库管理系统数据库管理系统DBMSDBMSv什么是什么是DBMS数据库管理系统(数据库管理系统(Database Management System,简称简称DBMS)是一层数据管理软件是一层数据管理软件vDBMS的用途的用途科学地组织和存储数据、高效地获取和维护数据科学地组织和存储数据、高效地获取和维护数据2020/12/1921DBMS的主要功能v数据定义功能数
8、据定义功能提供数据定义语言提供数据定义语言(DDL),定义数据库中的对象,定义数据库中的对象v数据操纵功能数据操纵功能提供数据操纵语言提供数据操纵语言(DML),实现对数据的增删改查操作,实现对数据的增删改查操作v数据组织、存储和管理v数据通信接口v数据库的运行管理v数据库的建立和维护功能2020/12/1922常见数据库产品vOraclevDB2vSQL ServervMy SQLvAccessvInformix,Sybase,FoxPro等2020/12/19231.5 数据模型数据模型w用途:描述数据、数据之间联系用途:描述数据、数据之间联系概念模型数据模型转换按用户观点对信息和数据建模
9、按计算机系统观点对数据建模层次模型网状模型关系模型2020/12/19241.5.1 概念模型概念模型v通过对客观事物及其联系的抽象,方便、直接的表达各种语义,以实现数据库设计人员与用户的通过对客观事物及其联系的抽象,方便、直接的表达各种语义,以实现数据库设计人员与用户的交流。交流。2020/12/19251.5.1 概念模型概念模型v实体实体v属性属性v关键字关键字v域域v实体集实体集v联系联系2020/12/1926客观存在并可以相互区分的客观事物或事件称为实体。订货、演出、足球赛仓库、产品、职工2020/12/1927实体所具有的某一方面的特性称为属性。2020/12/1928实体的某一
10、属性或属性组合,其取用的值能唯一标示出某一实体。2020/12/1929属性的取值范围。2020/12/1930具有相同特征的一类实体的集合称之为实体集。2020/12/1931联系v联系:事物之间的关系实体集内部的联系,表现在属性之间或者实体之间。实体集间的联系。最基本的是两个实体间的联系。实体集间的联系。最基本的是两个实体间的联系。2020/12/1932两个实体集间两个实体集间联系的类型联系的类型v1:1 实体集实体集A中每个实体至多只与实体集中每个实体至多只与实体集B中一个实体相联系。反之亦然。中一个实体相联系。反之亦然。v1:n 实体集实体集A中每个实体与实体集中每个实体与实体集B中
11、多个实体相联系,而中多个实体相联系,而B中每个实体至多只与中每个实体至多只与A中一个实中一个实体相联系。体相联系。vm:n 实体集实体集A中每个实体与实体集中每个实体与实体集B中多个实体相联系,反之,中多个实体相联系,反之,B中每个实体也与中每个实体也与A中多个中多个实体相联系。实体相联系。2020/12/1933 实体:实体:矩形框,框内为实体名称。矩形框,框内为实体名称。属性:椭圆属性:椭圆,以线与实体连接。属性较多时也可以将实体及其属性单独列表。,以线与实体连接。属性较多时也可以将实体及其属性单独列表。实体间的联系:实体间的联系:菱形框,框内为联系的名称。用线将菱形框与实体相连,线上标注
12、联系类型。菱形框,框内为联系的名称。用线将菱形框与实体相连,线上标注联系类型。E-R数据模型数据模型概念模型的表示方法很多,以概念模型的表示方法很多,以E-RE-R图应用最广。图应用最广。2020/12/1934零件零件mn工人工人加工加工工号工号姓名姓名性别性别零件号零件号零件名零件名型号型号2020/12/1935例:用例:用E-RE-R图表示实体及其联系。图表示实体及其联系。学生:学生:学号、姓名、性别、入学分学号、姓名、性别、入学分班级:班级:班级号、所属院班级号、所属院课程:课程:课程号、课程名、学分课程号、课程名、学分教师:教师:教工号、姓名、职称教工号、姓名、职称2020/12/
13、1936E-RE-R图图教师1n课程讲授讲授选修选修n1学生班级组成组成mn实体间联实体间联系的表示系的表示学号姓名性别入学分所属院班级号教师教师职称教工号姓名学分课程号课程名1n课程讲授讲授n1班级组成组成mn学生选修选修2020/12/1937一个业务内的实体间联系尽量避免出现闭合回路,闭合回路往往反映信息的冗余。一个业务内的实体间联系尽量避免出现闭合回路,闭合回路往往反映信息的冗余。教师教师1m课程讲授讲授mn学生选修选修当存在多个业务交叉在一起的时候,或者出现一些特殊业务的时候,也会存在出现闭合回路的情当存在多个业务交叉在一起的时候,或者出现一些特殊业务的时候,也会存在出现闭合回路的情
14、况。况。答案答案问题1n用户提出提出p1回答回答1给出给出mn教授教授m2020/12/1938领导n1员工带领带领n1员工带领带领粉丝nm用户关注关注nm用户关注关注2020/12/19391.5.2 数据模型数据模型v按计算机系统观点对数据建模按计算机系统观点对数据建模表示实体、属性等数据表示实体、属性等数据表示实体间的联系表示实体间的联系v三种方式:三种方式:层次模型层次模型网状模型关系模型2020/12/1940关系模型:关系模型:以以关系代数关系代数为基础构造的数据模型,将每个实体集或实体集间的联系用二维表(关为基础构造的数据模型,将每个实体集或实体集间的联系用二维表(关系)来表示。
15、系)来表示。厂号厂号厂名厂名状态状态厂址厂址S1S1YLYL2020咸阳咸阳S2S2XQXQ1010西安西安S3S3XTXT3030西安西安零件号零件号零件名零件名颜色颜色重量重量存放点存放点P1P1螺帽螺帽红红1212咸阳咸阳P2P2螺栓螺栓绿绿1717西安西安P3P3螺钉螺钉黑黑1010宝鸡宝鸡P4P4螺钉螺钉蓝蓝1414咸阳咸阳厂号厂号零件号零件号需量需量S1S1P1P1300300S1S1P2P2200200S1S1P3P3400400S2S2P1P1300300S2S2P2P2400400S3S3P2P2200200S SP PSPSP2020/12/19411.6 关系代数2020
16、/12/19421.6.1 关系代数基本术语v关系关系:一个关系就是一张二维表,每个关系都有一个关系名。:一个关系就是一张二维表,每个关系都有一个关系名。v元组元组:表中的一行即为一个元组,对应存储文件中的一个记录值。:表中的一行即为一个元组,对应存储文件中的一个记录值。v属性属性:表中的列称为属性,每一列有一个属性名。:表中的列称为属性,每一列有一个属性名。v域域:属性的取值范围。即不同元组对同一个属性的值所限定的范围。属性的取值范围。即不同元组对同一个属性的值所限定的范围。v关系模式关系模式:对关系的描述。:对关系的描述。如如Student(ID,Sno,Sname,Class)2020/
17、12/19431.6.1 关系代数基本术语v候选关键字候选关键字:属性或属性的组合,其值能惟一地标识一个元组。:属性或属性的组合,其值能惟一地标识一个元组。v主属性主属性:包含在任何候选关键字中的属性称为主属性,否则为非主属性。:包含在任何候选关键字中的属性称为主属性,否则为非主属性。v主关键字主关键字:一个关系中可能有多个候选关键字,从中选择一个作为主关键字。:一个关系中可能有多个候选关键字,从中选择一个作为主关键字。v外关键字外关键字:如果一个关系中的属性或属性组不是该关系的关键字,但是另一个关系的关键字,称:如果一个关系中的属性或属性组不是该关系的关键字,但是另一个关系的关键字,称其为该
18、关系的外关键字。其为该关系的外关键字。如如SC(Sno,Cno,Score)中的)中的Sno属性。属性。2020/12/1944关系的性质v每列都是同类型的数据,来自同一个域;每列都是同类型的数据,来自同一个域;v不同的列给予不同的属性名;不同的列给予不同的属性名;v任意两个元组不能完全相同。任意两个元组不能完全相同。v行、列的次序可以任意交换。行、列的次序可以任意交换。v关系必须是规范化的关系,即每个属性都必须是不可分的数据项,不能表中有表;关系必须是规范化的关系,即每个属性都必须是不可分的数据项,不能表中有表;2020/12/19451.6.2 关系运算二元二元按列辅助专门的关系运算按行按
19、行运算说明不等于小于等于大于等于等于小于或与除连接投影广义笛卡尔积交差大于比较运算符集合运算符并非逻辑运算符选择专门的关系运算符含义运算符2020/12/19461.6.3 1.6.3 关系的规范化关系的规范化2020/12/1947是否存在问题?v数据冗余v不一致性v插入异常v删除异常学号学号课程课程学分学分B001数据库数据库3B002数据库数据库3B001管理信息系统管理信息系统3B003管理信息系统管理信息系统22020/12/1948课程号课程号课程名课程名授课学时授课学时B001数据库数据库56B002管理信息系统管理信息系统48知道了“课程名”的值,即可知道“授课学时”的值。称“
20、授课学时”函数依赖函数依赖于“课程名”,或“课程名”可以决定“授课学时”,记作课程名授课学时。函数依赖函数依赖设设R(U)是是一一个个属属性性集集U上上的的关关系系,X和和Y是是U的的子子集集。如如果果属属性性集集合合X中中每每个个属属性性的的值值构构成成的的集集合合唯唯一一地地决决定定了了属属性性集集合合Y中中每每个个属属性性的的值值构构成成的的集集合合,则则属属性性集集合合Y函函数数依依赖赖于于属属性性集集合合X,计计为:为:XY。2020/12/1949学号学号课程号课程号学分学分101B0013101B0022102B0023如“学分”函数依赖于主关键字学号、课程。但决定“学分”的只是
21、“课程”,与“学号”无关,则称“学分”部分函数依部分函数依赖赖于学号、课程。部分函数依赖部分函数依赖如果非主属性如果非主属性B函数依赖于构成某个候选关键字函数依赖于构成某个候选关键字的一组主属性的一组主属性A的某一个真子集,则称的某一个真子集,则称B部分函部分函数依赖于数依赖于A。2020/12/1950学号学号楼号楼号住宿费住宿费101230010235001033400学生住宿的楼号依赖于学号,学生应交的住宿费是由楼号决定的,即“收费”依赖于“楼号”,“楼号”依赖于“学号”,则“收费”传递函数依赖传递函数依赖于“学号”。传递函数依赖传递函数依赖在在R(U)中,如存在中,如存在X,Y,Z包含
22、于包含于U,且满足:,且满足:XY,YZ,则称,则称Z传递函数依赖于传递函数依赖于X。2020/12/1951v范式范式定义:在关系规范化过程中,必须遵循一定的准则以指导,一般把这些准则称之为范式。定义:在关系规范化过程中,必须遵循一定的准则以指导,一般把这些准则称之为范式。2020/12/1952范式范式v第一范式:任何符合关系定义的表即满足第一范式。第一范式:任何符合关系定义的表即满足第一范式。IDIDNameNameSexSexAgeAgeMaleMaleFemaleFemale101张三Y20102李四Y212020/12/1953v第二范式第二范式定义:如果一个关系不存在部分依赖关系
23、,那么该关系就属于第二范式。定义:如果一个关系不存在部分依赖关系,那么该关系就属于第二范式。凡是以单个属性作为主关键字的关系自动就是第二范式。因为主关键字只有一个,不会存凡是以单个属性作为主关键字的关系自动就是第二范式。因为主关键字只有一个,不会存在部分依赖的情况。因此,第二范式只是针对主关键字是组合属性的关系。在部分依赖的情况。因此,第二范式只是针对主关键字是组合属性的关系。2020/12/1954学号学号课程课程学分学分B001数据库数据库3B002数据库数据库3B001管理信息系统管理信息系统3B003管理信息系统管理信息系统2学号学号课程课程B001数据库数据库B002数据库数据库B0
24、01管理信息系统管理信息系统B003管理信息系统管理信息系统课程课程学分学分数据库数据库3管理信息系统管理信息系统22020/12/1955第三范式第三范式v定义:一个关系如果是第二范式的,并且没有传递依赖关系,则该关系就是第三范式。定义:一个关系如果是第二范式的,并且没有传递依赖关系,则该关系就是第三范式。v每个非主属性不部分依赖于关键字,也不传递依赖于关键字的关系就是第三范式。每个非主属性不部分依赖于关键字,也不传递依赖于关键字的关系就是第三范式。2020/12/1956学号楼号楼号收费100225001204460013028800150818022020/12/1957关系规范化的目的
25、:解决关系模式中存在的插入、删除异常,以及数据冗余问题,关系规范化的目的:解决关系模式中存在的插入、删除异常,以及数据冗余问题,基基本本思思想想:围围绕绕函函数数依依赖赖的的主主线线,对对一一个个关关系系模模式式进进行行分分解解,使使关关系系从从较较低低级级范范式式变变换换到到较较高高级级范式。范式。消除部分函数依赖消除部分函数依赖1NF2NF 3NF BCNF 。消除传递函数依赖消除传递函数依赖。关系规范化过程关系规范化过程2020/12/1958例:例:T(Student(SNO,SName,DeptID,DeptName),CNO,Score)消除复合关系,规范到消除复合关系,规范到1N
26、F1NF:关系规范化实例关系规范化实例T(SNO,SName,DeptID,DeptName,CNO,Score)SNO,CNO作为主键,作为主键,Sname依赖于依赖于SNO,则此关系,则此关系中存在部分函数依赖,中存在部分函数依赖,T 1NF2020/12/1959T1(SNO,CNO,Score)T2(SNO,SName,DeptID,DeptName)T1关系无部分函数依赖和传递函数依赖,关系无部分函数依赖和传递函数依赖,T1 3NFT2关系关系SNO-DeptID,DeptID-DeptName,因此因此T2 2NF2020/12/1960T1(SNO,CNO,Score)T2(SN
27、O,SName,DeptID)T3(DeptID,DeptName)T1,T2,T3关系无部分函数依赖和传递函数依赖,因此关系无部分函数依赖和传递函数依赖,因此T1 3NF,T2 3NF,T3 3NF2020/12/1961概念模型转换为关系模型v实体转换实体转换实体的属性转化为关系的属性,实体的关键字转化为关系的关键字。实体的属性转化为关系的属性,实体的关键字转化为关系的关键字。v联系转换联系转换1:1vStudent IDvS(SNO,SName,ID_NO,ID_Address)1:nvStudentS_ProvincevS(SNO,SName,Pro_ID)Pro(Pro_ID,Pro_Name)m:n vStudentCoursevS(SNO,SName)C(CNO,CName)SC(SNO,CNO)2020/12/1962