第10章对象关系数据库

合集下载

第十章 对象关系数据库

第十章 对象关系数据库

聚集类型的差异
类型 元 素
有 序
元素的重复性
允许一个元素出 现多次
元素 个数
预置
例子
[1,2,1]和[2,1,1]是 不同的数组
数组
列表
包(多集)
有 序
无 序
允许一个元素出 现多次
允许一个元素出 现多次
未预 置
未预 置
{1,2,1}和{2,1,1}是 不同的列表
{1,2,1}和{2,1,1}是 相同的包
persistent
也可以不定义关系类型,直接使用集合set形式: type UniversityTup = tuple (uno: integer, uname: string,
staff : set(FacultTup));
type
FacultTup = tuple(fno:integer,
fname:string, age:integer);
… …
FacultyTup
采用“引用” 技术解决类型定义中的递归问题。
在属性的类型中,除了基本数据类型、元组类型、关系类型外,
还可以出现“引用类型”。引用类型相当于程序设计中指针的概 念, 在面向对象技术中称为“对象标识”。 引入“引用”概念的类型构造: UniversityRel UniversityTup
数据库实用教程(第三版)第十章ຫໍສະໝຸດ 对象关系数据库第十三章
本章概念:
对象关系数据库
新一代DBS的两条途径:ORDBS和OODBS; 平面关系模型,嵌套关系模型,复合对象模型,引用类型; 对象联系图的成分及表示方法,数据的泛化/细化; ORDB的定义语言:数据类型、继承性、引用类型的定义, ORDB的查询语言:路径表达式、嵌套与解除嵌套。

计算机基础第10章

计算机基础第10章

2008.08
例 学生表结构
字段名称
说明
类型
宽度
主键
Stu_ID
学生编号
数字
8

Sname
学生姓名
文本
8

Age
学生年龄
数字
2

Sex
学生性别
文本
2

2008.08
4.数据库 数据库DB 数据库 数据库是计算机上的大量结构化的相关的数据集合。 5.数据库管理系统 数据库管理系统DBMS 数据库管理系统 DBMS是位于操作系统与用户之间的数据管理系统软 DBMS的主要功能有: 的主要功能有: 的主要功能有 · 定义功能:对各种数据对象进行定义。 · 数据操作:查询、插入、删除和修改数据。 · 数据库维护:数据的输入、转储,数据库的重组和性能监视 等。 · 数据控制:并发控制;安全保护;数据完整性保护;故障恢 复。 目前常用的DBMS有:目前常用的 有 Oracle,SQL Server,DB2,SyBase,FoxPro,Access等。
2008.08
6.数据库应用系统 数据库应用系统DBAS 数据库应用系统 DBAS是利用数据库资源开发的面向应用的软件系统。 DBAS组成:数据库、操作系统、数据库管理系统、中间件、开发工 具、应用软件、应用界面、数据库管理员(DBA)、用户。 典型的DBAS有: 管理信息系统(MIS)、 企业资源规划(ERP)、 办公自动化系统(OA)、 情报检索系统(IRS)、 客户关系管理(CRM)、 财务信息系统(FIS)等。
2008.08
(5)将主键拖到相关表的相关字段重叠放置,弹出“编辑关系”对话框。
(6)选择“实施参照完整性”,单击【创建】。创建的“关系”如图。

Access 2010数据库应用技术案例教程 第10章-数据库综合操作案例

Access 2010数据库应用技术案例教程 第10章-数据库综合操作案例
(2) 在报表的主体节区添加一个文本框控件,显示“姓名”字段值。该控件放置在距 上边0.1厘米、距左边3.2厘米的位置,并命名为“tName”。 (3) 在报表的页面页脚节区添加一个计算控件,显示系统年月,显示格式为: ××××年××月(注意:不允许使用格式属性)。计算控件放置在距上边0.3厘米、距 左边10.5厘米的位置,并命名为“tDa”。 (4) 按“编号”字段的前4位分组统计每组记录的平均年龄,并将统计结果显示在组页 脚节区。计算控件命名为“tAvg”。
10.1 综合案例1
2. 简单应用 在“第10章综合操作案例1”文件夹下有一个数据库文件“samp2.accdb”,里面已经设计了表对象 “tCourse”、“tScore”和“tStud”,试按以下要求完成设计: (1) 创建一个查询,查找党员记录,并显示“姓名”、“性别”和“入校时间”三列信息,所建查询命 名为“qT1”。 (2) 创建一个查询,当运行该查询时,屏幕上显示提示信息:“请输入要比较的分数:”,输入要进行 比较的分数后,该查询查找学生选课成绩的平均分大于输入值的学生信息,并显示“学号”和“平均 分”两列信息,所建查询命名为“qT2”。 (3) 创建一个交叉表查询,统计并显示各班每门课程的平均成绩,统计显示结果如图10-1所示。要求: 直接用查询设计视图建立交叉表查询,不允许用其他查询做数据源,所建查询命名为“qT3”。 (4) 创建一个查询,运行该查询后生成一个新表,表名为“tNew”,表结构包括“学号”、“姓名”、 “性别”、“课程名”和“成绩”等五个字段,表内容为90及90分以上的或不及格的所有学生记录, 并按课程名降序排序,所建查询命名为“qT4”。要求创建此查询后,运行该查询,并查看运行结果。
10.1 综合案例1
3. 综合应用 在“第10章综合操作案例1”文件夹下有一个数据库文件“samp3.accdb”,其中存在 设计好的表对象“tStud”和查询对象“qStud”,同时还有以“qStud”为数据源的 报表对象“rStud”。请在此基础上按照以下要求补充报表设计: (1) 在报表的报表页眉节区添加一个标签控件,名称为"bTitle”,标题为”2017年入学 学生信息表”。

410-软件工程(第4版)-李代平-清华大学出版社

410-软件工程(第4版)-李代平-清华大学出版社

2021年6月22日
数据管理系统包括文件系统和数据库管理 系统两大类。采用关系模型的数据库称作关系 数据库(Relational Database)。关系模型有严 格的数学理论基础,关系模型用二维表来表示 各类数据。基于关系模型的数据库管理系统叫 做关系数据库管理系统。
2021年6月22日
广东工业大学计算机学院
3
与层次和网状的DBMS相比,RDBMS所采用 的数据模型以二维表的形式而不是人为地设置
2021年6月22日
广东工业大学计算机学院
7
文件的数据在存储空间的存放方法和组织 关系称为文件物理结构;呈现给用户的文件结 构,即用户概念中的文件数据排列方式和组织 关系称为文件逻辑结构。物理结构是文件系统 的开发者考虑的问题,用户(应用系统开发者) 一般只需关心逻辑结构。
2021年6月22日
广东工业大学计算机学院
软件工程
Software Engineering
2021年6月22日
广东工业大学计算机学院
1
第10章 数据库及其接口设计
本章内容: 10.1 数据管理系统及其选择 10.2 技术整合 10.3 数据接口 10.4 对象存储方案和数据接口的设计策略
2021年6月22日
广东工业大学计算机学院
2
第10章 数据库及其接口设计
2021年6月22日
广东工业大学计算机学院
5
10.1 数据管理系统及其选择
有效地实现数据在永久性存储空间的存储与 管理需要特定的软件系统支持。这些实现数据存 储、检索、管理、维护的系统称作数据管理系统, 包括文件系统和数据库管理系统两大类。本节从 应用的角度讨论它们的特点,并讨论在对应用系 统进行面向对象的设计时如何选择合适的数据管 理系统。

