版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理及应用----项目1理解数据库引言数据库技术是目前计算机领域发展最快、应用最广泛的技术,它的应用遍及各行各业,大到如全国联网的飞机票、火车票订票系统、银行业务系统;小到个人的管理信息系统,如家庭理财系统。在互联网流行的动态网站中,数据库的应用也已经非常广泛。学习和掌握数据库的基础知识和基本技能、利用数据库系统进行数据处理是大学生必须具备的基本能力。情景导入刚入学的王宁同学对大学生活充满了向往与憧憬,但也有些许不安,毕竟踏入一个新环境,一切都得自己去适应、去学习。热心的学长告诉他,我们学校已经建成智慧校园,你可以随时通过网络了解一切,比如,你想查看一下今天的课程表,可以登录学校的“教务管理系统”查看课程名称、上课地点、任课教师、课程实训安排等信息。你想去图书馆,可以先到学校的“网上服务大厅”,找到“图书馆”,查看图书馆的藏书情况,有没有你想借的图书、图书简介,还可以对没看完的图书网上续借,查看有没有超期未还的图书等。学校放假时,你还可以通过网络购票软件,查询你要乘坐站点的车次、时间、票价、剩余票数等信息,还可以轻松完成订票、改签、退票等操作。所有这些课程信息、图书信息、超市商品信息、车票信息的管理都是借助数据库技术实现的。情景导入由此可见,数据库的应用非常广泛,已经遍及我们生活的方方面面。学习和掌握数据库的基础知识和基本技能、利用数据库系统进行数据处理非常重要,是后续学习动态网页设计、JavaWeb应用开发技术等专业核心课程的基础。理解数据处理理解数据描述掌握数据模型掌握关系代数明确数据库系统的组成和结构认识常见的数据库管理系统主要内容项目1理解数据库职业能力目标(含课程思政)理解数据处理基本概念理解数据描述相关概念掌握数据模型和关系代数明确数据库系统的组成和结构认识常见的数据库管理系统(文化自信
爱国情怀)任务1-1理解数据处理【任务提出】王宁选择了大数据技术专业,通过学校网站,他了解到要学习大数据导论、信息技术、数据可视化技术等课程,那么,信息和数据有什么关系?怎么把数据转换为信息呢?这成了摆在王宁面前的疑问。本任务将带领王宁解疑答惑。(一)信息与数据信息(Information)就是对各种事物的存在方式、运动状态和相互联系特征的一种表达和陈述,是自然界、人类社会和人类思维活动普遍存在的一切物质和事物的属性,它存在于人们的周围。1、信息(一)信息与数据数据(Data)是用来记录信息的可识别的符号,是信息的具体表现形式。2、数据数据用型和值来表示,数据的型是指数据内容存储在媒体上的具体形式;值是指所描述的客观事物的具体特性。数据不仅包括数字、文字形式,而且还包括图形、图像、声音、动画等多媒体数据。如一个人的身高可以表示为“1.80”或“1米8”,其中“1.80”和“1米8”是值,但这两个值的型是不一样的,一个用数字来描述,而另一个用字符来描述。(二)数据处理数据处理的内容主要包括数据的收集、组织、整理、存储、加工、维护、查询和传播等一系列活动。数据处理是指将数据转换成信息的过程,也称信息处理。数据处理的目的是从大量的数据中,根据数据自身的规律和它们之间固有的联系,通过分析、归纳、推理等科学手段,提取出有效的信息资源。数据处理的工作分为以下3个方面。数据管理:主要任务是收集信息,将信息用数据表示并按类别组织保存。数据加工:主要任务是对数据进行变换、抽取和运算。数据传播:通过数据传播,信息在空间或时间上以各种形式传递。任务1-2理解数据描述【任务提出】面对大量要处理的学生信息,王宁发现手动处理太麻烦,为了用计算机处理数据,需要先将学生信息转换为计算机能够处理的数据,要怎么做呢?学生和课程之间有哪种联系呢?(一)现实世界现实世界是存在于人们头脑之外的客观世界。现实世界存在各种事物,事物与事物之间存在联系,这种联系是由事物本身的性质决定的。例如,学校中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩;图书馆中有图书、管理员和读者,读者借阅图书,管理员对图书和读者进行管理等。(二)信息世界信息世界是现实世界在人们头脑中的反映,人们把它用文字或符号记载下来。域(Domain):属性的取值范围称为该属性的域。实体型(EntityType):具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名的集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生日期,系)实体集(EntitySet):同类实体的集合称为实体集。例如全体学生、一批图书等。实体(Entity):客观存在并且可以相互区别的事物称为实体。实体可以是具体的事物,也可以是抽象的事件。属性(Attribute):描述实体的特性。一个实体可以用若干个属性来描述。键(Key):唯一标识实体的属性或属性的组合。(二)信息世界联系(Relationship)在现实世界中,事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。两个实体型之间的联系可以分为3类。(1)一对一联系(One-to-OneRelationship)(2)一对多联系(One-to-ManyRelationship)(3)多对多联系(Many-to-ManyRelationship)(二)信息世界(三)数据世界数据世界又称机器世界。信息世界的信息在机器世界中以数据形式存储,在这里,每一个实体用记录表示,相应于实体的属性用数据项(又称字段)来表示,现实世界中的事物及其联系用数据模型来表示。现实世界中客观对象的抽象过程如下图所示:任务1-2理解数据描述【任务实施】
通过本任务的学习,王宁了解到,要将学生信息转换为计算机能够处理的数据,需要经历现实世界、信息世界、数据世界这3个领域,而且通过联系类型的学习,他分析得到学生和课程之间存在多对多的联系。任务1-3掌握数据模型【任务提出】
在任务1-2中,王宁已经明确学生和课程之间的联系类型,那么,这些数据在计算机中要选择哪种组织模式才能保证数据的正确性、一致性呢?(一)数据模型的分类概念数据模型简称为概念模型,表示实体类型及实体间的联系,是独立于计算机系统的模型。概念模型用于建立信息世界的数据模型,强调其语义表达功能,要求概念简单、清晰,易于用户理解,它是现实世界的第1层抽象,是用户和数据库设计人员之间进行交流的工具。结构数据模型简称为数据模型,它是直接面向数据库的逻辑结构,是现实世界的第2层抽象。数据模型涉及计算机系统和数据库管理系统。数据模型有严格的形式化定义,以便于在计算机系统中实现。(二)概念模型概念模型是对信息世界的建模,它应当能够全面、准确地描述信息世界,是信息世界的基本概念。概念模型的表示方法很多,其中最为著名和使用最为广泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。(二)概念模型例如,班级和学生之间的联系可以用概念模型表示如下。(二)概念模型E-R图通用的表示方式如下。(1)用矩形框表示实体型,在框内写上实体名。(2)用椭圆形框表示实体的属性,并用无向边把实体和属性连接起来。(3)用菱形框表示实体间的联系,在菱形框内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。如果实体间的联系也有属性,则把属性和菱形框也用无向边连接起来。(三)数据模型的要素和种类1、数据模型的三要素(1)数据结构:用于描述系统的静态特征,是所研究的对象类型的集合,是数据库的组成部分,包括两个方面。①数据本身:数据的类型、内容和性质等。例如关系模型中的属性、关系等。②数据之间的联系:数据之间是如何相互关联的。例如关系模型中的主键、外键等。(2)数据操作:是对数据库中的各种对象(型)的实例(值)允许执行的操作集合。主要有检索和更新(包括插入、删除和修改)两类。(3)数据约束条件:是一组完整性规则的集合。是给定数据模型中的数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确、有效和相容。(三)数据模型的要素和种类2、常见的数据模型层次模型:用“树”结构表示数据之间的关系网状模型:用“图”结构表示数据之间的关系关系模型:用“表”结构(或称关系)表示数据之间的关系
在层次模型、网状模型、关系模型3种数据模型中,关系模型结构简单、数据之间的关系容易实现,因此关系模型是目前广泛使用的数据模型,并且关系数据库也是目前流行的数据库。(四)关系模型关系模型是目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。关系模型是在20世纪70年代初由美国IBM公司的E.F.Codd提出的,为数据库技术的发展奠定了理论基础。由于E.F.Codd的杰出工作,他于1981年获得ACM图灵奖。(四)关系模型1、关系模型的数据结构关系模型与以往的模型不同,它是建立在严格的数据概念基础上的。关系模型中数据的逻辑结构是一张二维表,它由行和列组成。(1)关系(Relation)。一个关系就是一张二维表,见下表:学
号姓
名年
龄性
别所在系2007X1201李小双18女信息系2007D1204张小玉20女电子系2007J1206王大鹏19男计算机系…………………………(四)关系模型1、关系模型的数据结构(2)元组(Tuple):也称记录,关系表中的每行对应一个元组,组成元组的元素称为分量。数据库中的一个实体或实体之间的一个联系均使用一个元组来表示。(3)属性(Attribute):表中的一列即为一个属性,给每个属性取一个名称为属性名。属性具有型和值两层含义:属性的型指属性名和属性值域;属性的值是指属性具体的取值。(四)关系模型1、关系模型的数据结构(4)域(Domain):属性的取值范围。(5)分量(Component):元组中的一个属性值。(6)候选键(Candidatekey):若关系中的某一属性或属性组的值能唯一标识一个元组,且从这个属性组中去除任何一个属性,都不再具有这样的性质,则称该属性或属性组为候选键,候选键简称为键。(7)主键(Primarykey):若一个关系中有多个候选键,则选定其中一个为主键。(四)关系模型1、关系模型的数据结构(8)全键(All-key):在最简单的情况下,候选键只包含一个属性;在最极端的情况下,关系模式的所有属性是这个关系模式的候选键,称为全键。全键是候选键的特例。(9)主属性(PrimeAttribute)和非主属性(Non-primeAttribute):在关系中,候选键中的属性称为主属性,不包含在任何候选键中的属性称为非主属性。(10)关系模式(RelationSchema):对关系的描述,通常可以简记为R(U
)或R(A1,A2,…,An)。其中,R为关系名;U为组成该关系的属性的集合。(四)关系模型2、关系的性质(1)同一属性的数据具有同质性,即每一列中的分量是同一类型的数据,它们来自同一个域。(2)同一关系的属性名具有不可重复性,即同一关系中不同属性的数据可出自同一个域,但不同的属性要给予不同的属性名。(3)关系中列的位置具有顺序无关性,即列的次序可以任意交换、重新组织。(4)关系具有元组无冗余性,即关系中的任意两个元组不能完全相同。(5)关系中元组的位置具有顺序无关性,即元组的顺序可以任意交换。(6)关系中每个分量必须取原子值,即每个分量都必须是不可分的数据项。(四)关系模型关系模型要求关系必须是规范化的,即要求关系模式必须满足一定的规范条件,这些规范条件中最基本的一条就是关系的每个分量必须是一个不可分割的数据项。规范化的关系简称范式(NormalForm)。非规范化的关系结构姓名所在系成
绩C语言VB语言李武计算机9590马鸣信息工程8592姓名所在系C成绩VB成绩李武计算机9590马鸣信息工程8592修改后的关系结构规则1.1实体完整性规则
若属性A是基本关系R的主属性,则属性A不能取空值。(五)关系的完整性1、实体完整性例如,学生关系“学生(学号,姓名,性别,专业号,年龄)”中,“学号”为主键,则“学号”不能取空值。实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是指主键不能取空值。(五)关系的完整性【例1.1】学生关系和专业关系表示如下,其中主键用下划线标识。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)2、参照完整性这两个关系之间存在着属性的引用,即学生关系引用了专业关系的主键“专业号”。显然,学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。
也就是说,学生关系中的某个属性的取值需要参照专业关系的属性来取值。(五)关系的完整性设F是基本关系R的一个或一组属性,但不是关系R的主键。如果F与基本关系S的主键Ks相对应,则称F是基本关系R的外键(ForeignKey),并称基本关系R为参照关系(ReferencingRelation),基本关系S为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。外键(五)关系的完整性规则1.2参照完整性规则若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S有可能是同一关系),则对于R中每个元组在F上的值必须为以下值之一。(1)或者取空值(F的每个属性值均为空值)。(2)或者等于S中某个元组的主键值。(五)关系的完整性用户自定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、属性值之间应满足一定的函数关系、某属性的取值范围等。3、用户自定义的完整性例如,性别只能取“男”或“女”;学生的成绩必须在0~100分。任务1-3掌握数据模型【任务实施】通过本任务的学习,王宁的疑问得到了解决,在信息世界,学生和课程以及他们之间的联系用E-R模型表示。在机器世界,目前最重要的是采用关系模型来表示,学生和课程以及他们之间的联系表示如下:学生(学号,姓名,年龄,性别,专业,所在系,简历)课程(课程号,课程名,学期)学习(学号,课程号,成绩)任务1-4掌握关系代数【任务提出】
王宁选择好数据的组织形式后,李老师给王宁布置了一个新任务:从你的数据中得到没有选修“高等数学”课程的学生的学号和姓名。王宁需要借助关系代数的相关知识来完成李老师布置的任务。关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它用关系的运算来表达查询。是关系数据系统查询语言的理论基础。运算对象、运算符、运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果亦为关系。关系代数中使用的运算符包括以下4类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符任务1-4掌握关系代数运算符含
义运算符含
义集合运算符∪-∩×并差交广义笛卡儿积比较运算符>≥<≤=≠大于大于等于小于小于等于等于不等于专门的关系运算符σπ∞÷选择投影连接除逻辑运算符¬∧∨非与或(一)传统的集合运算传统的集合运算是二目运算,包括并、交、差、广义笛卡儿积4种运算。1.并(Union)关系R与关系S的并记作:R∪S={t│t
R
t
S},t是元组变量2.差(Difference)关系R与关系S的差记作:R-S={t│t
R
t∉S}3.交(Intersection)关系R与关系S的交记作:R∩S={t│t
R
t
S}其结果关系仍为n目关系,由既属于R又属于S的元组组成。关系的交可以用差来表示,即
R∩S=R-(R-S
)(一)传统的集合运算4.广义笛卡儿积(ExtendedCartesianProduct)两个分别为n目和m目的关系R和S的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积有kl×k2个元组。记作:例如,关系R、S见下表(a)、(b)所示(一)传统的集合运算(c)R∪SABCa1b2c2a2b2c1ABCa1b1c1a1b2c2a2b2c1a1b3c2(d)R∩S(f)RXS(e)R-SR.AR.BR.CS.AS.BS.Ca1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1ABCa1b1c1专门的关系运算包括选择、投影、连接、除等。1.选择(Selection)选择又称为限制(Restriction),它是在关系R中选择满足给定条件的诸元组,记作:σF(R)={t|t
R
F(t)='真'}其中,F表示选择条件,它是一个逻辑表达式,取逻辑值为“真”或“假”。逻辑表达式F的基本形式为:X1θY1[ΦX2θY2…]选择运算是从行的角度进行的运算。(二)专门的关系运算设有一个学生-课程数据库,它包括以下内容。其关系模式如下。Student(sno,sname,ssex,sage,sdept)Course(cno,cname)Score(sno,cno,degree)snosnamessexsagesdept000101李晨男18信息系000102王博女19数学系010101刘思思女18信息系010102王国美女20物理系020101范伟男19数学系cnocnameC1数学C2英语C3计算机C4制图studentcoursescore(二)专门的关系运算【例1.3】查询数学系学生的信息。σsdept='数学系'(Student)【例1.4】查询年龄小于20岁的学生信息。σsage<20(Student)snocnodegree000101C190000101C287000101C372010101C185010101C242020101C3702.投影(Projection)关系R上的投影是从R中选择出若干属性列组成新的关系,记作:πA(R)={t[A]|t
R}其中,A为R中的属性列。投影操作是从列的角度进行的运算。投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复元组,关系操作将自动取消相同的元组。【例1.5】查询学生的学号和姓名。πsno,sname(Student)【例1.6】查询学生关系Student中都有哪些系,即查询学生关系Student在所在系属性上的投影。πsdept(Student)(二)专门的关系运算【练习】查询年龄大于19岁的男生的学号及姓名。πsno,sname(σsage>19∧ssex=‘男’(Student))(二)专门的关系运算3.连接(Join)连接也称为θ连接,它是从两个关系的笛卡儿积中选取属性间满足一定条件的元组,记作:其中A和B分别为R和S上数目相等且可比的属性组,θ是比较运算符。连接运算是从R和S的笛卡儿积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上的值满足比较关系θ的元组。连接运算中有两种最为重要也最为常用的连接:等值连接自然连接(二)专门的关系运算
ABCBEa1b15b13a1b26b27a2b38b310a2b412b32b52AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310(一般连接)(二)专门的关系运算RS等值连接θ为“=”的连接运算称为等值连接,它是从关系R与S的笛卡儿积中选取A、B属性值相等的那些元组,等值连接为:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,即若R和S具有相同的属性组B,则自然连接可记作:(二)专门的关系运算
(二)专门的关系运算(等值连接)AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32R∞S(自然连接)ABCEa1b153a1b267a2B3810a2B382关系代数操作举例(强化训练)设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(1)查询学习课程号为C3号课程的学生学号和成绩。πSno,Degree(σCno='C3'(SC))(2)查询学习课程号为C4课程的学生学号和姓名。πSno,Sname(σCno='C4'(S∞SC))(3)查询学习课程名为maths的学生学号和姓名。πSno,Sname(σCname='maths'(S∞SC∞C))任务1-4掌握关系代数关系代数操作举例(强化训练)设学生-课程数据库中有3个关系。学生关系:S(Sno,Sname,Ssex,Sage)课程关系:C(Cno,Cname,Teacher)学习关系:SC(Sno,Cno,Degree)(4)查询学习课程号为C1或C3课程的学生学号。
πSno(σCno='C1'∨Cno='C3'(SC))(5)查询不学习课程号为C2的学生的姓名和年龄。
πSname,Sage(S)-πSname,Sage(σCno='C2'(S∞SC))任务1-4掌握关系代数任务1-4掌握关系代数【任务实施】
在学习了关系代数的各种运算之后,王宁得到了解决办法,查询没有选修“高等数学”课程的学生的学号和姓名,相应的关系代数表达式如下:
π学号,姓名(学生)-π学号,姓名(σ课程名='高等数学'(学生∞学习∞课程))任务1-5明确数据库系统的组成和体系结构【任务提出】
随着前面几个任务的顺利完成,王宁同学的知识储备也与日俱增,今天,他又有了一个新的问题:数据模型怎样在计算机上实现,从而在计算机上实现对数据的管理呢?本任务将带领王宁一起探索,并揭晓答案。1、数据库(一)数据库相关概念数据库(DataBase,DB)是长期存放在计算机内、有组织的、可共享的相关数据的集合,它将数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性、可被各类用户共享等特点。2、数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制,它是数据库系统的核心。数据库管理系统一般由计算机软件公司提供,目前比较流行的DBMS有Oracle、Access、SQLServer、MySQL、PostgreSQL等。(一)数据库相关概念数据库管理系统的主要功能(1)数据定义功能。DBMS提供数据定义语言(DataDefinitionLanguage,DDL),用户通过它可以方便地对数据库中的数据对象进行定义。(2)数据操纵功能。DBMS还提供数据操纵语言(DataManipulationLanguage,DML),用户可以使用DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。(3)数据库的运行管理。数据库在创建、运用和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。(4)数据库的创建和维护功能。数据库的创建和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的组织功能和性能监视、分析功能等。3、数据库应用系统(一)数据库相关概念凡使用数据库技术管理其数据的系统都称为数据库应用系统(DataBaseApplicationSystem)。数据库应用系统的应用非常广泛,它可以用于事务管理、计算机辅助设计、计算机图形分析和处理及人工智能等系统中。4、数据库系统数据库系统(DataBaseSystem,DBS)是指在计算机系统中引入数据库后的系统,它由计算机硬件、数据库、数据库管理系统(及其开发工具)、数据库应用系统、数据库用户构成。(一)数据库相关概念数据库用户包括数据库管理员、系统分析员、数据库设计人员及应用程序开发人员和终端用户。数据库管理员(DataBaseAdministrator,DBA)是高级用户,他的任务是对使用中的数据库进行整体维护和改进,负责数据库系统的正常运行,他是数据库系统的专职管理和维护人员。系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA结合,确定系统的硬件软件配置,并参与数据库系统的概要设计;数据库设计人员负责数据库中数据的确定、数据库各级模式的设计;应用程序开发人员负责设计和编写应用程序的程序模块,并进行调试和安装。终端用户是数据库的使用者,主要是使用数据,并对数据进行增加、删除、修改、查询、统计等操作,方式有两种,使用系统提供的操作命令或程序开发人员提供的应用程序。数据库系统的体系结构(二)数据库系统的体系结构数据库的三级模式结构是数据3个抽象级别,它把数据的具体组织留给DBMS去处理,用户只需抽象地处理数据,而不必关心数据在计算机中的表示和存储,从而减轻用户使用系统的负担。三级结构之间差别往往很大,为了实现这3个抽象级别的联系和转换,DBMS在三级结构之间提供了两级映像(Mapping):外模式/模式映像、模式/内模式映像。正是这两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。1、模式(二)数据库系统的体系结构模式(Schema)也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在概念级上的视图,一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名称、类型、取值范围等,还要定义数据项之间的联系,定义不同记录之间的联系,以及定义与数据有关的完整性、安全性等要求。2、外模式(二)数据库系统的体系结构外模式(ExternalSchema)也称子模式(Subschema)或用户模式,它是对数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,即个别用户涉及的数据的逻辑结构。外模式通常是模式的子集,一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有效措施,每个用户只能看见或访问所对应的外模式中的数据,数据库中的其余数据是不可见的。3、内模式(二)数据库系统的体系结构内模式(InternalSchema)也称存储模式或物理模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。一个数据库只有一个内模式。内模式的设计目标是将系统的模式(全局逻辑结构)组织成最优的物理模式,以提高数据的存取效率,改善系统的性能指标。4、外模式/模式映像(二)数据库系统的体系结构模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构,对应于同一个模式可以有任意多个外模式。对于每个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。(二)数据库系统的体系结构数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映像定义通常包含在模式描述中。5、模式/内模式映像6、两级数据独立性(二)数据库系统的体系结构数据独立性(DataIndependence)是指应用程序和数据库的数据结构之间相互独立,不受影响。(二)数据库系统的体系结构(1)逻辑数据独立性。当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据与程序的逻辑独立性,简称逻辑数据独立性。(2)物理数据独立性。当数据库的存储结构改变了(如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以保证模式保持不变,因而应用程序也不必改变。保证了数据与程序的物理独立性,简称物理数据独立性。任务1-5明确数据库系统的组成和体系结构【任务实施】
通过本任务的学习,王宁的问题得到了答案,数据库的体系结构分为三级模式和两级映像,从而保证数据的两级独立性,即逻辑数据独立性和物理数据独立性。任务1-6认识常见的DBMS【任务提出】
在学习了数据库、数据库管理系统、数据库系统等概念后,善于学习探索的王宁同学又有了新的疑问,现在常用的DBMS有哪些?又有哪些是我国的自主品牌呢?本任务将带领王宁同学一起揭晓答案。OracleSQLServerMySQLPostgreSQL(一)常见的国外DBMSGaussDB(华为高斯数据库)DM(达梦数据库)GBase(南大通用数据库)HighGoDB(瀚高数据库)(二)常见的国内DBMS任务1-6认识常见的DBMS【任务实施】通过本任务的学习,王宁同学得到了问题的答案,目前国外常用的DBMS有Oracle、SQLServer、MySQL、PostGreSQL等,国内常用的DBMS有TDSQL、GaussDB、DM、GBase等。只有了解了常见DBMS的特点,才能在实际开发中选用合适的数据库管理系统为软件系统做数据支撑。数据经济要发展,数据基础设施先行。2019年,国家基础软件自主可控被提上议程,数据库作为基础设施中重要的一环,需要长期扎实的投入和“真刀真枪”的历练。因此,近几年国产数据库得到了飞速发展,特别是云数据库、分布式数据库产品越来越多。思政小贴士从常见的国内数据库可以看出,大多是面向需求的、基于PG内核的二次开发。因此,我们只有了解原有产品的架构、掌握基础知识、具备创新意识和创新能力,才能研发出受用户欢迎的产品。打铁还需自身硬,无须扬鞭自奋蹄!项目总结本项目带领大家学习了数据和信息的概念、数据描述的三个世界、数据模型、关系代数以及数据库系统的组成和体系结构,最后,和大家一起学习了数据库管理技术的发展过程。要求大家加强复习,增进理解。把各个知识点学会、领悟,能举一反三。主要内容重点要求大家掌握信息世界和机器世界的描述、关系模型、关系代数的各种运算的灵活应用、数据库系统的组成、数据库系统的三级模式与两级映像。重难点要求数据库原理及应用----项目2设计学生信息管理数据库情景导入通过项目1的学习,王宁同学对数据库的基本概念、数据描述、数据模型有了初步的认识。于是,李老师给王宁布置了一个新的任务,设计一个学生信息管理数据库,用于对学生的基本信息、成绩信息、公寓住宿等所有数据进行管理。通过查阅资料,王宁了解到,数据库设计是指对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各类用户的应用需求(信息要求和处理要求)。具体如何实现呢?王宁带着这个问题投入了本项目的学习中。主要内容了解数据库设计需求分析概念结构设计逻辑结构设计数据库的物理设计数据库的实施、运行和维护项目1理解数据库职业能力目标(含课程思政)掌握数据库设计的步骤和方法(规范化意识)理解怎样收集数据掌握建立E-R模型的方法掌握如何将E-R模型转换为关系模式了解关系模式可能存在的问题及规范化(遵纪守法)任务2-1了解数据库设计【任务提出】王宁要设计一个学生信息管理数据库,对学生的所有信息进行科学有效地管理,可是,从哪里入手,要做哪些工作呢?这些都成为了摆在王宁面前的问题。本任务将带领王宁一起了解数据库设计的基本步骤。。了解数据库设计按照规范化设计的方法,考虑数据库及其应用系统开发的全过程,将数据库的设计分为以下6个设计阶段。需求分析、概念设计、逻辑设计、物理设计、数据库实施、数据库运行和维护。了解数据库设计数据库设计步骤了解数据库设计需求分析阶段需求分析就是根据用户的需求收集数据,是设计数据库的起点。需求分析的结果是否准确反映用户的实际需求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。概念设计阶段概念设计是整个数据库设计的关键,它通过对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。了解数据库设计逻辑设计阶段将概念模型转换成某个DBMS所支持的数据模型,并对其进行优化。物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。了解数据库设计数据库实施阶段设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果创建数据库,编制与调试应用程序,组织数据入库,并进行试运行。数据库运行和维护阶段对数据库应用系统正式投入运行后,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。任务2-1了解数据库设计【任务实施】随着学习的深入,王宁同学的问题找到了答案,要设计学生信息管理系统数据库,要分需求分析、概念设计、逻辑设计、物理设计、数据库的实施、数据库的运行和维护六个阶段完成,数据库的设计过程不是一蹴而就的,有时可能需要不断反复。思政小贴士在实际应用中,利用规范化设计方法得到数据库,可以避免业务系统投入运行后,由于数据异常而导致的系统宕机。要设计出一个成熟、完善的数据库应用系统,需要我们从需求分析开始,打好基础。随着软件系统的规模和复杂度越来越大,规范化的软件开发方法被越来越多的行业“巨头”所采用。只有不断培养规范化意识,树立规范化的软件设计理念,才能不断提升专业技能,逐渐具备优秀软件开发者所需要的各种能力。任务2-2需求分析【任务提出】王宁同学即将开始进行学生信息管理系统数据库设计的第1步,即将学生信息管理中的数据收集起来,那么要收集哪些数据呢,收集的步骤及方法是什么?(一)需求分析的任务及目标需求分析的任务就是收集数据,要尽可能多地收集关于数据库要存储的数据以及将来如何使用这些数据的信息,确保收集到数据库需要存储的全部信息。需求分析的任务(一)需求分析的任务及目标(1)有多少数据,数据的来源在哪里,是否有已存在的数据资源?(2)必须保存哪些数据,数据是字符、数字或日期型?(3)谁使用数据,如何使用?(4)数据是否经常修改,如何修改和什么时候修改?(5)某个数据是否依赖于另一个数据或被其他数据引用?(6)某个信息是否要唯一?(7)哪些数据是组织内部的和哪些是外部数据?(8)哪些业务活动与数据有关,数据如何支持业务活动?(9)数据访问的频度和增长的幅度如何?(10)谁可以访问数据,如何保护数据。可参考以下问题(二)需求分析的方法(1)调查组织机构情况,为分析信息流程做准备。(2)调查各部门的业务活动情况,这是调查的重点。(3)在熟悉了业务的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求,这是调查的又一个重点。(4)确定新系统的边界。对前面调查的结果进行初步分析,确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。调查用户需求的步骤:(二)需求分析的方法(1)跟班作业。通过亲身参加业务工作来了解业务活动的情况。通过这种方法可以比较准确地了解用户的需求,但比较耗费时间。(2)开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者和用户之间可以相互启发。(3)请专人介绍。(4)询问。对某些调查中的问题,可以找专人询问。(5)问卷调查。设计调查表请用户填写。如果调查表设计得合理,这种方法是很有效的,也易于为用户所接受。(6)查阅记录。查阅与原系统有关的数据记录。常用的调查方法:任务2-2需求分析【任务实施】为了收集数据库需要的全部信息,王宁通过与学生管理人员和系统的操作者进行交谈、发放调查问卷等方法,记录了如下要点。(1)数据库要存储每位学生的基本信息、各系部的基本信息、各班级的基本信息、教师基本信息、教师授课基本信息和学生宿舍基本信息。(2)管理人员可以通过数据库管理各系部、各班、各教师、全院学生的基本信息。(3)按工作的要求查询数据,如浏览某系部、某班级、某年级、某专业等学生基本信息。(4)根据要求实现对各种数据的统计,如学生人数,应届毕业生人数,某系、某专业、某班级男女生人数,各系部教师人数,退、休学人数等。(5)能实现对学生学习成绩的管理(录入、修改、查询、统计、打印)。(6)能实现对学生住宿信息的管理,如查询某学生的宿舍楼号、房间号及床位号等。(7)能实现历届毕业生的信息管理,如查询某毕业生的详细信息。(8)数据库系统的操作人员可以查询数据,管理人员可以修改数据。(9)使用关系数据库模型。上述列表中的信息没有固定的顺序,并且有一些信息也可能有重复,或者遗漏了某些重要的信息,这里收集到的信息在后面的设计工作中要与用户反复查对,以确保收集到关于数据库的完整和准确的全部信息。任务2-3概念结构设计【任务提出】面对收集到的学生信息管理系统数据库所需要描述的大量复杂的数据,怎么找出它们之间的联系,用哪种数据模型表示呢。本任务将带领王宁同学一起学习概念结构设计,揭晓问题的答案。(一)概念结构设计的方法和步骤概念结构设计的方法(1)自顶向下。首先定义全局概念结构的框架,然后逐步细化。(2)自底向上。首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。(4)混合策略。将自顶向下和自底向上的方法相结合,用自顶向下策略设计一个全局概念结构的框架,以它为框架自底向上设计各局部概念结构。(一)概念结构设计的方法和步骤最常采用的是混合策略,即自顶向下进行需求分析,然后自底向上设计概念结构。(一)概念结构设计的方法和步骤概念结构设计的步骤(1)进行数据抽象,设计局部E-R模型。(2)集成各局部E-R模型,形成全局E-R模型。(二)局部E-R模型设计设计方法设计局部E-R图首先需要根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中的每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,确定各局部应用中的实体、实体的属性、标识实体的码、实体之间的联系及其类型(1∶1,1∶n,m∶n)。(二)局部E-R模型设计【例2.1】设有如下实体。学生:学号、系名称、姓名、性别、年龄、选修课程名、平均成绩课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程编号单位:单位名称、电话、教师号、教师姓名上述实体中存在如下联系。①一个学生可选修多门课程,一门课程可为多个学生选修。②一个教师可讲授多门课程,一门课程可为多个教师讲授。③一个系可有多个教师,一个教师只能属于一个系。学生选课局部E-R图教师授课局部E-R图(二)局部E-R模型设计(三)全局E-R模型设计局部E-R的集成方法多元集成法,也叫做一次集成,一次性将多个局部E-R图合并为一个全局E-R图。二元集成法,也叫做逐步集成,首先集成两个重要的局部E-R图,然后用累加的方法逐步将一个新的E-R图集成进来。(三)全局E-R模型设计局部E-R图集成步骤合并分E-R图,消除各种冲突,生成初步E-R图。消除不必要的冗余,生成基本E-R图。(三)全局E-R模型设计冲突由于各个局部应用所面向的问题不同,并且通常由不同的设计人员进行局部E-R图设计,因此,各局部E-R图不可避免地会有许多不一致的地方,通常把这种现象称为冲突。属性冲突:又分为属性值域冲突和属性的取值单位冲突。命名冲突:又分为同名异义和异名同义。结构冲突(三)全局E-R模型设计优化后的基本E-R图任务2-3概念结构设计【任务实施】王宁同学根据本任务学习的概念设计步骤和方法,将学生信息管理系统数据库的概念设计按照如下两个步骤进行。1.进行数据抽象,设计局部E-R模型王宁同学在对收集到的大量信息进行分析、整理后,确定了数据库系统中应该存储如下信息:学生基本信息、系部基本信息、班级基本信息、教师基本信息、课程基本信息、学生学习成绩信息、学生综合素质成绩信息、毕业生基本信息、宿舍基本信息、系统用户信息。根据这些信息抽象出系统将要使用的实体:学生、系部、班级、课程、教师、宿舍。定义实体之间的联系以及描述这些实体的属性,最后用E-R图表示这些实体和实体之间的联系。任务2-3概念结构设计【任务实施】学生实体的属性:学号、姓名、性别、出生日期、身份证号、家庭住址、联系电话、邮政编码、政治面貌、简历、是否退学、是否休学。码是学号。系部实体的属性:系号、系名、系主任、办公室、电话。码是系号。班级实体的属性:班级号、班级名称、专业、班级人数、入学年份、教室、班主任、班长。码是班级号。课程实体的属性:课程号、课程名、学期。码是课程号+学期。教师实体的属性:教师号、姓名、性别、出生日期、所在系别、职称。码是教师号。宿舍实体的属性:楼号、房间号、住宿性别、床位数。码是楼号+房间号。任务2-3概念结构设计【任务实施】实体与实体之间的联系为:一个系拥有多个学生,每个学生只能属于一个系;一个班级拥有多个学生,每个学生只能属于一个班级;一个系拥有多名教师,一位教师只能属于一个系;一个学生只在一个宿舍里住宿,一个宿舍里可容纳多名学生;一个学生可学习多门课程,一门课程可由多名学生学习;一位教师可承担多门课程的教授任务,一门课程可由多位教师讲授。因此,系部实体和学生实体的联系是一对多联系;系部实体和教师实体是一对多联系;班级实体和学生实体是一对多联系;学生实体和课程实体是多对多联系;课程实体和教师实体多对多联系;宿舍实体和学生实体是一对多联系。任务2-3概念结构设计【任务实施】根据上述抽象,可以得到学生选课、教师授课、学生住宿、学生班级等的局部E-R图。学生选课局部E-R图任务2-3概念结构设计【任务实施】教师授课局部E-R图学生住宿局部E-R图任务2-3概念结构设计【任务实施】教师授课局部E-R图任务2-3概念结构设计【任务实施】2.全局E-R模型设计各个局部E-R图建立好后,接下来的工作是对它们进行合并,消除各局部E-R图中的冲突,消除不必要的冗余,集成为该管理系统的全局E-R图。任务2-4逻辑结构设计【任务提出】王宁分析得到的学生信息管理系统的全局E-R图仍然不能直接在计算机上实现,怎么办呢?李老师告诉王宁,需要将其转换为某个具体的DBMS所支持的数据模型才可以。接下来,本任务将和王宁同学一起学习如何将E-R模型转换成关系模式,并进行规范化。任务2-4逻辑结构设计一般的逻辑设计分为以下3步(1)初始关系模式设计。(2)关系模式规范化。(3)模式的评价与改进。(一)初始关系模式设计转换规则:规则2.1实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体的标识符即为关系模式的键。规则2.2联系类型的转换:根据不同的联系类型做不同的处理。规则2.2.1若实体间联系是1∶1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式中加入另一个关系模式的键和联系类型的属性。规则2.2.2若实体间的联系是1∶n,则在n端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。规则2.2.3若实体间联系是m∶n,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。规则2.2.43个或3个以上的实体间的一个多元联系,不管联系类型是何种方法,总是将多元联系类型转换成一个关系模式,其属性为与该联系相连的各实体的键及联系本身的属性,其键为各实体键的组合。规则2.2.5具有相同键的关系可合并。(一)初始关系模式设计【例2.2】将下图所示的含有1∶1联系的E-R图根据上述规则转换为关系模式。或者:方案1:“负责”与“职工”两关系模式合并。职工(职工号,姓名,年龄,产品号)产品(产品号,产品名,价格)方案2:“负责”与“产品”两关系模式合并。职工(职工号,姓名,年龄)产品(产品号,产品名,价格,职工号)(一)初始关系模式设计【例2.3】将下图所示的含有1∶n联系的E-R图根据上述规则转换为关系模式。仓库(仓库号,地点,面积)产品(产品号,产品名,价格,仓库号,数量)(一)初始关系模式设计【例2.4】将下图所示的含有1∶n联系的E-R图根据上述规则转换为关系模式。职工(职工号,姓名,年龄,领导工号)(一)初始关系模式设计【例2.5】将下图所示的含有m∶n联系的E-R图根据上述规则转换为关系模式。商店(店号,店名,店址,店经理)商品(商品号,商品名,单价,产地)经营(店号,商品号,月销售量)(一)初始关系模式设计【例2.6】将下图所示的含有m∶n联系的E-R图根据上述规则转换为关系模式。零件(零件号,名称,价格)组装(组装件号,零件号,数量)(一)初始关系模式设计【例2.7】将下图所示的多实体集间含有m∶n联系的E-R图根据上述规则转换为关系模式。供应商(供应商号,供应商名,地址)零件(零件号,零件名,单价)产品(产品号,产品名,型号)供应(供应商号,零件号,产品号,数量)(一)初始关系模式设计【例2.8】将下图所示的的E-R图根据上述规则转换为关系模式。系(系名,电话)教师(教师号,姓名,性别,职称,系名)学生(学号,姓名,性别,年龄,系名)课程(课程号,课程名)选修(学号,课程号,成绩)讲授(教师号,课程号)(二)关系模式的规范化1、存在的问题及解决方法例如,要设计一个教学管理数据库,希望从该数据库中得到学生学号、姓名、年龄、性别、系别、系主任姓名、学生学习的课程名和该课程的成绩信息。若将此信息要求设计为一个关系,则关系模式如下。S(sno,sname,sage,ssex,sdept,mname,cname,score)该关系存在以下问题:①数据冗余太大。②插入异常。③删除异常。④更新异常。解决办法:分解S(sno,sname,sage,ssex,sdept)SC(sno,cname,score)DEPT(sdept,mname)2、范式利用规范化理论,使关系模式的函数依赖集满足特定的要求,满足特定要求的关系模式称为范式。关系按其规范化程度从低到高可分为5级范式(NormalForm),分别称为1NF、2NF、3NF(BCNF)、4NF、5NF。规范化程度较高者必是较低者的子集,即5NF4NFBCNF3NF2NF1NF(二)关系模式的规范化第一范式定义4:如果关系模式R中不包含多值属性(每个属性必须是不可分的数据项),则R满足第一范式(FirstNormalForm),记作R∈1NF。第二范式第三范式定义5:如果关系模式R(U,F)∈1NF,且R中的每个非主属性完全函数依赖于R的某个候选码,则R满足第二范式(SecondNormalForm),记作R∈2NF。定义6:如果关系模式R(U,F)∈2NF,且每个非主属性都不传递函数依赖于任何候选码,则R满足第三范式(ThirdNormalForm),记作R∈3NF。(二)关系模式的规范化任务2-4逻辑结构设计【任务实施】根据设计要求,王宁同学为学生信息管理数据库选用关系数据模型,按照转换规则将E-R图转换成关系模式(表)并规范化后,王宁得到的逻辑结构设计结果为:学生(学号,姓名,性别,出生日期,身份证号,家庭住址,联系电话,邮政编码,政治面貌,简历,是否退学,是否休学,楼号,房间号,床位号,班级号)系(系号,系名,系主任,办公室,电话)班级(班级号,班级名称,专业,班级人数,入学年份,教室,班主任,班长,系号)课程(课程号,课程名,学期)教师(教师号,姓名,性别,出生日期,职称,系号)宿舍(楼号,房间号,住宿性别,床位数)选修(学号,课程号,成绩)讲授(教师编号,课程号,学期)思政小贴士无论是将E-R图转换成关系模式,还是关系模式的规范化处理都必须遵循一定的规则约束。“不以规矩,不能成方圆”,在日常生活中也存在各种行为约束。比如,我们要遵纪守法,遵守各种准则。守规矩是一种责任和义务,是一种境界和修养,是每个人立身处世的底线,是社会和谐有序的保障。任务2-5数据库的物理设计【任务提出】王宁同学在得到了学生信息管理系统数据库的关系模式后,是不是就可以开始创建操作了呢,还需要做什么工作?李老师告诉王宁,接下来还要明确数据库在存储设备的存储方法及优化策略,要确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构;确定系统配置等。数据库的物理结构指数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。数据库的物理设计是指为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。数据库的物理设计可分为两步。(1)确定数据库的物理结构,在关系数据库中主要指存储结构和存取方法。(2)对物理结构进行评价,评价的重点是时间和空间效率。(一)关系模式存取方法选择1、索引存取方法选择2、聚簇存取方法的选择所谓索引存取方法就是根据应用要求确定对关系的哪些属性列来建立索引、哪些属性列建立组合索引、哪些索引要设计为唯一索引等。为了提高某个属性或属性组的查询速度,把这个或这些属性上具有相同值的元组集中存放在连续的物理块称为聚簇。(一)关系模式存取方法选择3、HASH存取方法选择如果一个关系的属性主要出现在等值连接条件中或主要出现在相等比较选择条件中,并且满足下列两个条件之一时,则此关系可以选择HASH存取方法。(1)如果一个关系的大小可预知,并且不变。(2)如果关系的大小动态改变,并且所选用的DBMS提供了动态HASH存取方法。(二)确定数据库的存储结构主要任务确定数据的存放位置;确定系统配置。任务2-6数据库的实施、运行和维护[任务提出]在完成数据库的物理设计后,王宁要开始数据库的实施、运行与维护操作了。在这一阶段,王宁将主要完成数据的导入、应用程序的编写与调试、数据库试运行,以及正式投入运行之后的维护工作,以保证数据库的正常运转。(一)数据库的实施主要任务数据载入应用程序的编码和调试数据库试运行(二)数据库的运行与维护在数据库运行阶段,对数据库经常性的维护工作主要由DBA完成,包括以下几个方面。数据库的转储和恢复数据库的安全性、完整性控制数据库性能的监督、分析和改进数据库的重组织与重构造任务2-6数据库的实施、运行和维护[任务实施]王宁设计完成的学生信息管理系统包括学生信息浏览子系统、学生信息查询子系统和学生信息统计子系统三部分。其中,学生信息浏览子系统可实现全院学生的信息浏览、某系部学生的信息浏览、某系部某年级某班级学生的信息浏览;学生信息查询子系统可实现学生信息的模糊查询;学生信息统计子系统可实现各类学生信息的统计,如学院总人数的统计、学院男女生人数的统计等。项目总结本项目主要带领大家学习了数据库设计的步骤及各个阶段的主要任务。要求大家加强复习,增进理解。把各个知识点学会、领悟,能举一反三。主要内容重点要求大家结合练习内容进行强化复习,灵活掌握设计步骤及各个阶段的工作任务及实现方法。重难点要求志存高远自强不息数据库原理及应用----项目3创建与维护MySQL数据库情景导入王宁从踏入大学校门的那一刻起,就为自己设定了目标,毕业后成为一名数据库管理员。因此在完成了数据收集、设计E-R图、关系模式,并得到了数据库的逻辑结构后,王宁迫不及待地想创建学生信息管理数据库了。但是李老师告诉王宁,创建数据库之前,首先要安装与配置数据库管理系统。在李老师的帮助下,王宁选择了深受广大用户青睐的MySQL作为接下来的学习过程要使用的数据库管理系统。安装好数据库管理系统后,通过查阅相关资料,王宁了解到可以使用SQL语句创建学生信息管理数据库,于是他尝试使用“createdatabasemydb”语句创建数据库。运行后,命令窗口一直显示英文提示信息。mydb有没有创建成功呢?如果创建成功了,如何查看mydb数据库呢?如果失败了,如何根据错误提示,修正刚才执行的SQL语句呢?王宁有些不知所措,带着这些问题请教了李老师。李老师说作为初学者,不仅要学会安装MySQL,还需要系统地学习如何创建和维护学生信息管理数据库。主要内容了解MySQL安装与配置MySQL8.0启动与登录MySQL创建数据库维护数据库理解MySQL数据库的存储引擎项目1理解数据库职业能力目标(含课程思政)了解MySQL数据库及其特点掌握MySQL8.0的安装与配置(科技创新
使命担当)掌握启动MySQL8.0的方法(学习能力)掌握利用Navicat创建与维护数据库掌握利用SQL语句创建与维护数据库(代码规范意识)任务3-1了解MySQL【任务提出】为了完成MySQL的安装,王宁首先要了解MySQL,熟悉其工作环境,掌握MySQL的版本信息。因此,本任务中,王宁需要根据自己的操作系统类型,下载合适的MySQL版本。(一)MySQL简介MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16日被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。如雅虎、Google、新浪、网易、百度等公司等就采用了MySQL数据库。MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其他数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载。(一)MySQL简介MySQL数据库主要有以下特点:1.可移植性2.可扩展性和灵活性3.强大的数据保护功能4.支持大型数据库5.超强的稳定性6.强大的查询功能(二)MySQL版本信息1.根据操作系统分类根据操作系统的类型,MySQL大体可以分为Windows版、UNIX版、Linux版和MacOS版。因为UNIX和Linux操作的版本很多,不同的UNIX和Linux版本有不同的MySQL版本。因此,如果要下载MySQL,必须先了解自己使用的是什么操作系统,然后根据操作系统来下载相应的MySQL。(二)MySQL版本信息2.根据用户群体分类(1)针对不同用户群体,MySQL分为两个不同的版本。①MySQLCommunityServer(社区版):该版本完全免费,自由下载,但官方不提供技术支持。如果是个人学习,可选择此版本。②MySQLEnterpriseServer(企业版):该版本能够以很高的性价比为企业提供完善的技术支持,需要付费使用。(二)MySQL版本信息(2)MySQL的命名机制:MySQL的命名机制由3个数字和1个后缀组成,如mysql-8.0.23。①第1个数字(8)是主版本号,描述了文件格式,所有版本5的发行版都有相应的文件格式。②第2个数字(0)是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。③第3个数字(23)是在此发行系列的版本号,随每次新分发版本递增。通常选择已经发行的最新版本。MySQL数据库管理系统提供了许多命令行工具,这些工具可以用来管理MySQL服务器、对数据库进行访问控制、管理MySQL用户以及数据库备份和恢复工具等。MySQL也提供图形化管理工具,使得对数据库的操作更加简单。1.MySQL命令行实用程序2.MySQLWorkbench(三)MySQL工具任务3-2安装与配置MySQL8.0【任务提出】王宁接下来的工作是安装与配置MySQL,因此,本任务中,王宁需要完成Windows平台下MySQL的安装与配置。思政小贴士我国正着力实现关键技术自主可控,为国家安全、网络安全提供技术保障。但是在一些关键技术领域,如操作系统、芯片技术、CPU技术等方面,还难以做到自主可控,对国家安全造成威胁。要想建设网络强国,不仅靠网络技术,还需要软件技术等相关领域技术的支撑。作为一名计算机相关专业的学生,扎实学好专业知识,任重而道远!任务3-3启动与登录MySQL【任务提出】MySQL安装好后,如何启动服务呢?在本任务中,王宁需启动自己机器上的MySQL服务和登录MySQL。(一)启动MySQL服务【启动MySQL服务】法一:【开始】→【运行】→输入services.msc,打开【服务】管理器,选择MySQL57服务。法二:右击【计算机】→【管理】→【服务和应用程序】→【服务】,打开【服务】管理器,选择MySQL57服务。法三:【开始】→【运行】→输入cmd,进入命令提示符界面,输入netstartmysql80,按回车,启动MySQL服务,输入netstopmysql80
,按回车,停止MySQL服务。(二)登录MySQL8.0【登录MySQL8.0】法一:图形管理工具Navicat登录。法二:【开始】→【运行】→输入cmd,进入命令提示符界面,输入mysql–hhostname–uusername-p,按回车,按照提示输入密码。
如:mysql–hlocalhost–uroot-p。思政小贴士虽然我们学会了连接数据库的基本方法,但技术的更新换代越来越频繁,不同版本的数据库在使用方式上会稍有差异,我们应该具备适应变化和不断学习的能力和意识,做一个会学习、终生学习的人。(三)MySQL常用图形化管理工具MySQLWorkbenchphpMyAdminNavicatforMySQLMySQLDumperMySQLGuiToolsMySQLODBCConnector任务3-4创建数据库【任务提出】王宁尝试使用“createdatabasemydb”语句创建数据库。运行后,命令窗口一直显示英文提示信息。mydb有没有创建成功呢?如果创建成功了,如何查看mydb数据库呢?如果失败了,如何根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年胡桃楸原木行业直播电商战略分析研究报告
- 未来五年跟踪电视设备企业县域市场拓展与下沉战略分析研究报告
- 浙江国企招聘2025嘉兴海宁市工联房地产开发有限公司招聘3人笔试参考题库附带答案详解(3卷)
- 2025年度安徽芜湖鸠兹水务有限公司第二批工作人员招聘3人笔试参考题库附带答案详解(3卷)
- 2025年国网湖北省电力有限公司校园招聘发布(动态更新)笔试参考题库附带答案详解(3卷)
- 2025届石药集团校园招聘正式启动笔试参考题库附带答案详解(3卷)
- 2025届中核集团校园招聘启动(机械控制电力电气工程建筑环境化工等大类)笔试参考题库附带答案详解(3卷)
- 2025南通再就业工程开发有限公司公开招聘工作人员2人-国网南通综合能源服务有限公司笔试参考题库附带答案详解(3卷)
- 天津市2024天津市医疗器械质量监督检验中心招聘高层次人才7人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 四川省2024年上半年四川工人日报社招聘工作人员(2人)笔试历年参考题库典型考点附带答案详解(3卷合一)
- 全球重点区域算力竞争态势分析报告(2025年)-
- 2025北京热力热源分公司招聘10人参考笔试题库及答案解析
- 2025年湖南省法院系统招聘74名聘用制书记员笔试参考题库附答案
- 2025广西机电职业技术学院招聘教职人员控制数人员79人备考题库及答案解析(夺冠)
- 2026届高考政治一轮复习:必修2 经济与社会 必背主干知识点清单
- 大学生校园创新创业计划书
- 护士职业压力管理与情绪调节策略
- 贵州国企招聘:2025贵州凉都能源有限责任公司招聘10人备考题库及答案详解(必刷)
- 招标人主体责任履行指引
- 2025-2026学年北师大版五年级数学上册(全册)知识点梳理归纳
- 2021年广东省广州市英语中考试卷(含答案)
评论
0/150
提交评论