好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据库设计与开发(北邮软件学院研究生讲义)-2.2.ppt

33页
  • 卖家[上传人]:woxinch****an2018
  • 文档编号:44706333
  • 上传时间:2018-06-14
  • 文档格式:PPT
  • 文档大小:125KB
  • / 33 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 2.2 数据管理 • 数据库运行过程中,有一系列工作要作:我们希 望没有授权的用户不能操纵数据库,此为的安全 性;我们希望被授权的用户在出现更新错误时能 保持数据的完整性,此为数据库的完整性控制; 我们希望了解数据库的整体情况,可以查询系统 目录;我们希望数据库遇到故障时,把损失降低 到最小程度,此为数据库恢复2.2.1安全性2.2.2完整性约束2.2.3系统目录2.2.4数据库恢复郭文明 2003.06.052.2.1 安全性 • 安全性控制保护数据库以防止不合法的使用所造 成的数据泄露和破坏其基本措施是存取控制: 确保只授权给有资格的用户访问数据库的权限, 同时令所有未被授权的人员无法接近数据 • Grant语句是表所有者授予一个或一类用户访问 表的各种权利的SQL命令访问列的安全性可通 过视图实现Revoke语句撤消对一个表的权限 • 表的所有者自动拥有所有权限,而且不能被取消 2.2.1.1用户管理2.2.1.2权限管理2.2.1.3角色2.2.1.4权限授予 2.2.1.5资源管理 2.2.1.6审计郭文明 2003.06.052.2.1.1 用户管理• 数据库应用系统有合法的用户名单,为了访问一个 数据库,用户须用该数据库确认有效的用户名和口 令运行应用程序,连接到数据库中。

      对不同用户可 以授予不同权限,每个用户只能在自己权限范围内 活动不同用户有不同的权限,责任明确,保障安全 • 用户数:同一时刻登录到数据库的用户数(ORACLE 中初始化参数LICENSE_MAX_SESSIONS);数据库 可容纳的不同的用户名总数(ORACLE中初始化参数 LICENSE_MAX_USERS).数据库应用系统应用开发人员应用系统用户DBA(可以分级)一般用户(岗位区别)郭文明 2003.06.052.2.1.1 用户管理 • CREATE USER usernameIDENTIFIED BY password[DEFAULT TABLESPACE tsname][TEMPORARY TABLESPACE tsname][QUOTA [n [K|M]] [UNLIMITD] ON tsname][PROFILE filename];DEFAULT TABLESPACE用户创建的对象的表 空间,TEMPORARY TABLESPACE用户暂存 段表空间,缺省为SYSTEM表空间; QUOTA 指定表空间的限制配额每个用户可以设置一 个配置文件,表明自己的操作范围,PROFILE 用来指定用户配置文件。

      郭文明 2003.06.052.2.1.1 用户管理 • ALTER USER username …; 修改用户 • DROP USER username [CASCADE]; 删除 用户[及所属对象] • ORACLE初始系统的用户:SYS CHANGE_ON_INSTALLSYSTEM MANAGERINTERNALL ORACLE (DBA用户) • 一个系统中用户名唯一,各个用户的信息 可以在DBA_USERS数据字典中查到 郭文明 2003.06.052.2.1.2 权限管理 • 权限分为两大类:系统权限和对象权限 • 系统权限用于划分DBA的职责(多个DBA),有:CREATE对象,ALTER对象,DROP对象等80 余种如果将系统权限授予某一用户,则该用 户应当被看作DBA • 对象权限是为控制用户使用数据库对象而设立 的,数据库对象主要有表、视图、序列、过程/ 函数和快照等,权限有ALTER、 INSERT、 DELETE、UPDATE 、SELECT、INDEX、 EXECUTE、REFERENCES,对象权限与SQL 语句有直接的对应关系,在某个数据库对象上 拥有某种权限,往往意味着可以执行相应的 SQL语句。

      郭文明 2003.06.052.2.1.3 角色 • 角色介于权限和用户之间,是一组系统权限和对象权限的 集合,把它们组合在一起赋予一个名字,就使得授予权限变 得简单.用户被授予某个角色,则拥有该角色的所有权限. 引入角色的概念可减轻DBA的负担. • 数据库应用设计者可以不再理会各个工作站的具 体用户是谁,只以抽象的角色代替. • ORACLE 8预先定义了8种角色,用来限制系统权 限,数据库应用设计者可以以此为基础规划和定 义一般用户. • CREATE ROLE rolename [NOT IDENTIFIED][IDENTIFIED [BY password|EXTERNALLY]]如果角色有口令,用户要知道口令才可扮演该角 色,EXTERNALLY表示由操作系统检验口令.郭文明 2003.06.052.2.1.3 角色 • ORACLE预先定义的8种角色:CONNECT:连接到数据库,最终用户角色.RESOURCE:申请资源创建对象,开发人员角色.DBA:具有全部系统权限,可以创建用户.IMP_FULL_DATABASE:装入全部数据库内容.EXP_FULL_DATABASE:卸出全部数据库内容.DELE_CATALOG_ROLE:能删除审计表中记录.SELECT_CATALOG_ROLE:查询数据字典.EXECUTE_CATALOG_ROLEE:执行过程和函数. 郭文明 2003.06.052.2.1.4 权限授予 • GRANT [系统权限|角色]TO [用户|PUBLIC|角色][WITH ADMIN OPTION];WITH ADMIN OPTION允许权限复制给其他用户. • GRANT [ALL |对象权限[,对象权限…]|角色]ON [TABLE] tablename|viewnameTO [PUBLIC|username[,username…]|角色][WITH GRANT OPTION]; • 系统权限、对象权限和角色均可用响应的 REVOKE语句收回.郭文明 2003.06.052.2.1.5 资源管理 • PROFILE为用户规定了动态资源限制,如果创建 用户时不指定资源限制文件,则采用一个叫做 DEFAULT文件的配置(缺省配置).资源限制文件 可以限制一个单独的调用或整个会话所需要的资 源. • CREATE PROFILE filename LIMITSESSIONS_PER_USER n|UNLIMITED --用户可同时进行几个会话CPU_PER_SESSION n|UNLIMITED --每个会话用多少1%秒CPUCONNECT_TIME n|UNLIMITED --连接数据库时间(分钟)LOGICAL_READS_PER_SESSION n|UNLIMITED --会话中调用块数…………. ; • 限制用户动态资源的目的是为了安全,分配给用户的动态 资源应与用户的正常业务相当.如果用户资源占用超越分 配值,意味着用户在干‘份外’的工作了.系统阻止这类行为 通常是结束会话,回退当前事务,返回错误信息.郭文明 2003.06.052.2.1.6 审计 • DBA需要了解用户对表作了那些操作,用户登录多 少次等数据库使用情况,以便对系统进行管理。

      审 计是DBMS用于监控用户活动,保障系统安全的重 要方法ORACLE将审计记录写在审计痕迹 (Audit trail)表,可以查看此表审查数据库的活动 • 审计用户:AUDIT 语句选项 [BY 用户][BY ACCESS| SESSION][WHENEVER [NOT] SUCCESSFUL];BY 用户 对指定用户审计,缺省为对所有用户审计;BY ACCESS审计全部SQL,BY SESSION一次会话相同SQL只审 计一次(节约),缺省为全部审计;WHENEVER [NOT] SUCCESSFUL审计成功或不成功的,缺省为 不管成功不成功均审计郭文明 2003.06.052.2.1.6 审计 • 例:AUDIT select table,update table BY user1对用户user1的查询或修改表和视图操作审计 • 审计对象:AUDIT 选项|ALL ON [模式.]对象[BY ACCESS| SESSION] [WHENEVER [NOT] SUCCESSFUL]; • 例:AUDIT insert,update ON user1.student审计在用户user1的student表上的插入修改操作。

      • 审计查看:USER_AUDIT_TRAIL –定义的审计信息DBA_AUDIT_TRAIL -审计结果AUDIT_ACTIONS -可审计的命令 • 撤消审计: NOAUDIT…郭文明 2003.06.052.2.2 完整性约束• 数据库应用设计者和DBA可以事先为每个数 据项确定一些规矩,要求进入数据库的数据必 须符合规矩,这些规矩即为完整性约束. • 实现数据完整性的方法有三种:应用接口编程 、表定义时定义约束、触发器编程描述完整 性.后两种方法由DBMS提供,与客户端无关,可 降低网络负担.2.2.2.1Create table的完整性约束 2.2.2.2Alter table修改完整性约束2.2.2.3触发器(Trigger)郭文明 2003.06.052.2.2.1 Create table的完整性约束• CREATE TABLE [schema.]tablename(colname dadatype [DEFAULT 值|NULL][列级约束|表级约束][,colname…]); 列级约束:NOT NULL 或[CONSTRAINT 约束名] UNIQUE|PRIMARY KEY|CHECK(条件)|REFRENCES 表[(col,…)][ON DELETE CASCADE]] 表级约束:[CONSTRAINT 约束名] UNIQUE(col,col…)|PRAMARY KEY (col,col…)|CHECK(条件)|FOREIGN KEY (col,col…) REFRENCES 表 [(col,…)][ON DELETE CASCADE]为了修改约 束,可用此子 句为列或表 约束定一名 字没有此说明时,参照表的主键郭文明 2003.06.052.2.2.1 Create table的完整性约束 • 通过not null,unique,primary key可实现实体完 整性,通过发foreign key refrences可定义参照完 整性,on delete cascade表示连带删除. • 例:create table orders (ordno integer not null, month char(2),cid char(4) not null,aid char(4) not null, pid char(4) not null,qty integer not null constraint qck check(qty>=0),dollars float default 0.0 constraint dck check(dollars>=0.0), primary key (ordno),constraint cidref foreign key (cid) references customers,constraint aidref foreign key (aid) references agents,constraint pidref foreign key (pid) references products);郭文明 2003.06.052.2.2.2 Alter table修改完整性约束 • Alter Table语句允许DBA改变表的结构,加入或 改变列,加入或删除各种约束.(注意权限) • ALTER TABLE tablename[ADD (col 类型 [。

      点击阅读更多内容
      相关文档
      浙江省温州市洞头区2025年九年级下学期数学基础素养第一次适应性检测试题含答案.pptx 四川省内江市2025年九年级中考数学第一次模拟考试卷.pptx 浙江省宁波市镇2025年中考数学一模试卷含答案.pptx 湖南省长沙市2025中考第一次模拟考试数学试卷含答案.pptx 浙江省金华市2025年中考一模数学模拟试题含答案.pptx 浙江省宁波市2025年九年级学业水平质量检测数学试卷含答案.pptx 湖南省长沙市2025年中考数学模拟卷含答案.pptx 浙江省宁波市镇海区2025年中考一模数学试题含答案.pptx 湖南省长沙市望城区2025年中考一模数学试题含答案.pptx 四川省内江市2025年中考一模考试数学试题含答案.pptx 广东省深圳市2025年九年级下学期第二次学业质量监测数学试卷(二模).pptx 浙江省温州市2025年中考一模数学试卷含答案.pptx 四川省绵阳市平武县2025年一模数学试题含答案.pptx 浙江省温州市2025年九年级学生学科素养检测数学试卷(二模)含答案.pptx 四川省绵阳市北川羌族自治县2025年中考一模数学试题含答案.pptx 浙江省绍兴市2025年初中毕业生学业水平调测数学试题含答案.pptx 四川省广元市2025年九年级中考一诊数学试题含答案.pptx 浙江省金华市2025年中考模拟预测数学试题含答案.pptx 湖南省长沙市2025年九年级中考一模数学试题.pptx 高考语文一轮复习讲义 课时精炼专题15 对点精练五 精准赏析艺术技巧.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.