第10章 E-R图及关系图

第10章  E-R图及关系图

10.3.5 删除数据库关系图
在对象资源管理器中,展开【数据库关系图】 在对象资源管理器中,展开【数据库关系图】文件夹 右击要删除的数据库关系图,在弹出快捷菜单中选择【 .右击要删除的数据库关系图,在弹出快捷菜单中选择【删 命令,弹出【删除对象】对话框. 除】命令,弹出【删除对象】对话框.
什么是数据库的E 10.4.1 什么是数据库的E-R图
10.5
小结
不管是用于设计数据库的E-R图,还是SQL Server 图 还是 不管是用于设计数据库的 2008数据库生成的数据库关系图,都可帮助数据库操作者 数据库生成的数据库关系图, 数据库生成的数据库关系图 抽象现实世界的事物转化到信息数据的有力保障. 抽象现实世界的事物转化到信息数据的有力保障.E-R图是 图是 数据库设计中的概念设计的关键环节, 数据库设计中的概念设计的关键环节,数据库初学者尤其要 熟练掌握之. 熟练掌握之.
10.3.4 重命名数据库关系图
在对象资源管理器中,展开【数据库关系图】节点. 在对象资源管理器中,展开【数据库关系图】节点. 右击要重命名的数据库关系图,在弹出的快捷菜单中选择【 右击要重命名的数据库关系图,在弹出的快捷菜单中选择【 重命名】命令. 重命名】命令. 对象资源管理器中的关系图名称处变成了一个编辑框 .输入新的关系图名称,再按下Enter键.关系图就会以新 输入新的关系图名称,再按下 键 名称显示在对象资源管理器中. 名称显示在对象资源管理器中.
E10.1.3 E-R图的设计原则
怎样用E-R图准确的反映信息模型呢?E-R图设计方面 图准确的反映信息模型呢? 怎样用 图准确的反映信息模型呢 图设计方面 虽然没有一定的规则和技巧,但要大体遵循以下原则. 虽然没有一定的规则和技巧,但要大体遵循以下原则. (1)针对每一用户做出该用户信息的局部 )针对每一用户做出该用户信息的局部E-R图,确 图 定该用户视图的实体,属性和联系. 定该用户视图的实体,属性和联系. 注意:能作为属性的就不要作为实体, 注意:能作为属性的就不要作为实体,这样有利于简 化E-R图. 图 (2)综合局部 )综合局部E-R图,产生出总体 图 产生出总体E-R图. 图 注意:在综合的过程中,同名实体只能出现一次, 注意:在综合的过程中,同名实体只能出现一次,还 要去掉不必要的联系. 要去掉不必要的联系. 图不是唯一的, (3)一个系统的 )一个系统的E-R图不是唯一的,强调不同的侧面 图不是唯一的 做出的E-R图,可能有很大的不同. 做出的 图 可能有很大的不同.

第10章数据库实体联系模型

第10章数据库实体联系模型
对多的联系,即对“职工”实体中的多个 实例,在“部门”中至多有一个实例与其 关联。 实际的连接数目称为联系连接的基数。
2021/4/22
17
三种基本二元联系示例
部门
1
被管理
1
经理
部门
1
包含
n
职工
职工
m
参与
n
项目
2021/4/22
18
n-元联系
用具有n个连接的菱形表示,每个连接 对应一个实体。
病人
就医
医院
病房
2021/4/22
医生
药物
19
联系的存在性
指某个实体的存在依赖于其它实体的 存在。
联系中实体的存在分为强制和非强制 (或可选的)两种。
强制存在要求联系中任何一端的实体 的实例都必须存在。
非强制存在允许实体的实例可以不存 在。
2021/4/22
20
联系的存在性(续)
在E-R图中,在实体和联系的连线上 标○表示是非强制存在;
由一个独立成分构成的属性。 不可再分成更小的成分。 也称为原子属性。 实体“学生”中的学号、姓名、性别
属性都是简单属性的例子。
2021/4/22
27
复合属性
由多个独立存在的成分构成的属性。 有些属性可以划分成更小的独立成分。 如,设“职工”实体中有“地址”属性,该
属性取值形式为“**省**市**区**街道”, 则该属性可进一步分解为 省、市、区、街道 “街道”又可分为街道号、街道名和楼牌
工作任务
用于 外部项目
被分配
OR
内部项目
“工作任务” 可以分配到 “外部项目” 中或者是“内 部项目”中, 但不能同时分 配到这两个实 体中。

第十章数据探查ppt课件

第十章数据探查ppt课件

取决于应用对象,通常需要编程
V1 V2 V3 V…
V1
如,经济领域用经济模型;地质领域用地质模V2型
V3
V… V1=f(V2)+f(V3)+f(V…)
1. 数据位置在哪里? 2. 数据点的属性值是什么? 3. 数据位置和属性值是否有关?
如何解决上述提出问 题呢?
有三类方法可用
◦ 简单的描述性统计量Βιβλιοθήκη 果◦ 先高亮图形,再高亮属性
操作
◦ 由指针选择要素(普通操 作)
◦ 由图形选择要素(GIS简单 操作)
◦ 由空间关系选择要素(GIS 复杂操作)
◦ 属性数据和空间数据二者 结合查询
选择要素
◦ 用鼠标拖画出方形区域
选择要素
◦ 用图形(如圆形)选择要素
例如,力学小学的学区,以力学 小学为圆形,1公里为半径画圆, 选择与居民区相交的地块。处于 该居民区范围的孩子才能入学。
◦ 白色:全国平均值以下 ◦ 灰色:全国平均值以上
用均值和标准差表示各州失业率 情况
◦ 分五级
表示1990年美国各州人口变化率
◦ 颜色深,人口变化较大 ◦ 颜色浅,人口变化较小
表示2000年美国各州人口变化率
◦ 西部各州人口增长较快 ◦ 呈团状聚集的方式
比较鹿的迁徙
◦ 北部区域呈两极 ◦ 南部区域鹿的分布更广泛 ◦ 呈集聚方式
用于查询的空间关系
◦ 包含
选择完全落入A要素之内的B要素
如,查询天津市范围内所有的大 学
◦ 相交
选择与A要素相交的B要素 如,查询与地震板块相交的城市
◦ 邻近
选择落在A要素指定距离之内的B 要素
如, 查询天津大学1公里内的餐 馆

