sqlsever数据库原理及应用数据库基础概述实用教案_第1页
sqlsever数据库原理及应用数据库基础概述实用教案_第2页
sqlsever数据库原理及应用数据库基础概述实用教案_第3页
sqlsever数据库原理及应用数据库基础概述实用教案_第4页
sqlsever数据库原理及应用数据库基础概述实用教案_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

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

文档简介

1、1课程(kchng)地位:计算机专业学生必修的一门计算机专业学生必修的一门(y mn)(y mn)专专业基础课业基础课说大纲说大纲(dgn(dgng)g)共共6060学时:学时:30+3030+30第1页/共112页第一页,共113页。2教学任务(rn wu)(学习任务(rn wu):能够进行简单能够进行简单(jindn)(jindn)的数的数据库设计据库设计打好坚实打好坚实(jinsh)(jinsh)的基的基础础掌握数据库系统掌握数据库系统基本概念基本概念、基本原理基本原理熟练掌握熟练掌握SQLSQL说大纲说大纲第2页/共112页第二页,共113页。3笔试笔试(bsh)(bsh)成绩(成绩(

2、100100分,分,6060分分合格):合格):平时成绩20%20%:上课情况、试验情况、作业情况期末考试成绩80% 80% (考试内容与学时(xush)(xush)分配比例相应 )注:两个(lin )成绩任一个不及格,都记一科不及格,两个(lin )成绩都不及格,就算两科不及格。笔试和实践两个方面:笔试和实践两个方面:实践成绩实践成绩(100100分,6060分合格):课程设计说考核方法说考核方法第3页/共112页第三页,共113页。4 第一章数据库基础(jch)(jch)概述 第4页/共112页第四页,共113页。5 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 目前较流

3、行的数据库有:AccessAccess、SQL ServerSQL Server、OracleOracle和MySQLMySQL等。SQL ServerSQL Server数据库: :是由微软开发的。它是WindowsWindows操作系统最为流行的数据库,适合小型、中型或大型(dxng)(dxng)应用程序的后台数据库。OracleOracle数据库: :一般比较适合超大型(dxng)(dxng)的行业领域,如电信、移动还有邮政部门等就是使用OracleOracle数据库的。 第5页/共112页第五页,共113页。6我们这学期的任务(rn wu)(rn wu)是: :在学好数据库理论知识的基

4、础上,重点学习sql server2000sql server2000数据库管理系统。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第6页/共112页第六页,共113页。7数据库技术:是一门(y mn)(y mn)研究数据管理的技术( (始于2020世纪6060年代末) )。 数据管理:对数据的组织(zzh)(zzh)、存储、维护和使用等。是计算机软件的一个(y )(y )重要分支。 第一章第一章 数据库基础概述数据库基础概述 第7页/共112页第七页,共113页。81. 1.数据管理技术数据管理技术(jsh)(jsh)的发展的发展(P1-2)(P1-2)1 1)人工)人工

5、(rngng)(rngng)管理阶段(管理阶段(2020世纪世纪5050年代)年代)是计算机数据管理技术(jsh)(jsh)发展的最新阶段。 2 2)文件系统阶段)文件系统阶段(2020世纪6060年代)3 3)数据库系统阶段)数据库系统阶段(2020世纪6060年代后期开始) 第一章第一章 数据库基础概述数据库基础概述 第8页/共112页第八页,共113页。92.2.数据库系统的组成数据库系统的组成(z (z chn)(P2-3)chn)(P2-3)数据库系统:具有管理和控制数据库功能的计算机系统。一般是由数据库、数据库管理系统以及数据库用户(yngh)(yngh)组成。 第一章第一章 数据

6、库基础数据库基础(jch)(jch)概述概述 第9页/共112页第九页,共113页。101)数据库(Database,DB):有条理、有组织(zzh)、合理地存放的数据的集合。 实际上“数据库”就是为了实现一定(ydng)的目的按某种规则组织起来的“数据”的“集合”。例如(lr)(lr):电话号码本 第一章第一章 数据库基础概述数据库基础概述 第10页/共112页第十页,共113页。112)数据库管理系统(Database Management System,DBMS):在操作系统(co zu x tn)的支持下帮助用户建立、使用和管理数据库的软件系统。 它的主要功能是定义和建立数据库、对数据

7、进行操作和运行控制、提供应用(yngyng)程序开发环境。(详见P2) 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第11页/共112页第十一页,共113页。12数据系统的组成数据系统的组成(z chn)(P2-3)(z chn)(P2-3)3)数据库系统的用户(yngh):是指使用数据库的人。主要分为:系统程序员、数据库管理员、应用程序员和操作员。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第12页/共112页第十二页,共113页。13数据数据(shj)(shj)有什么用有什么用呢?呢?什么什么(shn me)(shn me)是数据?是数据? 第一章

