sql sever数据库原理及应用数据库基础概述.pptx

上传人:莉*** 文档编号:72989302 上传时间:2023-02-14 格式:PPTX 页数:112 大小:467.83KB
返回 下载 相关 举报
sql sever数据库原理及应用数据库基础概述.pptx_第1页
第1页 / 共112页
sql sever数据库原理及应用数据库基础概述.pptx_第2页
第2页 / 共112页
点击查看更多>>
资源描述

《sql sever数据库原理及应用数据库基础概述.pptx》由会员分享,可在线阅读,更多相关《sql sever数据库原理及应用数据库基础概述.pptx(112页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1课程地位:计算机专业学生必修的一门计算机专业学生必修的一门专业基础课专业基础课说大纲说大纲共共6060学时:学时:30+3030+30第1页/共112页2教学任务(学习任务):能够能够进行简单的数据库设计进行简单的数据库设计打好打好坚实的坚实的基础基础掌握数据库系统掌握数据库系统基本概念基本概念、基本原理基本原理熟练掌握熟练掌握SQLSQL说大纲说大纲第2页/共112页3笔试成绩笔试成绩(100100分,6060分合格):平时成绩20%20%:上课情况、试验情况、作业情况期末考试成绩80%80%(考试内容与学时分配比例相应)注:两个成绩任一个不及格,都记一科不及格,两个成绩都不及格,就算两科

2、不及格。笔试和实践两个方面:笔试和实践两个方面:实践成绩实践成绩(100100分,6060分合格):课程设计说考核方法说考核方法第3页/共112页4 第一章数据库基础概述 第4页/共112页5 第一章第一章 数据库基础概述数据库基础概述 目前较流行的数据库有:AccessAccess、SQL ServerSQL Server、OracleOracle和MySQLMySQL等。SQL ServerSQL Server数据库:是由微软开发的。它是是由微软开发的。它是WindowsWindows操作系统最为流行的数据库,适合小操作系统最为流行的数据库,适合小型、中型或大型应用程序的后台数据库。型、中

3、型或大型应用程序的后台数据库。OracleOracle数据库:一般比较适合超大型的行业领一般比较适合超大型的行业领域,如电信、移动还有邮政部门等就是使用域,如电信、移动还有邮政部门等就是使用OracleOracle数据库的。数据库的。第5页/共112页6我们这学期的任务是:在学好数据库理论知在学好数据库理论知识的基础上,重点学习识的基础上,重点学习sql server2000sql server2000数据库数据库管理系统。管理系统。第一章第一章 数据库基础概述数据库基础概述 第6页/共112页7数据库技术:是一门研究数据管理的技术(始于2020世纪6060年代末)。数据管理:对数据的组织、存

4、储、维护和使用等。是计算机软件的一个重要分支。第一章第一章 数据库基础概述数据库基础概述 第7页/共112页81.1.数据管理技术的发展数据管理技术的发展(P1-2)(P1-2)1 1)人工管理阶段)人工管理阶段(2020世纪5050年代)是计算机数据管理技术发展的最新阶段。2 2)文件系统阶段)文件系统阶段(2020世纪6060年代)3 3)数据库系统阶段)数据库系统阶段(2020世纪6060年代后期开始)第一章第一章 数据库基础概述数据库基础概述 第8页/共112页92.2.数据库系统的组成数据库系统的组成(P2-3)(P2-3)数据库系统:具有管理和控制数据库功能的计算机系统。一般是由数

5、据库、数据库管理系统以及数据库用户组成。第一章第一章 数据库基础概述数据库基础概述 第9页/共112页101)数据库数据库(Database,DBDatabase,DB):有条理、有组织、合理地存放的数据的集合。实际上“数据库”就是为了实现一定的目的按某种规则组织起来的“数据”的“集合”。例如:电话号码本 第一章第一章 数据库基础概述数据库基础概述 第10页/共112页112)数据库管理系统数据库管理系统(Database Management Database Management System,DBMSSystem,DBMS):在操作系统的支持下帮助用户建立、使用和管理数据库的软件系统。它