第10章-数据结构与算法ppt课件(全)

第10章-数据结构与算法ppt课件(全)

考点3 数据结构的定义
数据对象:是性质相同的数据元素的集合,是数据的一 个子集。
1. 数据的逻辑结构
数据的逻辑结构:是对数据元素之间的逻辑关系的描述, 它可以用一个数据元素的集合和定义在此集合中的若干关系 来表示。
数据的逻辑结构与它们在计算机中的存储位置无关。 数据的逻辑结构有两个要素: 一是数据元素的集合,通常记为D; 二是D上的关系,它反映了数据元素之间的前后件关系, 通常记为R。
进行软件开发的能力。 6. 掌握数据库的基本知识,了解关系数据库的设计。
公共基础知识考试大纲
数据结构与算法考试内容: 1. 算法的基本概念;算法复杂度的概念和意义。 2. 数据结构的定义;数据的逻辑结构与存储结构;
数据结构的图形表示;线性结构与非线性结构的 概念。 3. 线性表的定义;线性表的顺序存储结构及其插入 与删除运算。 4. 栈和队列的定义;栈和队列的个数据结构可以表示成 B=(D,R)
其中 B 表示数据结构。为了反映 D 中各数据元素之间的前后 件关系,一般用二元组来表示。
例 一年四季的数据结构可以表示成 B =(D,R) D = {春,夏,秋,冬} R = {(春,夏),(夏,秋),(秋,冬)}
例 家庭成员数据结构可以表示成 B =(D, R) D = {父亲,儿子,女儿} R = {(父亲,儿子),(父亲,女儿)}
则称为非线性结构。 如 家庭成员之间辈分关系的数据结构是非线性
结构。
考点5 线性表的基本概念
10.3 线性表及其顺序存储结构
线性表(Linear List),由一组数据元素构成, 数据元素的位置只取决于自己的序号,元素之间的 相对位置是线性的。
线性表是由 n(n≥0) 个数据元素组成的一个有限 序列,表中的每一个数据元素,除了第一个外,有 且只有一个前件,除了最后一个外,有且只有一个 后件。

数据库应用第10章_数据库安全性_V08_2

数据库应用第10章_数据库安全性_V08_2