8、第一章 数据库基础概述数据库基础概述 第13页/共112页第十三页,共113页。14数据张三,c c语言,100100分 张三的c c语言成绩优秀 信息奖学金发给张三 行为 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第14页/共112页第十四页,共113页。15信息(xnx)(xnx)是通过数据来传播的,数据是信息(xnx)(xnx)的载体,而信息(xnx)(xnx)是数据的内涵。-这就是信息(xnx)(xnx)和数据的联系。 因为信息因为信息(xnx)是有价值的消息,所以数据是有价值的消息,所以数据如不具有知识性和有用性则不能称为信息如不具有知识性和有用性则不能称为信息

9、(xnx)。1,3,5,7,9. 是信息(xnx)4,9,2,7,6,35. 不是信息(xnx) 第一章第一章 数据库基础概述数据库基础概述 第15页/共112页第十五页,共113页。16数据:本质上是对信息的一种符号化表示(biosh),即用一定的符号表示(biosh)信息(采用什么符号,完全是人为规定的)。(例如) 由此可见,同一信息可以有不同的数据表示形式,比如可以是数字、文字、符号、图形(txng)(txng)、图像和声音等等。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第16页/共112页第十六页,共113页。17 当然,为了用计算机进行信息处理,就得把信息转换

10、为计算机能够(nnggu)识别的符号,即用0和1两个符号的编码来表示各种各样的信息。 常用的三种:数值型数据(定量记录的符号);字常用的三种:数值型数据(定量记录的符号);字符符(z f)型数据(定性记录);特殊型(形象特征型数据(定性记录);特殊型(形象特征和过程记录)声音、视频、图象等。和过程记录)声音、视频、图象等。 第一章第一章 数据库基础概述数据库基础概述 第17页/共112页第十七页,共113页。18 第一章第一章 数据库基础概述数据库基础概述 第18页/共112页第十八页,共113页。19第一章第一章 数据库基础数据库基础(jch)(jch)概述概述学号课程号成绩1012-104

11、801012-120851022-104671022-120901032-104861032-12065学号姓名性别出生日期民族专业班级101王丽女85-1-2汉计算机应用07-1102王萍女85-2-5汉计算机应用07-1103张旭男86-1-9汉计算机应用07-2104刘华男85-6-4汉计算机网络07-1课程号课程名任课教师2-104C语言张婷2-120数据库王东2-105数据结构刘丽课程(kchng)信息表成绩(chngj)信息表学生信息表第19页/共112页第十九页,共113页。20根据数据模型的功能,可分为(fn wi)(fn wi)概念模型和数据库模型。 第一章第一章 数据库基础

12、数据库基础(jch)(jch)概述概述 第20页/共112页第二十页,共113页。21概念模型,也称信息模型,是面向人的,易于我们的理解,主要用于数据(shj)(shj)库的设计;而数据(shj)(shj)模库型( (简称数据(shj)(shj)模型) )是面向计算机的,主要用于数据(shj)(shj)库管理系统的实现。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第21页/共112页第二十一页,共113页。22现实(xinsh)世界信息(xnx)世界机器(j q)世界将现实世界的问题用概念模型表示将概念模型转换为DBMSDBMS支持的数据模型 第一章第一章 数据库基础概述

13、数据库基础概述 第22页/共112页第二十二页,共113页。23概念模型中的一些基本(jbn)术语 :主要是:实体、属性和联系概念模型是用E-R图来表示(biosh)的。(P8-9) 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第23页/共112页第二十三页,共113页。24实体:现实世界中客观存在,可以相互区分的事物(shw)称为实体。实体可以(ky)是具体的人、事、物例如例如(lr):一名职工、一个学生、一本书;:一名职工、一个学生、一本书;也可以是抽象的概念或联系例如例如: 一堂课一堂课、学生的一次选课学生的一次选课、职工的工作关职工的工作关系系等。等。 第一章第一章

14、 数据库基础概述数据库基础概述 第24页/共112页第二十四页,共113页。25属性(shxng):实体所具有的某一特性称为属性(shxng),一个实体可以由若干个属性(shxng)来描述。例如:学生实体可用学号、姓名例如:学生实体可用学号、姓名(xngmng)、性别、性别、年龄、系等属性来描述。年龄、系等属性来描述。给上面每个属性给上面每个属性(shxng)(shxng)赋予一个确定的赋予一个确定的值,就表示了一个学生实体。值,就表示了一个学生实体。例如:例如:( (9900199001,张立,男,张立,男,2020,计算机,计算机) ) 就表示了一个学生实体。就表示了一个学生实体。 第一章