6、的主要功能是定义和建立数据库、对数据进行操作和运行控制、提供应用程序开发环境。(详见P2)P2)第一章第一章 数据库基础概述数据库基础概述 第11页/共112页12数据系统的组成数据系统的组成(P2-3)(P2-3)3)数据库系统的用户数据库系统的用户:是指使用数据库的人。主要分为:系统程序员、数据库管理员、应用程序员和操作员。第一章第一章 数据库基础概述数据库基础概述 第12页/共112页13数据:是反映客观事物属性的记录,是反映客观事物属性的记录,是是信息信息的载体。的载体。数据有什么用呢?数据有什么用呢?什么是数据?什么是数据?第一章第一章 数据库基础概述数据库基础概述 第13页/共11

7、2页14数据张三,c c语言,100100分张三的c c语言成绩优秀信息奖学金发给张三行为信息:信息:是有价值的消息,它对于我们来说,是有意义的,可以指导我们的行为,或者说,是我们行为的依据。第一章第一章 数据库基础概述数据库基础概述 第14页/共112页15信息是通过数据来传播的,数据是信息的载体,而信息是数据的内涵。-这就是信息和数据的联系。因为信息是因为信息是有价值有价值的消息,所以数据如不的消息,所以数据如不具有知识性和有用性则不能称为信息。具有知识性和有用性则不能称为信息。1,3,5,7,9.是信息4,9,2,7,6,35.不是信息 第一章第一章 数据库基础概述数据库基础概述 第15

8、页/共112页16数据:本质上是对信息的一种符号化表示,即用一定的符号表示信息(采用什么符号,完全是人为规定的)。(例如)由此可见,同一信息可以有不同的数据表示形式,比如可以是数字、文字、符号、图形、图像和声音等等。第一章第一章 数据库基础概述数据库基础概述 第16页/共112页17当然,为了用计算机进行信息处理,就得当然,为了用计算机进行信息处理,就得把信息转换为计算机能够识别的符号,即用把信息转换为计算机能够识别的符号,即用0 0和和1 1两个符号的编码来表示各种各样的信息。两个符号的编码来表示各种各样的信息。常用的三种常用的三种:数值型数据(定量记录的符号定量记录的符号);字符型数据(定

9、性记录定性记录);特殊型(形象特征形象特征和过程记录和过程记录)声音、视频、图象等。声音、视频、图象等。数据:一切被计算机处理的对象。第一章第一章 数据库基础概述数据库基础概述 第17页/共112页18模型:模型:就是现实世界特征的模拟和抽象。数据模型:数据模型:就是客观事物及其联系的数据描述,它具有描述数据和数据联系两方面的功能。例如:例如:下面记录学生信息和课程信息的表,就是基于某种数据模型来建立的。第一章第一章 数据库基础概述数据库基础概述 第18页/共112页19第一章第一章 数据库基础概述数据库基础概述学号课程号成绩1012-104801012-120851022-104671022

10、-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数据结构刘丽课程信息表成绩信息表学生信息表第19页/共112页20任何一个数据库管理系统都是基于某种数据任何一个数据库管理系统都是基于某种数据模型的,模型的,数据模型是数据库系统的核心和基数据模型是数据库系统的核心和基础。础。根据数据模型的功能,可分为概念模型和数据库模

11、型。第一章第一章 数据库基础概述数据库基础概述 第20页/共112页21概念模型,也称信息模型,是面向人的,易于我们的理解,主要用于数据库的设计;而数据模库型(简称数据模型)是面向计算机的,主要用于数据库管理系统的实现。第一章第一章 数据库基础概述数据库基础概述 第21页/共112页22现实世界信息世界机器世界将现实世界的问题用概念模型表示将概念模型转换为DBMSDBMS支持的数据模型 第一章第一章 数据库基础概述数据库基础概述 第22页/共112页23概念模型中的一些基本术语:主要是:实体、属性和联系概念模型是用E-R图来表示的。(P8-9)第一章第一章 数据库基础概述数据库基础概述 第23

