项目1设计学生成绩管理数据库知识目标掌握数据库的基本概念;掌握数据库设计方法:概念结构设计、逻辑结构设计和物理结构设计;掌握关系模型的规范化.
技能目标熟悉数据库设计的基本步骤;掌握利用E-R图描述数据库的概念模型;掌握将E-R图转化为关系模型的方法;按照用户的需求设计学生成绩管理数据库.
项目描述该项目是要完成某校学生成绩管理数据库的设计.
项目分析项目该项目首先介绍了数据库设计所需的基本概念、设计方法和步骤,然后完成某校学生成绩管理数据库的设计,最后以实例讲解了关系模型的规范化方法.
任务设置任务1认识数据库的历史和发展任务2建立某校"学生成绩管理"数据库模型任务3强化关系数据库的设计过程和原则任务4规范关系数据库任务1认识数据库的历史和发展任务目标认知数据库.
了解数据库的产生和发展.
认知数据库的基本概念.
任务描述学习以后回答以下问题:(1)什么是数据库,它的地位是什么(2)数据库的发展经历了哪些阶段,每个阶段的特点是什么(3)什么是信息什么是数据什么是数据库管理系统什么是数据库系统1.
1认知数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库.
数据库技术是信息系统的核心技术,是计算机科学中重要的组成部分,具有高效的数据存取和方便的应用开发等特点.
在计算机技术广泛应用的今天,数据库技术的地位也变得越来越重要,它们是电子商务及各种应用程序的主要组成部分,是企业操作和决策的核心部分.
1.
2了解数据库的产生和发展计算机早期的应用主要是用于科学计算,服务于国防、科学研究等.
从20世纪60年代后期,计算机应用迅速从科学计算进入数据处理阶段,即对各种形式的数据进行搜集、存储、加工和传播.
处理的规模和数据量越来越大,处理技术也不断完善.
人们对信息的处理经历了三个阶段:人工管理、文件系统和数据库系统.
1.
人工管理20世纪50年代中期以前,人们把计算机当做一种计算工具,主要用于科学计算.
人们通过编写的程序自带有相关数据,将程序和数据同时录入计算机,当时的计算机没有磁盘,不能对数据进行长期保存.
没有操作系统,也没有对数据进行管理的软件,数据是面向程序的,无独立性和不能共享.
2.
文件系统进入20世纪50年代后期至20世纪60年代中期,计算机软硬件都取得进一步发展,计算机产生了以操作系统为核心的系统软件,操作系统提供了文件系统的管理功能.
程序和数据可以分别存储为单独的文件,数据文件可以长期存储.
这一阶段的数据管理虽然较人工管理有了很多改进,但仍具有不足:数据与程序仍缺乏独立性,数据的冗余度大,数据无结构性,数据存在不一致性.
3.
数据库系统随着计算机技术的飞速发展,面对信息社会中的大量数据,出现了数据库技术.
数据库技术能有效地管理和存取大量的数据,克服了人工管理和文件系统阶段的缺点.
数据库系统阶段的特点:数据结构化、数据共享、数据冗余度小,易扩展,程序和数据独立性高,对数据实行了集中和统一的控制.
数据库系统的发展又经历了三个阶段:层次数据库、网状数据库和关系数据库.
关系型数据库已经出现了近40年,并且在很长一段时间里一直是数据库领域当之无愧的王者.
随着"大数据时代"的到来,在高并发、大数据量、分布式以及实时性的要求之下,传统的关系型数据库,因为其数据模型以及预定义的操作模式,在很多情况下不能很好满足以上的需求,所以新型数据库如今在大数据的场景下,取代了传统关系型数据库成为主导.
相信未来随着大数据的发展,新型数据库将会颠覆数据库领域.
1.
3认知数据库基本概念1.
数据(Data)描述事物的符号记录称为数据.
它可以是数字,也可以是文字、图形、图像、声音和语言等.
2.
信息(Information)信息是指经过加工处理的数据,即数据中包含的意义.
没有经过加工的数据只是一种原始的材料,它的价值在于记录客观世界的事实.
3.
数据库(Database,DB)数据库是存放数据的仓库,即长期存储在计算机内的、有组织、可共享的数据集合.
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享.
4.
数据库管理系统(DataBaseManagementSystem,DBMS)数据库管理系统是位于用户与操作系统之间的一层数据库管理软件,它的主要作用帮助用户科学的组织和存储数据,高效的获取和维护数据.
归纳起来功能是:数据定义、数据操作、数据库的运行和管理、数据库的建立和维护.
5.
数据库系统(DataBaseSystem,DBS)数据库系统是指在计算机系统引入数据库后的系统构成,一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员和用户构成.
在一般不引起混淆的情况下常常把数据库系统简称为数据库.
任务2建立某校"学生成绩管理"数据库模型任务目标理解什么是数据库模型.
了解数据模型有哪些层次.
认知概念模型,掌握其表示方法.
认知关系模型.
建立某校"学生成绩管理"数据库模型.
任务描述通过本任务,同学们学习以后回答以下问题:(1)什么是数据库模型(2)数据模型有哪些层次,各个模型有什么作用(3)怎样表示概念模型(4)怎样把概念模型转化为关系模型2.
1认知数据抽象的层次模型是现实世界中具体事物的模拟和抽象.
例如,一张地图、一架航模飞机,都是具体的模型.
数据库是某个企业、组织或部门所涉及数据的综合,它不仅反映数据本身的内容,而且要反映数据之间的联系.
由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据.
在数据库中,用数据模型来抽象、表示和处理现实世界中的数据和信息.
根据数据抽象层次,针对不同的数据对象和应用目的,可以将数据模型分为概念数据模型、逻辑数据模型和物理数据模型三类.
2.
1.
1概念数据模型概念数据模型是独立于计算机系统的数据模型,它完全不涉及信息在计算机系统中的表示,只是用来描述所使用的信息结构.
概念模型是现实世界的第一层抽象,强调语义表达能力,是用户和数据库设计人员之间进行交流的工具.
概念模型简单、清晰,易于用户理解.
2.
1.
2逻辑数据模型逻辑数据模型是现实世界的第二层抽象,反映了数据的逻辑结构,例如文件、记录和字段等.
它是某个数据库管理系统所支持的逻辑数据模型,主要有层次数据模型、网状数据模型和关系数据模型.
逻辑数据模型一方面要面向用户,使用户能够看到数据库的数据模型;另一方面又要通过严格的形式化定义,以便在计算机上实现.
2.
1.
3物理数据模型物理数据模型反映数据在计算机中的存储结构,例如,存储介质的物理块、指针和索引等.
每个逻辑数据模型在实现时,都有其对应的物理数据模型.
物理数据模型不但与具体的数据库管理系统有关,而且还与计算机系统的硬件和操作系统有关.
2.
2认知概念模型具体的数据库管理系统所支持的逻辑数据模型不便于非计算机专业人员理解和应用,在开始设计数据模型时,可以先用概念模型将现实世界中的客观事物用某种信息结构表示出来,再转化为用计算机表示的逻辑数据模型,如图1-1所示.
概念模型不涉及信息在计算机系统中的表示,是面向现实世界的第一层抽象,主要用于按照用户的观点来对数据和信息进行建模.
作为现实世界和机器世界的一个中间层次,概念模型是数据库设计人员进行数据库设计的工具和与用户进行交流的语言.
2.
2.
1认知实体及其属性1.
实体现实世界中客观存在并可相互区分的事物称为实体.
实体可以是具体的人、事、物,也可以是抽象的概念,例如,一名学生、一个部门、一门课、一个规划等都是实体.
2.
属性实体所具有的某一特性称为属性.
一个实体可以由若干个属性来描述.
例如,学生实体可以由学号、姓名、性别、出生日期、所在系等属性组成(1101,王立明,男,19841020,计算机系).
这些属性组合起来描述了一个学生实体.
对于一个对象,根据处理问题的需要可选择不同的属性描述不同实体.
例如,一个学生,在学籍管理中用姓名、年龄、性别、籍贯、家庭住址等属性作为一个实体;而在成绩管理中可用课程名称、学分、成绩等属性作为另一个实体.
3.
实体和属性的型与值型是结构,用实体名及其属性名集合描述同类实体,称为实体型;值是数据,不同的实体有不同的属性内容(属性值).
4.
实体集图1-1数据抽象层次具有相同实体型的实体值的集合称为实体集.
5.
关键字在实体属性中,能区别实体集合中不同个体的某一个或某几个属性的组合,称为关键字.
2.
2.
2认知实体间的联系在现实世界中,事物之间是有联系的,在信息世界中反映为实体之间的关系.
两个实体间的关系通常指一个实体集中各实体间的关系或者不同实体集中实体之间的关系.
两个实体集之间的联系可以分为三类:(1)一对一联系(1:1).
如果实体集A中的每个实体与实体集B中最多一个实体有关系,反之实体B中的每个实体与实体集A中至多一个实体有关系,则称实体集A与实体集B是一对一联系,记为1:1.
例如,学校里约定一个学院只有1个院长,而一个院长只能在一个学院任职,则学院与院长两个实体集之间具有一对一联系.
(2)一对多联系(1:N).
如果实体集A中的每个实体与实体集B中任意多个实体有关系,反之实体B中的每个实体与实体集A中至多一个实体有关系,则称实体集A与实体集B是一对多联系,记为1:N.
例如,学院中有若干名教师,而一个教师只属于一个学院,则学院与教师两个实体集之间具有一对多联系.
(3)多对多联系(M:N).
如果实体集A中的每个实体与实体集B中任意多个实体有关系,反之实体集B中的每个实体也与实体集A中任意多个实体有关系,则称实体集A与实体集B是多对多联系,记为M:N.
例如,一门课同时有若干名学生学习,而一个学生可以同时学习多门课程,则课程与学生两个实体集之间具有多对多联系.
两个实体集之间的以上三种关系示例如图1-2所示.
实体集A实体集B实体集A实体集B实体集A实体集B(a)一对一联系(b)一对多联系(c)多对多联系图1-2体集之间的联系类型2.
2.
3概念模型1.
方法概念模型的表示方法很多,其中最著名、最常用的是P.
P.
S.
Chen于1976年提出的实体-联系方法(E-R方法).
该方法用E-R图描述信息世界的概念模型.
方法如下:①实体型:用矩形表示,矩形框内写上实体名.
②属性:用椭圆形或圆角矩形表示,图形内写上属性名,并用直线将其与相应的实体连接起来.
③联系:用菱形表示,菱形框内写上表示联系行为的动词以表示联系名,并用直线分别与有关实体连接起来,同时在直线旁边标上联系的类型(1∶1,1∶N或M∶N).
如果一个联系具有属性,则这些属性也要用直线与该联系连接起来.
2.
示例"学生"实体及属性的画法.
通常在表示单个实体的E-R图中,除了要标明实体名外,还要标明实体所具有的属性.
例如,学生实体具有学号、姓名、性别、出生日期和所在系的属性,其E-R图如图1-3所示.
图1-3"学生"实体及属性的表示实体之间的联系的画法.
在表示实体之间的联系时,每个实体只标明其实体名,而把实体属性单独用图表示或把所有实体集用列表表示.
图1-4表示了两个实体集的E-R图.
其中课程和学生实体集之间是多对多联系,并且关系具有属性"分数".
(a)1∶1联系(b)1∶N联系(c)M∶N联系图1.
4两个实体集联系的表示图1.
5表示了三个实体集的E-R图.
(a)课程与参考书、教师之间1∶N联系(b)项目、零件和供应商之间M∶N联系图1-5三个实体集的E-R图表示同一个实体集内部联系的表示,如图1-6所示.
(a)1∶N联系(b)M∶N联系图1-6相同实体集内部联系的表示课堂练习设有商店和顾客两个实体.
"商店"有属性:商店编号、商店名、地址、电话.
"顾客"有属性:顾客编号、姓名、地址、年龄、性别.
假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每一次去商店购物有一个消费金额和日期,试画出E-R图,并注明属性和联系类型.
建立步骤:(1)确定实体及属性.
本题已知有两个实体,其中商店实体图如图1-7所示.
图1-7商店实体图顾客实体图如图1-8所示.
图1-8顾客实体图(2)确定联系及属性.
"商店-顾客"的联系是m∶n.
联系的属性有四项:顾客(编号)、商店(编号)、消费金额、日期.
联系的名称:购物.
示意图如图1-9所示.
图1-9购物联系(3)把实体和联系组合成E-R图.
商店-顾客实体联系如图1-10所示.
图1-10商店-顾客实体联系图2.
3认知关系模型数据库的概念模型按出现的时间先后有层次模型、网状模型、关系模型、面向对象模型.
关系型数据库采用的概念模型是关系模型.
2.
3.
1认知关系模型的基本概念关系模型是当前使用最广泛的数据模型.
关系数据模型是以集合论中的关系概念为基础逐步发展起来的.
自20世纪80年代以来,计算机厂商新推出的数据库产品几乎都支持关系模型,非关系系统的产品也大都加上了关系接口.
数据库领域当前的研究工作都是以关系方法为基础的.
MicrosoftSQLServer2008数据库管理系统也是基于关系模型的.
关系模型是建立在数学概念基础上的,它的主要特征是使用关系来表示实体以及实体之间的联系.
1.
关系一个关系模型的逻辑结构是二维表,它由行和列组成.
一个关系对应一张二维表,用于存储数据,表中的每一行代表一个实体,表中的每一列都用来描述实体的特征.
每一个关系都有一个名字,如"学生"关系如表1-1所示.
表1-1"学生"关系学号姓名性别出生日期所在系1001吕川页男1985-3-5信息1002郑学敏女1984-4-16信息1003于丽男1985-8-4数学1004孙立华女1986-7-3数学2.
元组表中的一行称为一个元组,在数据库中也称为记录,在"学生"关系中(1001,吕川页,男,1985-3-5,信息)就是一个元组,表示一个特定的学生记录.
3.
属性表中的一列称为一个属性,用来描述事物的特征,属性分为属性名和属性值.
例如,学生的姓名、学号、性别等为属性名,其对应的具体取值为属性值.
在数据库中属性也称为字段.
4.
域域即属性的取值范围.
如"学生"关系中出生日期的域是合法的日期,学号的域是若干位数字组成的字符集合,性别的域是{男,女}.
在数据库中属性的取值由其数据类型决定.
5.
关系模式关系的描述称为关系模式(RelationSchema).
关系模式通常可以简记为:R(A1,A2,…,An).
其中R为关系名,A1,A2,…,An为属性名.
而域名及属性向域的映像常常直接说明为属性的类型、长度.
关系实际上就是关系模式在某一时刻的状态或内容.
也就是说,关系模式是型,关系是它的值.
关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据.
6.
关键字/码若关系中的某一个属性或属性组的值唯一地决定其他所有属性,则这个属性或属性组称为该关系的关键字.
在"学生"关系中,学号就是关键字,所有学生的学号是唯一的.
而在"学习"关系中,只有学号和课程号的组合属性才可以作为该关系的关键字.
7.
候选健/候选关键字/候选码如果一个关系中有多个属性或属性组都能用来标识该关系的元组,那么这些属性或属性组都称为该关系的候选关键字.
如"课程"关系中,课程号可以作为关键字,若课程名称能够保证没有重复,则也可以用课程名称作为关键字,那么,课程号和课程名都是该关系的候选关键字.
8.
主键/主关键字/主码在一个关系的多个候选关键字中指定其中一个作为该关系的关键字,则称它为主关键字或主键、主码.
如,"课程"关系中,若课程名能保证没有重复,则既可以选择课程号作为主键,也可以选择课程名作为主键.
9.
外键/外关键字/外码如果一个关系R中的某个属性或属性组F并非该关系的关键字,但它和另外一个关系S的关键字K相对应,则称F为关系R的外键,同时要求外键F的值要参照关系S中主键K的值.
如"学习成绩"关系中的"学号"属性不能作为该关系的主键,它的值要引用"学生"关系的主键学号,则"学习成绩"关系中的"学号"属性称为该关系的外键.
在这里,我们就把S表称为主表,R表称为从表.
2.
3.
2认知E-R模型与关系模型的转换方法E-R模型必须要转化成关系模型,转换原则叙述如下.
1.
实体向关系模型的转化每个实体转换为一个关系(数据表格),实体的属性就是关系的属性.
实体的关键字作为关系的关键字,根据实际对象属性情况确定关系属性的值域.
2.
一对一关系向关系模型的转化1:1的联系既可以转换为一个独立的关系,也可以与任意一端实体对应的关系合并.
①转化为一个独立的关系.
关系的属性为与该联系相连的各个实体的主键以及联系本身的属性,可以选择任意一端实体的主键作为该关系的主键.
②与任意一端实体对应的关系合并.
选择任意一端实体,在其对应的关系中加入另一端实体的主键和联系本身的属性.
3.
一对多关系向关系模型的转化1:N的联系既可以转换为一个独立的关系,也可以与N端实体对应的关系合并.
①转换为1个独立的关系.
关系的属性为与该联系相连的各实体的主键以及联系本身的属性,N端实体的主键可以作为该关系的主键.
②与N端对应的关系合并.
与N端对应的关系中加入一端实体的主键和联系本身的属性.
4.
多对多联系向关系模型的转化一个M:N联系要转换为一个独立的关系.
关系的属性为与该联系相连的各实体的主键以及联系本身的属性,关系的主键为各实体的主键的组合.
2.
4综合任务——设计"学生成绩管理"数据库模型某校的学生成绩管理信息系统是一个用来管理学生、课程、教师以及学生选修课程后成绩的数据库系统.
学生成绩管理的主要业务流程描述是:学生选修指导老师课程,教师上课,学生通过学习获得该课程的成绩和学分,规定一个老师可以教多个学生课程,一个学生只有一个指导老师.
(1)根据上述语义画出E-R图.
(2)E-R图转换成关系数据模型,并指出每个关系模式的主键和外键.
解答:(1)建立E-R图.
①确定实体类型及属性.
学生(学号,姓名,性别,年龄,籍贯,专业)课程(课程号,课程名,学时数,学分,教材)教师(教师号,姓名,性别,年龄,专业,职称)②确定联系及类型.
教师-课程的联系(1:N)——授课.
学生-课程的联系(M:N)——选修.
属性有:成绩.
教师-学生的联系(1:N)——指导.
属性有:指导时间、地点.
③把实体类型和联系类型组合成E-R图,如图1-11所示.
图1-11教学管理E-R图(2)转化为关系模式.
教师(教师号,姓名,性别,年龄,职称,专业),主关键字:教师号学生(学号,姓名,性别,年龄,籍贯,专业),主关键字:学号课程(课程号,课程名,学时数,学分,教材),主关键字:课程号选课(学号,课程号,成绩),主关键字:学号+课程号,外关键字:学号、课程号授课(教师号,课程号),主关键字:教师号+课程号,外关键字:教师号、课程号指导(学号,教师号,时间,地点),主关键字:学号,外关键字:教师号(3)合并相同码的关系模式.
由于学生关系和指导关系的关键字都是"学号",所以可以把这两个关系合并为一个.
合并后的关系是:学生(学号,姓名,性别,年龄,专业,指导教师号,时间,地点),主关键字:学号.
DogYun是一家2019年成立的国人主机商,提供VPS和独立服务器租用等,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等,其中VPS包括常规VPS(经典云)和按小时计费VPS(动态云),使用自行开发的面板和管理系统,支持自定义配置,动态云各个硬件独立按小时计费,带宽按照用户使用量计费(不使用不计费)或者购买流量包,线路也可以自行切换。目前商家发布了6.18促销方案,新购动态云7折,经...
Sharktech又称SK或者鲨鱼机房,是一家主打高防产品的国外商家,成立于2003年,提供的产品包括独立服务器租用、VPS云服务器等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等。之前我们经常分享商家提供的独立服务器产品,近期主机商针对云虚拟服务器(CVS)提供优惠码,优惠后XS套餐年付最低仅33.39美元起,支持使用支付宝、PayPal、信用卡等付款方式。下面以XS套餐为例,分享产品配...
Virtono是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心共7个:罗马尼亚2个,美国3个(圣何塞、达拉斯、迈阿密),英国和德国各1个。目前,商家针对美国圣何塞机房VPS提供75折优惠码,同时,下单后在LET回复订单号还能获得双倍内存的升级。下面以圣何塞为例,分享几款VPS主机配置信息。Cloud VPSC...
什么是关系型数据库为你推荐
重庆杨家坪猪肉摊主杀人重庆忠县的猪肉市场应该好好整顿一下了。6月份我买到了母猪肉。今天好不容易才下定决心去买农贸市场买肉。资费标准联通所有套餐介绍正大天地网天地网微信移动办公平台我爱试用网电信爱玩4G定向流量包开通需要交费吗泉州商标注册泉州注册一个商标具体要怎么弄?具体流程是什么?可信网站可信网站认证怎么做?贵不?价格大概是多少?佛山海虹怎么分辨青口/海虹是活还是死?网络u盘你们谁知道网络硬盘怎么用123456hdAPP上面带有HD是啥意思qq头像上传失败QQ头像上传失败是怎么回事
猫咪av永久最新域名 php主机租用 香港机房 云主机51web 免费ftp空间申请 免费测手机号 最漂亮的qq空间 根服务器 主机返佣 金主 电信主机托管 重庆联通服务器托管 tracker服务器 512内存 时间服务器 phpwind论坛 weblogic部署 web服务器搭建软件 灵动鬼影实录3 广州摇号申请网站 更多