15、第一章 数据库基础概述数据库基础概述 第25页/共112页第二十五页,共113页。26 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 实体型:具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名集合来描述同类(tngli)实体,称为实体型。补充(bchng)两个概念:例如,学生例如,学生(学号,姓名,性别,年龄,系学号,姓名,性别,年龄,系)就是一个实体型。就是一个实体型。第26页/共112页第二十六页,共113页。27 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 实体集:同型实体的集合称为实体集。例如(lr),所有学生就是一个实体集。第27页/

16、共112页第二十七页,共113页。28实体(sht)集与实体(sht)集之间的联系: (1)一对一联系(linx)(1:1)(2)一对(y du)多联系(1:n)(3)多对多联系(m:n) 第一章第一章 数据库基础概述数据库基础概述 第28页/共112页第二十八页,共113页。29(1)一对一联系(linx)(1:1)如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有(mi yu)实体与之联系,反之亦然,则称为实体集A与实体集B具有一对一的联系,记为1:1。例如,学校里面,一个班级只有(zhyu)一个正班长,这个正班长只属于这个班,则班级与班长之间具有一对一联系。 第一章第一章

17、数据库基础概述数据库基础概述 第29页/共112页第二十九页,共113页。30(2)一对(y du)多联系(1:n)如果对于实体(sht)集A中的每一个实体(sht),实体(sht)集B中有n个实体(sht)(n=0)与之联系,反之,对于实体(sht)集B中的每一个实体(sht),实体(sht)集A中至多只有一个实体(sht)与之联系,则称实体(sht)集A与实体(sht)集B有一对多联系,记为1:n。例如,一个班级(bnj)中有若干名学生,而每个学生只在一个班级(bnj)中学习,则班级(bnj)与学生之间具有一对多联系。 第一章第一章 数据库基础概述数据库基础概述 第30页/共112页第三十

18、页,共113页。31(3)多对多联系(linx)(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n=0)与之联系(linx),反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m=0)与之联系(linx),则称实体集A与实体集B有多对多联系(linx),记为m:n。例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有(jyu)多对多联系。 第一章第一章 数据库基础概述数据库基础概述 第31页/共112页第三十一页,共113页。32E-R图的画法(hu f):用矩形框表示实体,用椭圆(tuyun)表示属性,用菱形表示实体之间的联系。例如

19、(lr):P9 图1-4和图1-5注意:一个系统的E-R图不是唯一的,从不同的侧面出发画出的E-R图可能很不同。 第一章第一章 数据库基础概述数据库基础概述 第32页/共112页第三十二页,共113页。33 将现实事物(shw)抽象成概念模型并用E-R图表示后,就要将其转换成数据库模型了。? 总体E-R图所表示的实体联系(linx)模型,只能说明实体间的联系(linx)关系,还需要把它们转换成数据库模型(简称数据模型)才能被实际的DBMS所接受。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第33页/共112页第三十三页,共113页。34三种数据库模型:层次(cngc)型、

20、网状型和关系型。(了解)基于(jy)此三种数据库模型的数据库分别为:层次数据库、网状数据库和关系型数据库。(了解)关系型数据库解决了层次(cngc)型数据库的横向关联不足的缺点,也避免了网状数据库关联过于复杂的问题,因此得到广泛应用。 第一章第一章 数据库基础概述数据库基础概述 第34页/共112页第三十四页,共113页。35关系(gun x)模型:是目前最流行的数据库模型关系模型的数据结构(sh j ji u)是一个”二维表框架”组成的集合,每个二维表又称为关系。例如(lr): 第一章第一章 数据库基础概述数据库基础概述 第35页/共112页第三十五页,共113页。36学号姓名性别年龄1甲女

21、202乙男183丙男214丁女20表格中每一行称为一个记录,每个记录由若干数据项组成。每一列称为一个字段,字段表示关系模型中具有某种属性(shxng)的一列数据,第一行为属性(shxng)类型的名称,成为字段名。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第36页/共112页第三十六页,共113页。37作为关系的二维表必须满足下列(xili)条件:1)表中的每一列具有相同的数据类型;表中的每一列具有相同的数据类型;2)表中行、列的排列顺序是无关紧要的,表中行、列的排列顺序是无关紧要的,即每一列或每一行的顺序是任意的;即每一列或每一行的顺序是任意的;3)表中的每列是不可再分

22、的最小数据项;表中的每列是不可再分的最小数据项;4) 表中不允许有相同的字段名,也不允许有相同的表中不允许有相同的字段名,也不允许有相同的记录行。记录行。 例如,下表就不符合关系例如,下表就不符合关系(gun x)模型要求:模型要求: 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第37页/共112页第三十七页,共113页。38职工号姓名职称工资扣除实发基本工龄职务房租水电86051陈平讲师8052050601280386052王芳教授1000255060121003职工号 姓名 职称基本工龄职务房租水电实发86051陈平讲师8052050601280386052王芳教授10