12、页/共112页24实体:现实世界中客观存在,可以相互现实世界中客观存在,可以相互区分的事物称为实体。区分的事物称为实体。实体可以是具体的人、事、物例如:例如:一名职工一名职工、一个学生一个学生、一本书一本书;也可以是抽象的概念或联系例如例如:一堂课一堂课、学生的一次选课学生的一次选课、职工的工作职工的工作关系关系等。等。第一章第一章 数据库基础概述数据库基础概述 第24页/共112页25属性:实体所具有的某一特性称为属性,:实体所具有的某一特性称为属性,一个实体可以由若干个属性来描述。一个实体可以由若干个属性来描述。例如:例如:学生学生实体可用实体可用学号、姓名、性别、年学号、姓名、性别、年龄

13、、系龄、系等属性来描述。等属性来描述。给上面每个属性赋予一个确定的值,就表示给上面每个属性赋予一个确定的值,就表示了一个学生实体。了一个学生实体。例如:例如:(9900199001,张立,男,张立,男,2020,计算机,计算机)就表示了一个学生实体。就表示了一个学生实体。第一章第一章 数据库基础概述数据库基础概述 第25页/共112页26 第一章第一章 数据库基础概述数据库基础概述 实体型:具有相同属性的实体必然具有共:具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名集同的特征和性质,用实体名及其属性名集合来描述同类实体,称为实体型。合来描述同类实体,称为实体型。补充两个概念:例

14、如,学生例如,学生(学号,姓名,性别,年龄,系学号,姓名,性别,年龄,系)就是一个实体型。就是一个实体型。第26页/共112页27 第一章第一章 数据库基础概述数据库基础概述 实体集:同型实体的集合称为实体集。例同型实体的集合称为实体集。例如,所有学生就是一个实体集。如,所有学生就是一个实体集。第27页/共112页28实体集与实体集之间的联系:(1)一对一联系(1:1)(2)一对多联系(1:n)(3)多对多联系(m:n)第一章第一章 数据库基础概述数据库基础概述 第28页/共112页29(1)一对一联系(1:1)如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反

15、之亦然,则称为实体集A与实体集B具有一对一的联系,记为1:1。例如,学校里面,一个班级只有一个正班长,这个正班长只属于这个班,则班级与班长之间具有一对一联系。第一章第一章 数据库基础概述数据库基础概述 第29页/共112页30(2)一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n=0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。第一章第一章 数据库基础概述数据库基础概述 第30页/共112页3

16、1(3)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n=0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m=0)与之联系,则称实体集A与实体集B有多对多联系,记为m:n。例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。第一章第一章 数据库基础概述数据库基础概述 第31页/共112页32E-R图的画法:用矩形框表示实体,用椭圆表示属性,用菱形表示实体之间的联系。例如:P9图1-4和图1-5注意:一个系统的E-R图不是唯一的,从不同的侧面出发画出的E-R图可能很不同。第一章第一章 数据库基础概

17、述数据库基础概述 第32页/共112页33将现实事物抽象成概念模型并用E-R图表示后,就要将其转换成数据库模型了。?总体E-R图所表示的实体联系模型,只能说明实体间的联系关系,还需要把它们转换成数据库模型(简称数据模型)才能被实际的DBMS所接受。第一章第一章 数据库基础概述数据库基础概述 第33页/共112页34三种数据库模型:层次型、网状型和关系型。(了解)基于此三种数据库模型的数据库分别为:层次数据库、网状数据库和关系型数据库。(了解)关系型数据库解决了层次型数据库的横向关联不足的缺点,也避免了网状数据库关联过于复杂的问题,因此得到广泛应用。第一章第一章 数据库基础概述数据库基础概述 第

18、34页/共112页35关系模型:是目前最流行的数据库模型关系模型的数据结构是一个”二维表框架”组成的集合,每个二维表又称为关系。例如:第一章第一章 数据库基础概述数据库基础概述 第35页/共112页36学号姓名性别年龄1甲女202乙男183丙男214丁女20表格中每一行称为一个记录,每个记录由若干数据项组成。每一列称为一个字段,字段表示关系模型中具有某种属性的一列数据,第一行为属性类型的名称,成为字段名。第一章第一章 数据库基础概述数据库基础概述 第36页/共112页37作为关系的二维表必须满足下列条件:1)表中的每一列具有相同的数据类型;表中的每一列具有相同的数据类型;2)表中行、列的排列顺

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

