SQL Server 2005数据库原理与应用简明教程1~2章.ppt_第1页
SQL Server 2005数据库原理与应用简明教程1~2章.ppt_第2页
SQL Server 2005数据库原理与应用简明教程1~2章.ppt_第3页
SQL Server 2005数据库原理与应用简明教程1~2章.ppt_第4页
SQL Server 2005数据库原理与应用简明教程1~2章.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库编程要求,期末成绩70%,平时成绩30% 项目组,抽查某一个人,成绩是整个项目组的 上课提问10% 作业10% (抽查) 出勤10% (点名时间),第1章 数据库基础知识,学习目标: 掌握数据、信息、DB、DBS、DBMS等基本概念 了解数据库技术的演变,掌握数据仓库、数据挖掘 了解数据库系统的作用和应用领域 了解常见的数据库系统 掌握数据库系统的结构和组成 了解数据库的开发过程,数据库概述 数据库是存储数据、管理信息和共享资源的地方,数据 库技术是当前发展最为迅速的领域之一。 基本概念 数据与信息(要着重理解数据与信息之间的区别和联系); 数据库; 数据库系统,不仅包含数据和信息,还包

2、含各种软硬件资源和各类技术人员; 数据库管理系统,位于用户和操作系统之间,解决数据的组织和存储问题,以及如何高效地获取和维护数据。包括数据定义功能、数据操作功能、系统映射功能、数据库运行和管理功能、数据库建立和维护功能等。,数据库基础知识,数据管理技术的产生和发展 人工管理阶段 文件管理阶段 数据库管理阶段 数据仓库 分布式数据库 面向对象数据库 多媒体数据库 移动数据库 注:应着重理解不同阶段数据管理技术的特点。,数据库基础知识,数据库系统的应用 超市销售系统 铁路售票系统 银行业务系统 图书馆管理系统 教学管理系统 注:以上只是列举了数据库系统在日常生活中的一些常见应用,可试着举其他例子,

3、并根据它们的特点,判断是否是数据库系统。 常见的数据库管理系统 大型商业数据库SQL Server、Oracle 、DB 2 桌面数据库Access 、Visual FoxPro 开源数据库MySQL,数据库基础知识,数据库系统的体系结构 内部架构:外模式模式内模式的三级模式结构(数据库管理系统角度) 外部架构:单用户结构、主从式结构、分布式结构、客户机/服务器结构等(数据库终端用户角度) 模式 模式的特点:数据库中全体数据的逻辑结构和特征的描述, 仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体 值称为模式的一个实例(Instance),同一个模式可以有很多 实例。模式反映的数据的结构及

4、其联系,而实例反映的是数 据库某一时刻的状态。,数据库基础知识,理解: 一个数据库只有一个模式; 是数据库数据在逻辑级上的视图; 数据库模式以某一种数据模型为基础; 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。,外模式(External Schema) 定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。,理解: 一个数据库可以有多个

5、外模式; 外模式就是用户视图; 外模式是保证数据安全性的一个有力措施。,内模式定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。,理解: 一个数据库只有一个内模式; 一个表可能由多个文件组成,如:数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法 其目的有: 为了减少数据冗余,实现数据共享; 为了提高存取效率,改善性能。,数据库的三级模式结

6、构 注:理解外模式模式映射、模式内模式映射的机制和作用。,数据库基础知识,数据库系统的组成 注:理解并掌握数据库系统中各部分组成要素及其在数据库系 统中的作用。,数据库基础知识,数据库的设计流程 结构化生命周期法:把数据库系统的开发从初始到结束划分为 若干个预先规定好任务的阶段,然后按照一定的准则来按部就 班地完成数据库的设计。 原型法:考虑到人本身的灵活、多变、依经验行事的特点而产 生的数据库设计方法,其基本思想是并非所有需求都能预先定 义,反复修改是不可避免的。,数据库基础知识,第2章 关系数据库及其设计理论,学习目标: 掌握概念模型、逻辑模型、物理模型的定义及作用 了解层次模型和网状模型