23、00255060121003 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第38页/共112页第三十八页,共113页。39总结:1.在关系模型中基本结构就是二维表。2.记录之间的联系是通过不同关系中的同名属性来体现的(例如)。3.关系模型中的各个(gg)关系模式不应当孤立起来,不是随意拼凑的一堆二维表,而是必须经过精心设计的。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第39页/共112页第三十九页,共113页。40学号课程号成绩1012-104801012-120851022-104671022-120901032-104861032-12065学号

24、姓名性别出生日期民族专业班级101王丽女85-1-2汉计算机应用07-1102王萍女85-2-5汉计算机应用07-1103张旭男86-1-9汉计算机应用07-2104刘华男85-6-4汉计算机网络07-1课程号课程名任课教师2-104C语言张婷2-120数据库王东2-105数据结构刘丽课程(kchng)信息表成绩(chngj)信息表学生(xu sheng)信息表 第一章第一章 数据库基础概述数据库基础概述 第40页/共112页第四十页,共113页。41关系(gun x)(gun x)模型的基本概念 关系:一个(y )关系就是一张二维表,每个关系有一个(y )关系名。对应于概念模型中的实体集。元

25、组:表中的一行称为一个元组,也称为记录。对应(duyng)(duyng)于概念模型中的实体。 第一章第一章 数据库基础概述数据库基础概述 第41页/共112页第四十一页,共113页。42关系(gun x)(gun x)模型的基本概念 属性:表中的一列称为属性,给每一列起一个名字(mng zi)即为属性名,属性的个数即为关系的度。域:一个属性(shxng)的取值范围叫做域。 第一章第一章 数据库基础概述数据库基础概述 第42页/共112页第四十二页,共113页。43关系(gun x)(gun x)模型的基本概念: 主码:表中的某个属性或属性组,若它们的值唯一的标识一个元组,称该属性( (组) )

26、为码( (或称为候选码) ),若一个关系有多个候选码,则选定其中(qzhng)(qzhng)一个作为主码( (或称主关键字,简称主键)()(例如) ) 。 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 第43页/共112页第四十三页,共113页。44关系数据库规范化理论关系数据库规范化理论(lln) (lln) 学号姓名系别系主任课程号课程名成绩981101徐庆计算机张三1021高等数学100981101徐庆计算机张三1031英语98981101徐庆计算机张三1011计算机应用88981103林海环保李四1021高等数学100981103林海环保李四1031英语9898120

27、2李波机电张三1021高等数学100981202李波机电张三1031英语98R第44页/共112页第四十四页,共113页。45关系(gun x)(gun x)模型的基本概念 主属性(shxng):包含在主码中的属性(shxng)称为主属性(shxng)(例如) 。外码:如果一个关系中的属性或属性组不是(b shi)该关系的码,但它们是另外一个关系的码,则称其为该关系的外码(或外键)(例如)。 第一章第一章 数据库基础概述数据库基础概述 第45页/共112页第四十五页,共113页。46学号课程号成绩1012-104801012-120851022-104671022-120902012-1048

28、62012-12065学号姓名性别出生日期民族专业班级101王丽女85-1-2汉计算机应用07-1102王萍女85-2-5汉计算机应用07-1201张旭男86-1-9汉计算机应用07-2301刘华男85-6-4汉计算机网络07-1课程号课程名任课教师2-104C语言张婷2-120数据库王东2-105数据结构刘丽课程(kchng)信息表成绩(chngj)信息表学生(xu sheng)信息表课程表的外码学生表的外码 第一章第一章 数据库基础概述数据库基础概述 第46页/共112页第四十六页,共113页。47关系模型(mxng)(mxng)的基本概念补充: 关系模式(msh):对关系的描述称为关系模

29、式(msh)。格式为:关系名(属性名1,属性名2,属性名n) 第一章第一章 数据库基础数据库基础(jch)(jch)概述概述 对应于概念模型中的实体型。 例如:课程信息表( (课程号,课程名,任课教师) ) 第47页/共112页第四十七页,共113页。48关系关系(gun x)(gun x)模型的数据完模型的数据完整性整性包括实体完整性、参照完整性、用户(yngh)(yngh)定义的完整性数据完整性:为了保证数据的精确性和可靠性而提出的某种规则(guz)(guz)或约束。第48页/共112页第四十八页,共113页。491)1)实体完整性:实体完整性规则指关系(gun x)(gun x)的所有主

30、属性不能取空值。例如(lr)(lr):学生选课关系选修(xunxi)(xunxi)(学号,课程号,成绩) )“学号”+ +“课程号”为主码,则“学号”和“课程号”两个属性都不能取空值。?关系模型的数据完整性关系模型的数据完整性第49页/共112页第四十九页,共113页。502)2)参照完整性:指关系间属性(shxng)(shxng)之间的引用参照关系。 例如:学生( (学号,姓名(xngmng)(xngmng),性别,专业号,年龄) )专业( (专业号,专业名) )关系关系(gun x)(gun x)模型的数据完整模型的数据完整性性第50页/共112页第五十页,共113页。513)3)用户定义