20、水电实发86051陈平讲师8052050601280386052王芳教授1000255060121003 第一章第一章 数据库基础概述数据库基础概述 第38页/共112页39总结:1.在关系模型中基本结构就是二维表。2.记录之间的联系是通过不同关系中的同名属性来体现的(例如)。3.关系模型中的各个关系模式不应当孤立起来,不是随意拼凑的一堆二维表,而是必须经过精心设计的。第一章第一章 数据库基础概述数据库基础概述 第39页/共112页40学号课程号成绩1012-104801012-120851022-104671022-120901032-104861032-12065学号姓名性别出生日期民族专

21、业班级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数据结构刘丽课程信息表成绩信息表学生信息表 第一章第一章 数据库基础概述数据库基础概述 第40页/共112页41关系模型的基本概念 关系:一个关系就是一张二维表,每个关系有一个关系名。对应于概念模型中的实体集。元组:表中的一行称为一个元组,也称为记录。对应于概念模型中的实体。第一章第一章 数据库基础概述数据库基础概述 第41页/共112页42关系

22、模型的基本概念 属性:表中的一列称为属性,给每一列起一个名字即为属性名,属性的个数即为关系的度。域:一个属性的取值范围叫做域。第一章第一章 数据库基础概述数据库基础概述 第42页/共112页43关系模型的基本概念:主码:表中的某个属性或属性组,若它们的值唯一的标识一个元组,称该属性(组)为码(或称为候选码),若一个关系有多个候选码,则选定其中一个作为主码(或称主关键字,简称主键)(例如)。第一章第一章 数据库基础概述数据库基础概述 第43页/共112页44关系数据库规范化理论关系数据库规范化理论 学号姓名系别系主任课程号课程名成绩981101徐庆计算机张三1021高等数学100981101徐庆

23、计算机张三1031英语98981101徐庆计算机张三1011计算机应用88981103林海环保李四1021高等数学100981103林海环保李四1031英语98981202李波机电张三1021高等数学100981202李波机电张三1031英语98R第44页/共112页45关系模型的基本概念 主属性:包含在主码中的属性称为主属性(例如)。外码:如果一个关系中的属性或属性组不是该关系的码,但它们是另外一个关系的码,则称其为该关系的外码(或外键)(例如)。第一章第一章 数据库基础概述数据库基础概述 第45页/共112页46学号课程号成绩1012-104801012-120851022-1046710

24、22-120902012-104862012-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数据结构刘丽课程信息表成绩信息表学生信息表课程表的外码学生表的外码 第一章第一章 数据库基础概述数据库基础概述 第46页/共112页47关系模型的基本概念补充:关系模式:对关系的描述称为关系模式。格式为:关系名(属性名1,属性名2,属性名n)第一章第一章 数据库基础

25、概述数据库基础概述 对应于概念模型中的实体型。例如:课程信息表(课程号,课程名,任课教师)第47页/共112页48关系模型的数据完整性关系模型的数据完整性包括实体完整性、参照完整性、用户定义的完整性数据完整性:为了保证数据的精确性和可靠性而提出的某种规则或约束。第48页/共112页491)1)实体完整性:实体完整性规则指关系的所有主属性不能取空值。例如:学生选课关系选修(学号,课程号,成绩)“学号”+“课程号”为主码,则“学号”和“课程号”两个属性都不能取空值。?关系模型的数据完整性关系模型的数据完整性第49页/共112页502)2)参照完整性:指关系间属性之间的引用参照关系。例如:学生(学号

26、,姓名,性别,专业号,年龄)专业(专业号,专业名)关系模型的数据完整性关系模型的数据完整性第50页/共112页513)3)用户定义的完整性:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,在销售管理系统中,订货单关系的属性中,要求“订货日期”必须在“发货日期”之前。关系模型的数据完整性关系模型的数据完整性第51页/共112页52用户定义的完整性参照完整性实体完整性最基本、最普遍的小结:关系模型的数据完整性关系模型的数据完整性第52页/共112页53关系运算关系运算关系运算:对关系的各种操作。关系运算有两类:传统的集合运算(并、差、交、笛卡儿积等)专门的