7、,掌握关系模型 理解关系数据库的定义及其与关系模型的联系 掌握关系模型的3类完整性约束 掌握函数依赖和关系数据库的规范化设计理论,关系模型 关系模型是当前应用最为广泛的数据模型,是许多厂商推出 的商品化数据库系统的理论基础,如SQL Server、Oracle、 DB 2、Access等。 数据模型 数据模型是对现实世界数据特征的抽象,它是数据库系统设 计的基础。 概念模型:信息模型,按照用户的观点来对数据和信息 建模; 逻辑模型:从计算机的角度对数据进行建模,主要由数 据库设计人员完成,用于DBMS的实现; 物理模型:对数据最底层的抽象,描述的是数据的具体 存储方式和存取方法,由DBMS实现

8、。,关系数据库及其设计理论,关系数据库及其设计理论,概念模型、逻辑模型、物理模型间的关系,关系数据库及其设计理论,关系模型的数据结构 关系模型建立在严格的数学定义基础之上,由一组关系组 成,清晰、易懂且易用,大大简化了程序开发及数据创建的 工作量,从用户角度看,每个关系模型的数据结构就是一张 规范化的二维表。 关系、元组、属性、属性名、域、分量、主键、候选键、超键,关系模型的特点 关系模型建立在严格的数据概念基础之上; 关系模型的概念单一,无论是实体还是实体之间的联系都用关系来表示,用户对数据的操作都是从原二维表中得到另外一个二维表,因而易于理解、操作方便、简单; 关系是规范化的关系,即关系必

9、须满足一定条件; 关系模型的存取路径相对用户透明,因而保证了数据的独立性和更好的安全性,同时简化了程序员的工作和数据库开发工作。 注:关系模型的缺陷在于存储路径相对用户透明,且查询 效率较低。,关系数据库及其设计理论,关系数据库 关系数据库是支持关系模型的数据库系统 关系操作,关系数据库及其设计理论,笛卡尔积,选择:又称为限制,是指在关系R中选择满足给定条件的元组,如 从书籍信息关系中选择出定价高于30.00元的所有元组等。 投影:从关系R中挑选出若干个属性并组成新的关系,投影实际上 是从属性的角度来进行的运算,例如从书籍信息关系中挑选出书 名、作者这两个属性组成新的关系。 连接:从两个关系的

10、笛卡尔积中选择属性间满足一定条件的元组, 例如从书籍信息关系和出版社信息关系的笛卡尔积中选择书名为 “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上投影的集 合。,关系数据库及其设计理论,关系的完整性 实体完整性:关系的主码不能取空值,或者说任何关系中每个元组的主

11、码不能为空。 参照完整性:在两个参照和被参照关系中,参照关系中每个元组的外码或者为空,或者等于被参照关系中某个元组的主码。 对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一不改其二,就会影响数据的完整性:例如修改父表中关键字值后,子表关键字值未做相应改变;删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录;对于子表插入的记录,父表中没有相应关键字值的记录 用户自定义完整性:关系中的每个属性除了用定义域或对应的数据类型进行取值约束外,有时还需要定义一些附加条件约束,即对关系中任一属性的取值所作出的限定。,关系数据库及其设计理论,关系数据库的设计理论 又称为关系数据库的

