《数据库原理及应用》由会员分享,可在线阅读,更多相关《数据库原理及应用(46页珍藏版)》请在金锄头文库上搜索。
1、数据库原理与应用海洋学院信息工程系海洋学院信息工程系说大纲课程地位和任务:课程地位:课程地位:计算机专业学生必修的一门计算机专业学生必修的一门专业基础课专业基础课教学任务教学任务( (学习任务学习任务) ):能够能够进行简单的数据库设计进行简单的数据库设计打好打好坚实的坚实的基础基础掌握数据库系统掌握数据库系统基本概念基本概念、基本原理基本原理熟练掌握熟练掌握SQLSQL共共6060学时:学时:30+3030+30笔试成绩笔试成绩(100100分,分,6060分合格):分合格):平时成绩平时成绩20%20%:上课情况、试验情况、作业情况上课情况、试验情况、作业情况期末考试成绩期末考试成绩80%
2、80% (考试内容与学时分配比例相应 )注:两个成绩任一个不及格,都记一科不及格,两个成绩都不及格,就算两科不及格。说考核方法笔试和实践两个方面:笔试和实践两个方面:实践成绩实践成绩(100100分,分,6060分合格):分合格):课程设计课程设计 第一章:数据库基础概述第一章:数据库基础概述 第一章:第一章:数据库基础概述 目前较流行的数据库有目前较流行的数据库有:AccessAccess、SQL ServerSQL Server、OracleOracle和MySQLMySQL等。SQL ServerSQL Server数据库数据库: :是由微软开发的。它是是由微软开发的。它是Windows
3、Windows操作系统最为流行的数据库,适合小操作系统最为流行的数据库,适合小型、中型或大型应用程序的后台数据库。型、中型或大型应用程序的后台数据库。OracleOracle数据库数据库: :一般比较适合超大型的行业领一般比较适合超大型的行业领域,如电信、移动还有邮政部门等就是使用域,如电信、移动还有邮政部门等就是使用OracleOracle数据库的。数据库的。 第一章:第一章:数据库系基础概述 我们这学期的任务是我们这学期的任务是: :在学好数据库理论在学好数据库理论知识的基础上,重点学习知识的基础上,重点学习sqlsql server2000server2000数据库管理系统。数据库管理系
4、统。 第一章:第一章:数据库基础概述 数据库技术数据库技术:是一门研究是一门研究数据管理数据管理的技术的技术( (始始于于2020世纪世纪6060年代末年代末) )。 数据管理:数据管理:对数据的对数据的组织、存储组织、存储、维护维护和和使使用用等等。是计算机软件的一个重要分支。是计算机软件的一个重要分支。第一章:第一章:数据库基础概述 1.1.数据管理技术的发展数据管理技术的发展(P1-2)(P1-2)(P1-2)(P1-2)1 1)人工管理阶段)人工管理阶段(2020世纪世纪5050年代)年代)是计算机数据管理技术发展的最新阶段最新阶段。 2 2)文件系统阶段)文件系统阶段(2020世纪世
5、纪6060年代)年代)3 3)数据库系统阶段)数据库系统阶段(2020世纪世纪6060年代后期开始)年代后期开始)第一章:第一章:数据库基础概述 2.2.数据库系统的组成数据库系统的组成(P2-3)(P2-3)(P2-3)(P2-3)数据库系统数据库系统一般是由一般是由数据库数据库、数据库管理系数据库管理系统统以及以及数据库用户数据库用户组成。组成。 第一章:第一章:数据库基础概述 1)数据库数据库(Database,DBDatabase,DB): :有条理、有组织、有条理、有组织、合理地存放的数据的集合。合理地存放的数据的集合。 实际上实际上“数据库数据库”就是为了实现一定的就是为了实现一定
6、的目的按某种规则组织起来的目的按某种规则组织起来的“数据数据”的的“集集合合”。例如:电话号码本例如:电话号码本第一章:第一章:数据库基础概述 2)数据库管理系统数据库管理系统(Database Management Database Management System,DBMSSystem,DBMS): :在操作系统的支持下帮助用户在操作系统的支持下帮助用户建立、使用和管理数据库的软件系统。建立、使用和管理数据库的软件系统。 它的主要功能是定义和建立数据库、对它的主要功能是定义和建立数据库、对数据进行操作和运行控制、提供应用程序开数据进行操作和运行控制、提供应用程序开发环境。发环境。第一章:
7、第一章:数据库基础概述 数据库管理系统的组成数据库管理系统的组成(P2-3)(P2-3)(P2-3)(P2-3)3)数据库系统的用户数据库系统的用户: :是指使用数据库的人。是指使用数据库的人。主要分为:主要分为:系统程序员系统程序员、数据库管理员数据库管理员、应用应用程序员程序员和和操作员操作员。第一章:第一章:数据库基础概述 数据:数据:是反映客观事物属性的记录,是反映客观事物属性的记录,是是信息信息的载体。的载体。数据有什么用呢?数据有什么用呢?什么是数据?什么是数据? 第一章:第一章:数据库基础概述 数据张三,c语言,100分 张三的c语言成绩优秀 信息奖学金发给张三 行为信息:信息:
8、信息:信息:是是有价值有价值的消息,它对于我们来说,的消息,它对于我们来说,是是有意义有意义的,可以指导我们的行为,或者说,的,可以指导我们的行为,或者说,是我们行为的依据。是我们行为的依据。第一章:第一章:数据库基础概述 信息是信息是通过数据来传播通过数据来传播的,的,数据是数据是信息的信息的载载体体,而信息是数据的内涵。,而信息是数据的内涵。-这就是信息和这就是信息和数据的联系。数据的联系。 因为信息是因为信息是有价值有价值的消息,所以数据如不的消息,所以数据如不具有知识性和有用性则不能称为信息。具有知识性和有用性则不能称为信息。1,3,5,7,9. 是信息4,9,2,7,6,35. 不是
9、信息第一章:第一章:数据库基础概述 数据:数据:本质上是对信息的一种符号化表示,本质上是对信息的一种符号化表示,即用一定的符号表示信息(即用一定的符号表示信息(采用什么符号,采用什么符号,完全是人为规定的完全是人为规定的)。(例如)。(例如) 由此可见,同一信息可以有不同的数据表由此可见,同一信息可以有不同的数据表示形式,比如可以是示形式,比如可以是数字数字、文字文字、符号符号、图形图形、图像图像和和声音声音等等。等等。第一章:第一章:数据库基础概述 当然,为了用计算机进行信息处理,就得当然,为了用计算机进行信息处理,就得把信息转换为计算机能够识别的符号,即用把信息转换为计算机能够识别的符号,
10、即用0 0和和1 1两个符号的编码来表示各种各样的信息。两个符号的编码来表示各种各样的信息。 常用的三种常用的三种:数值型数据数值型数据(定量记录的符号定量记录的符号););字符型数据字符型数据(定性记录定性记录););特殊型特殊型(形象特征形象特征和过程记录和过程记录)声音、视频、图象等。声音、视频、图象等。数据:数据:一切被计算机处理的对象。一切被计算机处理的对象。数据模型 模型:模型:模型:模型:就是现实世界特征的模拟和抽象。就是现实世界特征的模拟和抽象。 数据模型:数据模型:数据模型:数据模型:就是客观事物及其联系的数据描就是客观事物及其联系的数据描述,它具有描述数据和数据联系两方面的
11、功述,它具有描述数据和数据联系两方面的功能。能。 例如:例如:例如:例如:下面记录学生信息和课程信息的表,下面记录学生信息和课程信息的表,就是基于某种数据模型来建立的。就是基于某种数据模型来建立的。 数据模型 学号课程号成绩1012-104801012-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-12
12、0数据库王东2-105数据结构刘丽课程信息表成绩信息表学生信息表数据模型 任何一个数据库管理系统都是基于某种数据任何一个数据库管理系统都是基于某种数据任何一个数据库管理系统都是基于某种数据任何一个数据库管理系统都是基于某种数据模型的,模型的,模型的,模型的,数据模型是数据库系统的核心和基数据模型是数据库系统的核心和基数据模型是数据库系统的核心和基数据模型是数据库系统的核心和基础。础。础。础。 根据数据模型的功能,可分为根据数据模型的功能,可分为概念模型概念模型和和数数据库模型据库模型。概念模型是概念模型是面向人面向人的,易于我们的理解,而数的,易于我们的理解,而数据模型是据模型是面向计算机面向
13、计算机的,可以被计算机直接处的,可以被计算机直接处理。理。 数据模型 现实世界现实世界信息世界信息世界机器世界机器世界将现实世界的问题将现实世界的问题用概念模型表示用概念模型表示将概念模型转换为将概念模型转换为DBMSDBMS支持的数据模型支持的数据模型概念模型概念模型中的一些基本术语概念模型中的一些基本术语 :主要是:主要是:实体、属性实体、属性和和联系联系概念模型是用概念模型是用E-R图来表示的。图来表示的。(P8-9)概念模型实体实体:现实世界中客观存在,可以相互现实世界中客观存在,可以相互区分的事物称为实体。区分的事物称为实体。实体可以是具体的人、事、物实体可以是具体的人、事、物例如:
14、例如:一名职工一名职工、一个学生一个学生、一本书一本书;也可以是抽象的概念或联系也可以是抽象的概念或联系例如例如一堂课一堂课、学生的一次选课学生的一次选课、职工的工作关职工的工作关系系等。等。 概念模型 属性属性:实体所具有的某一特性称为属性,:实体所具有的某一特性称为属性,一个实体可以由若干个属性来描述。一个实体可以由若干个属性来描述。例如:例如:学生学生实体可用实体可用学号学号、姓名姓名、性别性别、年年龄龄、系系等属性来描述。等属性来描述。给上面每个属性赋予一个确定的值,就表示给上面每个属性赋予一个确定的值,就表示了一个学生实体。了一个学生实体。例如:例如:(99001(99001,张立,
15、男,张立,男,2020,计算机,计算机) ) 就表示了一个学生实体。就表示了一个学生实体。码:唯一标识实体的属性集称为码,码可以有一个或多个属性组成。例如,学号是学生实体的码。域:属性的取值范围称为该属性的域。例如,学号的域为6位整数,姓名的域为字符串集合,性别的域为(男,女)。联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。 两个实体集之间的联系可以分为三类:概念模型 实体集与实体集之间的联系:实体集与实体集之间的联系: (1)一对一联系
16、一对一联系(1:1)(2)一对多联系一对多联系(1:n)(3)多对多联系(多对多联系(m:n)概念模型 (1)一对一联系一对一联系(1:1)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中至多有一个中至多有一个(也可以没有也可以没有)实体与之联系,实体与之联系,反之亦然,则称为实体集反之亦然,则称为实体集A与实体集与实体集B具有具有一对一的联系,记为一对一的联系,记为1:1。例如,学校里面,一个班级只有一个正班例如,学校里面,一个班级只有一个正班长,这个正班长只属于这个班,则班级与长,这个正班长只属于这个班,则班级与班长之间具有一对一联系。班长之间具有一对一联系。
17、概念模型 (2)一对多联系一对多联系(1:n)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体个实体(n=0)与之联系,反之,对于实与之联系,反之,对于实体集体集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有中至多只有一个实体与之联系,则称实体集一个实体与之联系,则称实体集A与实体集与实体集B有一对多联系,记为有一对多联系,记为1:n。例如,一个班级中有若干名学生,而每个学例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间生只在一个班级中学习,则班级与学生之间具有一对多联系。具有一对多联系。概念模型 (3)多对多
18、联系多对多联系(m:n)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体个实体(n=0)与之联系,反之,对于实与之联系,反之,对于实体集体集B中的每一个实体,实体集中的每一个实体,实体集A中也有中也有m个个实体实体(m=0)与之联系,则称实体集与之联系,则称实体集A与实体集与实体集B有多对多联系,记为有多对多联系,记为m:n。例如,一门课程同时有若干个学生选修,而一例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。之间具有多对多联系。 概念模型 E-R图的画法:
19、图的画法:用用矩形矩形框表示实体,用框表示实体,用椭圆椭圆表示属性,用表示属性,用菱形菱形表示实体之间的联系。表示实体之间的联系。例如:例如:P9 图图1-4和图和图1-5注意:注意:一个系统的一个系统的E-R图不是唯一的,从不同图不是唯一的,从不同的侧面出发画出的的侧面出发画出的E-R图可能很不同。图可能很不同。概念模型的表示方法概念模型的表示方法 概念模型的表示方法最常用的是实体-联系方法,也称E-R模型,它可以用E-R图来表示。概念模型 将现实事物抽象成概念模型并用将现实事物抽象成概念模型并用E-R图表示后,图表示后,就要将其转换成数据库模型了。就要将其转换成数据库模型了。总体E-R图所
20、表示的实体联系模型,只能说明实体间的联系关系还需要把它们转换成数据模型才能被实际的DBMS所接受。只有用数据库模型表示才能够被计算机所接只有用数据库模型表示才能够被计算机所接受。受。数据库模型 三种数据库模型:层次型、网状型和关三种数据库模型:层次型、网状型和关系型。系型。(了解)(了解)基于此三种数据库模型的数据库分别为:基于此三种数据库模型的数据库分别为:层次数据库、网状数据库和关系型数据层次数据库、网状数据库和关系型数据库。库。(了解)(了解)关系型数据库解决了层次型数据库的横向关联关系型数据库解决了层次型数据库的横向关联不足的缺点,也避免了网状数据库关联过于复不足的缺点,也避免了网状数
21、据库关联过于复杂的问题,因此得到广泛应用。杂的问题,因此得到广泛应用。1.3 关系型数据库1.关关系系数数据据库库:依依照照关关系系模模型型设设计计的的若若干关系的集合。干关系的集合。关系模型是用二维表的逻辑结构来表示实体及实体之间联系的数据模型关系模型的数据结构是一个”二维表框架”组成的集合,每个二维表又称为关系。学号姓名性别年龄1甲女202乙男183丙男214丁女20 表格中每一行称为一个记录,每个记录由若干数据项组成。每一列称为一个字段,字段表示关系模型中具有某种属性的一列数据,第一行为属性类型的名称,成为字段名。 作为关系的二维表必须满足下列条件: 1)表中的每一列具有相同的数据类型。
22、2)表中行、列的排列顺序是无关紧要的,即每一列或每一行的顺序是任意的。3)表中的每列是不可再分的最小数据项,既表中不允许有子表。4) 表中不允许有相同的字段名,也不允许有相同的记录行。 例如,下表就不符合关系模型要求。 职工号姓名职称工资扣除实发基本工龄职务房租水电86051陈平讲师8052050601280386052王芳教授1000255060121003|总结:在关系模型中基本结构就是二维表。记录之间的联系是通过不同关系中的同名属性来体现的。例如(幻灯片19中表)。关系模型中的各个关系模式不应当孤立起来,不是随意拼凑的一堆二维表。| 对应于一个关系模型的所有关系的集合就是关系数据库关系数
23、据库。19关系:一个关系就是一张二维表,每个关系有一个关系名。元组:表中的一行称为一个元组,在Access中称为记录。属性:表中的一列称为属性,给每一列起一个名字即为属性名,属性的个数即为关系的度。域:一个属性的取值范围叫做域。关系模型的基本概念关系模型的基本概念 码:唯一标识实体的属性集称为码,码可以有一个或多个属性组成。例如,学号是学生实体的码。主码:表中的某个属性或属性组,若它们的值唯一的标识一个元组,称该属性组为候选码(或称为码),若一个关系有多个候选码,则选定其中一个作为主码(或主关键字)。主属性:包含在主码中的属性称为主属性。外码:如果一个关系中的属性或属性组不是该关系的码,但它们
24、是另外一个关系的码,则称其为该关系的外码。全码:关系模型中的所有属性都是这个关系模式的候选码,称为全码。19关系模式:是对关系的描述,它包括关系名、组成该关系的属性名。记为:关系名(属性名1,属性名2,.,属性名n)。一个二维表是依赖于一个关系模型建立的。例如,学生基本情况的关系模式记为:学生基本情况(学号,姓名,性别,年龄,系)1.3 关系型数据库关系数据库:依照关系模型设计的若干关系的集合。是由若干张关系模型设计的二维表组成的。 一个关系为一个数据表文件,数据表由记录组成,记录由数据项组成。 数据库中的数据表是独立的,靠表文件名来区分,数据库中不允许有重名的数据表(对数据表的访问是靠表文件
25、名来引导的)。 1.3 关系型数据库1.实体完整性2.参照完整性3.用户定义的完整性关系完整性 关系的某种约束条件就是关系模型的完整性。关系模型中有3种完整性的约束条件:实体完整性,参照完整性和用户定义的完整性,前两种是关系模型必须满足的完整性。 讲课:讲课:关系的完整性规则实实体体完完整整性性:实体完整性规则指关系的所有主属性不能取空值。例如:学生选课关系选修(学号,课程号,成绩)“学号”+“课程号”为主码,则“学号”和“课程号”两个属性都不能取空值。?19 讲课:讲课:关系的完整性规则参照完整性:参照完整性:指关系间属性之间的引用参照关系。 例如:学生(学号,姓名,性别,专业号,年龄)专业
26、(专业号,专业名) 讲课:讲课:关系的完整性规则用户定义的完整性:用户定义的完整性:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,在销售管理系统中,订货单关系的属性中,要求“订货日期”必须在“发货日期”之前。 讲课:讲课:关系的完整性规则用户定义的完整性用户定义的完整性参照完整性参照完整性实体完整性实体完整性最基本、最普遍的小结: 上面两个关系之间存在着属性的引用,即学生关系引用了专业关系的主码“专业号”,那么,学生关系中的“专业号”必须是确实存在的专业的专业号,即专业关系中必须有该专业的记录。也就是说,学生关系中的某个属性的取值需要参照专业关系的该属性值。也称“专业号”为学生关系的外码。用户定义的完整性:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,在销售管理系统中,订货单关系的属性中,要求“订货日期”必须在“发货日期”之前。