27、关系运算(选择、投影、连接、除法)。关系运算的操作对象是关系,关系运算的操作对象是关系,运算结果仍运算结果仍为关系为关系。下面我们来认识两种简单常用的关系运算:下面我们来认识两种简单常用的关系运算:第53页/共112页541)1)选择:选择运算是在关系中选择满足某些条件的元组组成新的关系(即在二维表中选择满足指定条件的行)。关系运算关系运算第54页/共112页55例如有如下关系S S:关系运算关系运算BCD232563985S S进行运算B=5B=5(S)(S)结果为:BCD563第55页/共112页56学生表学号学号姓名姓名性别性别年龄年龄1 1甲甲女女20202 2乙乙男男18183 3丙

28、丙男男21214 4丁丁女女2020学号学号 姓名姓名性别性别年年龄龄1 1甲甲女女20204 4丁丁女女2020选择运算:年龄为2020的学生所有女学生的信息?所有女学生的信息?名名字字叫叫“甲甲”学学生的信息?生的信息?学号学号姓名姓名性别性别 年龄年龄1 1甲甲女女2020选择运算选择运算第56页/共112页572)2)投影:投影运算是在关系中选择某些属性列。关系运算关系运算第57页/共112页58例如有如下关系R R:关系运算关系运算ABC123456789R R进行运算A,CA,C(R)(R)结果为:AC134679第58页/共112页59学生表学号学号姓名姓名性别性别 年龄年龄1

29、1甲甲女女20202 2乙乙男男18183 3丙丙男男21214 4丁丁女女2020投影运算:显示所有学生的姓名和性别姓名姓名性别性别甲甲女女乙乙男男丙丙男男丁丁女女注:投影运算后可能会产生重复元组(?)(?)。在关系型数据库管理系统中都支持这些关系运算。投影运算投影运算第59页/共112页603)3)连接:连接运算是从两个关系的笛卡儿积中选取满足一定条件的元组。我们主要学习等值连接。关系运算关系运算等值连接:从两个关系的笛卡儿积中选取某属性的属性值相等的元组。第60页/共112页61例如有如下两个关系:关系运算关系运算ABC123456789R RBCD232563985S S第61页/共1

30、12页62等值连接等值连接进行运算 R RS S 结果为:3=2ABCBCD123232456563第62页/共112页63自然连接:在等值连接的关系中去掉重复的属性(或属性组),称为自然连接。关系运算关系运算例如进行运算 R RS S,结果为:ABCD12324563第63页/共112页64关系数据库中的每个关系设计的是不是都是合理的呢?我们来看下面的一个表:我们来看下面的一个表:关系数据库规范化理论关系数据库规范化理论 第64页/共112页65关系数据库规范化理论关系数据库规范化理论 学号姓名系别系主任课程号课程名成绩981101徐庆计算机张三1021高等数学100981101徐庆计算机张

31、三1031英语98981101徐庆计算机张三1011计算机应用88981103林海环保李四1021高等数学100981103林海环保李四1031英语98981202李波机电张三1021高等数学100981202李波机电张三1031英语98R第65页/共112页66根据实际情况,这些数据的语义规定为:1)1)一个系有若干个学生,但一个学生只属于一个系;2)2)一个系只有一个系主任,但一个系主任可同时兼几各系的主任;3)3)一个学生可以选修多门功课,每门课可以由若干个学生选修;4)4)每个学生学习课程有一门成绩。关系数据库规范化理论关系数据库规范化理论 第66页/共112页67接下来我们做如下操作

32、:1.1.确定这个关系的主键?学号+课程号1 1)如果机电系连续三年都不招学生了,所有学生也都毕业了,但是这个系仍然有。?关系数据库规范化理论关系数据库规范化理论 实际情况是可以的。但这时就出现问题了。老生毕业了,信息相应被删除,那么系别,系主任的信息也就没有了。-不该删除的数据也被一起删除了。第67页/共112页682 2)既然不该删除的被删除了,那就把它再添加上就行了。但是,因为没有学生,也就没有学号,即主属性为空,信息则无法录入。-该插入的数据不能被插入。关系数据库规范化理论关系数据库规范化理论 3 3)相同的信息被反复的存储了。例如:学号和姓名,系别和系主任等等。-浪费了存储空间。第6

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