12、规范化理论,是数据库逻辑结构设计的 一个有力工具,主要研究如何构造一个适合关系数据库的数 据库模式。 函数依赖 完全函数依赖 部分函数依赖 传递函数依赖 关系模式的范式 第一范式、第二范式、第三范式、BC范式、第四范式等,关系数据库及其设计理论,第一范式的定义 如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。 关系模式实例 下面是满足第一范式的(不好的)关系模式的例子。例如:设有一关系模式R(S#,C#,G,TN,D),其中(S#)为学号,C#为课程号,G为成绩,TN为任课教师姓名,D为教师所在系名,这些数据具有下列语义:,(1) 学号是一个学生的标识,课程号是一门课程的标识。

13、 (2) 一位学生所修的每门课程都有一个成绩。 (3) 每门课程只有一位任课教师,但一位教师可以教多门课。 (4) 教师中没有重名,每位教师只属于一个系。,虽然上述的关系模式只有四个属性,但它是一个不好的关系模式,因为该模式在使用过程中有以下几个问题: (1) 数据冗余。例如,教师所在系名对选该教师所开课的所有学生都重复输入一次。 (2) 插入异常。由于关系的主键S#, C# 不能为空值,如果一个教师不教课,则这位教师的姓名及所属的系名就不能插入表中。 (3) 删除异常。如果所有学生都退选某一门课,则有关该门课的其它数据(任课教师名及所在系名)也将被删除。 (4) 修改异常。如果改变一门课的任

14、课教师,则需要修改表中选修该门课程的多行记录,如果部分修改,部分不修改,则会导致数据的不一致。,SCG(S#, C#, G) CTN(C#, TN) TND(TN, D),第二范式 若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的主码,则R2NF。 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。,例:选课关系 SCI(SNO,CNO,GRADE,CR

15、EDIT)其中SNO为学号, CNO为课程号,GRADEGE 为成绩,CREDIT 为学分。 由以上条件,关键字为组合关键字(SNO,CNO) 在应用中使用以上关系模式有以下问题: a.数据冗余,假设同一门课由40个学生选修,学分就 重复40次。 b.更新异常,若调整了某课程的学分,相应的元组CREDIT值都要更新,有可能会出现同一门课学分不同。 c.插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入。 d.删除异常,若学生已经结业,从当前数据库删除选修记录。某些门课程新生尚未选修,则此门课程及学分记录无法保存。 原因:非关键字属性CREDIT仅函数依赖于

16、CNO,也就是CREDIT部分依赖组合关键字(SNO,CNO)而不是完全依赖。 解决方法:分成两个关系模式 SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。,若R3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。 如果R3NF,则R也是2NF。 例:如S1(SNO,SNAME,DNO,DNAME,LOCATION) 各属性分别代表学号,姓名,所在系,系名称,系地址。 关键字SNO决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF。但这关系肯定有大量的冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删

17、除和修改时也将产生类似以上例的情况。,原因:关系中存在传递依赖造成的。即SNO - DNO。 DNO - LOCATION, 因此关键字 SNO 对 LOCATION 函数决定是通过传递依赖 SNO - LOCATION 实现的。 解决目地:每个关系模式中不能留有传递依赖。 解决方法:分为两个关系 S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION) 注意:关系S中不能没有外关键字DNO。否则两个关系之间失去联系。,BC范式 在第三范式的基础上,关系模式中如果不存在任何字段对任一候选码的传递函数依赖,则符合BC范式,BC范式通常认为是第三范式的修正。 (仓库ID, 存储

18、物品ID,管理员ID,数量) 函数依赖:(仓库ID,存储物品ID)-(管理员ID,数量),(管理员ID,存储物品ID)-(仓库ID,数量),(仓库ID)-(管理员ID)和(管理员ID)-(仓库ID)主关键字依赖 删除异常: 插入异常: 更新异常: (仓库ID,管理员ID)和(仓库ID,存储物品ID,数量),关系模式的范式化 指依据关系模式的规范化理论,将关系模式进行分解,转换 为若干个高一级范式的关系模型的过程。,关系数据库及其设计理论,关系数据库及其设计理论,范式应用设计论坛数据库 关系模式在进行规范化时,不一定要强制满足范式的要求, 应根据具体情况来进行设计。,关系数据库及其设计理论,数据库的恢复与并发控制 事务的基础知识 事务: 事务的特性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持续性(durability),即ACID特性。 SQL 事务处理模型:ISO事务处理模型和Transact-SQL事务处理模型。,BEGIN TRANSACT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论