第10章 数据库保护及SQL Server的安全管理数据库系统应用Data Base System Application张建国哈工大计算机科学与技术学院2008-10-7哈工大计算机学院 张建国 Slide 10-1第10章 数据库的安全性及SQL Server的安全管理2008-10-72第10章 数据库保护及SQL Server的安全管理本章主要内容数据库安全性的概念 数据库安全控制用户标识与鉴别 存取控制 自主存取控制(DAC)方法 强制存取控制(MAC)方法 视图机制 审计 数据加密统计数据库安全性问题 SQL Server 2000 数据库的安全性措施2008-10-7哈工大计算机学院 张建国 Slide 10-3第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念美国国防部1985年正式颁布了《DoD可信计算机系统评估标 准TCSEC》(Trusted Computer System Evaluation Criteria). 制定该标准的目的 提供一种标准,使用户可以对其计算机系统内敏感信息安 全操作的可信程度进行评估. 为计算机行业的制造商提供一种可循的指导原则,使其产 品能够更好地满足敏感应用的安全需求. 数据库安全性 保护数据库,以防非法使用所造成的数据泄露、更改或破 坏.2008-10-7哈工大计算机学院 张建国Slide 10-4第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)1991年,美国国家计算机安全中心NCSC颁布了《可信计算机 系统评估标准关于可信数据库系统的解释TDI》 (Trusted Database Interpretation),将TCSEC扩展到数据库管理系统 TDI定义了数据库管理系统的设计与实现中需要满足和用 以进行安全性级别评估的标准. TESEC(TDI)将系统划分为四组七个级别,从低到高依次是 D级: 最小保护 最低级别.一切不符合更高级标准的系统都归于D级. 例如,DOS操作系统 几乎没有专门的机制保障系统的安全性.2008-10-7哈工大计算机学院 张建国Slide 10-5第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)C1级:自主安全保护 只提供了非常初级的自主安全保护措施. 能实现对用户和数据的分离,进行自主存取控制DAC. C2级:受控存取保护 是安全产品的最低级别. 提供受控的存取保护, 将C1级的 DAC细化,以个人身份注册负责,并实施审计和资源隔离. B1级: 标记安全保护 对系统的数据加标记,并对标记的主体和客体实施强制存 取控制MAC和审计等安全机制. B1级以上才称得上安全产品.2008-10-7哈工大计算机学院 张建国Slide 10-6第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)B2级:结构化保护建立形式化的安全策略模型,并对系统内的所有主体 和客体实施DAC和MAC. 目前数据库产品尚无符合B2级安全标准的.B3级: 安全域 A1级: 验证设计2008-10-7哈工大计算机学院 张建国Slide 10-7第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制数据库权限的种类 维护数据库管理系统的权限 对数据库中数据操作的权限 操作数据库对象的权限 创建,修改,删除数据库对象 操作数据库数据的权限 查询,增加,删除,修改表和视图中的数据2008-10-7哈工大计算机学院 张建国Slide 10-8第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库用户的分类 数据库系统管理员DBA(SQL Server中为sa) 拥有对数据库操作的全部权限 数据库对象拥有者dbo 拥有对自己创建的数据对象操作的全部权限 普通用户User 对数据库中的数据进行查询,增加,删除,修改的权限. 只能在自己被授予的权限内进行操作. 角色Role 将具有相同权限的一组用户组织在一起,统一授权以简 化授权机制2008-10-7哈工大计算机学院 张建国 Slide 10-9第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库的安全措施是一层一层逐级设置的 用户级 通过用户标识和鉴别实现. DBMS级 通过存取控制实现. 操作系统级 通过操作系统的安全保护实现. DB级 通过对数据加密存储实现.2008-10-7哈工大计算机学院 张建国Slide 10-1010.2 数据库安全控制(Cont.)1.用户标识与鉴别用户标识设置用户名.口令设置用户口令.优点简单易行.缺点用户标识和口令容易被人窃取.解决办法利用加密算法或加密函数.10.2 数据库安全控制(Cont.)2. 存取控制存取控制主要通过DBMS的授权机制实现,由两部分组成:定义用户权限将用户权限存入用户存取权限数据字典中.不同用户对系统具有不同的存取权限.合法权限检查用户发出DB操作请求时,DBMS查找数据字典,根据安全规则进行合法权限检查.只有合法的操作才能正常执行.目前大型DB的DBMS一般都支持C2级中的自主存取控制(DAC),有些DBMS可以支持B1级中的强制存取控制(MAC).10.2 数据库安全控制(Cont.)3. 自主存取控制(DAC)方法概念用户对数据的存取权限是“自主”的,被授权的用户可以自由决定将对数据存取权限授权给任何人,而系统无法控制.SQL的自主存取权限控制通过GRANT和REVOKE实现.优点用户对于不同的数据对象有不同的存取权限,不同的用户对同一数据对象也有不同的存取权限.用户可将自己的存取权限转授于其他用户,使用非常灵活.10.2 数据库安全控制(Cont.)问题用户对于存取权限是“自主”的,可以将权限转授给其他用户,这种授权是不受系统或DBA控制的,可能存在被授权用户有意或无意“泄露”数据机密问题.问题产生的原因只是通过对数据的存取权限进行安全控制,而数据本身无安全性标记.解决办法采用强制存取控制.10.2 数据库安全控制(Cont.)4. 强制存取控制(MAC)方法实行主客体制,系统中的全部实体两大类主体: 系统中的活动实体为实际用户和代表各用户的程序进程.客体: 系统中的被动实体为受主体操纵的文件,基本表,索引,视图等.敏感度标记:DBMS为主体和客体的每一个值指定一个“敏感度标记”.敏感度标记被分为绝密,机密,可信,公开等级别.许可证级别和密级:主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级.主体客体许可证级别密级绝密机密可信公开绝密机密可信公开高低通过对比主体的标记和客体的标记,确定主体是否能存取客体.10.2 数据库安全控制(Cont.)10.2 数据库安全控制(Cont.)5.视图机制为不同的用户建立不同的视图.简化用户看待数据库的观点.将不需要的数据隐藏起来,实现数据的保护和保密.10.2 数据库安全控制(Cont.)6. 审计审计是C2级以上安全级别必不可少的一项技术.审计原理将用户对DB中的所有操作自动记录下来存入在“审计日志”中.DBA可利用审计日志跟踪的信息,重现导致DB现状的一系列事件,找出非法存取数据的人、时间和操作内容等.审计的代价审计需占用较多的存储空间和时间,因此审计功能一般是可选的.审计一般用于安全性较高的DB.10.2 数据库安全控制(Cont.)7. 数据加密对于高度敏感的数据,例如财务数据、军事数据、国家机密等,除上述安全措施外,还可以采用数据加密技术.加密的基本思想加密在存储数据时,将原始数据(明文)按某种算法变换成某种不可直接识别的格式(密文).解密使用数据时,按照加密算法将密文还原为明文.不知道解密算法的人无法获得正确的数据.10.2 数据库安全控制(Cont.)两种主要加密算法替换方法使用密钥将明文中的每一个字符转换成密文中的一个字符.例:将每个ASCII字符的值减3.“DOG”的内部存储表示为“AMD”.读取数据时,再使每个ASCII值加3,得到正确的数据.转换方法将明文字符按不同的顺序排列.常将这两种方法结合起来应用,以提高安全性.10.3 统计数据的安全问题人们往往注意一般DB的安全问题,较好地解决了DB的保密问题,但对于统计DB常常却忽略了其安全性.问题从某些统计数据信息往往能推算出一些个体数据.例:想获得总经理的工资,但系统不允许查询某个职工的数据,于是可以统计全体职工的工资总额,再统计全部不是总经理的职工的工资,二者相减,即可获得总经理的工资.总经理工资=全体职工工资总额-全体非总经理职工工资总额所以,应特别注意统计数据库泄密问题.10.4 SQL Server 的安全管理机制SQL Server是Microsoft开发的运行在Windows上的DBMS Windows提供了较完善的安全措施.SQL Server在此基础上又提供了自己的安全措施.1. 用户访问DB中数据的三个认证过程身份验证(连接DB服务器权限)—登录帐户验证用户是否有权连接到SQL Server数据库服务器.访问DB权限验证——数据库用户帐户验证用户是否的DB的合法用户操作数据权限验证——授权验证用户是否有操作相应数据的权限10.4 SQL Server 的安全管理机制(Cont.)SQL Server 服务器身份验证SQL ServerDB Data 访问DB 权限验证操作数据权限验证Windows用户DB Data10.4 SQL Server 的安全管理机制(Cont.)2. 用户类型和安全验证模式SQL Server 用户的类型Windows授权用户Windows用户或组SQL授权用户SQL 用户(非Windows用户)SQL Server 的两种安全验证模式Windows身份验证模式Windows和SQL Server混合验证模式10.4 SQL Server 的安全管理机制(Cont.) Windows身份验证模式允许Windows用户连接SQL ServerSQL Server通过Windows获得用户信息,并对用户名和密码进行验证用户先登录Windows,登录SQL Server 时选择Windows 身份验证模式(不需提供登录用户和密码)Windows和SQL Server混合验证模式允许Windows授权用户和SQL授权用户(非Windows授权用户)连接SQL Server.需提供登录名和密码.SQL Server身份验证设置企业管理器—服务器(右键)—-属性—安全性—身份验证—SQL Server和Windows重新启动Windows生效10.4 SQL Server 的安全管理机制(Cont.)3. 登录帐户管理访问数据库的用户必须登录.Windows登录用户SQL Server 登录用户(1) 建立登录帐户企业管理器—安全性—登录—右键—新建登录名称输入名称: SQL登录帐户名在菜单中选择名称:Windows帐户名Windows身份验证域:选择一个域及用户名10.4 SQL Server 的安全管理机制(Cont.)SQL Server身份验证输入密码设置访问的默认数据库服务器角色选项卡为用户设置服务器角色.数据库角色为用户设置数据库角色,使用户可访问指定数据库.(2) 修改登录帐户的属性安全性—登录—选择指定用户—属性进行修改(3) 删除登录帐户10.4 SQL Server 的安全管理机制(Cont.)4. 用户帐户管理具有登录账户的用户只能登录到SQL Server服务器,还不能访问具体数据库.将登录名与具体数据库联系起来后才能访问数据库.用户可访问某一数据库的用户一个登录用户可以访问若干个数据库,访问时必须与有关的用户相关联.每一个数据库都有两个默认的用户dbo(database owner)创建数据库的用户称为数据库所有者dbo拥有对自己所创建的数据库的所有权限guest对象的全部权限和所有权由用户控制.10.4 SQL Server 的安全管理机制(Cont.)(1) 建立数据库用户选择具体数据库—用户(右键)—新建数据库用户—选择登录名和用户名选择该用户的数据库角色属性—权限设置该角色对表/视图的操作权限.对选定的表/视图选择”列”,可设置对表/视图中的列操作的权限.(2) 删除数据库用户10.4 SQL Server 的安全管理机制(Cont.)5. 角色具有相同权限的用户可设置成一个角色.同一角色的用户自动继承该角色的所有权限.角色可以方便对用户的管理.角色的分类固定服务器角色固定数据库角色10.4 SQL Server 的安全管理机制(Cont.)服务器角色sysadmin:执行SQL Server中的任何操作dbcreater:创建和修改数据库diskadmin:管理磁盘文件processadmin:管理系统进程securityadmin:管理和审计登录账号serveradmin:配置服务器范围内的设置setupadmin:可以增加、删除连接服务器,建立数据库复制,管理扩展的存储器bulkadmin:执行块插入操作服务器角色为在用户登录时授予的在服务器范围内的权限,在服务器上操作,独立于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)固定数据库角色public: 维护全部默认的许可db_owner:执行数据库的任何操作,可转让授权db_accessadmin:可以增加或删除windows认证模式下的数据库用户或用户登录者db_addadmin:增加、修改和删除数据库对象db_securityadmin:执行语句和对象的权限管理db_backupadmin:备份和恢复数据库db_datareader:检索任意表中的数据db_datawriter:增加、修改和删除所有表中的数据db_denydatareader: 不能检索任意表中的数据db_denydatawriter: 不能增加、修改和删除所有表中的数据数据库用户角色对应于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)建立用户自定义角色选择建立角色的数据库角色—新建数据库角色—输入角色名称—选择角色—添加用户——确定定义角色授权选择指定角色属性—权限—设置权限添加自定义角色的成员属性—添加—选择帐户10.4 SQL Server 的安全管理机制(Cont.)6. 存取权限管理机制为用户授权,将授权结果存入数据字典用户提出操作请求时,系统进行操作权限检查,决定是否执行其操作(1) 权限的种类对象权限(使用DML语句的权限)用户对表/视图的操作权限(查询,更新)语句权限(使用DDL语句的权限)用户进行数据定义的权限隐含权限(角色权限)为用户设置的服务器角色,数据库角色,dbo等权限,一次授权,长期享有.(2) 权限管理授权Grant收回授权Revok拒绝访问Deny(3) 权限管理级别表/视级授权属性级授权存储过程执行授权(4) 权限管理机制企业管理器SQL语句10.4 SQL Server 的安全管理机制(Cont.)10.4 SQL Server 的安全管理机制(Cont.)(5) SQL权限管理授权语句GRANT 权限名[,…] ON 表名|视图名|存储过程名TO 数据库用户名|用户角色名[, …]收回权限语句REVOKE 权限名[,…] ON表名|视图名|存储过程名FROM 数据库用户名|用户角色名[, …]拒绝访问语句REVOKE权限名[,…] ON表名|视图名|存储过程名TO数据库用户名|用户角色名[, …]10.4 SQL Server 的安全管理机制(Cont.)对属性列和视图的操作权限查询,插入,修改,删除.对基本表的操作权限查询,插入,修改,删除,修改表定义,建立索引.建立表权限建立表的权限归DBA所有,DBA可以将权限授于其他用户,被授权的用户可以自己创建表.创建表的用户是表的主人dbo,拥有对表的所有权限用户可以是某一特定用户,也可以是全体用户PUBLICWITH GRANT OPTION子句获得某种权力的用户可以将其权限转授其他用户10.4 SQL Server 的安全管理机制(Cont.)例:把查询表Student的权限授给用户User1.GRANT SELECT ON Student TO User1;例:把对表Student和Course的全部操作权限授给用户User2和User3.GRANT ALL PRIVILIGES ON Student,Course TO User2,User3;例:把对表SC的查询权限授给所有用户.GRANT SELECT ON SC TO PUBLIC;例:把对表Student的查询和修改学号的权限授给用户User4. GRANT SELECT,UPDATE(Sno)ON Student TO User4;10.4 SQL Server 的安全管理机制(Cont.)例:把对表SC插入的权限授给User5,并允许User5将此权限再授给其他用户.GRANT INSERT ON SC TO User5 WITH GRANT OPTION;例:DBA把在数据库Teaching_system中建立表的权限授给User8.GRANT CREATETAB ON Teaching_system TO User8;10.4 SQL Server 的安全管理机制(Cont.)例:把用户User4修改学号的权限收回.REVOKE UPDATE(Sno) ON Student FROM User4;例:收回所有用户对表SC的查询权限.REVOKE SELECT ON SC FROM PUBLIC;例:收回用户User5对表SC插入的权限.REVOKE INSERT ON SC FROM User5;若User5已将自己的权限授给其他用户,则被授给的权限也一同收回.第10章数据库保护及SQL Server的安全管理本章小结计算机安全性及数据库安全性的概念数据库安全控制用户标识与鉴别,存取控制,自主存取控制(DAC)方法,强制存取控制(MAC)方法,视图机制,审计,数据加密统计数据库安全性SQL Server 数据库的安全管理机制本章习题和任务复习本章内容.通过实验课练习授权机制.理解P.193各题的问题.2008-10-7哈工大计算机学院张建国Slide 10-41。

