




已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章电子商务数据库基础 本章提要 数据库系统概述 关系模型 关系数据库和完整性规则 关系数据库管理系统的三级结构 关系数据库语言及关系数据库产品简介 本章目录 1 1数据库系统概述1 2数据模型1 3关系数据库的结构1 4关系数据库语言1 5关系数据库产品简介 1 1数据库系统概述 1 1 1数据库的基本概念1 1 2电子商务数据库 Web数据库与数据库服务器1 1 3客户 服务器体系结构的数据库系统 1 1 1数据库的基本概念 数据 Data 信息 Information 和数据处理数据库 Database 数据库管理系统 DBMS 数据库系统 DBS 1 信息 信息是一种已经被加工为特定形式的数据 这种数据形式对接收者来说是有意义的 而且对当前和将来的行动和决策具有明显的或实际的价值 2 数据 数据是信息的载体 是信息的具体表示形式 是数据库中存储的基本对象 数据的定义将现实世界中的各种信息记录下来的 可以识别的物理符号 数据的种类数字 文字 图像 声音等多种表现形式 数据与信息的关系信息是数据所包括的意义 数据则是承载信息的物理符号 3 数据处理 数据处理的定义利用计算机对各种形式的数据进行处理 从中获取有价值的信息并用于决策的过程 数据处理包括数据采集 整理 编码和输入 有效地把数据组织到计算机中 由计算机对数据进行一系列存储 维护 加工 检索 传输 输出等操作 数据管理数据处理中的数据收集 整理 编码 存储 维护 检索 传输等基本操作环节称为数据管理 3 数据处理 续 数据与信息的关系 4 数据库 数据库 Database DB 是长期存储在计算机内的 有组织的 可共享的数据集合 这些数据集合按一定的结构 数据模型 组织 描述和存储 具有较小的冗余度 减少数据重复存储 较高的数据独立性 数据与使用它的程序相互独立 和易扩展性 并为各种用户共享 多个用户同时对数据进行读写 4 数据库 续 举例目前 我们常用的数据库称为关系数据库 它采用关系模型来组织数据 从用户的观点来看 关系数据库由若干个规范的二维表组成 学生表 5 数据库管理系统 数据库管理系统 DatabaseManagementSystem DBMS 是在操作系统支持下位于用户与操作系统之间的一种对数据库进行管理的系统软件 DBMS在确保数据 安全可靠 的同时 提高用户使用 数据 的简明性和方便性 用户对数据的一切操作 包括数据定义 数据查询 数据更新及数据库运行的各种控制 都是通过DBMS进行的 5 数据库管理系统 续 数据库管理系统的功能 数据库定义功能建立或修改数据库的逻辑结构 数据库 表 索引 视图等对象 数据库存取功能对数据库中的数据进行查询和更新 插入 修改和删除 操作 数据库控制功能对数据库安全性 完整性和并发性 多用户对数据的并发使用 进行有效的控制和管理 数据库的建立维护功能进行数据库转储 恢复 重组织 系统性能监视 分析等数据库维护工作 6 数据库系统 数据库系统 DatabaseSystem DBS 是指计算机系统中引入数据库后的系统 通常由计算机硬件平台 软件平台 操作系统 数据库管理系统及其软件开发工具 编译系统和应用系统等 数据库和数据库用户构成 6 数据库系统 续 数据结构化数据采用数据模型来表示 实现整体数据结构化 数据共享 数据冗余度可控数据面向整个系统 可被多个用户 多个应用共享使用 减少了重复存储 使冗余可控 具有较高的数据独立性数据与使用它的程序相互独立 最大程度减少由于数据的变动引起应用程序的修改 简化了应用程序的开发和维护工作 统一的数据控制功能提供数据安全性控制 数据完整性控制 并发性控制和数据恢复 将损坏的数据库从错误状态恢复到某一已知的正确状态 四个方面的数据控制功能 6 数据库系统 续 数据库系统结构 7 数据库用户 数据库用户指那些能够登录到数据库管理系统 并能够对数据库进行存取操作的人员 数据库用户构成数据库管理员 全面负责数据库系统的管理和维护工作 保证数据库正常使用 开发人员 负责设计和开发应用程序 最终用户 在终端上通过应用程序员编写的应用程序存取数据库中数据 或者直接使用DBMS提供的语言访问数据库 1 1 2电子商务数据库 Web数据库与数据库服务器 电子商务与Internet电子商务数据库Web数据库Web服务器与数据库服务器 1 电子商务与Internet 通过Internet 跨越时空限制 以极快的速度及方便的形式实现的商品交易 这就是Internet上的电子商务 2 电子商务数据库 电子商务数据库是将数据库技术应用到电子商务中 利用数据库存储商务数据 3 Web数据库 Web数据库是数据库技术与Web结合的产物 Web数据库利用浏览器作为输入 输出界面 输入所需的数据 并通过网络将这些数据传给Web服务器 Web服务器再对这些数据进行处理 然后将处理后的数据通过数据库管理系统存入数据库 或者数据库管理系统根据用户的请求 对数据库进行查询操作 查询结果由Web服务器返回给浏览器 浏览器再提供给用户 4 Web服务器与数据库服务器 Web服务器当一台计算机的操作系统中安装了能提供Web服务的软件后 这台计算机在Internet中就称为Web服务器 数据库服务器当一台Web服务器上安装了数据库管理系统后 该服务器也就变成了数据库服务器 1 1 3客户 服务器体系结构的数据库系统 客户 服务器两层结构客户 服务器三层结构浏览器 服务器结构 1 客户 服务器两层结构 由数据库服务器 运行DBMS软件的计算机 和客户机 运行应用程序的计算机 两个部分构成 它们之间通过计算机网络相互通信 如下图所示 1 客户 服务器两层结构 续 优点将数据库系统在服务器和客户机之间进行合理的分割 充分发挥客户机的处理能力 充分利用客户机良好的图形用户界面与用户进行交互 提高了系统的易用性 具有很好的开放性 缺点只适用于局域网 客户机需要安装专用的客户端软件 系统的安装维护工作量大 升级成本非常高 2 客户 服务器三层结构 数据库系统分解成三个层次 表示层 用户层 业务层和数据层 它们在逻辑上相互独立 如下图所示 前端应用程序1 前端应用程序2 前端应用程序n 2 客户 服务器三层结构 续 与两层结构相比 其优点如下 系统维护 管理简单具有灵活的可伸缩的硬件构成处理逻辑简单便于安全管理 3 浏览器 服务器结构 由客户机 Web服务器和数据库服务器构成 客户机通过浏览器 如IE 向Web服务器发出请求 Web服务器 如IIS或Apache 执行相应的程序访问数据库服务器 如MSSQLServer 然后将结果以HTML页面送客户机的浏览器显示 3 浏览器 服务器结构 续 与C S三层结构相比 其优点如下 系统维护 管理简单 客户机上不需要安装其他的应用程序 只需要安装浏览器软件和某些插件 适用于Internet和Intranet环境 它可以支持移动办公和更为广泛的用户 系统的用户只要能够连接到Internet 无论是在办公室还是在外地出差 都可以随时使用系统 突破了传统的C S三层结构的限制 实现了更大程度的信息共享 1 2数据模型 1 2 1数据模型的概念1 2 2实体联系模型1 2 3关系模型与关系数据库1 2 4关系模型的完整性规则 1 2 1数据模型的概念 在数据库中用数据模型这个工具来抽象 表示现实世界中某个应用环境 一个企业 单位或部门 所涉及的各种图 表 单据等数据集合 数据模型应当满足三方面要求能比较真实地模拟现实世界中各种事物及其复杂的联系容易为人所理解便于在计算机上实现根据模型应用的不同目的 可划分为 概念模型结构数据模型 1 概念模型 概念模型独立于计算机系统 完全不涉及数据在计算机系统中的表示 按用户的观点在信息世界对数据建模 强调其语义表达能力概念模型在数据库设计中用来实现从现实世界到信息世界的抽象 进行数据库概念设计 它是用户和数据库设计人员之间交流的语言 最常用的概念模型是实体联系 EntityRelationship E R 2 结构数据模型 结构数据模型简称为数据模型 结构数据模型按计算机系统的观点对数据建模 是数据库管理系统实现的模型 它包含数据结构 数据操作和数据完整性约束三个部分 数据模型的三要素 常用的结构数据模型主要包括网状模型 层次模型 关系模型和面向对象模型等 任何一种数据库管理系统都是基于某种数据模型的 并按该数据模型来组织数据 数据库管理系统也是以此来命名的 其中关系模型是当今最流行的数据模型 因此目前我们使用的数据库管理系统基本上都属于关系模型数据库管理系统 简称关系数据库管理系统 1 2 2实体联系模型 三个世界与两级抽象实体联系模型 1 三个世界与两级抽象 现实世界的事物及其在计算机世界中相应的数据模型可通过两级抽象来实现 现实世界的主要概念 现实世界中存在各种各样的事物 事物 就是能够区别开来的东西 特征 每个事物都有许多特征 其中有些为主要特征 例如 教师的特征可以有教师编号 姓名 性别 年龄 学历 职称等 但实际管理中 只选取那些我们感兴趣的特征 如工资管理中 只选取编号 姓名 基本工资 补贴等 联系 世界上事物千千万万 千差万别 但它们之间都有着某种联系 信息世界中的主要概念 实体现实世界中存在并且可以相互区别的人或物或抽象的事物 属性表示实体的某种特征称为属性 实体型用实体名及其属性名集合来表示具有相同属性的同类实体 实体集同一个实体型中实体的集合称为实体集 实体键在实体集中能够把某个实体个体与其他实体个体区分开来 能唯一标识一个实体的属性集合 信息世界中的主要概念 续 不同实体集之间的联系 多对多联系 m n 一对多联系 1 n 一对一联系 1 1 计算机世界的主要概念 信息世界中的信息模型被抽象为数据库管理系统实现的数据模型 数据模型将实体集内部属性之间的联系抽象为记录之间的联系 即字段之间的联系 将实体抽象为记录 实体集抽象为文件 即用文件来描述的同一类记录的集合 将实体集之间的联系抽象为表之间记录与记录的联系 2 实体联系模型 实体联系模型是按用户的观点在信息世界中对现实世界中的数据建模 模型使用E R图来描述某一组织所有的实体 实体属性以及实体间的联系 用矩形框表示实体集 框内写上实体名 用椭圆形框表示属性 属性名写在椭圆形框内 属性与实体集之间用无向边连接 如果该属性是实体键 要在属性名下画一横线 用菱形框表示实体集之间的联系 菱形框内写上联系名 用线段分别与有关实体集连接 在线段边上标出联系的种类 1 m m n或1 1 若实体集之间的联系也具有属性 则把属性和菱形边也用线段连接上 2 实体联系模型 续 课程 教师 m n 学生 实体 属性 联系 E R模型实例 1 2 3关系模型与关系数据库 关系模型关系模式与关系关系数据库模式与关系数据库 关系模型 关系模型是用规范的二维表结构来表示实体以及实体间联系的模型 关系模型的组成关系数据结构 一组关系结构组成的集合关系操作集合 主要包括对表进行查询与更新 插入 修改和删除 数据的操作关系完整性规则 对表进行数据更新操作必须满足的一组约束条件 关系模型 续 关系模型的数据结构由规范的二维表结构组成 在关系模型中 将规范的二维表称为关系 每个关系由关系名 关系结构和关系实例组成 对应于规范的二维表的表名 表框架 表头 和表中的行 一个规范的二维表由行和列组成 除第一行 表头 以外 表的每一行称为一条记录 或元组 表中的每一列称为一个字段 或属性 每个字段有字段名 字段数据类型和宽度 字段的取值范围称为值域 表头的各列给出了各个字段的名称 关系模型 续 数据结构 关系键 关系名 STUDENT 性别 字段的取值 男 或 女 关系模型 续 关系的性质表中的每个字段值必须是一个值 不能是值的集合 字段值必须是同质的 即同一属性的各个值应是同类型的数据 在同一个表中不能出现相同的字段名 表中不允许有完全相同的记录 即每行记录必须是唯一的 在一个表中记录的次序是任意的 在一个表中字段的次序是任意的 关系模型 续 关系中的键关系键在表中能唯一标识记录且不包括多余字段的字段组合称为该表的关系键 候选键若某些表中具有关系键的特性的最小字段组合有多个 即一个表中有多个关系键 那么这些关系键都称为该表的候选键 主键为了唯一地标识表中的每一条记录 保证记录的唯一性 每个表都必须选择一个候选键作为主键 每个表只能有一个主键 对于任意一个表 主键一经选定 通常是不能随意改变的 主键也称为主关系键 键或主码 关系模型 续 外部键如果关系R2的一个或一组属性X不是R2的关系键 而是另一关系R1的关系键 则该属性或属性组X称为关系R2的外部键 也称外部关系键或外键 外部关系键在两个表间起着连接和参照作用 学生关系 课程关系 学习成绩关系 外键 外键 主键 主键 关系模式与关系 关系模式对关系结构 表结构 的描述 关系模式通常可以简记为 关系名 字段名1 字段名2 字段名n 关系是关系模式在某一时刻的存储的值 其值是动态的 随时间不断变化的 一般情况下 关系模式和关系往往统称为关系 可通过上下文加以区别 关系数据库模式与关系数据库 关系数据库模式是对关系数据库结构的描述 由若一组关系模式组成的集合 例如 学生关系模型中STUDENT COURSE和SC关系的结构的可用下面的一组关系模式表示 STUDENT 学号 姓名 年龄 性别 系名 COURSE 课程号 课程名 学时数 SC 学号 课程号 成绩 关系数据库是在一个给定的应用领域中所有表的集合 例如 学生关系数据库由学生表STUDENT 课程表COURSE和选课表SC三个表组成 1 2 4关系模型的完整性规则 实体完整性规则参照完整性规则用户定义完整性规则 1 实体完整性规则 规则关系键不能取重复值 空值或部分空值 目的定义了表中记录的唯一性 不能有重复的记录 不存在没有被标识的记录 实例 不能重复 不能为空 2 参照完整性规则 规则如果关系R2的外部关系键X与关系R1的 主 关系键相符 那么外键X的每个值必须在关系R1中有对应的关系键的值 或者取空值 目的定义了外部关系键与关系键的引用规则 外部关系键的值要根据参照的关系键的值进行检查 参照该关系键的列值以确定其合法性 保持数据的一致性 不引用不存在的实体 外部关系键与关系键对应可实现两个表的关联 实例 职工表 R2 部门表 R1 关系键 外键 参照 空值 3 用户定义完整性规则 规则用户定义的完整性是针对某一具体的实际数据库的约束条件 它由应用环境所决定 例如属性的取值范围约束数据的输入格式约束数据类型 类型 长度 精度等 约束空值的约束等 1 3关系数据库的结构 1 3 1关系数据库的三层结构1 3 2二级映像与数据独立性 1 3 1关系数据库的三层结构 关系数据库管理系统把数据库从逻辑上分为三层 通常称为关系数据库的三级逻辑结构 对三层数据库中的每一层数据库都有一个框架 称为结构 基本表B1 视图V1 基本表B3 基本表B4 存储文件S1 存储文件S2 基本表B2 视图V2 SQL 子模式层 模式层 内模式层 下图表示了一个用户的子模式 他看到的数据库由基本表B1 视图V1和视图V2构成 在关系数据库中可构建多个子模式 但只能有一个模式和一个内模式 1 3 2二级映像与数据独立性 二级映像数据独立性 1 二级映像 关系数据库的三层逻辑结构之间存在二级映像 一级是子模式层与模式层之间 另一级是模式层与内模式层之间 优点保证了数据的独立性 简化了用户接口 有利于数据共享和数据的安全保密 模式 内模式映像确定了关系数据库和存储文件之间的对应关系 子模式 模式映像确定了子模式与视图和基本表之间的对应关系 2 数据独立性 物理独立性当修改存储文件时 由数据库管理员对模式层 内模式层的映像做相应改变 使基本表结构尽可能保持不变 把存储结构的变化的影响限制在模式层之下 因此不必修改应用程序 从而保证了数据与程序的物理独立性 这种特性简称为数据的物理独立性 逻辑独立性当关系数据库发生变化时 由数据库管理员对子模式 模式的映像做相应改变 可使子模式尽可能保存不变 由于应用程序是依据数据的子模式编写的 从而不必修改应用程序 保证了数据与程序的逻辑独立性 这种特性简称为数据的逻辑独立性 1 4关系数据库语言 1 4 1关系代数1 4 2SQL语言 关系数据库语言概述 为了准确地 没有二义性地表示关系的操作 人们用数学语言将查询表示成为一个关系运算表达式 关系运算可分为关系代数和关系演算两大类 其中最常用的是关系代数运算 因此 关系运算构成了早期建立和发展各类关系数据语言的原理和方法 由于关系代数和关系演算是一种用数学表达式表示的抽象的查询语言 在计算机上直接表示不易实现 因此 关系数据库管理系统实际提供给用户的并不是上述的关系代数或关系演算语言 而是在此基础上创建的高级 方便和功能更强的结构化查询语言 StructuredQueryLanguage SQL 1 4 1关系代数 关系代数是施加于关系上的一组集合代数运算 每个运算都以一个或多个关系作为运算对象 并生成另外一个关系作为该关系运算的结果 基本的关系代数运算分两类 传统的集合运算专门的关系运算 1 传统的集合运算 并并运算 关系R和关系S的所有记录合并 再删去重复的记录 组成一个新关系称为R与S的并 实例 R S R S 删除重复记录 1 传统的集合运算 续 差差运算 关系R和关系S的差是由属于R而不属于S的所有记录组成的集合 即在关系R中删去与S关系中相同的记录 组成一个新关系 实例 R S R S 删除在S中已有的相同记录 1 传统的集合运算 续 交交运算 关系R和关系S的交是由既属于R又属于S的记录组成的集合 即在两个关系R与S中取相同的记录 组成一个新关系 实例 R S R S 取在R和S中同时存在的记录 1 传统的集合运算 续 广义笛卡儿积广义笛卡儿积 关系R和关系S的广义笛卡儿积是由R中的每一条记录都分别和S中的所有记录进行连串 组成的新关系 新关系的记录数等于R和S的记录乘积 新关系的字段数为R与S两个关系字段数之和 实例 R S R S 2 专门的关系运算 选取选取 f R 在指定的关系中选取满足给定条件的记录 组成一个新关系的运算 其中 表示选取 f表示选取条件 R表关系 实例 从S中选取性别SEX为 男 的同学记录 sex 男 S S 2 专门的关系运算 续 投影投影 A R 在指定的关系中 选取指定的若干字段 组成一个新的关系的运算 其中 表示投影 A表示投影字段 R表关系 实例 在S中对学号SNO和姓名SN进行投影 SNO SN S S 2 专门的关系运算 续 连接连接两个表按连接字段上给定的连接条件 将把第一个关系中的所有记录逐个与第二个关系的所有记录按条件进行连接 连串 即选择两个关系在连接字段上满足条件的记录拼接成一个新的关系的运算 实例 S1与S2在院系号DNO上的等值连接 S1 S2 2 专门的关系运算 续 自然连接自然连接按连接字段上给定的连接条件 把第一个关系中的所有记录逐个与第二个关系的所有记录进行连接 连串 即选择两个关系在连接字段上满足条件的记录拼接成一个新的关系的运算 实例 S1与S2在院系号DNO上的自然连接 S1 S2 1 4 2SQL语言 SQL语言是关系数据库的标准语言 SQL语言的特点 类似于自然语言英语 简洁 易学 易用 是一种非过程语言 是一种面向集合的语言 每一个SQL命令的操作对象是一个或多个关系 操作的结果是一个新关系 语言一体化 既可独立使用 又可嵌入到宿主语言中使用 具有自含型和宿主型两种特点 具有查询 操作 更新和控制四种语言一体化的特点 1 4 2SQL语言 续 SQL不是一个应用系统的开发语言 应用系统的大部分代码都不是SQL 它只是DBMS或应用软件开发语言的一部分 完成对数据库的数据查询和更新的操作 因此 用SQL开发任何一个数据库应用系统 例如电子商务系统 财务系统等 都需要用另一种系统开发语言 例如VisualBasic来实现屏幕控制 菜单管理 报表生成等功能 SQL语言的功能定义 定义数据库结构 查询 从数据库中查询数据 更新 对数据库中的数据进行插入 修改 和删除操作 控制 对数据库进行维护 用户授权等 1 5关系数据库产品简介 1 5 1Oracle1 5 2Sybase1 5 3DB21 5 4MicrosoftSQLServer1 5 5Access1 5 6VisualFoxPro 1 5 1Oracle Oracle是Oracle公司的数据库管理系统产品名称 Oracle采用标准的SQL语言 支持多种数据类型 提供面向对象存储的数据支持 具有第四代语言开发工具 支持UNIX VMS Windows
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技师考试题库及答案详解
- 森林防灭火知识培训简报课件
- 森林防火知识培训课件
- 梭菌基础知识培训课件
- 2025年软件架构师面试攻略与热点预测题解析
- 《招标采购专业实务》模拟试题及答案
- 2025年药品安全操作规程题解
- 2025驾照检验考试试题及答案
- 2025年医生招聘考试题库及答案解析
- 2025年政府公务员考试模拟试题及标准答案详解
- 幼儿园卫生保健新生家长会课件
- 劳务合同通用模板电子下载
- 我国糖尿病视网膜病变临床诊疗指南2022解读
- 藏在生活中的数学:张景中教你学数学
- 图书供货项目实施方案
- 第6章 Pandas基础与应用
- 护理礼仪与人际沟通第3版第三章护士服饰礼仪
- (通用版)代理合同书
- 血液中乙醇的测定顶空气相色谱法
- 物业承接查验移交资料清单
- 工信部规《通信建设工程安全生产操作规范》
评论
0/150
提交评论