34、程名10211021高等数学高等数学10311031英语英语10111011计算机应用计算机应用系别系别系主任系主任计算机计算机张三张三环保环保李四李四机电机电张三张三学生表成绩表课程表系别表关系数据库规范化理论关系数据库规范化理论 第70页/共112页71第一个表之所以存在问题,是因为它存在一些不合理的函数依赖关系。关系数据库规范化理论关系数据库规范化理论 函数依赖:用以说明在一个关系中属性之间的相互联系的情况。数学定义如下:第71页/共112页72函数依赖函数依赖 设在关系R R中,X,YX,Y为R R的两个属性,如果每个X X值只有一个Y Y值与之对应,则称属性Y Y函数依赖于属性X X

35、,或称属性X X唯一确定属性Y Y,记作:XYXY。在分析关系的时候,我们主要是看非主属性对主码的依赖关系。第72页/共112页73通过语义分析,得到七个属性间的函数依赖关系如下:姓名成绩课程名系主任系别课程号学号主键函数依赖函数依赖 第73页/共112页74主键:“学号”+“课程号”完全函数依赖:“成绩”对于主键是完全函数依赖。部分函数依赖:其它几个属性对主键都是部分函数依赖。传递函数依赖:“学号”“系别”,“系别”“系主任”,所以“系主任”对于“学号”是传递函数依赖。(P13)函数依赖类型函数依赖类型再看分解后的表,只有完全函数依赖。第74页/共112页75关系的规范化关系的规范化如果一个

36、关系,存在不合理的函数依赖,有时我们就根据需要对其进行分解,这个分解的过程叫做关系的规范化。所依据的标准叫做范式。第75页/共112页76范式范式 1)1)第一范式(1NF)(1NF):无重复属性,每个属性不可再分。-这是最低要求。2)2)第二范式(2NF)(2NF):满足第一范式,且非主属性不部分依赖于主键,即完全依赖于主键。3)3)第三范式(3NF)(3NF):满足第二范式,且任何非主属性不传递函数依赖于主键。(例如)第76页/共112页77学号学号姓名姓名系别系别981101981101徐庆徐庆计算机计算机981103981103林海林海环保环保981202981202李波李波机电机电学

37、号学号课程号课程号成绩成绩98110198110110211021100100981101981101103110319898课程号课程号课程名课程名10211021高等数学高等数学10311031英语英语10111011计算机应用计算机应用系别系别系主任系主任计算机计算机张三张三环保环保李四李四机电机电张三张三学生表成绩表课程表系别表关系数据库规范化理论关系数据库规范化理论 四个表均满足3NF,所以是3NF。第77页/共112页78范式范式 说明:1.1.只要是关系模型中的关系,必定满足1NF1NF;2.2NF2.2NF仅用于以两个或多个字段的组合作为数据库表的主键的场合。而且,当一个数据库

38、表属于2NF2NF时,就意味着只要主键值相同,其他非主键值也必然相同。第78页/共112页79关系数据库的规范化关系数据库的规范化 1.1.将关系分解为高一级范式的过程叫关系的规范化。2.2.关系的规范化过程:找主键、看依赖、再分解 第79页/共112页80姓名成绩课程名系主任系别课程号学号主键关系数据库的规范化关系数据库的规范化 第80页/共112页81成绩课程号学号课程名课程号姓名系主任系别学号关系数据库的规范化关系数据库的规范化 第81页/共112页82姓名系主任系别学号姓名学号系别系主任系别关系数据库的规范化关系数据库的规范化 第82页/共112页83将STUD进行规范化最后得到四个关

