资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数据库编程,要求,期末成绩,70%,,平时成绩,30%,项目组,抽查某一个人,成绩是整个项目组的,上课提问,10%,作业,10%,(抽查),出勤,10%,(点名时间),第,1,章 数据库基础知识,学习目标:,掌握,数据,、,信息、,DB,、,DBS,、,DBMS,等基本概念,了解,数据库技术的演变,,,掌握,数据仓库、数据挖掘,了解数据库系统的,作用和应用领域,了解,常见的数据库系统,掌握数据库系统的,结构和组成,了解,数据库的开发过程,数据库概述,数据库是存储数据、管理信息和共享资源的地方,数据,库技术是当前发展最为迅速的领域之一。,基本概念,数据与信息,(,要着重理解数据与信息之间的区别和联系,),;,数据库;,数据库系统,不仅包含数据和信息,还包含各种软硬件资源和各类技术人员;,数据库管理系统,位于用户和操作系统之间,解决数据的组织和存储问题,以及如何高效地获取和维护数据。包括数据定义功能、数据操作功能、系统映射功能、数据库运行和管理功能、数据库建立和维护功能等。,数据库基础知识,数据管理技术的产生和发展,人工管理阶段,文件管理阶段,数据库管理阶段,数据仓库,分布式数据库,面向对象数据库,多媒体数据库,移动数据库,注:应着重理解不同阶段数据管理技术的特点。,数据库基础知识,数据库系统的应用,超市销售系统,铁路售票系统,银行业务系统,图书馆管理系统,教学管理系统,注:以上只是列举了数据库系统在日常生活中的一些常见应用,可试着举其他例子,并根据它们的特点,判断是否是数据库系统。,常见的数据库管理系统,大型商业数据库,SQL Server,、,Oracle,、,DB 2,桌面数据库,Access,、,Visual FoxPro,开源数据库,MySQL,数据库基础知识,数据库系统的体系结构,内部架构:外模式模式内模式的三级模式结构,(,数据库管理系统角度,),外部架构:单用户结构、主从式结构、分布式结构、客户机,/,服务器结构等,(,数据库终端用户角度,),模式,模式的特点:数据库中全体数据的逻辑结构和特征的描述,,仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体,值称为模式的一个实例,(Instance),,同一个模式可以有很多,实例。模式反映的数据的结构及其联系,而实例反映的是数,据库某一时刻的状态。,数据库基础知识,理解:,一个数据库只有一个模式;,是数据库数据在逻辑级上的视图;,数据库模式以某一种数据模型为基础;,定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。,外模式,(,External Schema,)定义:也称子模式(,Subschema,)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。,理解:一个数据库可以有多个,外模式,;,外模式,就是用户视图;,外模式,是保证数据安全性的一个有力措施。,内模式定义:也称存储模式(,Storage Schema,),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照,B,树结构存储还是按,hash,方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。,理解:一个数据库只有一个,内模式,;一个表可能由多个文件组成,如:数据文件、索引文件。它是数据库管理系统,(DBMS),对数据库中数据进行有效组织和管理的方法 其目的有:为了减少数据冗余,实现数据共享;为了提高存取效率,改善性能。,数据库的三级模式结构,注:理解外模式,模式映射、模式,内模式映射的机制和作用。,数据库基础知识,数据库系统的组成,注:理解并掌握数据库系统中各部分组成要素及其在数据库系,统中的作用。,数据库基础知识,数据库的设计流程,结构化生命周期法:,把数据库系统的开发从初始到结束划分为,若干个预先规定好任务的阶段,然后按照一定的准则来按部就,班地完成数据库的设计。,原型法:,考虑到人本身的灵活、多变、依经验行事的特点而产,生的数据库设计方法,其基本思想是并非所有需求都能预先定,义,反复修改是不可避免的。,数据库基础知识,第,2,章 关系数据库及其设计理论,学习目标:,掌握,概念模型、逻辑模型、物理模型,的定义及作用,了解,层次模型和网状模型,,掌握,关系模型,理解,关系数据库的定义及其与关系模型的联系,掌握关系模型的,3,类完整性约束,掌握,函数依赖和关系数据库的规范化设计理论,关系模型,关系模型是当前应用最为广泛的数据模型,是许多厂商推出,的商品化数据库系统的理论基础,如,SQL Server,、,Oracle,、,DB 2,、,Access,等。,数据模型,数据模型是对现实世界数据特征的抽象,它是数据库系统设,计的基础。,概念模型:信息模型,按照用户的观点来对数据和信息,建模;,逻辑模型:从计算机的角度对数据进行建模,主要由数,据库设计人员完成,用于,DBMS,的实现;,物理模型:对数据最底层的抽象,描述的是数据的具体,存储方式和存取方法,由,DBMS,实现。,关系数据库及其设计理论,关系数据库及其设计理论,概念模型、逻辑模型、物理模型间的关系,关系数据库及其设计理论,关系模型的数据结构,关系模型建立在严格的数学定义基础之上,由一组关系组,成,清晰、易懂且易用,大大简化了程序开发及数据创建的,工作量,从用户角度看,每个关系模型的数据结构就是一张,规范化的二维表。,关系、元组、属性、属性名、域、分量、主键、候选键、超键,关系模型的特点,关系模型建立在严格的数据概念基础之上;,关系模型的概念单一,无论是实体还是实体之间的联系都用关系来表示,用户对数据的操作都是从原二维表中得到另外一个二维表,因而易于理解、操作方便、简单;,关系是规范化的关系,即关系必须满足一定条件;,关系模型的存取路径相对用户透明,因而保证了数据的独立性和更好的安全性,同时简化了程序员的工作和数据库开发工作。,注:关系模型的缺陷在于存储路径相对用户透明,且查询,效率较低。,关系数据库及其设计理论,关系数据库,关系数据库是支持关系模型的数据库系统,关系操作,关系数据库及其设计理论,笛卡尔积,选择:,又称为限制,是指在关系,R,中选择满足给定条件的元组,如,从书籍信息关系中选择出定价高于,30.00,元的所有元组等。,投影:,从关系,R,中挑选出若干个属性并组成新的关系,投影实际上,是从属性的角度来进行的运算,例如从书籍信息关系中挑选出书,名、作者这两个属性组成新的关系。,连接:,从两个关系的笛卡尔积中选择属性间满足一定条件的元组,,例如从书籍信息关系和出版社信息关系的笛卡尔积中选择书名为,“,Dreamweaver 8&ASP,数据库网站开发简明教程”,且出版社为,“清华大学出版社”的元组。包含,自然连接,和,连接,两种。,除:,给定关系,R(X,,,Y),和,S(Y,,,Z),,其中,X,、,Y,、,Z,为属性组,,R,中的,Y,与,S,中的,Y,可以有不同的属性名,但必须出自相同的域集。,R,与,S,的,除运算得到一个新关系,P(X),,,P,是,R,中满足下列条件的元组在,X,属性,列上的投影:元组在,X,属性列上分量值,x,的象集包含,S,在,Y,上投影的集,合。,关系数据库及其设计理论,关系的完整性,实体完整性:关系的主码不能取空值,或者说任何关系中每个元组的主码不能为空。,参照完整性:在两个参照和被参照关系中,参照关系中每个元组的外码或者为空,或者等于被参照关系中某个元组的主码。,对于永久,关系,的相关表,在更新、插入或删除记录时,如果只改其一不改其二,就会影响数据的完整性:例如修改父表中,关键字,值后,子表关键字值未做相应改变;删除父表的某,记录,后,子表的相应记录未删除,致使这些记录称为孤立记录;对于子表插入的,记录,,父表中没有相应关键字值的记录,用户自定义完整性:关系中的每个属性除了用定义域或对应的数据类型进行取值约束外,有时还需要定义一些附加条件约束,即对关系中任一属性的取值所作出的限定。,关系数据库及其设计理论,关系数据库的设计理论,又称为关系数据库的规范化理论,是数据库逻辑结构设计的,一个有力工具,主要研究如何构造一个适合关系数据库的数,据库模式。,函数依赖,完全函数依赖,部分函数依赖,传递函数依赖,关系模式的范式,第一范式、第二范式、第三范式、,BC,范式、第四范式等,关系数据库及其设计理论,第一范式的定义,如果一个关系模式,R,的所有属性都是不可分的基本数据项,则,R1NF,。,关系模式实例,下面是满足第一范式的,(,不好的,),关系模式的例子。例如:设有一关系模式,R(S#,,,C#,,,G,,,TN,,,D),,其中,(S#),为学号,,C#,为课程号,,G,为成绩,,TN,为任课教师姓名,,D,为教师所在系名,这些数据具有下列语义:,(1),学号是一个学生的标识,课程号是一门课程的标识。,(2),一位学生所修的每门课程都有一个成绩。,(3),每门课程只有一位任课教师,但一位教师可以教多门课。,(4),教师中没有重名,每位教师只属于一个系。,虽然上述的关系模式只有四个属性,但它是一个不好的关系模式,因为该模式在使用过程中有以下几个问题:,(1),数据冗余。例如,教师所在系名对选该教师所开课的所有学生都重复输入一次。,(2),插入异常。由于关系的主键,S#,C#,不能为空值,如果一个教师不教课,则这位教师的姓名及所属的系名就不能插入表中。,(3),删除异常。如果所有学生都退选某一门课,则有关该门课的其它数据,(,任课教师名及所在系名,),也将被删除。,(4),修改异常。如果改变一门课的任课教师,则需要修改表中选修该门课程的多行记录,如果部分修改,部分不修改,则会导致数据的不一致。,SCG(S#,C#,G),CTN(C#,TN),TND(TN,D),第二范式,若关系模式,R1NF,,并且每一个非主属性都,完全函数依赖,于,R,的主码,则,R2NF,。,第二范式(,2NF,)是在,第一范式,(,1NF,)的基础上建立起来的,即满足第二范式(,2NF,)必须先满足第一范式(,1NF,)。第二范式(,2NF,)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。,例:选课关系,SCI,(,SNO,,,CNO,,,GRADE,,,CREDIT,)其中,SNO,为学号,,CNO,为课程号,,GRADEGE,为成绩,,CREDIT,为学分。由以上条件,关键字为组合关键字(,SNO,,,CNO,),在应用中使用以上关系模式有以下问题:,a.,数据冗余,假设同一门课由,40,个学生选修,学分就 重复,40,次。,b.,更新异常,若调整了某课程的学分,相应的元组,CREDIT,值都要更新,有可能会出现同一门课学分不同。,c.,插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入。,d.,删除异常,若学生已经结业,从当前数据库删除选修记录。某些门课程新生尚未选修,则此门课程及学分记录无法保存。,原因:非关键字属性,CREDIT,仅函数依赖于,CNO,,也就是,CREDIT,部分依赖组合关键字(,SNO,,,CNO,)而不是完全依赖。,解决方法:分成两个关系模式,SC1,(,SNO,,,CNO,,,GRADE,),,C2,(,CNO,,,CREDIT,)。,若,R3NF,,则,R,的每一个非主属性既不部分函数依赖于候选码也不,传递函数依赖,于候选码。,如果,R3NF,,则,R,也是,2NF,。,例:如,S1,(,SNO,,,SNAME,,,DNO,,,DNAME,,,LOCATION,)各属性
展开阅读全文