第10章__数据库Access2010

第10章__数据库Access2010

打开数据库
10.2.1 数据库的创建与使用
②保存数据库 操作步骤如下: 单击屏幕左上方的“文件”标签,在打开的 Backstage视图中选择“保存”命令,即可保存输入 的信息。 弹出Microsoft Access对话框,提示保存数据库 前必须关闭所有打开对象,单击“是”按钮即可。 或者选择“数据库另存为”命令,可更改数据库 的保存位置和文件名。
10.1.2 Access2010的界面
状态栏
“状态栏”位于窗口底部,用于显示状态信息, 还包含用于切换视图的按钮。
微型工具栏
在Access2010中,可以使用微型工具栏轻松 设置文本格式。用户选择要设置格式的文本后, 微型工具栏会自动出现在所选文本的上方。如果 将鼠标指针靠近微型工具栏,则微型工具栏会渐 渐淡入,用户可以用它来加粗、倾斜、选择字号、 颜色等。如果将鼠标指针移开,则微型工具栏会 渐渐淡出。如果不想使用微型工具栏设置格式, 只需将指针移开一段距离,微型工具栏即会自动 消失。
“外部数据”选项卡
10.1.2 Access2010的界面
“数据库工具”选项卡 利用“数据库工具”选项卡可以完成以下功 能:启动VB编辑器或运行宏、创建或查看表关系、 显示隐藏对象相关性或属性工作表、运行数据库 文档或分析性能、将数据移至数据库、运行链接 表管理器、管理Access加载项、创建或编辑VBA模 块等。
10.2.2 表的建立
创建“联系人”表
表操作
10.2.2 表的建立
使用表设计创建表操作步骤: ①启动Access2010,新建数据库“表示例” ② 切换到“创建”选项卡,单击“表格”组中的 “表设计”按钮,进入表的设计视图。
10.2.2 表的建立
③ 在“字段名称”栏中输入字段的名称“学号”; 在“数据类型”选择该字段的数据类型,这里选择 “数字”选项;“说明”栏可以输入也可以不输入 ④ 用同样的方法,输入其它字段名称,并设置相应 的数据类型。 ⑤ 选择要设为主键(能唯一标识一条记录的字段) 的字段, 在“设计” 选项卡的“工具”组中,单 击 “主键”按钮,即可将其设为主键。

第10章面向对象数据库-PPT精选文档

第10章面向对象数据库-PPT精选文档