31、的完整性:针对某一具体(jt)(jt)关系数据库的约束条件,它反映某一具体(jt)(jt)应用所涉及的数据必须满足的语义要求。例如,在销售管理系统中,订货单关系的属性(shxng)(shxng)中,要求“订货日期”必须在“发货日期”之前。 关系关系(gun x)(gun x)模型的数据完整模型的数据完整性性第51页/共112页第五十一页,共113页。52用户定义的完整性参照完整性实体完整性最基本、最普遍的小结(xioji):关系关系(gun x)(gun x)模型的数据完整模型的数据完整性性第52页/共112页第五十二页,共113页。53关系关系(gun x)(gun x)运算运算关系运算:对

32、关系的各种操作。关系运算有两类:传统的集合运算( (并、差、交、笛卡儿积等) )专门的关系运算( (选择(xunz)(xunz)、投影、连接、除法) )。关系运算的操作对象关系运算的操作对象(duxing)是关系,运算是关系,运算结果仍为关系。结果仍为关系。下面我们来认识两种简单常用的关系运算:下面我们来认识两种简单常用的关系运算:第53页/共112页第五十三页,共113页。541)1)选择:选择运算是在关系(gun x)(gun x)中选择满足某些条件的元组组成新的关系(gun x)(gun x)(即在二维表中选择满足指定条件的行) )。关系关系(gun x)(gun x)运算运算第54页/

33、共112页第五十四页,共113页。55例如有如下(rxi)(rxi)关系S S:关系关系(gun x)(gun x)运算运算BCD232563985S S进行(jnxng)(jnxng)运算B=5(S)B=5(S)结果为:BCD563第55页/共112页第五十五页,共113页。56学生(xu sheng)表学号学号姓名姓名性别性别年龄年龄1 1甲甲女女20202 2乙乙男男18183 3丙丙男男21214 4丁丁女女2020学学号号姓名姓名性别性别年年龄龄1 1甲甲女女20204 4丁丁女女2020选择运算:年龄(ninlng)(ninlng)为2020的学生所有女学生所有女学生(xu she

34、ng)(xu sheng)的信息?的信息?名字叫名字叫“甲甲”学学生的信息?生的信息?学号学号姓名姓名性别性别 年龄年龄1 1甲甲女女2020选择运算选择运算第56页/共112页第五十六页,共113页。572)2)投影:投影运算是在关系中选择某些(mu xi)(mu xi)属性列。关系关系(gun x)(gun x)运算运算第57页/共112页第五十七页,共113页。58例如(lr)(lr)有如下关系R R:关系关系(gun x)(gun x)运算运算ABC123456789R R进 行 ( j n x n g )( j n x n g ) 运 算A,C(R)A,C(R)结果为:AC13467

35、9第58页/共112页第五十八页,共113页。59学生(xu sheng)表学号学号姓名姓名性别性别 年龄年龄1 1甲甲女女20202 2乙乙男男18183 3丙丙男男21214 4丁丁女女2020投影运算:显示所有(suyu)(suyu)学生的姓名和性别姓名姓名性别性别甲甲女女乙乙男男丙丙男男丁丁女女注:投影运算后可能会产生(chnshng)(chnshng)重复元组(?)(?)。 在关系型数据库管理系统中都支持这些关系运算。 投影运算投影运算第59页/共112页第五十九页,共113页。603)3)连接:连接运算是从两个关系的笛卡儿积中选取(xunq)(xunq)满足一定条件的元组。我们主要

36、学习等值连接。 关系关系(gun x)(gun x)运算运算等值连接:从两个(lin )(lin )关系的笛卡儿积中选取某属性的属性值相等的元组。第60页/共112页第六十页,共113页。61例如有如下(rxi)(rxi)两个关系:关系关系(gun x)(gun x)运算运算ABC123456789R RBCD232563985S S第61页/共112页第六十一页,共113页。62等值连接等值连接(linji)(linji)进行(jnxng)(jnxng)运算 RS RS 结果为:3=2ABCBCD123232456563第62页/共112页第六十二页,共113页。63自然连接(linji)(

37、linji):在等值连接(linji)(linji)的关系中去掉重复的属性( (或属性组) ),称为自然连接(linji)(linji)。关系关系(gun x)(gun x)运算运算例如进行运算(yn sun) RS(yn sun) RS, 结果为:ABCD12324563第63页/共112页第六十三页,共113页。64关系数据库中的每个关系设计的是不是都是合理(hl)的呢?我们来看下面的一个表:关系数据库规范化理论关系数据库规范化理论(lln) (lln) 第64页/共112页第六十四页,共113页。65关系数据库规范化理论关系数据库规范化理论(lln) (lln) 学号姓名系别系主任课程号