39、系。成绩课程号学号课程名课程号姓名学号系别系主任系别关系数据库的规范化关系数据库的规范化 第83页/共112页84关系数据库的规范化关系数据库的规范化 说明:并不是规范化程度越高越好。具体规范到第几范式,要看具体问题的需要。一般我们规范化到3NF3NF就可以了。关系规范化中遵循的原则:1)1)无损分解原则2)2)相互独立原则第84页/共112页85练习:练习:1.1.判断下面关系R R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解后是否可以避免存在的操作异常?第85页/共112页86练习:练习:工程号材料号数量开工日期完工日期价格P1I14200805201009250P1

40、I26200805201009300P1I315200805201009180P2I16200811201110250P2I418200811201110350R R第86页/共112页87练习:练习:答:关系R R的主码为工程号+材料号,存在部分函数依赖,所以为1NF1NF;存在操作异常;分解后可以避免存在的操作异常。直接分解为3NF3NF:工程信息表(工程号,开工日期,完工日期)材料表(材料号,价格)供应表(工程号,材料号,数量)第87页/共112页88总结回顾:总结回顾:我们知道关系模型就是关系的集合,即一张张的二维表。这些二维表可以被关系型数据库系统直接的表达。关系型数据库:依照关系模

41、型设计的数据库,是若干关系的集合,即由若干张关系模型设计的二维表组成。或者简单的说:第88页/共112页89关系型数据库关系型数据库关系型数据库:依照关系模型设计的若干关系的集合。一个关系即为一个数据表文件,数据表由记录组成,记录由数据项组成。数据库中的数据表是独立的,靠表文件名来区分,数据库中不允许有重名的数据表(对数据表的访问是靠表文件名来引导的)。第89页/共112页90关系型数据库关系型数据库听起来好像挺简单,但是,整个实现过程是要经过一系列的步骤的,里面包含了非常复杂的工作。下面我们就来了解一下数据库的设计过程。如此以来,现实事物经过一系列的转换,最终就可以用计算机来处理了。第90页

42、/共112页91数据库设计过程数据库设计过程数据库设计:是建立数据库及其应用系统的技术,是信息系统开发的核心问题。数据库设计分为以下四个阶段:1.1.需求分析 2.2.概念设计3.3.实现设计(逻辑设计)4.4.物理结构设计第91页/共112页921.需求分析(一起看P212):任务任务:通过详细调查,明确用户的各:通过详细调查,明确用户的各种需求,种需求,确定系统的功能确定系统的功能,写成需求,写成需求分析说明书。分析说明书。数据库设计过程数据库设计过程第92页/共112页932.概念设计目标目标:根据需求说明书,将关于数据:根据需求说明书,将关于数据的需求,综合为一个统一的概念模型。的需求

43、,综合为一个统一的概念模型。最终得出系统总体的最终得出系统总体的E-R模型。模型。数据库设计过程数据库设计过程第93页/共112页94例题:例题:概念模型的设计概念模型的设计:根据需求分析说明书中对数据需求的描述,画出E-RE-R模型。例1 1:某大学选课管理中,有如下信息:学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:课程号、课程名其中,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每门课程可由多位教师讲授,每位教师可讲授多门课程。第94页/共112页95例题:例题:概念模型的设计实体集间的联系:都是多对多的联系(m:nm:n)学生-课程学生-教师教师-课程分析

44、:题目中的实体有:学生、课程、教师第95页/共112页96例题:例题:概念模型的设计1)1)分别画出各个实体学生课程学号姓名年龄性别教师教师号 姓名职称性别课程号课程名第96页/共112页97例题:例题:概念模型的设计2)2)画出实体间的联系学生课程教师选修讲授mmnn第97页/共112页98例题:例题:概念模型的设计3)3)画出总体E-RE-R模型学生课程教师选修讲授mmnn学号姓名年龄性别教师号姓名职称性别课程号课程名分数上课地点第98页/共112页99练习:练习:概念模型的设计1 1:某医院病房计算机管理中需如下信息:科室:科名、科地址、科电话、医生姓名病房:病房号、床位数、所属科室名医