Ô Ï ¶ ó B
ô Ð Ê Ô 1 ­ ¡ ¡ ­ ô Ð Ê Ô r ½ · · ¨1 ­ ¡ ¡ ­ ½ · · ¨s
14
10.1 对象与类
10.1.3 类
类(Class)是对具有共同属性和方法的对象全体的 概括描述,它相当于关系模型中的关系模式。类给出 了属于其全部对象属性与行为的抽象定义,类中对象 仅是类定义中的一个实体,即对象实例。学生是一个 类,一个具体学生,例如John就是学生类中一个对象 实例。与关系模型需要首先描述关系模式类似,对象 模型也首先需要抽象描述具有共同属性的对象的类, 按照类来定义属性和方法,从而避免对每个对象一一 重复定义。查询操作等方法也定义在类上。
6
10.1 对象与类
10.1.1 对象
对象具有封装性、隐蔽性与稳定性等重要特性。 (1)封装性 封装(encapsulation)是使对象的外 部界面与内部实现之间实行清晰隔离的一种技术,是 OO模型的主要特征之一。封装使得用户只能看到对 象外在的界面信息(正如规格说明等),而看不到对 象内部的信息(如方法实现细节),对象内部信息对 于用户是屏蔽的。封装的意义首先在于安全性保证, 其次在于相关模块的可扩展性。
12
10.1 对象与类
10.1.2 消息
例 设一个对象A要求对象B完成其中的某种操作,则 只需向对象B发送一个消息即可。B接收到这个消息后, 根据消息模式找到与之匹配的方法,执行该方法后将 执行的结果又以消息的形式发送给对象A。
13
10.1 对象与类
10.1.2 消息
Ô Ï ¶ ó A
ô Ð Ê Ô 1 ­ ¡ ¡ ­ ô Ð Ê Ô n ½ · · ¨1 ­ ¡ ¡ ­ ½ · · ¨m á ¹ ½ û Ï û Ï ¢ ÷Ó µ Ã Ï û Ï ¢

第10-章数据库管理和安全性

第10-章数据库管理和安全性

它的语法规则如下: GRANT {privilege[, privilege, …]} ON {TABLE table | OBJECT object} TO {authorizationname[, authorizationname, …]} GRANT 语句部分说明如表10-2所示。
REVOKE语句的作用与GRANT语句 相反,用来撤销现有用户或组所拥有的指 定权限。
(1)单击【工作组】管理员对话框 中的【加入】按钮,弹出【工作组信 息文件】对话框,如图10-5所示。 (2)选择工作组信息文件的位置, 单击【确定】按钮,弹出成功加入工 作组信息的对话框,单击【确定】按 钮即可,如图10-6所示。
图10-6 成功加入工作组信息
10.3.2 设置用户与组的账户
第 10 章 数据库管理和安全性
10.1
数据库的安全性保护 设置数据库密码
10.2
10.3
用户级安全机制
管理安全机制 实 训
10.4
10.5
10.1 数据库的安全性保护
数据库安全性保护指的是如何保护一 个数据库避免遭受未授权访问和恶意破坏 等的机制和性能。 安全问题一直是计算机系统所面临的 一个重要问题,在数据库系统的数据集中 存放,而且通常为多用户直接共享,如何 确保数据的安全就显得更加重要了。
另外“管理”权限是较高权限,如果 选中此项,则比它低的权限会自动选中。
在默认情况下,“用户组”的权限是 最高的,它可以对数据库进行完全控制, Access的所有账户都是必须属于“用户组” 的,所以默认情况下每个用户都具有数据 库的最高权限。
为了数据库的安全,在权限设置中一 定要把“用户组”的权限全部取消,而把 “管理员”的权限设置为最高,即选中全 部。

VFP实用第10章 数据库应用系统开发

VFP实用第10章 数据库应用系统开发
9
2. 系统分析
数据对象和数据流程分析 数据对象和数据流程分析是数据库设计的基础工作。 在此阶段要收集全部数据资料,如学生登记表、学生成 绩表、教学计划等。 还要了解用户想从数据库中获得哪些信息,需要对数据 进行哪些处理以及对数据安全性和完整性的要求等。 经过分析将数据对象及其之间的关系用E-R图来描述,成 绩管理系统的E-R图在2.1节已介绍。
教研组名称 企业管理 计算机
英语 财会 经济 营销 文法 数学 体育
专业编码 11 12 13 21 22 23 41 51 52 61
专业名称 企业管理 物业管理 酒店管理 计算机应用 管理信息系统 电子商务 财务管理 国际金融 国际贸易 市场营销
16
(2) 编码设计
班级编码为4位数字:年级编码(2位)+专业编码(2位)。 例:09级计算机班的班级编码为“0921”,其中“09”是入学年份, “21”是计算机专业的编码。
设计以及处理过程设计。
3
10.1 应用系统开发的一般过程
4.系统实施 按照系统的设计要求,建立新系统。 包括:创建项目;在项目中建立数据库和表;完成表单、报 表、菜单等文件的设计和调试;再设置主程序,将项目中的
文件连编成一个应用程序。
5.运行与维护 测试通过的软件交付用户使用,在使用中有可能会发现新的 问题,此时可以根据用户的要求进行必要的修改和扩充,使
经过初步调查,确定系统的开发目标和应用范围。 2.系统分析
经过详细调查,分析用户的需求和业务流程,以及软件要处理的 数据对象和数据流程;
然后确定系统要实现的功能,即弄清楚系统要“做什么”。 3.系统设计
设计系统的实现方案,即解决系统“怎么做”的问题。 包括:系统的总体结构设计和详细设计。 详细设计又包括:编码设计、数据库设计、输入输出和人机界面

《数据库原理与应用(Access)》第10章:应用系统开发实例

《数据库原理与应用(Access)》第10章:应用系统开发实例

图10-6 关系对话框 10-
在弹出的关系对话框中单击右键,出现如图10-6所示的对话框,选择 “显示表”。或者选择工具栏中【关系】下的【显示表】命令。 将“读者”、“读者类别”、“图书类别”、“图书”、“借还记录” 和“工作人员”表添加进关系表,添加后如图10-7所示。
图10-7创建关系-添加表 10- 创建关系-
10.2.1 建立“图书管理”数据库 建立“图书管理”
进入Access2003,窗体右侧会出现任务窗格,选择【新建】后弹出如图10-1 所示的窗体,选择【空数据库】,出现如图10-2所示的“新建文件”窗体,选择保 存位置,在“文件名”文本框中输入“tushu”,作为数据库名。
图10-1 新建数据库窗体 10-
10.1.3 逻辑设计与物理设计
逻辑设计阶段的主要目标是把概念模型转换为具体计算机上DBMS所支持的结 构数据模型。物理设计是根据Access数据库管理系统的特点,设计系统的物理模 型,即定义存储在数据库中的表名、字段名、字段类型、字段大小、主键等。图 书管理系统的设计结果如下:
字段名 FLH FLMC
标题 分类号 分类名称
字段类型 文本 文本
字段大小 2 50
主键 是
索引 有 无
说明
表10-1 图书类别表结构 10-
字段名 SM TSTM ISBNM FLH CBS ZZ DJ GSJQ SJH SFJC
标题 书名 图书条码 ISBN码 分类号 出版社 作者 定价 购书日期 书架号 是否借出
字段类型 文本 文本 文本 文本 文本 文本 货币 日期/时间 文本 是/否
4
无 无
50 表10-3 读者表结构 10-