38、课程名成绩981101徐庆计算机张三1021高等数学100981101徐庆计算机张三1031英语98981101徐庆计算机张三1011计算机应用88981103林海环保李四1021高等数学100981103林海环保李四1031英语98981202李波机电张三1021高等数学100981202李波机电张三1031英语98R第65页/共112页第六十五页,共113页。66根据(gnj)实际情况,这些数据的语义规定为:1)1)一个系有若干个学生(xu sheng)(xu sheng),但一个学生(xu sheng)(xu sheng)只属于一个系;2)2)一个(y )(y )系只有一个(y )(y

39、)系主任,但一个(y )(y )系主任可同时兼几各系的主任;3)3)一个学生可以选修多门功课,每门课可以由若干个学生选修;4)4) 每个学生学习课程有一门成绩。关系数据库规范化理论关系数据库规范化理论 第66页/共112页第六十六页,共113页。67接下来我们做如下(rxi)(rxi)操作:1.1.确定(qudng)(qudng)这个关系的主键?学 号 + + 课 程(kchng)(kchng)号1 1)如果机电系连续三年都不招学生了,所有学生也都毕业了,但是这个系仍然有。?关系数据库规范化理论关系数据库规范化理论 实际情况是可以的。但这时就出现问题了。老生毕业了,信息相应被删除,那么系别,系

40、主任的信息也就没有了。-不该删除的数据也被一起删除了。第67页/共112页第六十七页,共113页。682 2)既然不该删除的被删除了,那就把它再添加上就行了。但是,因为没有学生(xu sheng)(xu sheng),也就没有学号,即主属性为空,信息则无法录入。-该插入的数据不能被插入。关系数据库规范化理论关系数据库规范化理论(lln) (lln) 3 3)相同的信息(xnx)(xnx)被反复的存储了。例如:学号和姓名,系别和系主任等等。-浪费了存储空间。第68页/共112页第六十八页,共113页。69总结(zngji)(zngji)存在的问题:1 )1 ) 数 据 冗 余 : 相 同 的 数

41、 据 重 复(chngf)(chngf)存储( (浪费空间、不易于维护) )2)2)插入异常:应该(ynggi)(ynggi)插入的数据不能被插入3)3)删除异常:不该删除的数据被删除了关系数据库规范化理论关系数据库规范化理论 为什么会出现这样的问题呢?因为这个关系设计不合理。修改如下:第69页/共112页第六十九页,共113页。70学号学号姓名姓名系别系别981101981101徐庆徐庆计算机计算机981103981103林海林海环保环保981202981202李波李波机电机电学号学号课程号课程号成绩成绩98110198110110211021100100981101981101103110

42、319898课程号课程号课程名课程名10211021高等数学高等数学10311031英语英语10111011计算机应用计算机应用系别系别系主任系主任计算机计算机张三张三环保环保李四李四机电机电张三张三学生(xu sheng)表成绩表课程表系别表关系数据库规范化理论关系数据库规范化理论(lln) (lln) 第70页/共112页第七十页,共113页。71第一个表之所以存在(cnzi)(cnzi)问题,是因为它存在(cnzi)(cnzi)一些不合理的函数依赖关系。关系数据库规范化理论关系数据库规范化理论(lln) (lln) 函数依赖:用以说明(shumng)(shumng)在一个关系中属性之间的

43、相互联系的情况。 数学定义如下: 第71页/共112页第七十一页,共113页。72函数函数(hnsh)(hnsh)依赖依赖 设在关系R R中,X,YX,Y为R R的两个属性,如果每个X X值只有(zhyu)(zhyu)一个Y Y值与之对应,则称属性Y Y函数依赖于属性X X,或称属性X X唯一确定属性Y Y,记作:XYXY。在分析关系的时候,我们主要(zhyo)(zhyo)是看非主属性对主码的依赖关系。第72页/共112页第七十二页,共113页。73通过语义分析,得到七个属性间的函数依赖(yli)(yli)关系如下: 姓名成绩课程名系主任系别课程号学号主键函数函数(hnsh)(hnsh)依赖依

