




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理及应用 主讲教师 孙海霞联系方式 284407152 教学要求 1理论课认真听讲 记笔记 不能讲话不能旷课2上机课积极做好每次布置的任务 不能玩游戏 2 教学安排及能力要求 第一章数据库基础第三章创建和管理数据库第四章操作表与视图第五章数据查询与操作第六章T SQL语法第七章索引与数据完整性第八章存储过程与触发器第九章SQLServer2005高级开发第十一章SQLServer2005维护管理第十二章基于C S结构的数据库开发技术 第一章数据库基础 1 1数据库系统简介1 2数据库的体系结构1 3数据模型1 4常见关系数据库1 5Transact SQL简介 1 1数据库系统简介 1 1 1数据库技术的发展数据管理技术的发展过程人工管理阶段 20世纪50年代中期 文件系统阶段 50年代末 60年代中 数据库系统阶段 60年代末 现在 1人工管理阶段 时期40年代中 50年代中产生的背景应用需求科学计算硬件水平只有卡片 纸带 磁带 无直接存取存储设备软件水平没有操作系统和管理数据的软件处理方式批处理 人工管理阶段的特点如下 1 数据不保存因为当时计算机主要用于科学计算 对于数据保存的需求尚不迫切 2 系统没有专用的软件对数据进行管理每个应用程序都要包括数据的存储结构 存取方法 输入方式等 程序员编写应用程序时 还要安排数据的物理存储 因此程序员负担很重 3 数据不共享数据是面向程序的 一组数据只能对应一个程序 多个应用程序涉及某些相同的数据时 也必须各自定义 因此程序之间有大量的冗余数据 4 数据不具有独立性程序依赖于数据 如果数据的类型 格式 或输入输出方式等逻辑结构或物理结构发生变化 必须对应用程序做出相应的修改 在人工管理阶段 程序与数据之间的关系可用图1 1表示 图1 1人工管理阶段 2文件系统阶段 时期50年代末 60年代中产生的背景应用需求科学计算 数据管理硬件水平磁盘 磁鼓软件水平有专门管理数据的软件 文件系统处理方式联机实时处理 批处理 在文件系统阶段 程序与数据之间的关系可用图1 2表示 图1 2文件系统阶段 文件系统阶段的特点如下 1 数据可以长期保存用户可随时对文件进行查询 修改和增删等处理 2 由文件系统管理数据程序员只与文件名打交道 不必明确数据的物理存储 大大减轻了程序员的负担 3 共享性差 数据冗余大各数据文件之间没有有机的联系 一个文件基本上对应于一个应用程序 数据不能共享 4 数据独立性差数据和程序相互依赖 一旦改变数据的逻辑结构 必须修改相应的应用程序 而应用程序发生变化 如改用另一种程序设计语言来编写程序 也需修改数据结构 3数据库系统阶段 时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理 分布处理 批处理 数据库系统阶段 程序与数据之间的关系可用图1 3表示 图1 3数据库系统阶段 数据库系统阶段的特点如下 1 数据共享性高 冗余少这是数据库系统阶段的最大改进 数据不再面向某个应用程序而是面向整个系统 当前所有用户可同时存取库中的数据 这样便减少了不必要的数据冗余 节约存储空间 同时也避免了数据之间的不相容性与不一致性 2 数据结构化按照某种数据模型 将整个系统的各种数据组织到一个结构化的数据库中 整个系统的数据不是一盘散沙 可表示出数据之间的有机关联 3 数据独立性高无论是逻辑结构发生变化还是物理结构发生变化都不会引起应用程序的变化 即确保了数据逻辑独立性和物理独立性 4 有统一的数据控制功能数据库为多个用户和应用程序所共享 对数据的存取往往是并发的 即多个用户可以同时存取数据库中的数据 甚至可以同时存取数据库中的同一个数据 为确保数据库数据的正确有效和数据库系统的有效运行 数据库管理系统提供对数据的控制功能 1 1 2数据库系统的组成 数据库系统 DataBaseSystem DBS 是采用数据库技术的计算机系统 是由数据库 数据库管理系统 数据库管理员 硬件和软件5部分组成的运行实体 1 数据库 数据库 DataBase DB 顾名思义 是存放数据的仓库 数据库的定义数据库 Database 简称DB 是长期储存在计算机内 有组织的 可共享的大量数据集合 数据库数据的基本特点 永久存储 有组织 可共享 数据库 举例 数据库 续 数据库的特征减少数据的冗余度 节省数据的存储空间 具有较高的数据独立性和易扩充性 实现数据资源的充分共享 2数据库管理系统 什么是DBMS数据库管理系统 DatabaseManagementSystem 简称DBMS 是位于用户与操作系统之间的一个数据管理软件 它为用户或应用程序提供访问DB的方法 包括DB的建立 查询 更新及各种数据控制 DBMS的用途科学地组织和存储数据 高效地获取和维护数据 DBMS的主要功能 1 数据存取的物理构建为数据模式的物理存取与构建提供有效的存取方法与手段 2 数据定义功能提供数据定义语言 DDL 定义数据库中的数据对象3 数据操作功能提供数据操纵语言 DML 操纵数据实现对数据库的基本操作 查询 插入 删除和修改 4 数据库的运行管理保证数据的安全性 完整性 多用户对数据的并发使用发生故障后的系统恢复5 数据库的建立和维护功能初始数据的输入和转换数据库的转储和恢复数据库的性能监视和分析等 3数据库管理员 数据库管理员 DataBaseAdministrator DBA 是对数据库进行规划 设计 维护和监视的专业管理人员 在数据库系统中起着非常重要的作用 1 2数据库的体系结构 数据库具有一个严谨的体系结构 这样可以有效地组织 管理数据 提高数据库的逻辑独立性和物理独立性 数据库领域公认的标准结构是三级模式结构 1 2 1数据库三级模式结构数据库系统的三级模式结构是指模式 外模式和内模式 其结构如图1 5所示 图1 5数据库系统的三级模式结构 1 模式又称逻辑模式或概念模式 是数据库中全体数据的逻辑结构和特征的描述 是所有用户的公共数据视图 定义模式时不仅要定义数据的逻辑结构 而且要定义数据之间的联系 以及与数据有关的安全性和完整性要求 一个数据库只有一个模式 它处于三层结构的中间层 2 外模式又称子模式或用户模式 是三级结构的最外层 是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述 是数据库用户的数据视图 数据库中某个用户一般只会用模式中的一部分记录 有时甚至只需要某一记录中的若干字段 因此 外模式是模式的一个逻辑子集 一个数据库可以有多个外模式 3 内模式又称存储模式 是三级结构中的最内层 是对数据物理结构和存储结构的描述 是数据在数据库内部的表示方式 在数据库系统中 外模式可有多个 而概念模式 内模式只能各有一个 内模式是整个数据库实际存储的表示 而概念模式是整个数据库实际存储的抽象表示 外模式是概念模式的某一部分的抽象表示 1 2 2数据库系统的二层映射数据库系统的三级模式是对数据的三个抽象级别 它使用户能逻辑地处理数据 而不必关心数据在计算机内部的存储方式 把数据的具体组织交给DBMS管理 为了能够在内部实现这三个抽象层次的联系和转换 DBMS在三级模式之间提供了二层映射功能 1 外模式 模式映象数据库中的同一模式可以有任意多个外模式 对于每一个外模式 都存在一个外模式 模式映象 它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系 如果数据库的概念模式要修改 例如增加记录类型或增加数据项 那么只要对外模式 模式映象做相应的修改 就可以使外模式和应用程序保持不变 这样就保证了数据的逻辑独立性 2 模式 内模式映象数据库中的模式和内模式都只有一个 所以模式 内模式映象是唯一的 它确定了数据的全局逻辑结构与存储结构之间的对应关系 例 如果数据库的内模式要修改 即数据库的物理结构有所变化 那么只要对模式 内模式映象做相应的修改即可 这样可使其概念模式仍保持不变 即对内模式的修改不会影响概念模式 更不会影响外模式和应用程序 即确保了数据的物理独立性 1 3数据模型 1 3 1数据模型的概念数据模型是数据库系统的核心与基础 是描述数据与数据之间的联系 数据的语义 数据一致性约束的概念性工具的集合 数据模型通常由数据结构 数据操作和完整性约束三个要素组成 数据结构是对系统静态特征的描述 描述对象包括数据的类型 内容以及数据之间的相互关系 2 数据操作是对系统动态特征的描述 是对数据库中各种对象的操作 如数据的查询 插入 删除和修改等 3 完整性约束是一组完整性规则的集合 它定义了给定数据模型中数据及其联系所具有的制约和依存规则 用来保证数据的正确 有效和相容 例如 在学生数据库中 学生的年龄不得超过40岁 1 3 2常见的数据模型常见的数据模型有层次模型 网状模型和关系模型 这三种数据模型的根本区别在于数据结构不同 即数据之间联系的表示方式不同 层次模型用 树结构 来表示数据之间的联系 网状模型是用 图结构 来表示数据之间的联系 关系模型是用 二维表 来表示数据之间的联系 1层次模型层次模型用树型结构表示各类实体以及实体间的联系 现实世界中 许多实体之间的联系都表现出一种很自然的层次关系 如家族关系 行政机构等 层次模型的特征 1 每棵树有且仅有一个结点没有双亲 称为根结点 2 根以外的其他结点有且仅有一个双亲结点 这就使得层次数据库系统只能直接处理一对多的实体关系 图1 9是层次模型有向树的示意图 结点A为根结点 F G为叶结点 B D为兄结点 图1 9层次模型有向树的示意图 例如 以下是一个层次模型的例子 如图1 10所示 图1 10TS数据库模型 教师T 2网状模型用有向图结构表示实体类型及实体间联系的数据模型称为网状模型 用网状模型编写的应用程序极其复杂 且数据的独立性较差 网状模型的特征 1 有一个以上的结点没有双亲 2 至少有一个结点可以有多于一个双亲 即允许两个或两个以上的结点没有双亲结点 允许某个结点有多个双亲结点 则此时有向树变成了有向图 该有向图描述了网状模型 如 学生和课程间的关系 一个学生可以选修多门课程 一门课程可以由多个学生选修 如图1 11所示图1 11学生与课程的网状模型 3关系模型关系模型用二维表来描述数据 在关系模型中 每个表有多个字段列和记录行 每个字段列有固定的属性 关系模型的数据结构简单 清晰 具有很高的数据独立性 因此是目前主流的数据模型 关系模型的基本术语 关系 一个二维表就是一个关系 元组 表中的一行 即表中的记录 属性 表中的一列 用类型和值表示 域 属性值的取值范围 如性别的域为 男 女 主键 能唯一确定一个元组的某个属性组 关系模式 对关系的描述 一般表示为 关系名 属性1 属性2 属性n 横的一行称为一个元组 记录 纵的一列称为一个属性 字段 表头给出属性名 字段名 关系模型的完整性约束 实体完整性 关系中主键的值不能为空或部分为空 例如 关系学生 学号 姓名 性别 专业号 年龄 中 主键为 学号 则 学号 不能取空值 在关系选修 学号 课程号 成绩 中 学号 课程号 为主键 则 学号 和 课程号 两个属性都不能取空值 参照完整性 关系的外键必须是另一个关系主键的有效值或者是空值 S 学生关系 D 系别关系 图2 2学生表和系别表如图2 2所示 学生关系中某个学生 如s1或s2 系别 的取值 必须在参照的系别关系中主关系键 系别 的值中能够找到 否则表示把该学生分配到一个不存在的部门中 显然不符合语义 如果某个学生 如s11 系别 取空值 则表示该学生尚未分配到任何一个系 用户自定义完整性 用户定义完整性是针对某一具体关系数据库的约束条件 它反映某一具体应用所涉及的数据必须满足的语义要求 例如 属性值根据实际需要 要具备一些约束条件 如选课关系中成绩不能为负数 性别取值只能为 男 或 女 等 关系模型应该提供定义和检验这类完整性的机制 以便用统一的 系统的方法处理它们 而不要由应用程序承担这一功能 1 3 3关系的规范化 关系数据库中的每一个关系都要满足一定的规范 我们把这种规范称为范式 第一范式在一个关系中消除重复字段 且各字段都是最小的逻辑存储单位 第二范式属于第一范式 且关系中每一个非主关键字都完全依赖于主关键字 不能部分依赖 第三范式属于第一范式 且关系中所有非主关健字都只依赖于主关健字 且无传递依赖 1 3 4关系数据库的设计原则 数据库设计是指对于一个给定的应用环境 根据用户的需求 利用数据模型和应用程序模拟现实世界中该应用环境的数据结构和处理活动的过程 1 3 5实体与关系 实体是指客观存在并可相互区别的事物 实体既可以是实际的事物 也可以是抽象的概念 实体间的三种关系 一对一关系 表A中的一条记录在表B中有且仅有一条记录相匹配 一对多关系 表A中的行可以在表B中有许多匹配行 但是表B中的行在表A中只有一个匹配行 多对多关系 关系中每个表的行在相关表中具有多个匹配行 1 4常见关系数据库 1 Access数据库2 SQLserver2000数据库3 SQLserver2005数据库4 Oracle数据库 1 6Transact SQL简介 Transact SQL是SQLserver2005在SQL基础上添加了流程控制语句后的扩展 是标准SQL的超集 简称T SQL 1Transact SQL语法2Transact SQL语言分类 1 3数据模型 1 4 1三个世界的划分数据库是个单位或组织需要管理的全部相关数据的集合 它不仅要反映数据本身的内容 而且要反映数据之间的联系 由于计算机不能直接处理现实世界中的具体事物 所以人们必须将具体事物转换成计算机能够处理的数据 而这个工具就是数据模型 为了把现实世界中的具体事物抽象 组织为某一DBMS支持的数据模型 在实际的数据处理过程中 首先将现实世界的事物及联系抽象成信息世界的信息模型 然后再抽象成计算机世界的数据模型 在数据处理中 数据加工经历了现实世界 信息世界和计算机世界三个不同的世界 经历了两级抽象和转换 这一过程如图1 6所示 图1 6数据处理的抽象和转换过程 1 4 1 1信息世界中的基本概念在信息世界中 常用的主要概念如下 1 实体 Entity 客观存在并且可以相互区别的 事物 称为实体 实体可以是可触及的对象 如一个学生 一本书 一辆汽车 也可以是抽象的事件 如一堂课 一次比赛等 2 属性 Attributes 描述实体的某一特性称为属性 如学生实体有学号 姓名 年龄 性别 系等方面的属性 属性有 型 和 值 之分 型 即为属性名 如姓名 年龄 性别是属性的型 值 即为属性的具体内容 如 990001 张立 20 男 计算机 这些属性值的集合表示了一个学生实体 3 实体型 EntityType 若干个属性型组成的集合可以表示一个实体的类型 简称实体型 如学生 学号 姓名 年龄 性别 系 就是一个实体型 4 实体集 EntitySet 同型实体的集合称为实体集 如所有的学生 所有的课程等 5 键 Key 能唯一标识一个实体的属性或属性集称为实体的键 如学生的学号 学生的姓名可能有重名 不能作为学生实体的键 6 域 Domain 属性值的取值范围称为该属性的域 如学号的域为6位整数 姓名的域为字符串集合 年龄的域为小于40的整数 性别的域为 男 女 7 联系 Relationship 在现实世界中 事物内部以及事物之间是有联系的 这些联系同样也要抽象和反映到信息世界中来 在信息世界中将被抽象为实体型内部的联系和实体型之间的联系 实体内部的联系通常是指组成实体的各属性之间的联系 实体之间的联系通常是指不同实体集之间的联系 反映实体型及其联系的结构形式称为实体模型 也称作信息模型 它是现实世界及其联系的抽象表示 两个实体型之间的联系有如下三种类型 1 一对一联系 1 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国电动洁面仪行业产业运行态势及投资规划深度研究报告
- 2025至2030中国甲基异丁基甲酮行业产业运行态势及投资规划深度研究报告
- 2025至2030中国生日蜡烛行业产业运行态势及投资规划深度研究报告
- 2025至2030中国甘草霜行业产业运行态势及投资规划深度研究报告
- 2025至2030中国特殊群体教育行业市场深度研究及发展前景投资可行性分析报告
- 《护理值班与交接班制度》考试试题
- 商业培训的未来之路AR技术的应用与推广研究
- 培养情绪智力提升学生综合能力的关键
- 商业环境中技术风险管理的策略与方法
- 教育数字化转型的实践与探索
- 广东省珠海市香洲区2023-2024学年五年级下学期语文期末考试试卷(含答案)
- 2025天然气管道工程安装合同协议书
- 2025-2030中国烟草行业市场深度调研及发展策略研究报告
- 导热油购买合同协议
- 驻唱歌手合同协议
- 银行安全培训
- 医学教育中的临床试验实践教学探索
- 燃气行业法律法规培训
- 【初中地理】七年级地理下册全册期末总复习(课件)-2024-2025学年七年级地理课件(人教版2024年)
- 2024年陇南市武都区佛崖镇招聘专职化村文书笔试真题
- 《烟花爆竹安全》课件
评论
0/150
提交评论