字段名 LB YXJSL YXJSQX

对象关系数据库

对象关系数据库

10.3 ORDB的定义语言
3.1 ORDB的数据类型 3.2 结构类型 3.3 集合、数组和大对象 3.4 继承性的定义 3.5 引用类型的定义 3.6 方法、函数和过程 3.7 SQl3过程语句
10.3.1 ORDB的数据类型
多集类型:同类元素的无序集合(成员可多次出现),称为多集(Multiset)。例如成绩集{80,70,80,80}。
第10章对象关系数据库
在传统的关系型数据库系统的基础上引入了面向对象的这类系统称为对象关系数据库系统(ORDB)。 本章主要内容包括:对象关系数据模型、ORDBS数据库设计方法—对象联系法、SQL3对ORDBS的支持、OODBS和ORDBS的比较。
第10章对象关系数据库
0 1
1 对象关系数据模型
0 6
6 小结
单击此处添加文本具体内容,简明扼要的阐述您的观点。
传统关系模型称为“平面关系模型” ,不允许表中有表。 在传统关系数据模型基础上,增加了元组、数组、集合等数据类型,以及提供了处理新数据类型操作的能力,并具有继承性和对象标识等面向对象特点,这样的数据模型,称为“对象关系数据模型”。基于对象关系数据模型的DBS称为“对象关系数据库系统”(ORDBS)。 对象关系模型是对关系模型的发展,与传统的关系模型兼容,因此许多概念,如实体标识、多值属性、泛化/细化等,都可以直接引用,而无需经过变换转化。原来SQL语言照样可用,只不过扩充了更强的功能。 对象关系模型使用对象联系图来描述系统结构。
其中,较高层的对象类型称为“超类型”(Supertype),较低层的对象类型称为“子类型”(SubType)。
子类型具有继承性,能继承超类型的特征,而子类型本身又有其他的特征。
当在较低层上抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的“泛化”,而较低层上抽象是较高层上抽象的“细化,称数组。

部分外文数据库教材

部分外文数据库教材

购书指南中文书名:数据库管理系统基础(第2版)英文书名:THE CONCEPTS OF DA TABASE MANAGEMENT, 2E 原著作者:Philip J. Pratt, Joseph J. Adamski翻译:陆宏毅杨文波程华(国防科技大学计算机学院)译版别:2国际标准图书编号:7-111-07312-6定价:¥20.00开本:16页数:188本书目录:前言第1章数据库管理简介第2章关系模型1:简介、QBE和关系代数第3章关系模型2:SQL第4章关系模型3:高级主题第5章数据库设计1:规范化第6章数据库设计2:设计方法学第7章数据库管理系统的功能第8章数据库管理员第9章高级主题附录A 单数复习题的答案附录B 术语表内容简介:本书深入浅出地讨论了数据库系统相关的基本概念和技术,包括SQL语言、数据库设计、范式、DBMS、DBA、数据库的选择以及数据库的热门话题等,其中并没有涉及特殊的数据库软件或版本,因此具有广泛的适用性。

本书可作为计算机专业或相关学科的数据库介绍性课程教材,适合于本科生、研究生和使用微机数据库系统的人员参考。

购书指南中文书名:数据仓库(第2版)英文书名:BUILDING THE DATA WAREHOUSE, 2E原著作者:W.H. Inmon翻译:王志海等译;黄厚宽、田盛丰审校(北方交通大学)版别:2国际标准图书编号:7-111-07889-6定价:¥25.00开本:16页数:228本书目录:第1章决策支持系统的发展第2章数据仓库环境第3章设计数据仓库第4章数据仓库中的粒度第5章数据仓库和技术第6章分布式数据仓库第7章高级管理人员信息系统和数据仓库第8章外部/非结构化数据与数据仓库第9章迁移到体系结构化环境第10章数据仓库的设计复查要目内容简介:本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(或称决策支持系统环境)以及在这种环境中的数据问题。

主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据、分析式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。

教学日历-数据库实用教程(第四版)-董健全-清华大学出版社

教学日历-数据库实用教程(第四版)-董健全-清华大学出版社

2
课堂研讨二:
14
数据库设计及规范化理论在数据库应用 2
系统设计中的体现
课堂研讨三:
15
结合前一次的图书管理系统和实验六的 2
学分制教务管理系统交流数据库高级技术
课堂研讨四:
15
结合学分制教务管理系统交流数据库应 2
用系统的设计与实现
16
期末复习、习题分析
2
P.199 |
P.215
P.216 |
P.228
§4 实例分析
P.129 |
P.139
第七章 数据库设计
9
§1数据库设计概述
§2数据库设计的步骤
9
§3 实例分析
• 本章重要概念
第八章 数据库管理
10
§1 事务的概念
§2 数据库的恢复
§3 数据库的并发控制
10
§4 数据库的完整性 一、完整性子系统的主要功能:
二、完整性规则的组成与分类
11
三、SQL中的完整性约束 四、SQL3的触发器
24 2
4
习 题 5: P.126 2~5、7 、8、14~ 18
P.107 |
P.125
7
§6 模式分解的方法
§7 多值依赖和第四范式
8
期中复习、习题分析
24 24
第六章 实体联系模型
§1 实体与属性的基本概念
8
§2 实体和联系的设计和实现
2 4 习 题6: P.140 2、 4 、6
§3 扩展的实体联系模型的表示方法
2 P.40
| P.65
3
16
六、扩充的关系代数操作
§3 关系演算
3
一、元组关系演算
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10.3.6 方法、函数和过程3


SQL3支持过程,如auther_count可写成过程: create procedure auther_count_proc(in title varchar(20),out a_count integer) begin select count(author) into a_count from authors where suthors.title=title; end
10.2 对象联系图


对象联系图是实体联系图的一种扩充形式,用 于表达系统中各对象之间的相互关系,不仅能 描述关系中基本的数据结构,还可以用来表达 面向对象技术中嵌套、递归的数据结构。 10.2.1 对象联系图的成分 10.2.2 学校、教师和教材对象联系图 10.2.2 数据的泛化/细化的描述
10.2.2 学校教师和教材对象联系图
10.2.3 数据的泛化/细化的描述



