《计算机课件--数据库设计基础》由会员分享,可在线阅读,更多相关《计算机课件--数据库设计基础(46页珍藏版)》请在金锄头文库上搜索。
1、二级公共基础知识l程序设计基础l软件工程l算法与数据结构l数据库设计基础数据库技术的根本目标是解决数据共享问题数据管理技术的发展 (三个阶段)人工管理阶段 文件系统阶段 数据库系统阶段 高级数据库阶段1数据库的基本概念l数据库(DB):是一个结构化的数据集合,具 有统一的结构形式并存放于统一的存储介质内, 是多种应用数据的集成,并可被各个应用程序共 享。数据库系统的 内部结构体系三级模式 模式 外模式 内模式二级映像 外模式模 式映像 模式内模 式映像2三级模式 l模式(全局逻辑)模式也称逻辑模式或概念模式,是数据库中全 体数据的逻辑结构和特征的描述,是所有用户的公 共数据视图。是数据库数据在
2、逻辑级上的视图。一 个数据库只有一个模式。l外模式(局部逻辑)外模式也称用户模式,是数据库用户的数据视 图,是与某一应用有关的数据的逻辑表示。 外模式 通常是模式的子集。一个数据库可以有多个外模式 。l内模式(全局物理)内模式也称存储模式,一个数据库只有一个内 模式。它是数据物理结构和存储方式的描述,是数 据在数据库内部的表示方式。p1743二级映象l外模式模式映象对应于同一个模式可以有任意多个外模式。 对于每一个外模式,数据库系统都有一个外模式 模式映像,它定义了该外模式与模式之间的对应关 系。l模式内模式映象数据库中只有一个模式,也只有一个内模式 ,所以模式内模式映像是惟一的,它定义了数据
3、 库的全局逻辑结构与存储结构之间的对应关系。4数据库系统的三级模式结构及两级映像数据模型 *概念 数据模型是事物特征的 抽象。是将事物从现实 世界的转到机器世界表 示的一个中间层次。 *描述内容 数据结构数据 操作 数据约束5数据模型的分类(按不同的应用层次)l概念模型lE-R模型l逻辑模型l层次模型(p179)l网状模型l关系模型l面向对象模型l物理模型E-R模型的基本概念 *实体:现实世界中的 事物 *实体集:同一类实体 的集合 *属性:事物的特性 *联系:现实世界中事 物间的关系一对一的联系 一 对多(多对一)联 系多对多联系6实体名属性名属性名矩形框表示实体型椭圆形表示属性菱形表示联系
4、联系联系 名名连接实体型与联系类型, 也可用于表示实体与属性 的联系E-R图的图示法:E-R图的设计过程 *实体集定义 *联系定义 *连接实体集和联系 *属性分配7例: 学生选修课程学生课程选课姓名学号性别课程号课程名学分成绩mnER图的设计过程 返回8关系模型l关系:一个关系就是一个二维表。l元组:二维表(关系)中的每一行。对应在表中为记录。l属性:二维表(关系)中的每一列。对应在表中为字段。l数据项:记录中某个属性的值l属性域:属性的取值范围。如:性别只能取“男”和“女”。l键或码(关键字):唯一标识一元组的属性或属性的集合。l候选键l主键l外键或外码:如果一个表的字段不是本表的主键,而是
5、另外一个表的主键, 这个字段(属性)就称为外键。学号姓名性别别院系藉贯贯0841001张丽女管理山东0841002胡凡男生化河北0841003王峰涛男管理辽宁0841004李敏女信工江西记录字段主键9关系模型学号姓名院系课课程号课课程名成绩绩0841001张丽管理C0001计算计800841001张丽管理D0120英语900841003王峰涛生化E0003数学700841004李敏文传D0120英语60课课程号课课程名学分学时时C0001计算机372D0120英语380E0003数学4100主键主键10关系模型中的二维表要满足:l表中元组个数有限元组个数有限性l表中元组均不相同元组的唯一性l元
6、组的次序可以交换元组的次序无关性l元组的分量是不可分割基本数据项元组 分量的原子性l表中的属性名各不相同属性名唯一性l属性的次序可以任意交换属性次序无关 性l不同表中的同一属性具有相同的属性域 属性域的同一性11关系模型中的数据约束(1)实体完整性约束约束关系的主键中属性值不能为空值; (2)参照完全性约束不允许关系引用不存在元组 (3)用户定义的完整性约束在具体数据环境和应用环境中由用户自己 设置的约束,它反映了具体应用中数据的语义要求。12关系模型中的数据操纵l数据插入l数据删除l数据修改l数据查询用于查询的关系运算 *专门的关系运算 *投影 *选择 *连接/自然连接 传统的集合运算 *并
7、 *交 *差 *笛卡尔乘积13从列的角度进行的运算例 : 输出输出学生关系R中的学生姓名及所在系。学号 姓名 系名 年龄S1 A CS 20S2 B CS 21S3 C MA 19S4 D CI 19S5 E MA 20S6 F CS 22(a)(R)关系R上的投影是从R中选择若干属性列组成新的关系。姓名 系名A CS B CSC MAD CIE MAF CS投影(R)14在关系R中选择满足给定条件的元组。例: 输出关系R中计算机科学系CS的学生学号 姓名 系名 年龄S1 A CS 20S2 B CS 21S3 C MA 19S4 D CI 19S5 E MA 20S6 F CS 22(a)(
8、R) (R)学号 姓名 系名 年龄S1 A CS 20S2 B CS 21S6 F CS 22选择从行的角度进行的运算15l通过两个字段的值的比较进行 连接l用来连接的两个字段要用相同 的域ABC 123 467 579连接DEF 1740 3510 8420 3630R1R2ABCDEF12384204678420连接的结果R1|X|R2 CD16l两个关系间有公共字段l通过公共字段的值相等进 行连接 ABC 123 469 578自然连接CDE 1740 3510 8420 3630R1R2ABCDE123510123630578420R1和R2自然连接的结果17两个分别为n列和m列的关系
9、R和S的笛卡尔积是一个(n+m)列的元组的集合。元 组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组, S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。记做:RSRSR1R2c1b1a1c1b1a1c1b1a1CBAc1b2a2c2b3a1c2b2a1FEDc2b3a1c2b2a1c2b2a1c2b2a1c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a1FEDR1R2笛卡尔乘积18c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a1CBAR1R2c1b1a1c1b2a2c2b3a1c2b2a1CBAR
10、1R2设关系R和关系S具有相同的列n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作: R RS S并运算19c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a1CBAR1R2c2b2a1c1b2a2CBAR1R2设关系R和关系S具有相同的列n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作: R SR S交运算20差运算c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a1CBA
11、R1R2c1b1a1CBAR1R2设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S 的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作: R RS S数据库 的设计数据库设计的两种方法: (1)面向数据:以信息需求为主,兼顾处理需求; (2)面向过程:以处理需求为主,兼顾信息需求。 21数据库的生命周期 l需求分析阶段l概念设计阶段l逻辑设计阶段l物理设计阶段l数据库实施阶段l数据库运行和维 护阶段22数据库需求分析方法l结构化分析方法结构化分析(简称SA)方法用自顶向下 、逐层分解的方式分析系统。用数据流图表达 数据和处理过程的关系。对数据库设计来讲
12、, 数据字典是进行详细的数据收集和数据分析所 获得的主要结果。l面向对象的方法23数据库的概念设计l集中式模式设计法是一种统一的模式设计方法,它根据需求由一个 统一机构或人员设计一个综合的全局模式,适用于小型 或不复杂的单位或部门。l视图集成设计法将一个单位分解成若干部分,先对每个部分做局 部设计,建立各部分的视图,然后再集成,最终形成全 局模式,是一种由分散到集中的方法,过程复杂但能较 好反映需求,适用于大型与复杂的单位。分析数据间的内在关联,在此基础上建立一个数据的抽 象模型。数据库概念设计的方法有以下两种:24数据库的逻辑设计数据的逻辑设计主要工作是将E-R图转换成关系模型。学生课程选课
13、姓名学号性别课程号课程名学分成绩mn转换后视图设计次序 自顶向下 由底向上 由内向外 25学号姓名性别别0841001张丽女0841002胡凡男0841003王峰涛男0841004李敏女课课程号课课程名学分C0001计算机3D0120英语3E0003数学4学号姓名性别别课课程号课课程名学分成绩绩0841001张丽女C0001计算计3800841001张丽女D0120英语3900841003王峰涛男E0003数学4700841004李敏女D0120英语360学生实体课程实体选课联系26数据库系统的组成l数据库(DB)l数据库管理系统(DBMS)l软件系统(开发工具/应用系统)l人(数据库管理员/
14、用户)l硬件系统其中,数据库管理系统(DBMS)是数据库系统的核心。p17527数据库管理系统(DBMS)的功能(1)数据定义 (2)数据操纵 (3)数据库运行管理 (4)数据组织、存储、管理 (5)数据库的建立和维护 (6)数据的通信功能 p17628DBMS提供的数据库语言为完成以上六个功能,数据库管理系统提 供以下的数据语言: (1)数据定义语言:负责数据的模式定 义与数据的物理存取构建; (2)数据操纵语言:负责数据的操纵, 如查询与增、删、改等; (3)数据控制语言:负责数据完整性、 安全性的定义与检查以及并发控制、故障恢 复等。 29DBMS对数据库的保护包括n 安全性控制 n 完整性控制 n 并发性控制 n 数据库恢复30数据库系统的主要特点数据的集成性数据的高共享性、低冗余性数据独立性高逻辑独立性物理独立性数据统一管理与控制数据的结构化及灵活的存取方式可以存取数据库中的某一个数据项、一组数 据项、一个记录或一组记录31