




已阅读5页,还剩158页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019年5月1日,第5章 数据库技术基础,5.1 数据库系统的基本概念 5.2 数据模型 5.3 关系数据库 5.4 数据库设计与管理 5.5 关系数据库标准语言SQL 5.6 Access 技术,主要内容,2019年5月1日,第5章 数据库技术基础,掌握数据库的基本概念 掌握数据模型和关系代数运算 掌握数据库设计方法和步骤 掌握关系数据库标准语言 SQL 掌握Access技术,目标要求,2019年5月1日,第5章 数据库技术基础,5.1.1 信息和数据 信息:是人脑对现实世界中事物的状态、运动方式和特征的描述。 数据: 是描述事物所使用的符号。 数据的种类: 文字、图形、图像和声音,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.2 数据库技术的发展 1.数据处理 数据处理: 是指对数据的收集、组织、整理、加工、存储和传播等工作。 电子数据处理:用电子计算机进行的数据处理称为电子数据处理(Electronic Data Processing),简称为EDP。 (1)数据管理:是数据处理的核心和基础. (2)数据加工: (3)数据传播:,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.2 数据库技术的发展 2.数据处理技术的发展过程 人工管理、文件系统和数据库技术等3个阶段(*) 1) 人工管理阶段:50年代中期 (1)数据不保存:没有磁盘,无法保存数据 (2)由应用程序管理数据:没有操作系统 (3)数据不共享:即使两个不同应用涉及到相同的数 据,也必须各自定义,无法互相利用、互相参照 (4)数据不具有独立性:数据无法独立于程序,它是 程序的组成部分,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.2 数据库技术的发展 2. 数据处理技术的发展过程 1) 人工管理阶段:50年代中期,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.2 数据库技术的发展 2.数据处理技术的发展过程 2)文件系统阶段(50年代后期60年代中期),5.1 数据库系统的基本概念,提供了简单的数据共享 数据仍存在相当程度的冗余,2019年5月1日,第5章 数据库技术基础,5.1.2 数据库技术的发展 2.数据处理技术的发展过程 3)数据库系统阶段(60年代后):,5.1 数据库系统的基本概念,数据共享度高、冗余度小,2019年5月1日,第5章 数据库技术基础,5.1.3 数据库系统组成 数据库系统(Database System,DBS)是以数据库为核心的完整的运行实体。它由以下五部分组成: 数据库(DB) 数据库管理系统(DBMS) 数据库管理员(Database Administrator,DBA):对数据库进行规划、设计、维护和监视等工作的人员。 系统硬件平台: 计算机、网络等硬件配置。 系统软件平台: 操作系统、DBS开发工具(程序设计语言及接口软件。,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.3 数据库系统组成 1.数据库 (Database,DB) 数据库是长期存储在计算机内、有组织的和可共享的数据集合。 数据库中数据的特点: 数据库中数据的特点是“集成”和“共享”,即数据库中集中了各种应用的数据,进行统一的构造和存储,而使它们可被不同应用程序所使用。,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.3 数据库系统组成 2.数据库管理系统(DBMS) 数据库管理系统 (Database Management System) 是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。它位于应用程序和操作系统中间,是整个数据库系统的核心。 常用的DBMS: Foxpro、 Access、Oracle和SQLServer等,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.3 数据库系统组成 3.数据库管理员(DataBase Administrator,DBA) 仓库保管员 数据库管理系统 具体地说,这个保管员要: 检查仓库的数据是否被允许(数据的定义问题), 如何摆放最好(数据的结构问题), 如何更快找到用户需要的数据并提取出来(数据的操纵问题) 数据如何不被坏人提走(数据的安全性问题) 如何处理多个人同时来提货(并发控制问题) 当多个人同时来提货时,为了提高效率那么就可以一次拿几张单子,顺路把需要的数据都取出来.,5.1 数据库系统的基本概念,2019年5月1日,第5章 数据库技术基础,5.1.4 数据库系统的三级模式结构和两级映射 1.数据库系统的三级模式 1)概念模式(又称模式): 是数据库中全体数据的逻辑结构和特征的描述。一个数据库只有一个概念模式,它与具体硬件、软件环境无关。 2)外模式(又称子模式或用户模式):用户所见到的数据模式,即用户数据视图。是数据库局部数据的逻辑结构和特征的描述。一个概念模式可以有若干个外模式。 3)内模式(又称物理模式或存储模式): 给出了数据库的物理存储结构与物理存取方法,即数据在数据库内部的表示方式。一个数据库只有一个内模式。,5.1 数据库系统的基本概念,2019年5月1日,三级模式图,内模式 (物理数据库),数据库,概念模式 (概念数据库),应用,应用,应用,外模式 (用户数据库),外模式 (用户数据库),外模式 (用户数据库),数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。,体现了数据库的总体观,体现了数据库的用户观,体现了数据库的存储观,2019年5月1日,第5章 数据库技术基础,5.1.4 数据库系统的三级模式结构和两级映射 1.数据库系统的三级模式 三级模式总结 外模式: 最外层,反映用户对数据的要求。 概念模式:中层,反映设计者的全局数据逻辑要求。 内模式: 最低层,反映了数据在计算机物理结构中的 实际存储形式。,5.1 数据库系统的基本概念,三级模式划分意义: 有利于保持数据库的数据独立性,2019年5月1日,第5章 数据库技术基础,5.1.4 数据库系统的三级模式结构和两级映射 2.数据库系统的两级映射 1)外模式到概念模式: 定义了外模式与概念模式的对应关系。每个外模式是概念模式的一个基本视图。 2)概念模式到内模式: 定义了数据的全局逻辑结构与数据的物理存储结构间的对应关系.,5.1 数据库系统的基本概念,2019年5月1日,三级模式、两种映射关系图,内模式 (物理数据库),数据库,概念模式 (概念数据库),应用,应用,应用,外模式 (用户数据库),外模式 (用户数据库),外模式 (用户数据库),概念模式 映射 内模式,外模式 映射 概念模式,两级映射一般由DBMS实现,保证了数据库系统中数据的逻辑独立性和物理独立性,2019年5月1日,第5章 数据库技术基础,5.2.1 数据模型的三要素 1.数据结构: 主要描述数据的类型、内容及数据间的联系,是对系统静态特性的描述。 2.数据操作: 主要描述在相应数据结构上可进行的操作(检索、插入、排序等),是对系统动态特征的描述。 3.数据完整性约束: 主要描述数据结构内数据间的语法、语义联系,他们之间的制约与依存关系,必须遵守的通用的完整性约束,是一组完整性规则的集合,从而保证数据的正确性、有效性。,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.1 数据模型的三要素 数据模型的分类 概念数据模型:简称概念模型,是按用户的观点对客观事物建模,该模型独立于计算机系统,与具体的数据库管理系统无关。主要用于数据库设计,较为有名的概念模型有ER模型、面向对象模型等。 逻辑数据模型:又称数据模型,它是一种面向数据库系统的模型,概念模型只有在转换成数据模型后才能在数据库中得以表示。逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型等。 物理数据模型:又称物理模型,此模型给出数据模型在计算机上物理结构的表示。,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.2 概念数据模型 概念数据模型是面向数据库用户的现实世界的模型,主要用来描述现实世界的概念化结构. E-R模型是一种广泛使用的概念数据模型,该模型将现实世界的要求转化成实体、联系、属性等几个基本概念,并可用 E-R图直观地表示出来。,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.2 概念数据模型-E-R模型的基本概念 1)实体(Entity) : 客观存在并可相互区别的事物。如一个 学生、一个学院、学生的一次选课。 实体集(Entity Set): 同种实体的集合,全体学生就 是一个实体集。 2)属性(Attribute),5.2 数据模型,实体所具有的某一特性,一个实体可以由若干个属性值来描述。如学生实体可以由“学号、姓名、性别、出生日期”等属性的属性值(20061001, 张三,男,1988-5-6)来描述。,2019年5月1日,第5章 数据库技术基础,5.2.2 概念数据模型-E-R模型的基本概念 关键字:如果某个属性或多个属性的值可以唯一地标识一条记录,则该属性或属性的组合称为关键字。 主关键字或主码:如果一个关键字是用以区别每条记录的唯一性标志,并作为该表与其他表实现关联的,则称为主关键字或主码。 如学生学号,可作为学生实体的主码 人的身份证号可作为人实体的主码.,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.2 概念数据模型-E-R模型的基本概念 3) 联系:现实世界中事物间的联系。,5.2 数据模型,实体内部的联系:指实体的各属性之间的联系。 如出生年份和年龄,总成绩和各科成绩。 “职员”实体的“岗位”属性与“工资等级”属性之间就有一定的联系(约束)。 实体之间的联系:指不同实体之间的联系。,分类,2019年5月1日,第5章 数据库技术基础,5.2.2 概念数据模型-E-R模型的基本概念 3)联系:现实世界中事物间的联系。,5.2 数据模型,三种联系:,一对一: 简记1:1,一对多: 简记1:m,A中一个实体同B中多个实体相联系 B中的一个实体只可同A中一个实体相联系,多对多: 简记m:n,A中一个实体同B中多个实体相联系 B中的一个实体可同A中多个实体相联系,学校 校长,班级 学生,老师 学生,A中一个实体至多同B中的一实体相联系 B中的一个实体也至多同A中的一个实体相联系,2019年5月1日,第5章 数据库技术基础,5.2.2 概念数据模型-E-R模型的的图示法 (1) 实体集:用矩形表示,矩形内写上实体集的名字。 (2) 属性: 用椭圆形表示属性,其内写上属性名称。 (3) 联系: 用菱形表示联系,其内写上联系名。 (4) 实体集(联系)与属性间的联接关系: 用无向线段表示. (5) 实体集与联系间的联接关系: 用无向线段表示,在线上标注联系类型(1:1、1:n、n:m) 。,5.2 数据模型,2019年5月1日,1:1模型,5.2.2 概念数据模型 E-R模型,班长,学号,姓名,年龄,负责,1,1,性别,班级,班号,班主任,班名,1,2019年5月1日,1:n 模型,5.2.2 概念数据模型 E-R模型,学生,学号,姓名,年龄,组成,1,1,性别,班级,班号,班主任,班名,n,2019年5月1日,m:n模型,5.2.2 概念数据模型 E-R模型,2019年5月1日,系、教研室等五个实体的E-R模型,2019年5月1日,第5章 数据库技术基础,5.2.3 逻辑数据模型 逻辑数据模型是用户从数据库中所看到的模型,是具体的DBMS所支持的数据模型,有层次模型、网状模型、关系模型、面向对象模型等。 1. 层次模型: 层次模型将现实世界的不同事物抽象成自上而下的树型层次结构。,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.3 逻辑数据模型 2. 网状模型:用网状结构表示实体及其之间联系的模型称为网状模型, 反映现实世界事物间复杂的联系。,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.3 逻辑数据模型 3.关系模型:采用二维表来表示,表由行和列组成。,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.4 E-R图到关系模型的转换 定义: 根据实体及其联系模型生成数据库中的表,并确定表的列。 规则: 每个独立实体转换为一个关系,即二维表,然后根据E-R图中各实体联系方式的不同,用不同的方法实现关系之间的联系。,5.2 数据模型,2019年5月1日,举例:一个实体E-R模型转换为关系表,学生实体E-R图,表中的列就是E-R图中 实体所具有的属性,转 换,2019年5月1日,第5章 数据库技术基础,5.2.4 E-R图到关系模型的转换 两个实体三种不同联系方式的E-R图转换 1.一对一联系: 两个实体集转换为关系,在两实体对应的任一关系中多设一个属性作为外键(此外键是与之关联的实体的主键)。,5.2 数据模型,2019年5月1日,举例:两个实体:一对一联系,实体: 系 属性:系编号、系名字、系性质,E-R图,系,系编号,系名字,系性质,系主任,年龄,姓名,实体: 系主任 属性:年龄、姓名,5.2.4 E-R图到关系模型的转换 两个实体三种不同联系方式的E-R图转换,2019年5月1日,举例:两个实体:一对一联系,实体: 系 属性:系编号、系名字、系性质,E-R图,系,系编号,系名字,系性质,系主任,年龄,姓名,实体: 系主任 属性:年龄、姓名,拥有,1,1,导出,系(系编号,系名字,系性质) 系主任 (年龄,姓名,系编号),关 系,5.2.4 E-R图到关系模型的转换 两个实体三种不同联系方式的E-R图转换,2019年5月1日,两个实体的E-R图,三种不同联系方式的E-R图转换,举例:两个实体:一对一联系,系(系编号,系名字,系性质) 系主任 (年龄,姓名,系编号),即,(1)一对一联系:两个实体集转换为关系,在两实体对应的任一关系中多设一个属性作为外键(此外键是与之关联的实体的主键)。,外 键,5.2.4 E-R图到关系模型的转换 两个实体三种不同联系方式的E-R图转换,2019年5月1日,第5章 数据库技术基础,5.2.4 E-R图到关系模型的转换 2.一对多联系:两个实体集转换为关系,把“一”方实体的主键纳入“多”方实体对应的关系中作为外键。,5.2 数据模型,2019年5月1日,第5章 数据库技术基础,5.2.4 E-R图到关系模型的转换 3.多对多联系:两个实体集转换为关系,再为联系单独建立一个关系。该关系中包含联系双方实体的主键。,5.2 数据模型,学生(学号,姓名,班级) 课程(编号,名称,学分) 成绩(学号,编号,成绩),关系,新关系包含了两个多对多实体的主键及其联系属性,2019年5月1日,第5章 数据库技术基础,5.3.1 关系数据模型 用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型。关系就是二维表格。,5.3 关系数据库,关系数据库是基于关系数据模型的数据库。特点之一是很多数学理论可以表示关系模型的数据操作。,2019年5月1日,关系模型的结构,学生人事记录表,关系名,关系,元组(行、记录),属性(列),是5元关系,主码,男 女,域,分量:属性值,关系模式:学生(学号、姓名、性别、年龄、籍贯),属性名,2019年5月1日,第5章 数据库技术基础,5.3.1 关系数据模型 1.关系模型的基本术语: 元组(记录):表格中每一行称作一个元组,也称为记录。 分量:元组中每一个属性值称为元组的一个分量,一个 元组是由n个元组分量(列)组成。 n元关系:每一列是一个属性,列名为属性名。如果表 格有n列(n个属性),该关系是n元关系。 候选键(码):在众多的属性中,可唯一标识元组的属性 或属性集合叫候选键或码。 域:属性的取值范围,如属性“性别”的域包括“男”或“女” 。,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.1 关系数据模型 2. 关系模型的特点: (l) 表格中的每一列都是不可再分的,每行和每列的 相交点仅包含单个值; (2) 任何列中的值必须是同一类型的,各列被指定 一个相异的名字; (3) 各行相异,不允许重复; (4) 行、列次序随意。,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.1 关系数据模型 3.关系模型基本操作: (1)插入:在关系中增添一些元组(记录) 。 (2)删除:在关系中删除一些元组(记录) 。 (3)修改:对关系中的某些元组(记录),修 改其属性值。 (4)查询:在一个关系或多个关系间做查询,查 询的结果也为关系。,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数,5.3 关系数据库,传统的集合运算: 完全把关系看作元组集合。如并、交、差、广义笛卡尔积运算。 专门的关系运算: 选择、投影和连接运算,这类运算表达了实用系统中应用最普遍的查询操作。,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 1.传统的集合运算 1)并运算U: R, R和是同类型关系,结果也是关系, 其元组由R元组、元组组成(去除重复元组)。,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 1.传统的集合运算 2)差运算: R,R和S的差是由属于R但不属于S的元组 构成的集合。,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 1.传统的集合运算 3)交运算: R S,是由那些既在R内又在S内的有序元组组成,5.3 关系数据库,图5-12 集合RS,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 1.传统的集合运算 4)笛卡尔积运算 对于两个关系的合并操作可以用笛卡尔积表示。设有n元(即n列)关系R及m元(即m列)关系S,分别有p、q个元组(或记录),关系R与S经笛卡尔积记为RS:这是一个n+m元关系,元组个数是pq,由R与S的有序组组合而成。 即在新关系中: 列数:两个源关系中列之和 行数:两个源关系中行数的乘积,5.3 关系数据库,笛卡尔积运算举例,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 2.专门的关系运算 1)选择运算() (针对关系中的某些行操作) 在关系中选取满足给定条件的所有元组(即记录): F (R) =t | t R F(t)=真 , 其中:F为选择条件,是一个逻辑表达式 例: 对学生选课登记表查询,查询所有选修 “软件工程”的学生。,5.3 关系数据库,举例:对学生选课登记表查询,查询所有选修”软件工程”的学生。,选择运算,选修课程“软件工程” (学生选课登记表),举例:对学生表查询,查询年龄等于18岁的女生,年龄= 18 性别=“女”(学生表),2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 2.专门的关系运算 2)投影运算() (针对关系中的某些列操作) 从关系中取出若干属性(列),组成一个新关系。 记作:x (R) = t X | t R X为R中的属性 例如:对学生选课登记表进行查询,查询出学生 姓名与选修课程的对应关系,就可利用投影操作,得 到满足要求的结果关系。,5.3 关系数据库,2019年5月1日,举例:对学生选课登记表查询,查询学生和选修课程对应关系 姓名,选修课程 (学生选课登记表),投影运算,2019年5月1日,举例:查询学生表中年龄小于19岁的学生的姓名及所在系:, 姓名, 所在系 (年龄 19 (学生表)),记住:投影对列,选择对行,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 2.专门的关系运算 3) 自然连接: 将两个具有公共属性的关系,按公共属性值相等的条件连接成一新的关系。,5.3 关系数据库,注意:自然连接后的关系中只保留一个学号属性,不能有两个学号属性。,3) 自然连接:,2019年5月1日,第5章 数据库技术基础,5.3.2 关系代数 关系运算小结: 1.关系运算中的交、并和差运算要求的条件是运算 前的两个关系是同类型的,即两个关系中的属性名(表 中的第1行)及属性的类型必须一致。 2.笛卡尔积运算(), 两个关系不要求具有相同的 属性。 3.自然连接是将两个具有公共属性的关系,按公共 属性值相等的条件连接成一新的关系,要求两个关系中 有一个同类型的公共属性。,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.3 关系数据库的规范化理论 一个数据库应用系统往往涉及到多方面的复杂的数据信息。例如,在学生管理信息系统中,要涉及到学生、院系、宿舍、课程、成绩等数据。再例如,在产品销售数据库中设计到产品、类别、仓库、销售单、销售明细单等数据。 如何将所涉及到的数据组织存入到数据库中?是放在一个表中存放还是分放在几个表中存放?每个表应由哪些属性组成?怎样设计才是科学合理的呢? 解决之法是用RDB设计理论:规范化理论,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.3 关系数据库的规范化理论 建立一个关系数据库系统,首先要考虑怎样建立数据模式,即应该构造几个关系模式,每个关系模式中需要包含哪些属性等,这是数据库设计的问题。关系规范化主要讨论的就是建立关系模式的指导原则,所以有人把关系数据库规范化理论称为设计关系数据库的规范化理论。,5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.3 关系数据库的规范化理论 1.关系模型的完整性规则(*) 定义:是对关系的某种约束条件,通过三类完 整性约束条件描述。 1)实体完整性: 关系中的主关键字不能为空。如学生关系中的“学号”属性值不能为空。(一个关系对应现实世界的一个实体集,关系中每个元组对应一个实体。实体都具有唯一性标识。),5.3 关系数据库,2019年5月1日,第5章 数据库技术基础,5.3.3 关系数据库的规范化理论 1.关系模型的完整性规则(*) 1)实体完整性:关系中的主关键字不能为空。 2)参照完整性:关系中外关键字的取值,只能是空值或 外键对应关系的主键值。 外键:A是关系R中一属性,同时又是关系S主键,则A为R 外键 例:学生(学号,姓名,年龄,性别,专业号) 专业(专业号,专业名称),5.3 关系数据库,“学号”是关系“学生”中的主关键字,输入时值不能为空。 “专业号”是关系“专业”的外键: 空值:表示尚未给该学生分配专业 非空值:必须是目标关系“专业”关系中某个元组的“专业号”值,2019年5月1日,职工表(R2),部门表(R1),主键,外键,参照完整性例,外键的取值,只能是空值或外键对应关系的主键值。,2019年5月1日,第5章 数据库技术基础,5.3.3 关系数据库的规范化理 1.关系模型的完整性规则(*) 3)用户定义完整性: 通常定义除主关键字与外关键字之外的其他属性取值的约束。用户定义具体数据库时,由具体应用环境来决定应满足的约束条件。,5.3 关系数据库,例: 性别(男,女) 成绩(0100)或(0-150) 课程学分(13),2019年5月1日,第5章 数据库技术基础,成功的数据库设计是应用系统开发的基础。 数据库设计是一项非常复杂的工作,必须严格按照工程化步骤实施。 数据库设计还需要丰富的经验。 数据库设计要求形成规范完整的文档资料。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,基本任务:根据用户对象的信息需求、处理需求和数据库支持 环境(硬件、操作系统与DBMS),设计出数据模式。,5.4 数据库设计与管理,信息需求:主要是指用户需要从数据库中获得信息的内容与性质,确定用户对象的数据及其结构,它反映了数据库的静态要求。 处理需求:表示用户对象的行为和动作,即用户要完成什么处理功能,它反映了数据库的动态要求。,2019年5月1日,第5章 数据库技术基础,数据库设计过程,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.1 需求分析 1.任务:调查现实世界要处理的对象,明确用户的各 种需求,在此基础上确定新系统的功能. 2. 步骤: 收集资料:了解现行业务处理流程、对新系统的要求、 收集 全部数据资料,如报表、合同、档案、单据等。 分析整理资料:对收集到资料分析,抽象与概括,确定数据 库信息内容与数据处理内容。 绘制数据流图:使用数据流图描述系统的功能。 编写数据字典:对数据流图中各类数据进行描述的集合。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.1 需求分析,5.4 数据库设计与管理,需求分析流程图,2019年5月1日,第5章 数据库技术基础,5.4.1 需求分析 数据流图(DFD): 需求分析过程中形成的规范化文档为数据流图(DFD)和数据字典(DD)。 数据流图主要用来描述系统的功能。 数据字典则是对各类数据描述的集合,它通常包括 数据项:是数据的最小单位 数据结构:是若干数据项的有意义的集合 数据流:表示某一个处理过程的输入或输出 数据存储:处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件 处理过程:,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.1 需求分析 数据流图构成: 数据流:标有名字的箭头表示有流向的数据 数据处理:用标有名字的圆圈表示 数据文件:以类似书本的符号表示 数据来源及终点:是用命名的方框表示,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.1 需求分析:数据流图示例,5.4 数据库设计与管理,教务管理数据流图,2019年5月1日,第5章 数据库技术基础,5.4.2 概念设计 1. 概念设计方法: 1)集中式模式设计法: 根据需求设计一个综合的全局模式,它强调统一与一致,适合于小型或并不复杂的单位或部门。 2)ER模型与视图集成法 (局部-集成) 将一个单位分解成若干个局部应用,先对每个局部作局部模式设计,建立各个部分的视图即分ER图,然后以各视图为基础进行集成。集成过程需对视图作修正,然后合并成全局概念模式,这种方法能较好地反映需求,适用于大型系统的设计。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.2 概念设计 2.数据库概念设计 首先选择局部应用; 再进行局部视图设计即E-R图设计; 最后对局部视图进行集成得到概念视图。 选择局部应用: 根据系统的具体情况,在多层的的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,以这一层次的数据流图为出发点,设计分E-R图。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.2 概念设计 2.数据库概念设计 局部视图设计次序 局部视图设计一般有3种设计次序: 自顶向下、由底向上和由内向外 自顶向下:先从抽象级别高且普遍性强的对象开始逐 步细化、具体化与特殊化。 由底向上:先从具体的对象开始,逐步抽象、普遍化 与一般化,最后形成一个完整的视图设计。 由内向外:先从最基本与最明显的对象着手,逐步扩 充至非基本、不明显的其它对象。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.2 概念设计 2.数据库概念设计 视图集成:视图集成的实质是将所有的局部视图统一并合并成一个完整的数据模式,在进行视图集成时,最重要的工作便是解决局部设计中的冲突,5.4 数据库设计与管理,命名冲突:同名异义和同义异名两种。 概念冲突:同一个概念在一处为实体,而在另 一处是属性或联系。 域冲突: 相同的属性在不同视图中有不同值 域约束冲突:不同的视图可能有不同的约束,2019年5月1日,5.4.2 概念设计 2.数据库概念设计 概念设计的过程,第5章 数据库技术基础,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.3 逻辑设计 主要工作:是将ER图转换成指定RDBMS(关系数据库管理系统)中的关系模式。 逻辑结构设计步骤: 将概念结构转换为一般的关系、网状和层次模型。 将转换来的模型向特定的数据模型转换。 对数据模型进行优化。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.3 逻辑设计 逻辑设计的过程,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.4 物理设计 设计数据库物理结构,包括选择存储结构、确定存取方法、确定数据的存放位置并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间,一般由数据库系统自动完成。 物理设计步骤: 确定数据库的物理结构。 评价物理结构的时间和空间效率。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.4 物理设计,5.4 数据库设计与管理,物理设计的过程,2019年5月1日,第5章 数据库技术基础,5.4 数据库设计与管理,数据库实施过程,2019年5月1日,第5章 数据库技术基础,5.4.5 数据库维护和管理 1.数据库调整: 数据库运行一段时间后往往产生一些不适应的情况,需调整,由DBA(数据库管理员)完成。 调整内容包括: 调整关系模式与视图使之更能适应用户的需求; 调整索引与集簇使数据库性能与效率更佳; 调整分区、数据库缓冲区大小以及并发度使数据库物理性能更好。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.5 数据库维护和管理 2.数据库重组: 运行一定时间后,不断的修改、删除与插入造成数据库系统性能逐步下降(盘上有废块、集簇性下降,存储空间的零散化等,从而造成存取效率下降),需要对数据库进行重新整理,此种工作叫数据库重组。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.4.5 数据库维护和管理 3.数据库安全性控制与完整性控制: DBA应采取措施保证数据不受非法盗用与破坏,保 证数据的正确性。 4.数据库的故障恢复: 一旦数据库中的数据遭受破坏,需要及时进行恢复。 5.数据库监控: DBA需随时观察数据库的动态变化,并在发生错误、 故障或产生不适应情况时随时采取措施。如数据库死锁、 对数据库的误操作等;同时还需监视数据库的性能变 化,在必要时对数据库进行调整。,5.4 数据库设计与管理,2019年5月1日,第5章 数据库技术基础,5.5.1 SQL语言概述 SQL语言特点: 1. 综合统一 SQL集数据定义、数据操纵、数据控制功能于一体。可以完成数据库中全部操作,包括定义关系模式、录入数据、查询、维护等。 2. 高度非过程化 不需一步步告诉“如何做”,只需描述“做什么”。SQL可将要求交与系统自动完成。存取路径的选择以及SQL语句的操作过程由系统自动完成。减轻了用户负担,而且有利于提高数据独立性。,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.1 SQL语言概述 SQL语言特点: 3. 面向集合的操作方式 SQL语言采用集合操作方式。 4. 同一种语法结构提供两种使用方式: 自含式语言: 能够独立地用于联机交互的使用方式 嵌入式语言: 能够嵌入到高级语言(例如C,COBOL, FORTRAN)程序中,供程序员设计程序时使用。,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.1 SQL语言概述 SQL语言特点: 5.语言简洁、易学易用:,5.5关系数据库标准语言 SQL,数据定义: CREATE、DROP、ALTER 数据查询: SELECT 数据操纵: INSERT、UPDATE、DELETE 数据控制: GRANT (设置用户权限) REVOKE(取消设置用户权限),命令动词,2019年5月1日,第5章 数据库技术基础,5.5.2 SQL的数据定义,5.5关系数据库标准语言 SQL,是所要创建基本表的名字。基本表由多个列(属性)组成。 列级完整性约束: 涉及相应属性列的完整性约束条件,一般包括是否 允许为空值、 取值范围约束等。,2019年5月1日,第5章 数据库技术基础,5.5.2 SQL的数据定义,5.5关系数据库标准语言 SQL,表级约束: 涉及一个或多个属性列的完整性约束条件,一般包括复 合属性构成的主、外关键字说明等。 其他参数: 不是标准选项(不是必要的), 用于与物理存储有关的说明,定义表的各个属性时需指明属性名、数据类型、长度。,2019年5月1日,列级约束与表级约束包含内容: 主码约束: PRIMARY KEY 参照完整性约束 唯一性约束:UNIQUE 非空值约束:NOT NULL 取值约束:CHECK 数据类型: SMALLINT 半字长整数 ; INTEGER 或 INT 全字长整数; DECIMAL(x,y) 十进制数,共x位,其中包括y位小数; FLOAT 双字长浮点数; CHAR(n) 长度为n的定长字符串,5.5.2 SQL的数据定义,2019年5月1日,第5章 数据库技术基础,5.5.2 SQL的数据定义 例5-1:建立一个“学生”表,它由学号、姓名、性别、年龄、所 在系等五个属性组成。其中学号不能为空,值是唯一的,并 且姓名取值也唯一。那么定义语句如下: CREATE TABLE 学生(学号 CHAR(5) NOT NULL UNIQUE,姓名 CHAR(20) UNIQUE,性别 CHAR(1),年龄 INT,系 CHAR(15);,5.5关系数据库标准语言 SQL,1.定义基本表(创建基本表),注意:语句中的标点符号及括号一定在英文状态下输 入,括号要匹配。,2019年5月1日,5.5.2 SQL的数据定义 1.定义基本表(创建基本表) 建立后“学生”表的结构如下:,2019年5月1日,第5章 数据库技术基础,5.5.2 SQL的数据定义,5.5关系数据库标准语言 SQL,2.修改基本表,格式: ALTER TABLE ADD , DROP MODIFY ; : 要修改的基本表 ADD : 增加新的属性和新的完整性约束 DROP: 删除指定的完整性约束 MODIFY: 修改原有的属性定义。,注意:不能用该语句增加非空(NOT NULL)属性,2019年5月1日,第5章 数据库技术基础,5.5.2 SQL的数据定义,2.修改基本表,例5-2:向学生表中增加入学时间列,其数据类型为日期型,则 ALTER TABLE 学生 ADD 入学日期 DATE;,2019年5月1日,第5章 数据库技术基础,5.5.2 SQL的数据定义 2. 修改基本表 例5-3 将年龄的数据类型修改为半字长整数。 ALTER TABLE 学生 MODIFY 年龄 SMALLINT;,注意: 修改原表的列定义可能会破坏已经存在的数据。,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.2 SQL的数据定义 3.删除基本表 格式:DROP TABLE ; 例5-4 :删除学生表 DROP TABLE 学生;,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.3 查询语句 格式: SELECT 表达式1,表达式2,表达式n FROM 关系1,关系2,关系m WHERE 条件表达式 GROUP BY 分组属性名 HAVING组选择条件表达式 ORDER BY 排序属性名升序|降序;,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.3 查询语句 说明: SELECT: 子句中用逗号分开的表达式为查询目标,最简单的是用逗号分开的属性名,即二维表中的列。 FROM: 子句指出查询所涉及的所有关系的名字; WHERE: 子句指出查询目标必须满足的条件。,5.5关系数据库标准语言 SQL,查询语句-WHERE查询条件的谓词,2019年5月1日,学生基本表,2019年5月1日,例5-10 :查询吉林学生全部属性,例5-6: 查询所有学生的姓名信息,*:代表全部属性,select * from 学生基本表 where 籍贯=吉林;,SELECT 姓名 FROM 学生基本表;,5.5.3 查询语句,2019年5月1日,例5-8.查询入学总分在540和560分数段的学生的姓名、 入学总分信息。,Select 姓名,入学总分 from 学生基本表 where 入学总分=540 and 入学总分=560,方法二: Select 姓名,入学总分 from 学生基本表 where 入学总分 between 540 and 560,5.5.3查询语句,2019年5月1日,SQL提供的库函数,5.5.3查询语句,2019年5月1日,例5-12: 统计学生入学成绩的平均分,select avg(入学总分) as 入学总平均分 from 学生基本表;,5.5.3查询语句,2019年5月1日,select max(入学总分) as 入学最高分 from 学生基本表;,例5-13 统计学生入学成绩的最高分,5.5.3 查询语句,不是表中的字段,在SELECT语句中通过As语句生成的。,2019年5月1日,例5-14 .按性别分组统计男女学生的人数。,select 性别,count(*) as 学生人数 From 学生基本表 group by 性别,5.5.3 查询语句,2019年5月1日,ORDER BY子句可对查询结果按指定属性排序,系统默认为升 序排列,如果降序,则可用DESC指定。(升序可用ASC指定) 例5-9 查询所有学生的学号、姓名、入学总分,并将结果按总分 升序排列。,SELECT 学号,姓名,入学总分 FROM 学生基本表 ORDER BY 入学总分;,5.5.3 查询语句,升 序,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 1.插入数据: INSERT INTO (,) VALUES(,) 说明: 如果缺省字段名,则必须为新记录中的每个字段都赋值,且数据类型和顺序要与表中定义的字段一一对应。,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 1.插入数据: 例5-16:在学生基本表(原来有4个记录)中插入两个新记录, 插入的第1个记录的字段值依次是“060111105”,“李小丹”, “女”,17,“上海”,575,插入的第2个记录只包括学号 “060111106”,姓名“张红霞”及入学总分 568三个字段值。,5.5关系数据库标准语言 SQL,INSERT INTO 学生基本表 VALUES(060111105,李小丹,女,17,上海,575); INSERT INTO 学生基本表(学号,姓名,入学总分) VALUES(060111106,张红霞,568);,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 1.插入数据:,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 2. 更新数据: UPDATE SET = ,=,) WHERE 功能:修改指定表中满足WHERE子句条件的元组。 SET: 的值用于取代相应的属性列值。 如果省略了WHERE子句,则表示要修 改表中的所有元组。,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 2.更新数据: 例5-17:将学生基本表中新插入的“李小丹”的年 龄由原来的17改为18,入学总分由原来的575分改为 588。,5.5关系数据库标准语言 SQL,Update 学生基本表 set 年龄=18,入学总分=588 where 姓名=李小丹;,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 2.更新数据:,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 3. 删除数据: DELETE FROM WHERE 说明: 如果不带WHERE子句,则删除表中所有的记录 (该表对象仍然保留在数据库中)。 如果带WHERE子句,则只删除满足条件的记录。,5.5关系数据库标准语言 SQL,2019年5月1日,第5章 数据库技术基础,5.5.4 数据更新 3.删除数据: 例5-18:将插入的“李小丹”删除,5.5关系数据库标准语言 SQL,delete from 学生基本表 where 姓名=李小丹,2019年5月1日,第5章 数据库技术基础,5.6.1 Access 2003简介 1. Access 2003的特点 (1)与Word、Excel等应用程序具有统一的操作界面。 (2)既可在单机环境下工作,也可以在多 用户环境下工 作,并且具有较完善的安全管理机制。 (3)增强了同Web的集成,增强了与XML之间的转换能力。 (4)可以配合ASP进行网页后台数据库的开发。 (5)内置了大量的函数,提供了许多宏操作,一般用户不 必编写代码就可以解决很多问题。,5.6 Access 技术,2019年5月1日,第5章 数据库技术基础,5.6.1 Access 2003简介 2.Access 2003数据库窗口 1)启动Access 2003 【开始】/ 【所有程序】/ 【 “Micorsoft Office” 】 / 【“Micorsoft Office Access 2003” 】 ,在窗口中选择【文件】/ 【新建】命令,将打开“新建文件”任务窗格。 单击 【空数据库】,在打开的【文件新建数据库】对话框中选择保存位置和输入数据库名,然后单【创建】按钮,将打开【数据库窗口】如图所示。,5.6 Access 技术,2019年5月1日,数据库窗口,2019年5月1日,第5章 数据库技术基础,5.6.1 Access 2003简介 2.Access 2003数据库窗口 2)Access 数据库对象 (1)表 : 一个表就是关系数据库中的一个关系,是 数据库中最基本的对象。一个数据库中可以建立多 个表。 (2)查询: 查询指在一个或多个表中查找满足条件 的记录或统计结果。例对课程基本情况表进行查 询,找到性质为“学科基础”的课程名。,5.6 Access 技术,2019年5月1日,第5章 数据库技术基础,5.6.1 Access 2003简介 2.Access
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 力学计量员质量追溯知识考核试卷及答案
- 镜框喷漆颜色匹配工艺考核试卷及答案
- 锅炉水处理设备清洗工艺考核试卷及答案
- 电子陶瓷挤制成型工特殊工艺考核试卷及答案
- 医学工程技术试题及答案
- 历史专业试题及答案
- 河南省濮阳市华龙区濮阳第一高级中学2025-2026学年高二上学期开学摸底检测化学试卷(含答案)
- 湖南省永州市冷水滩区普利桥镇小学2025-2026学年四年级数学上册一二单元月考试卷(人教版A4)
- 广西钦州市第十三中学2026届上学期高三年级第六周考试历史试卷(含答案)
- 聊城地铁围挡施工方案
- 2025年全国保密教育线上培训考试试题库完整答案附带答案详解
- 华为财务管理(6版)-华为经营管理丛书
- DB15-T 2241-2021 数据中心绿色分级评估规范
- 吐鲁番地区鄯善县区域环境概况自然及社会环境概况
- 国家中长期科技发展规划纲要2021-2035
- 高级食品微生物学- 课件全套 第1-9章 益生菌的分类、分离与鉴定-微生物的系统生物学研究技术
- 产品报价单货物报价表(通用版)
- 计算机专业英语第4版PPT完整全套教学课件
- 国防法规优秀课件
- 世界烟草控制框架公约解读
- GB/T 1631-2008离子交换树脂命名系统和基本规范
评论
0/150
提交评论