44、赖 第73页/共112页第七十三页,共113页。74主键:“学号”+ +“课程(kchng)(kchng)号”完全函数依赖:“成绩”对于主键是完全函数依赖。部分函数依赖:其它几个属性对主键都是部分函数依赖。 传递函数依赖:“学号”“系别”,“系别”“系主任”,所以“系主任”对于“学号”是传递函数依赖。 (P13) (P13) 函数函数(hnsh)(hnsh)依赖类型依赖类型再看分解(fnji)(fnji)后的表,只有完全函数依赖。第74页/共112页第七十四页,共113页。75关系关系(gun x)(gun x)的规范化的规范化如果一个关系,存在不合理的函数依赖,有时我们就根据需要(xyo)(

45、xyo)对其进行分解,这个分解的过程叫做关系的规范化。所依据的标准叫做范式。第75页/共112页第七十五页,共113页。76范式范式(fn sh) (fn sh) 1) 1)第一范式(1NF)(1NF):无重复属性,每个属性不可(bk)(bk)再分。-这是最低要求。 2) 2)第二范式(2NF)(2NF):满足第一范式,且非主属性不部分依赖于主键,即完全依赖于主键。 3) 3)第三范式(3NF)(3NF):满足第二范式,且任何非主属性不传递函数依赖于主键。( (例如) )第76页/共112页第七十六页,共113页。77学号学号姓名姓名系别系别981101981101徐庆徐庆计算机计算机9811

46、03981103林海林海环保环保981202981202李波李波机电机电学号学号课程号课程号成绩成绩98110198110110211021100100981101981101103110319898课程号课程号课程名课程名10211021高等数学高等数学10311031英语英语10111011计算机应用计算机应用系别系别系主任系主任计算机计算机张三张三环保环保李四李四机电机电张三张三学生(xu sheng)表成绩表课程表系别表关系数据库规范化理论关系数据库规范化理论(lln) (lln) 四个表均满足(mnz)3NF,所以是3NF。第77页/共112页第七十七页,共113页。78范式范式(f

47、n sh) (fn sh) 说明(shumng)(shumng):1.1.只要是关系模型(mxng)(mxng)中的关系,必定满足1NF1NF;2.2NF2.2NF仅用于以两个或多个字段的组合作为数据库表的主键的场合。而且,当一个数据库表属于2NF2NF时,就意味着只要主键值相同,其他非主键值也必然相同。 第78页/共112页第七十八页,共113页。79关系数据库的规范化关系数据库的规范化 1.1.将关系分解(fnji)(fnji)为高一级范式的过程叫关系的规范化。 2.2.关系(gun x)(gun x)的规范化过程: 找主键、看依赖(yli)(yli)、再分解 第79页/共112页第七十九

48、页,共113页。80姓名成绩课程名系主任系别课程号学号主键关系数据库的规范化关系数据库的规范化 第80页/共112页第八十页,共113页。81成绩课程号学号课程名课程号姓名系主任系别学号关系数据库的规范化关系数据库的规范化 第81页/共112页第八十一页,共113页。82姓名系主任系别学号姓名学号系别系主任系别关系数据库的规范化关系数据库的规范化 第82页/共112页第八十二页,共113页。83将STUD进行规范化最后(zuhu)得到四个关系。 成绩课程号学号课程名课程号姓名学号系别系主任系别关系数据库的规范化关系数据库的规范化 第83页/共112页第八十三页,共113页。84关系数据库的规范

49、化关系数据库的规范化 说明:并不是规范化程度越高越好。具体规范到第几范式,要看具体问题的需要。一般我们(w men)(w men)规范化到3NF3NF就可以了。关系(gun x)(gun x)规范化中遵循的原则:1) 1) 无损分解(fnji)(fnji)原则2) 2) 相互独立原则第84页/共112页第八十四页,共113页。85练习练习(linx)(linx): 1.1.判断下面关系(gun x)R(gun x)R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解后是否可以避免存在的操作异常?第85页/共112页第八十五页,共113页。86练习练习(linx)(linx):

50、工程号材料号数量开工日期完工日期价格P1I14200805201009250P1I26200805201009300P1I315200805201009180P2I16200811201110250P2I418200811201110350R R第86页/共112页第八十六页,共113页。87练习练习(linx)(linx): 答:关系R R的主码为工程号+ +材料号,存在部分函数依赖(yli)(yli),所以为1NF1NF;存在操作异常;分解后可以避免存在的操作异常。直接分解为3NF3NF:工程信息表(工程号,开工日期(rq)(rq),完工日期(rq)(rq))材料表(材料号,价格)供应表(

51、工程号,材料号,数量)第87页/共112页第八十七页,共113页。88总结总结(zngji)(zngji)回顾:回顾:我们知道关系模型就是关系的集合,即一张张的二维表。这些二维表可以(ky)(ky)被关系型数据库系统直接的表达。关系型数据库:依照关系模型设计的数据库,是若干关系的集合(jh)(jh),即由若干张关系模型设计的二维表组成。 或者简单的说:第88页/共112页第八十八页,共113页。89关系关系(gun x)(gun x)型数据库型数据库关系型数据库:依照关系模型设计的若干(rugn)(rugn)关系的集合。 一个关系(gun x)(gun x)即为一个数据表文件,数据表由记录组成

