数据库技术与应用(SQL Server)课件_第1页
数据库技术与应用(SQL Server)课件_第2页
数据库技术与应用(SQL Server)课件_第3页
数据库技术与应用(SQL Server)课件_第4页
数据库技术与应用(SQL Server)课件_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

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

文档简介

数据库技术及应用 教材及参考书目 教材 数据库技术与应用 SQLServer 顾兵 清华大学出版社参考书 1 DatabaseSystemConcepts AbrahamSilberschats 机械工业出版社 2 数据库系统概论 王珊 萨斯萱编 高等教育出版社 上机软件 MicrosoftSQLServer2005 成绩计算 平时成绩 30 平时成绩 考勤10 作业10 实验报告10 期末成绩 70 第1章数据库系统概论 本章主要内容 重点难点 数据模型中的实体联系模型 ER模型 关系模型与关系代数 一 基本概念 数据和信息数据处理与数据管理数据库 DB 数据库管理系统 DBMS 数据库系统 DBS 数据与信息 数据数据的定义 描述事物的符号记录数据的种类 文本 图形 图像 音频 视频等信息与数据之间存在着固有的联系 数据是信息的符号表示或称为载体 信息则是数据的内涵 是对数据语义的解释 数据举例 例如 93是一个数据语义1 学生某门课的成绩语义2 某人的体重语义3 计算机系2003级学生人数语义4 数据举例 学生档案中的学生记录 李明 男 197205 江苏南京市 计算机系 1990 语义 学生姓名 性别 出生年月 籍贯 所在院系 入学时间 解释 李明是个男学生 1972年5月出生 江苏南京市人 1990年考入计算机系 数据处理与数据管理 数据处理是指从某些已知的数据出发 推导加工出一些新的数据 这些新的数据又表示了新的信息 数据管理是指数据的收集 整理 组织 存储 维护 检索 传送等操作 这部分操作是数据处理业务的基本环节 而且是任何数据处理业务中必不可少的共有部分 数据处理是与数据管理相联系的 数据管理技术的优劣 将直接影响数据处理的效率 数据库 DataBase 简称DB 是长期存储在计算机内 有组织的 统一管理的相互关联的数据集合 数据库具有以下特点 数据库可由人工或计算机建立 维护与使用 数据库是具有逻辑关系和确定意义的数据集合 可为各种用户共享 具有较小冗余度 数据间联系紧密而又有较高的数据独立性 针对明确应用目标设计 建立和加载表现了现实世界的某些方面 数据库管理系统 DatabaseManagementSystem 简称为DBMS 是位于用户与操作系统 OS 之间的一层数据管理软件 它为用户或应用程序提供访问DB的方法 包括DB的建立 查询 更新及各种数据控制 数据库管理系统主要功能 数据定义功能提供数据定义语言 DDL 定义数据库中的数据对象 数据组织 存储和管理分类组织 存储和管理各种数据确定组织数据的文件结构和存取方式实现数据之间的联系提供多种存取方法提高存取效率 数据库管理系统主要功能 数据操纵功能提供数据操纵语言 DML 实现对数据库的基本操作 查询 插入 删除和修改 数据库的事务管理和运行管理数据库在建立 运行和维护时由DBMS统一管理和控制保证数据的安全性 完整性 多用户对数据的并发使用发生故障后的系统恢复 数据库管理系统主要功能 数据库的建立和维护功能 实用程序 数据库初始数据装载转换数据库转储介质故障恢复数据库的重组织性能监视分析等 其它功能DBMS与网络中其它软件系统的通信两个DBMS系统的数据转换异构数据库之间的互访和互操作 数据库系统 DataBaseSystem 简称为DBS 是实现有组织地 动态地存储大量关联数据 方便多用户访问的计算机硬件 软件和数据资源组成的系统 即它是采用数据库技术的以某一应用领域为应用背景的计算机系统 数据库系统的构成 数据库数据库管理系统 及其开发工具 应用系统程序数据库管理员和用户 数据库系统示意图 应用程序 开发工具 数据库管理系统 DBMS 操作系统 数据库管理员 数据库 用户 用户 二 数据库技术的发展 数据库技术的定义 是由于数据管理任务的需要而产生 用于研究数据库的结构 存储 设计 管理和使用的一门软件学科 在应用需求的推动下 在计算机硬件技术 软件技术快速发展的基础上 数据管理技术的发展经历了人工管理 文件系统 数据库系统3个阶段 1 人工管理阶段 时期 20世纪40年代中 50年代中 特点 数据的管理者 用户 程序员 数据不保存在计算机内 数据面向的对象 某一应用程序数据控制能力 应用程序自己控制 数据的共享程度 无共享 冗余度极大 数据的独立性 不独立 完全依赖于程序 数据的结构化 无结构 应用程序与数据的对应关系系 人工管理阶段 2 文件系统阶段 时期 20世纪60年代特点 数据的管理者 文件系统 数据可长期保存数据面向的对象 某一应用程序数据的共享程度 共享性差 冗余度大数据的独立性 独立性差 数据的逻辑结构改变必须修改应用程序数据的结构化 记录内有结构 整体无结构 应用程序与数据的对应关系 文件系统阶段 3 数据库阶段 时间 20世纪60年代末以来特点 数据结构化 即采用数据模型以表示复杂的数据结构数据共享性高 冗余度低 易扩充数据独立性高数据由DBMS统一管理和控制 数据结构化 整体数据的结构化是数据库的主要特征之一 整体结构化 不再仅仅针对某一个应用 而是面向全组织 不仅数据内部结构化 整体是结构化的 数据之间具有联系 数据库中实现的是数据的真正结构化 数据的结构用数据模型描述 无需程序定义和解释 数据可以变长 数据的最小存取单位是数据项 数据的共享性高 冗余度低 易扩充 数据库系统从整体角度看待和描述数据 数据面向整个系统 可以被多个用户 多个应用共享使用 数据共享的好处 减少数据冗余 节约存储空间 避免数据之间的不相容性与不一致性 使系统易于扩充 数据独立性高 物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的 当数据的物理存储改变了 应用程序不用改变 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的 数据的逻辑结构改变了 用户程序也可以不变 数据由DBMS统一管理和控制 DBMS提供的数据控制功能 1 数据的安全性 Security 保护保护数据 以防止不合法的使用造成的数据的泄密和破坏 2 数据的完整性 Integrity 检查将数据控制在有效的范围内 或保证数据之间满足一定的关系 3 并发 Concurrency 控制对多用户的并发操作加以控制和协调 防止相互干扰而得到错误的结果 4 数据库恢复 Recovery 将数据库从错误状态恢复到某一已知的正确状态 应用程序与数据的对应关系 数据库阶段 三 数据模型 数据模型的有关概念实体 联系模型关系模型 1 关于模型的基本概念 模型 Model 是对现实世界某个对象特征的模拟与抽象 数据模型 DataModel 是对现实世界数据特征的抽象 数据库系统均基于某种数据模型 数据模型是数据库系统的核心与基础 数据模型的分类 根据数据模型的不同应用目的 可划分为两类 1 概念数据模型它是按用户的观点来对数据和信息建模 用于数据库设计 2 逻辑模型和物理模型逻辑模型主要包括网状模型 层次模型 关系模型 面向对象模型等 按计算机系统的观点对数据建模 用于DBMS实现 物理模型是对数据最底层的抽象 描述数据在系统内部的表示方式和存取方法 在磁盘或磁带上的存储方式和存取方法 客观对象的抽象过程 两步抽象现实世界中的客观对象抽象为概念模型 把概念模型转换为某一DBMS支持的数据模型 2 概念模型的表示方法 概念模型是对信息世界建模 概念模型常用的表示方法 实体 联系方法 Entity RaletionshipApproach 简称E R模型 E R模型是用E R图来描述现实世界的概念模型 E R图基本成份 矩形框 用于表示实体类型 考虑问题的对象 菱形框 用于表示联系类型 实体间联系 椭圆形框 用于表示实体类型和联系类型的属性 惟一标识实体的属性 加下划线 概念设计中的数据描述 概念描述 根据用户的需求设计数据库的概念结构 与具体的DBMS无关 实体 entity 客观存在 可以相互区别的事物 实体集 entityset 性质相同的同类实体的集合 属性 attribute 实体每一个特性称为属性 每个属性有一个值域 实体标识符 identifier 能惟一标识实体的属性或属性集 称为实体标识符 也称关键码 key 或简称为键 数据联系的描述 联系 relationship 是实体之间的相互关系 与一个联系有关的实体集个数 称为联系的元数 联系可用实体所组成的元组表示 e1 e2 en 当n 2 称为二元联系 二元联系中实体关系 1 一对一联系 如果实体集E1中每个实体至多和实体集E2中的一个实体有联系 反之亦然 那么实体集E1和E2的联系称为 一对一联系 记为 1 1 E1 E2 二元联系中实体关系 2 一对多联系 如果实体集E1中每个实体可以与实体集E2中任意个 零个或多个 实体间有联系 而E2中每个实体至多和E1中一个实体有联系 那么称E1对E2的联系是 一对多联系 记为 1 N 二元联系中实体关系 3 多对多联系 如果实体集E1中每个实体可以与实体集E2中任意个 零个或多个 实体有联系 反之亦然 那么称E1和E2的联系是 多对多联系 记为 M N 实体间联系示例 多元联系 两个以上实体型之间一对多联系 多元联系 两个以上实体型间的多对多联系 实例供应商 项目 零件三个实体型一个供应商可以供给多个项目多种零件每个项目可以使用多个供应商供应的零件每种零件可由不同供应商供给 单个实体内的联系 同一实体集内各实体之间也可以存在一对一 一对多 多对多的联系 ER模型的设计实例 工程管理 根据需要向供应商订购零件 工程项目需要供应商提供零件分析过程 实体类型 零件PART 工程项目PROJECT 零件供应商SUPPLIER 确定联系类型 PROJECT和PART之间是M N联系 PART和SUPPLIER之间也是M N联系 分别命名为P P和P S 确定实体类型和联系类型的属性 把实体类型和联系类型组合成ER图 确定实体类型的键 确定属性 键及组合E R图 用E R图表示某个工厂物资管理的概念模型实体 仓库 仓库号 面积 电话号码 零件 零件号 名称 规格 单价 描述 供应商 供应商号 姓名 地址 电话号码 帐号 项目 项目号 预算 开工日期 职工 职工号 姓名 年龄 职称说明 1 一个仓库可以存放多种零件 一种零件可以存放在多个仓库中 用库存量来表示某种零件在某个仓库中的数量 2 一个仓库有多个职工当仓库保管员 一个职工只能在一个仓库工作 3 职工之间具有领导 被领导关系 4 一个供应商可以供给多个项目多种零件 每个项目可以使用多个供应商供应的零件 每种零件可由不同供应商供给 3 常用的逻辑数据模型 目前数据库中常用的逻辑数据模型有 层次模型 HierarchicalModel 网状模型 NetworkModel 关系模型 RelationalModel 面向对象模型 ObjectOrientedModel 关系模型 近三十年来 关系数据库产品占有主导地位 关系数据库系统采用关系模型作为数据的组织方式 关系模型成为目前最重要的数据模型 当前 数据库领域的研究也是以关系方法为基础 关系模型的数据结构 关系模型由一组关系组成 每个关系的数据结构是一张规范的二维表 关系模型中的术语 关系 Relation 即所说的规范的二维表 元组 Tuple 表中的一行 一条记录 属性 Attribute 表中的一列 主关键字 Key 可惟一标识一个元组的属性组 域 Domain 属性的取值范围 分量 元组中的一个属性值 关系模式 RelationSchema 对关系的描述 可表示为 关系名 属性1 属性2 属性3 例1定义如下关系模型学生 系 系与学生之间的一对多联系 学生 学号 姓名 年龄 性别 系号 年级 系 系号 系名 办公地点 例2定义如下关系模型系 系主任 系与系主任间的一对一联系系 系号 系名 办公地点 系主任 系号 姓名 例3定义如下关系模型学生 课程 学生与课程之间的多对多联系 学生 学号 姓名 年龄 性别 系号 年级 课程 课程号 课程名 学分 选修 学号 课程号 成绩 关系必须是规范化的 满足一定的规范条件最基本的规范条件 关系的每一个分量必须是一个不可分的数据项 不允许表中还有表下图中工资和扣除是可分的数据项 不符合关系模型要求 术语对比 四 关系模型与关系数据库 采用关系模型作为数据的组织方式的数据库系统称为关系数据库 关系数据库目前仍是数据库应用中的主流技术 1 关系的数学定义 域 Domain 一组具有相同数据类型的值的集合 例 整数 实数 介于某个取值范围的整数 长度指定长度的字符串集合 男 女 笛卡尔积 CartesianProduct 给定一组域D1 D2 D3 Dn 则这些域的笛卡尔积为 D1 D2 D3 Dn d1 d2 d3 dn di Dj i 1 2 n 所有域的所有取值的一个组合 不能重复例 D1 导师集合Supervisor 张清玫 刘逸 D2 专业集合Speciality 计算机专业 信息专业 D3 研究生集合Postgraduate 李勇 刘层 王敏 笛卡尔积 笛卡尔积的表示方法 笛卡尔积可表示为一个二维表 表中的每行对应一个元组 表中的每列对应一个域 元组 Tuple 笛卡尔积中每一个元素 d1 d2 dn 叫作一个n元组 n tuple 或简称元组 Tuple 张清玫 计算机专业 李勇 张清玫 计算机专业 刘晨 等都是元组 分量 Component 笛卡尔积元素 d1 d2 dn 中的每一个值di叫作一个分量 张清玫 计算机专业 李勇 刘晨等都是分量 基数 Cardinalnumber 若Di i 1 2 n 为有限集 其基数为mi i 1 2 n 则D1 D2 Dn的基数M为 思考 关于学生选课 给出3个域 D1 STUDENT 0105 0206 0312D2 COURSE COM MAT ENGD3 TEACHER WU LIU ZHANG说出D1 D2 D3这3个域的笛卡尔积的部分内容 说出上述笛卡尔积的基数 关系 Relation 结构 定义 D1 D2 Dn的子集称为在域D1 D2 Dn上的关系 表示为 R D1 D2 Dn 其中 R 关系名 n 关系的目或度 Degree 因为关系是笛卡尔积的子集 这一部分元组是有实际意义的 因此关系也是一个二维表 SAP关系 2 关系代数 关系代数是一种抽象的查询语言 它通过关系的运算来表达查询 关系代数的运算分为 传统的集合运算 并 交 差和笛卡尔积专门的关系运算 选择 投影 连接和除 关系运算符 辅助运算符 传统的集合运算 并 Union R和S 具有相同的目n 即两个关系都有n个属性 相应的属性取自同一个域 R S 仍为n目关系 由属于R或属于S的元组组成R S t t R t S 差 Difference R和S 具有相同的目n 相应的属性取自同一个域 R S 仍为n目关系 由属于R而不属于S的所有元组组成R S t t R t S 交 Intersection R和S 具有相同的目n 相应的属性取自同一个域 R S 仍为n目关系 由既属于R又属于S的元组组成R S t t R t S R S R R S 笛卡尔积 CartesianProduct R n目关系 k1个元组 S m目关系 k2个元组 R S 列 n m 列元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行 k1 k2个元组 选择 投影 连接 除学生 课程数据库 学生关系Student 课程关系Course和选修关系SC 专门的关系运算 1 选择 Selection 1 选择又称为限制 Restriction 2 选择运算符的含义 在关系R中选择满足给定条件的诸元组 记作 F R F 选择条件 是一个逻辑表达式 基本形式为 X1 Y1其中 表示比较运算符 可是 等 X1 Y1等是属性名 或为常量 属性名也可以用它的序号来代替 3 选择运算是从关系R中选取使逻辑表达式F为真的元组 是从行的角度进行的运算 2 投影 Projection 1 投影运算符的含义 从R中选择出若干属性列组成新的关系 ai aj R ai aj为R中的属性列2 投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列 而且还可能取消某些元组 避免重复行 3 连接 Join 1 连接也称为 连接2 连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组 记作 A和B 分别为R和S上度数相等且可比的属性组 比较运算符连接运算从R和S的广义笛卡尔积R S中选取 R关系 在A属性组上的值与 S关系 在B属性组上值满足比较关系 的元组 3 两类常用连接运算 等值连接 equijoin 什么是等值连接 为 的连接运算称为等值连接 等值连接的含义从关系R与S的广义笛卡尔积中选取A B属性值相等的那些元组 即等值连接为 自然连接 Naturaljoin 自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉 自然连接的含义R和S具有相同的属性组B 4 一般的连接操作是从行的角度进行运算 自然连接还需要取消重复列 所以是同时从行和列的角度进行运算 例5 关系R和关系S如下所示 4 除 Division 给定关系R X Y 和S Y Z 其中X Y Z为属性组 R中的Y与S中的Y可以有不同的属性名 但必须出自相同的域集 R与S的除运算得到一个新的关系P X P是R中满足下列条件的元组在X属性列上的投影 元组在X上分量值x的象集Yx包含S在Y上投影的集合 记作 除操作是同时从行和列角度进行运算 例6 设关系R S分别为下图的 a 和 b R S的结果为图 c 分析 在关系R中 A可以取四个值 a1 a2 a3 a4 a1的象集为 b1 c2 b2 c3 b2 c1 a2的象集为 b3 c7 b2 c3 a3的象集为 b4 c6 a4的象集为 b6 c6 S在 B C 上的投影为 b1 c2 b2 c1 b2 c3 只有a1的象集包含了S在 B C 属性组上的投影所以R S a1 关系R S如下表所示 R Al A2 1 3 S 的结果为 A d B c d C c d 8 D a b b a c d d f 综合举例 以学生 课程数据库为例 例7 查询至少选修1号课程和3号课程的学生号码首先建立一个临时关系K 然后求 例8 查询选修了2号课程的学生的学号 例9 查询至少选修了一门其直接先行课为5号课程的的学生姓名 例10 查询选修了全部课程的学生号码和姓名 关系代数运算的应用举例 设教学数据库中的4个基本关系如下 教师关系T T Tname Title 课程关系C C Cname T 学生关系S S Sname Age Sex 选课关系SC S C Score 运算举例 学习课程号为C2课程的学生学号与成绩学习课程号为C2课程的学生学号与姓名至少选修Liu老师所授课程中一门课程的学生学号与姓名选修课程号为C2或C4的学生学号至少选修课程号为C2和C4的学生学号不学C2课程的学生姓名与年龄学习全部课程的学生姓名所学课程中包含学生S3所学课程的学生学号 教师关系T T Tname Title 课程关系C C Cname T 学生关系S S Sname Age Sex 选课关系SC S C Score Answer S Score C C2 SC S Sname C C2 SSC S Sname Tname Liu SSCCT S C C2 C C4 SC 1 1 4 2 C2 5 C4 SC SC Sname age S Sname age C C2 SSC Sname S S C SC C C S C SC C S S3 SC 五 数据库体系结构 数据库系统的三级模式结构数据库的二级映像功能与数据独立性 数据库系统的三级模式结构 模式 Schema 外模式 ExternalSchema 内模式 InternalSchema 数据库系统的三级模式结构 一 模式 Schema 模式 也称逻辑模式 数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图 综合了所有用户的需求 一个数据库只有一个模式 模式的地位 是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关 与具体的应用程序 开发工具及高级程序设计语言无关 模式定义 数据的逻辑结构 数据项的名字 类型 取值范围等 数据之间的联系 数据有关的安全性 完整性要求 二 外模式 ExternalSchema 外模式 也称子模式或用户模式 数据库用户 包括应用程序员和最终用户 使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图 是与某一应用有关的数据的逻辑表示 外模式的地位 介于模式与应用之间 模式与外模式的关系 一对多 外模式通常是模式的子集 一个数据库可以有

温馨提示

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

评论

0/150

提交评论