1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,学习要点,理解数据库基础、熟悉 关系数据库的基本原理,掌握关系数据库的设计方法,了解,SQL Server,的数据库概念,掌握数据库的创建和维护方法,2,.1,-2.2,节,2.4,节,2.5,-,2.6,节(重点),第二章 数据库的基本操作,2,.3,节,2,.1,数据库基础,2,.1.,1,数据库的发展,数据管理:对数据进行,分类、组织、编码、存储、检索和维护,是数据处理的中心问题,数据管理技术的发展过程,数据管理技术的发展动力,应用需求的推动,计算机硬件的发展,计算机软件的发展,2.1,数据库基础,2.
2、1.1,数据库的发展,数据库技术产生的催产剂,阿波罗登月,1969,年,,IBM,公司受托为阿波罗登月计划进行数据支持,出品世界第一款数据库软件,-IMS,2.1,数据库基础,2.1.2,数据库的基本概念,数据(,Data,),数据的作用:数据是数据库中存储的基本对象,数据的定义:,描述事物的符号记录,数据的种类:文字、图形、图象、声音、数字、语言等,学生档案中的学生记录,(李明,男,,1994,,江苏,信息工程学院,,2014.9.01,),数据的语义:学生姓名、性别、出生年份、籍贯、所在院系、入学时间,数据的解释:李明是个大学生,,1994,年出生,江苏人,,2014,年考入信息工程学院,
3、2.1,数据库基础,2.1.2,数据库的基本概念,数据库(,Database,DB,),学生登记表,学,号,姓,名,年,龄,性,别,系,名,年,级,95004,王小明,19,女,社会学,95,95006,黄大鹏,20,男,商品学,95,95008,张文斌,18,女,法律学,95,数据库是,长期,储存在计算机内、有,组织,的、可,共享,的,大量,数据集合,数据库的特征:数据按一定的,数据模型,组织、描述和储存;可为各种用户,共享,;,冗余度,较小;,数据独立性,较高;,易扩展,。,2.1,数据库基础,2.1.2,数据库的基本概念,数据库管理系统(,DBMS,),数据库管理系统,是位于用户与操作系
4、统之间的一层数据管理软件,(,图,1.2),DBMS,的用途:,科学地组织和存储数据、高效地获取和维护数据。,(,核心功能,),2.1,数据库基础,2.1.2,数据库的基本概念,数据库系统(,DBS,),特点,数据的管理者:,DBMS,数据面向的对象:现实世界,数据的共享程度:共享性高,数据的独立性:高度的物理独立性和一定的逻辑独立性,数据的结构化:整体结构化,数据控制能力:由,DBMS,统一管理和控制,DBMS,应用程序,1,应用程序,2,数据库,优点:,降低数据的冗余度,节省存储空间,避免数据间的不一致性,使系统易于扩充,物理独立性:指用户的,应用程序与存储在磁盘上的数据库中数据是相互独立
5、的。,当数据的物理存储改变了,应用程序不用改变。,逻辑独立性:指用户的,应用程序与数据库的逻辑结构是相互独立的,。,数据的逻辑结构改变了,用户程序也可以不变。,实现的是数据的真正结构化,数据的结构用数据模型描述,无需程序定义和解释,数据可以变长,数据的最小存取单位是数据项,什么是数据库系统,数据库系统,是指在计算机系统中引入数据库后的系统构成。,在不引起混淆的情况下常常把数据库系统简称为数据库。,用户,用户,用户,应用系统,应用开发工具,数据库管理系统,操作系统,数据库管理员,数据库,分析:,数据库的建立、使用和维护应由数据库管理系统和数据库管理员共同完成,2.1,数据库基础,2.1.3,数据
6、库系统的构成,它由数据库、数据库管理系统、数据库应用系统、用户,(程序员、最终用户和数据库管理员)构成。,图,1.2,数据库在计算机中的地位,硬件,操作系统,DBMS,编译系统,应用开发工具软件,应用系统,操作系统,2.1,数据库基础,2.1.3,数据库系统的构成,2,.2,关系数据库的基本原理,数据模型就是对现实世界的模拟。,在数据库中用,数据模型,这个工具来,抽象、表示和处理,现实世界中的数据和信息。,数据模型分为两类,概念模型:按用户的观点对现实数据的抽象,结构数据模型:从计算机的角度对现实数据的抽象,2.2.1,数据模型,2.2,关系数据库的基本原理,2.2.1,数据模型,1.,概念模
7、型,用于信息世界的建模,也是数据库设计人员与用户之间交流的语言。,不依赖于具体的计算机系统和某一,DBMS,的模型。,2.2,关系数据库的基本原理,2.2.1,数据模型,概念模型,实体(,Entity,),:客观存在并可相互区别的事物。可以 是具体的人、事、物或抽象的概念。如:学生,教材,课程等,属性(,Attribute,),:实体所具有的某一特性。一个实体可以由若干个属性来刻画。如:学号,姓名,性别等,码(,Key,),:唯一标识实体的属性。如:学号或姓名(无重名时),域(,Domain,),:属性的取值范围。如:性别的域为,男,女,联系(,Relationship,),:指实体之间的相互
8、关联,一个联系中涉及的实体的个数称为联系的,元,。元为,2,的联系是最普遍的联系,通常被称为二元联系。可分为一对一联系(,1:1,)、一对多联系(,1:n,)和多对多(,m:n,)。,2.2,关系数据库的基本原理,2.2.1,数据模型,概念模型,两个实体型间,的联系,一对一联系(,1:1,),:如果对于实体集,A,中的每一个实体,实体集,B,中,至多,有一个实体与之联系,且反之亦然,,则称,实体集,A,与实体集,B,具有一对一联系,记为,1:1,。如班级与正班长之间的联系。,一对多联系(,1,:,n,),:如果对于实体集,A,中的每一个实体,实体集,B,中有,n,个实体(,n0,)与之联系,反
9、之,对于实体集,B,中的每一个实体,实体集,A,中至多只有一个实体与之联系,则称,实体集,A,与实体集,B,有一对多联系,记为,1:n,。如班级与学生之间的联系。,多对多联系(,m:n,),:如果对于实体集,A,中的每一个实体,实体集,B,中有,n,个实体(,n0,)与之联系,反之,对于实体集,B,中的每一个实体,实体集,A,中也有,m,个实体(,m0,)与之联系,则称,实体集,A,与实体,B,具有多对多联系,记为,m:n,。如课程与学生之间的联系。,2.2,关系数据库的基本原理,2.2.1,数据模型,概念模型,两个实体型间联系(,3,类),:,班级,拥有,正班长,1,1,1:1,联系,学生,
10、选修,课程,m,n,m:n,联系,班级,拥有,学生,1,n,1:n,联系,2.2,关系数据库的基本原理,2.2.1,数据模型,概念模型的表示方法,实体,-,联系表示方法(,E-R,图),对,对象类型,类型,表示,表示方法,E-R,图表示图示,实体,用,矩形,表示,矩形框内写型明实体名,属性,用,椭圆形,表示,并用,无向边,将其与相应的实体连接起来。,联系,用,菱形,表示,菱形内标明联系名称,,并用,无向边,将其与相应的实体连接起来,并在无向边旁标注联系的类型(,1,、,m,、,n,)。联系也可以有属性,如有用,无向边,将其与相应的实体连接起来,实体名,属性名,联系名,2.2.1,数据模型,E-
11、R,图实例,2.2,关系数据库的基本原理,实例,2,:根据以下描述,为,某百货公司,设计,E-R,模型。,百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。,实体型“商店”的属性有:店号、店名、店址、店经理。,实体型“商品”的属性有:商品号、品名、单价、产地。,实体型“职工”的属性有:工号、姓名、性别、工资。,在联系中应反映职工参加某商店工作的开始时间、商店销售商品的月销售量。,2.2,关系数据库的基本原理,商店,职工,商品,工作,经营,工号,姓名,性别,工资,店址,店名,店号,开始时间,单价,品名,商品号,店经理,产地,月销售量,1,n,m,n
12、完整的实体,-,联系图,2.2.1,数据模型,E-R,图实例,2.2.1,数据模型,E-R,图练习,2.2,关系数据库的基本原理,实例,3,:对某公司的销售业务有如下描述:一个,客户,可以下多个订单,,一张,订单,只属于一个客户;一张订单有多个,订单项目,,一个订单项目只属于一张订单;一个订单项目中只包含一种,产品,,一种产品可以出现在多个订单项目中。,请根据理解画出该业务的,E-R,图。,产品,1,m,订单项目,1,n,客户,订单,n,下订单,包含,属于,实体及其联系图,2.2.1,数据模型,E-R,图练习,2.2,关系数据库的基本原理,实例,4,:假设要建立一个企业数据库,该企业有多个下
13、属单位,每个单位有多个职工,一个职工仅隶属于一个单位,且一个职工仅在一个工程中工作,但一个工程中有很多职工参加工作,,有多个供应商为各个工程供应不同设备。,请设计,E-R,图。,单位的属性有:单位名,电话。,职工的属性有:职工号,姓名,性别。,设备的属性有:设备号,设备名,产地。,供应商的属性有:姓名,电话。,工程的属性有:工程名,地点。,姓名,单位,职工,隶属,职工号,姓名,性别,电话,单位名,单位号,1,*,工程,完整的实体,-,联系图,工作,*,1,供应商,设备,供应,*,*,*,工程号,地点,供应商号,电话,设备号,设备名,产地,2.2,关系数据库的基本原理,2.2.1,数据模型,结构
14、数据模型,常用的数据模型,层次模型,用,“,树结构,”,来表示数据之间的联系;,网状模型,是用,“,图结构,”,来表示数据之间的联系;,关系模型,是用,“,二维表,”,来表示数据之间的联系。,满足条件:,允许一个以上的节点无双亲。,一个节点可以有一个以上的双亲。,满足条件:,有且仅有一个无双亲节点,这个节点称为“,根节点,”。,其他节点有且仅有一个双亲。,R1,R2,R4,R3,R5,根节点 第一层,第二层,第三层,R1,R1,R1,R1,R1,目前最重要的一种模型。,SQL Server,就是一种典型的基于关系模型的数据库管理系统。,2.2,关系数据库的基本原理,2.2.2,关系型数据库系统
15、概述,最重要的一种数据模型。也是目前主要采用的数据模型。,1970,年由美国,IBM,公司,San Jose,研究室的研究员,E.F.Codd,提出。,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,学生登记表,学,号,姓,名,年,龄,性,别,系,名,年,级,95004,王小明,19,女,社会学,95,95006,黄大鹏,20,男,商品学,95,95008,张文斌,18,女,法律学,95,2.2,关系数据库的基本原理,2.2.2,关系型数据库系统概述,关系(,Relation,):一个关系对应通常说的一张二维表,元组(,Tuple,):表中的一行即为一个元组,属性(,At
16、tribute,):表中的一列即为一个属性,给每一个属性起一个名称即属性名,主码(,PK,):表中的一列的值唯一标识一个行。,域(,Domain,):属性的取值范围,关系模式:对关系的描述,关系名(属性,1,,属性,2,,,,属性,n,),如:学生(学号,姓名,年龄,性别,系别,年级),学,号,姓,名,年,龄,性,别,系,名,年,级,95004,王小明,19,女,社会学,95,95106,黄大鹏,20,男,商品学,95,95208,张文斌,18,女,法律学,95,2.2,关系数据库的基本原理,2.2.2,关系型数据库系统概述,关系型数据库的性质:,关系中属性是最小的。,关系中同一属性的所有属性
17、值具有相同的数据类型。,关系中的属性名不能重复。,关系的属性位置从左到右出现的顺序无关紧要。,关系中任意两个元组不能完全相同。,关系中的元组从上到下出现的顺序无关紧要。,关系操作:集合运算为根据的,集合,操作方式,操作对象和结果都是集合,选择:选择满足条件的元组,从行的角度进行运算,投影:从关系,R,中选择若干属性组成新的关系,从列的角度进行运算,连接:两个关系的笛卡尔乘积中选择满足条件的元组,从行的角度进行运算,学,号,姓,名,年,龄,性,别,系,名,年,级,95004,王小明,19,女,社会学,95,95106,黄大鹏,20,男,商品学,95,95208,张文斌,18,女,法律学,95,2
18、2,关系数据库的基本原理,2.2.2,关系型数据库系统概述,关系的完整性:由关系的完整性规则来定义,完整性规则是对关系的某,种约束。完整性约束由如下三种。,实体完整性规则:若属性,A,是基本关系,R,的主码,则属性,A,不能为空。,空值,的含义为“未知”,而不是,0,或空字符串。,参照完整性规则:若属性,F,是基本关系,R,的外码,它与基本关系,S,的主,码相对应,则对于,R,中的每个元组在,F,上的值必须满足:取空值或,者等于,S,中的某个元组的主码值。,用户自定义完整性:针对某些具体要求来定义的约束条件。,2.2,关系数据库的基本原理,2.2.3,关系模型的规范化,范式:,就是一种规则序
19、列,这些规则可以简化数据库的设计。范式的级别,越高,其数据库的设计越有效。,第一范式(,1NF,),在关系模式,R,中的每一个具体关系,R,中,如果每个属性值都是不可,再分的最小数据单元,则称,R,是第一范式关系。(,去除重复的组,),Eg,:学生(学号,姓名,性别,系名,入学时间,家庭成员),分解:学生(学号,姓名,性别,系名,入学时间),家庭(学号,家庭成员,亲属关系),2.2,关系数据库的基本原理,2.2.3,关系模型的规范化,2.,第二范式(,2NF,),关系当中的每一个非主属性都必须完全依赖于主键(,简化实体的,设计,避免出现大量的数据冗余,),Eg,:商品订单(商品编号,客户编号,
20、订单编号,数量,价格),分解:订单(订单编号,客户编号),订单明细(商品编号,订单编号,数量,价格),3.,第三范式(,3NF,),关系模式中的主键,X,、属性组,Y,及属性组,Z,若不具有这样的关系:,X,Y,Y,Z,则称此关系模式满足第三范式。(,去掉主码外有关联关,系的属性,即所有非主码的属性之间不能有从属关系,),Eg,:学生(学号,姓名,所在系编号,系名称,系地址),学号所在系编号,所在系编号系名称,所在系编号系地址,分解:学生(学号,姓名,系编号),系(系编号,系名称,系地址),2.2,关系数据库的基本原理,2.2.4 E-R,模型到关系模型的转换,1.,一对一联系,转换方法:将联
21、系与任意一端实体所对应的关系模型合并,在关系 模式的属性中加入另一个实体的主码和联系实体本身的属性。,2.,一对多联系,转换方法:将该联系与,n,端实体所对应的关系模式合并。合并时需要在,n,端实体的关系模式的属性中加入一端实体的主码和联系实体本身的属性。,3.,多对多联系,转换方法:将联系装换为一个关系模式。与该实体相连的各实体的主码和联系本身的属性装换为关系属性,关系模式的主码为各实体主码的组合。,2.3,关系数据库的设计,2.3.1,数据库的设计原则,目标:在,BDMS,的支持下,按照应用系统需求,设计一个结构合理、使用,方便的且效率较高的数据库系统。,数据库设计涉及的两个方面:,1.,
22、数据库结构设计:从应用的数据结构角度对数据库的设计。由于数据,的结构是静态的,因此,数据库的结构设计又称为数据库的静态,结构设计。,过程:现实世界中事物之间的联系,E-R,图表示汇总概念结构模型,关系结构模型,2.,数据库结构设计:根据应用系统用户的行为对数据库的设计,行为指的,是数据查询统计、事务处理等。由于用户的行为是动态的,因此,数据库的行为设计又称为数据库的动态设计。,过程:现实世界的数据数据流图和数据字典表示系统的功能结构和数,据库结构,现实世界,概念模型,逻辑模型,(,数据模型,),物理模型,(,存储模型,),1,、需求说明,2,、概念结构设计,3,、逻辑结构设计,2.3.2,数据
23、库的设计步骤,需求分析概念设计逻辑设计物理设计数据库实施运行维护,概念模型,E-R,图练习,实例,5,:某工厂生产若干产品,每种产品由特定数量的各种不同零件组成,,,有的零件可以用在不同产品上。每种零件由特定数量的各种不同的原材料制成,不同零件所用的材料可以相同。,这些,零件,按照所属的不同产品分别放在,仓库,中,原材料按照类别放在若干仓库中,,一个仓库中只存放一类原材料。将零件及原材料存放到仓库时分别记录存储量。,产品的属性包括产品号,产品名;,零件的属性包括零件号,零件名;,原材料的属性包括原材料号,原材料名,类别;,仓库的属性包括仓库号,仓库名,。,请画出,E-R,图,注明属性和联系类型
24、将E-R,图转换为关系模型。,实体及其联系图,产品的属性包括产品号,产品名;,零件的属性包括零件号,零件名;,原材料的属性包括原材料号,原材料名,类别;,仓库的属性包括仓库号,仓库名,。,概念模型,E-R,图练习,实例,6,:,某公司的业务特点主要包含以下几个方面的内容,:,公司下设几个,部门,如技术部,财务部,工程部,(1),每个部门承担多个,工程项目,每个工程项目属于一个部门,(2),每个部门有多个,职工,每个职工只属于一个部门,(3),一名职工可能参与多个工程项目,每个工程允许多名职工参与,(4),每个部门有一个经理,一个经理只能负责一个部门,.,同时需要注意的是,经理也是职工,(5
25、),一名职工可能有多种,技能,某种技能可能被多名职工掌握,根据上述业务特点,画出,E-R,图,。,将E-R,图转换为关系模型。,部门,工程项目,承担,1,*,实体及其联系图,工作,*,*,技能,掌握,*,*,负责,1,1,职工,隶属,n,1,概念模型,E-R,图练习,1,、学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。学生选修每门课程后都有成绩,。,系的属性,:,系编号,系名;,班级的属性,:,班级编号,班级名;,教研室的属性,:,教研室编号,教研室名;,学生的属性,:,学
26、号,姓名,学历;,课程的属性,:,课程编号,课程名;,教员的属性,:,职工号,姓名,职称。,完整的实体,-,联系图,系,班级,学生,课程,有,属于,包含,选修,教员,教研室,组成,n,n,m,n,n,1,n,指导,1,n,成绩,概念模型,E-R,图练习,2,、,设有一局部应用,包括三个实体,“,科室,”,,,“,医生,”,,,“,病人,”,,且有以下事实:每位医生属于且仅属于一个科室;每个科室可以聘用若干医生,对每个医生聘用时存有聘用期限和聘用日期;一个病人可以由不同的医生为其诊断,每个医生可以为若干病人诊治,每次诊断存有就诊日期。,科室的属性,:,科室代码,科室名称;,医生的属性,:,工号,
27、姓名和职称;,病人的属性,:,姓名、年龄、,工作单位。,设计,E-R,图,注明属性和联系类型。,将E-R,图转换为关系模型。,科室,医生,聘用,工号,姓名,职称,科室名称,科室代码,1,*,病人,完整的实体,-,联系图,诊断,*,*,病历号,年龄,工作单位,*,就诊日期,聘用期限,聘用日期,姓名,概念模型,E-R,图练习,3,、,请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对每本被借出的书存有读者号、借出日期和应还日期。,要求:用,E-R,图画出此学校的概念模型,注明属性和联系类型。,将E-R,
28、图转换为关系模型。,读者,书,借阅,书号,书名,作者,地址,姓名,读者号,*,*,年龄,性别,单位,出版社,应还日期,借出日期,E-R,图向关系模型的转换,例,按照上述规则,转换结果可以有多种,其中的一种如下,(,蓝色字体为外键,),学生(,学号,,姓名,年龄,性别,,系号,),课程(,课程号,,课程名,先修课号,学分),系(,系号,,系名,专业简介),系主任(,教工号,,姓名,性别),成绩(,学号,课程号,,成绩),【,练习,】,1.,数据库的概念模型独立于()。,A.,具体的机器和,DBMS B.ER,图,C.,信息世界,D.,现实世界,2.,在数据库中存储的是()。,A.,数据,B.,数
29、据模型,C.,数据及数据间的联系,D.,信息,3.,数据库管理系统的工作不包括()。,A.,定义数据库,C.,为定义的数据库提供,OS,B.,对已定义的数据库进行管理,D.,数据通信,4.,一般,一个数据库系统的外模式()。,A.,只能有一个,B.,最多只能有一个,C.,至少两个,D.,可以有多个,5.,数据独立性是指(),A,数据之间互不影响,相互独立,B,数据的逻辑结构和物理结构相互独立,C,数据库的数据结构改变时,不影响应用程序,D,数据与存储设备之间相互独立,6.,数据库的三级模式之间存在的映象关系正确的是(),A.,外模式,/,内模式,B.,外模式,/,模式,C.,外模式,/,外模式
30、D.,模式,/,模式,7.,数据库三级模式中,真正存在的是()。,A.,外模式,B.,子模式,C.,模式,D.,内模式,8.,关系数据模型()。,A.,只能表示实体间,1:1,联系,B.,只能表示实体间,1:n,联系,C.,只能表示实体间,m:n,联系,D.,可以表示实体间的上述联系,9.,10.,11.,假定每一车次具有唯一的始发站和终点站。如果实体“列车时刻表”属性为车次、始发站、发车时间、终点站、到达时间,该实体的主键是,_(1)_,;如果实体“列车运行表”属性为车次、日期、发车时间、到达时间,该实体的主键是,_(2)_,。通常情况下,上述“列车时刻表”和“列车运行表”两实体间,_(3)_,联系。,(,1,),A.,车次,B.,始发站,C.,发车时间,D.,车次,始发站,(,2,),A.,车次,B.,始发站,C.,发车时间,D.,车次,日期,(,3,),A.,不存在,B.,存在一对一,C.,存在一对多,D.,存在多对多,