52、,记录由数据项组成。 数据库中的数据表是独立的,靠表文件名来区分,数据库中不允许有重名的数据表(对数据表的访问是靠表文件名来引导的)。 第89页/共112页第八十九页,共113页。90关系关系(gun x)(gun x)型数据库型数据库听起来好像挺简单,但是,整个实现过程是要经过一系列的步骤的,里面包含了非常复杂的工作。下面我们就来了解(lioji)(lioji)一下数据库的设计过程。如此以来,现实事物经过一系列的转换,最终(zu zhn)(zu zhn)就可以用计算机来处理了。 第90页/共112页第九十页,共113页。91数据库设计数据库设计(shj)(shj)过程过程数据库设计:是建立数

53、据库及其应用系统的技术(jsh)(jsh),是信息系统开发的核心问题。数据库设计分为以下(yxi)(yxi)四个阶段: 1. 1.需求分析 2.2.概念设计3.3.实现设计( (逻辑设计) )4.4.物理结构设计第91页/共112页第九十一页,共113页。921.需求分析(一起看P212):任务(rn wu):通过详细调查,明确用户的各种需求,确定系统的功能,写成需求分析说明书。数据库设计数据库设计(shj)(shj)过程过程第92页/共112页第九十二页,共113页。932.概念设计目标:根据需求说明书,将关于(guny)数据的需求,综合为一个统一的概念模型。最终得出系统总体的E-R模型。数

54、据库设计数据库设计(shj)(shj)过程过程第93页/共112页第九十三页,共113页。94例题例题(lt)(lt):概念模型:概念模型的设计的设计概念模型的设计:根据需求分析(fnx)(fnx)说明书中对数据需求的描述,画出E-RE-R模型。例1 1:某大学选课管理中,有如下信息:学生:学号、姓名、性别、年龄(ninlng)(ninlng)教师:教师号、姓名、性别、职称课程:课程号、课程名其中,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每门课程可由多位教师讲授,每位教师可讲授多门课程。第94页/共112页第九十四页,共113页。95例题例题(lt)(lt):概念模型:概念模

55、型的设计的设计实体(sht)(sht)集间的联系:都是多对多的联系(m:nm:n)学生(xu (xu sheng)-sheng)-课程学生-教师教师-课程分析:题目中的实体有:学生、课程、教师第95页/共112页第九十五页,共113页。96例题例题(lt)(lt):概念模型:概念模型的设计的设计1)1)分别(fnbi)(fnbi)画出各个实体学生(xu (xu shensheng)g)课程学号姓名年龄性别教师教师号 姓名职称性别课程号课程名第96页/共112页第九十六页,共113页。97例题例题(lt)(lt):概念模型的:概念模型的设计设计2)2)画出实体(sht)(sht)间的联系学生课程

56、教师选修讲授mmnn第97页/共112页第九十七页,共113页。98例题例题(lt)(lt):概念模型:概念模型的设计的设计3)3)画出总体(zngt)E-R(zngt)E-R模型学生课程教师选修讲授mmnn学号姓名年龄性别教师号姓名职称性别课程号课程名分数上课地点第98页/共112页第九十八页,共113页。99练习练习(linx)(linx):概念模型:概念模型的设计的设计1 1:某医院病房计算机管理中需如下信息:科室:科名、科地址、科电话、医生姓名病房:病房号、床位数、所属(sush)(sush)科室名医生:姓名、职称、所属(sush)(sush)科室名、年龄、工作证号病人:病历号、姓名、

57、性别、诊断医生、病房号其中,一个科室有多个病房、多个医生;一个病房只能属于一个科室;一个医生只属于一个科室,但可负责多个病人的诊治;一个病人的主治医生只有一个。设计E-RE-R图。第99页/共112页第九十九页,共113页。100练习练习(linx)(linx):概念模:概念模型的设计型的设计11nn病房医生科室入住诊治病人所属所属11nn各个实体的属性(shxng)(shxng)自己画出第100页/共112页第一百页,共113页。1013.实现设计(逻辑设计)(熟练掌握)目标:把概念模型转换为某个具体的数据库管理系统所支持(zhch)的数据库模型。数据库设计数据库设计(shj)(shj)过程过程逻辑结构的设计,即概念模型(mxng)向关系模型(mxng)的转换,方法如下:第101页/共112页第一百零一页,共113页。1021.1.若实体间的联系是1 1:1 1联系,可以在两个(lin )(lin )实体类型转换成的两个(lin )(lin )关系中的任意一个关系的属性中,加入另一个关系的主码和联系类型的属性。逻辑(lu j)结构的设计2.2.若实体间的联系是1 1:n n联系,则在n n端实体类型(lixng)(lixng)转换成的关系中,加入1 1端实体类型(lixng

温馨提示

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

评论

0/150

提交评论