当在较低层上抽象表达了与之联系的较高层上 抽象的特殊情况时,就称较高层上抽象是较低 层上抽象的“泛化”,而较低层上抽象是较高 层上抽象的“细化”。 其中,较高层的对象类型称为“超类 型”(Supertype),较低层的对象类型称为“子 类型”(SubType)。 子类型具有继承性,能继承超类型的特征,而 子类型本身又有其他的特征。
10.3.2 定义结构类型






车间与职工的嵌套关系 Dept(dno,dname,staff(empno,ename,age)) 可用下列形式定义: create type Employee(empno char(8), ename varchar(20), age integer); create type Department(dno char(8), dname Varchar(20), staff setof(Employee));
10.3.4 继承性的定DB中,提供了对继承的支持,继承性可 以发生在类型一级或表一级。 类型级的继承性是指在定义一个类时可以从已 存在的类中继承相关的属性。表级的继承性是 指一个表可继承上级表的属性。 类继承性:定义学生类型 create type Student (degree Varchar, department Varchar) under Person;
10.3.5部门雇员引用类型定义


create table Dept(dno integer, dname varchar(20), staff setof(ref(Emp))); create table Emp(empno integer, ename varchar(20), sex varchar(20), Age integer, Works_for ref(Dept));


10.1 10.2 10.3 10.4 10.5 10.6 10.7
对象关系数据模型 对象联系图 ORDB的定义语言 ORDB的查询语言 OODB与ORDB的比较 小结 习题
10.1 对象关系数据模型



传统关系模型称为“平面关系模型” ,不允许表中有表。 在传统关系数据模型基础上,增加了元组、数组、集合 等数据类型,以及提供了处理新数据类型操作的能力, 并具有继承性和对象标识等面向对象特点,这样的数据 模型,称为“对象关系数据模型”。基于对象关系数据 模型的DBS称为“对象关系数据库系统”(ORDBS)。 对象关系模型是对关系模型的发展,与传统的关系模型 兼容,因此许多概念,如实体标识、多值属性、泛化/细 化等,都可以直接引用,而无需经过变换转化。原来 SQL语言照样可用,只不过扩充了更强的功能。 对象关系模型使用对象联系图来描述系统结构。
10.3 ORDB的定义语言



10.3.1 10.3.2 10.3.3 10.3.4 10.3.5 10.3.6 10.3.7
ORDB的数据类型 结构类型 集合、数组和大对象 继承性的定义 引用类型的定义 方法、函数和过程 SQl3过程语句
10.3.1 ORDB的数据类型

10.3.6 方法、函数和过程1



定义结构类型时创建方法。如:
create type Employee as( name varchar(20), salary integer) method give_raise(percent integer)) create method give_raise(percent integer) for Employee Begin set self.salary= self.salary+( self.salary*percent)/100; end
10.3.3 定义集合、数组和大对象


create type NameArray varchar[10]; /*定义NameArray即是数组类型*/ create type CourseGrade(course Varchar(20), grade integer); create type StudentCourse (name Varchar(20), cg setof(course)); /*定义StudentGrade由姓名和课程成绩表构成*/ create table sc of StudentCourse; /*定义表sc为结构StudentCourse的集合*/
10.3.7 SQl3过程语句


用SQl3构造过程,几乎可使用通用语言的 所有功能,使用分支或循环结构。它提供 以下语句: while <条件> do set… end while repeat set …until <条件> end repeat for <变量> as …do set… end for if <条件> then set… else…end if case语句
10.3.5 引用类型的定义


递归嵌套结构:在部门类型与雇员类型的联系中,定义 了元组类型Dept与Emp。 Dept(dno,dname,emp(eno,ename,age)) Emp(eno,ename,age,Dept(dno,dname)) 在Dept类中包括了Emp类,表示个部门有哪些雇员。在 Emp类中又要包括Dept类,表示雇员在哪个部门工作。




复合类型有四种: (1) 结构类型:不同类型元素的有序集合称为结构。 如日期可由日月年三部分组成(如:8,July,2002)。 (2) 数组类型:同类元素的有序集合,称数组。 (3) 多集类型:同类元素的无序集合(成员可多次出现), 称为多集(Multiset)。例如成绩集{80,70,80,80}。 (4) 集合类型:同类元素的无序集合(每个成员只能出 现一次),称为集合(Set)。例如课程集:{MATHS, PHYSICS,PL,OS,DB}。 数据类型可以嵌套。
10.4.3 嵌套与解除嵌套

查询结果可以嵌套关系形式显示,也可以INF(非嵌套)形 式显示。将一个嵌套关系转换成INF的过程称为解除嵌套。
例10_5:在上例中,如果希望查询结果为嵌套关系,那 么可在属性(fno,fname)上对关系进行嵌套,语句如下: SELECT A.unme,set(B.fno,B.fname) as teachers FROM university as A,A.staff as B,B.teach as C
10.2.1 对象联系图的成分




用实线表示对象之间的联系。 椭圆代表对象类型(相当于实体类型)。 小圆圈表示属性是基本数据类型(整型、实型、字符串)。 椭圆之间的边表示对象之间的“引用”。 单箭头(→)表示属性值是单值(属性可以是基本数据类型, 也可以是另一个对象类 型)。 双箭头(→→)表示属性值是多值(属性可以是基本数据类 型,也可以是另一个对象类型)。 双线箭头( )表示超类与子类间的联系(从子类指向超类)。 双向箭头()表示两个属性之间值的联系为逆联系。
10.2.3带泛化边的对象联系图
10.3 ORDB的定义语言



对象关系数据库系统支持更复杂的数据类型, 如结构类型、元组、数组、集合数据类型,支 持继承和引用,与关系模型兼容,因此原来支 持关系模型的SQL语言也照样可用。 在SQL99标准中提供了对对象关系模型数据库 的支持。 本小节介绍ORDB的定义语言,主要包括ORDB 的数据类型的定义、继承性和引用类型的定义 等内容。

10.3.6 方法、函数和过程2


SQL支持函数: create function Publisher(x varchar(20),y varchar(20)) return Publisher Begin set name=x; set branch=y; end

WHERE C.editor.uname=A.uname
GROUP BY A.uname;
10.5 OODB与ORDB的比较
OODB ORDB
从OOPLC++出发引入持久数据概 念,能操作DB形成持久化C++
导航式查询
从SQL出发,引入复合类型、继 承性、引用类型等概念
结构化查询
符合面向对象语言
显式联系 惟一的对象标识符 能够表示“关系”
符合第4代语言
隐式联系 用主键标识记录 能够表示“对象”
10.6 小结



在传统关系模型基础上引入面向对象功能,提供复合数 据类型,这种模型称为对象关系模型。 支持对象关系模型的DBS称为ORDBS。 对于ORDB的设计,常用的方法是采用对象联系图法。 对象联系图是实体联系图的扩充,是面向对象数据模型 中数据结构的一种重要图例表示方法。它使用了对象标 识的概念,使结构的嵌套和递归成为可能。 在SQL3中已收入了面向对象的内容,扩充的SQL3适应对 象概念并提供一个高级接口。
相关文档
最新文档