45、生:姓名、职称、所属科室名、年龄、工作证号病人:病历号、姓名、性别、诊断医生、病房号其中,一个科室有多个病房、多个医生;一个病房只能属于一个科室;一个医生只属于一个科室,但可负责多个病人的诊治;一个病人的主治医生只有一个。设计E-RE-R图。第99页/共112页100练习:练习:概念模型的设计11nn病房医生科室入住诊治病人所属所属11nn各个实体的属性自己画出第100页/共112页1013.实现设计(逻辑设计)(熟练掌握)目标目标:把概念模型转换为某个具体的:把概念模型转换为某个具体的数据库管理系统所支持的数据库模型。数据库管理系统所支持的数据库模型。数据库设计过程数据库设计过程逻辑结构的设

46、计,即概念模型向关系模型的转换,方法如下:第101页/共112页1021.1.若实体间的联系是1 1:1 1联系,可以在两个实体类型转换成的两个关系中的任意一个关系的属性中,加入另一个关系的主码和联系类型的属性。逻辑结构的设计2.2.若实体间的联系是1 1:n n联系,则在n n端实体类型转换成的关系中,加入1 1端实体类型转换成的关系的主码和联系类型的属性。第102页/共112页103逻辑结构的设计3.3.若实体间的联系是m m:n n联系,则将联系类型也转换成关系,其属性为两端实体类型的主码加上联系类型的属性,而该主码为两端实体主码的组合。第103页/共112页104例题:例题:逻辑结构的

47、设计例如前面学生选课系统的E-R图,转换为关系模型为:学生表(学号、姓名、性别、年龄)教师表(教师号、姓名、性别、职称)课程表(课程号、课程名)成绩表(学号,课程号,成绩)授课表(教师号,课程号,上课地点)第104页/共112页105练习:练习:逻辑结构的设计将如图所示的E-R图转换为关系模式:供应商供应商号供应商名地址mnp零件重量零件名零件号供应零件数开工日期项目项目编号项目名称第105页/共112页106练习:练习:逻辑结构的设计关系模式为:供应商(供应商号,供应商名,地址)零件(零件号,零件名,重量)项目(项目编号,项目名称,开工日期)供应(供应商号,项目编号,零件号,零件数)第106

48、页/共112页1074.物理结构设计(熟练掌握)任务任务:在计算机的物理设备上确定采取:在计算机的物理设备上确定采取的数据存储结构和存取方法,以及如何的数据存储结构和存取方法,以及如何分配存储空间等问题。分配存储空间等问题。物理设计的主要工作是由管理系统自动物理设计的主要工作是由管理系统自动完成的,我们只需用完成的,我们只需用DBMS提供的数据提供的数据定义语句建立数据库结构即可。定义语句建立数据库结构即可。数据库设计过程数据库设计过程第107页/共112页108对于我们来说,在前面的四个步骤中,需对于我们来说,在前面的四个步骤中,需要重点掌握的是根据需求分析说明得出概要重点掌握的是根据需求分

49、析说明得出概念模型,即念模型,即E-R图图,将,将E-R图转换为数据图转换为数据库模型库模型,然后能够,然后能够熟练的熟练的在数据库管理系在数据库管理系统中实施,即统中实施,即建立数据库建立数据库和和数据表数据表。数据库设计过程数据库设计过程如下图所示:第108页/共112页109数据库设计过程数据库设计过程主要掌握:概念模型的设计,由概念模型到逻辑模型的转换,以及物理结构的实施。1.1.需求分析 2.2.概念设计3.3.实现设计(逻辑设计)4.4.物理结构设计掌握的熟练程度第109页/共112页110数据库设计工作完成后,接下来就是数据库的实施和维护阶段了。(了解)任务包括:任务包括:1.应用程序设计与编写应用程序设计与编写2.组织数据入库组织数据入库3.应用程序的调试与试运行应用程序的调试与试运行4.数据库的运行和维护数据库的运行和维护补充补充具体详细实例见P211-215,P211-215,自己先看看,期末课程设计做参照。第110页/共112页111物理结构的设计根据逻辑结构设计确定物理结构,即数据存储结构和存取方法,以及如何分配存储空间等。-大部分工作有数据库管理系统完成。接下来我们就来学习SQLServer2000数据库管理系统的使用方法。第111页/共112页112谢谢您的观看!第112页/共112页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com