电信资源管理系统立项可行性说明课件

上传人:无*** 文档编号:241628625 上传时间:2024-07-11 格式:PPT 页数:32 大小:197KB
返回 下载 相关 举报
电信资源管理系统立项可行性说明课件_第1页
第1页 / 共32页
电信资源管理系统立项可行性说明课件_第2页
第2页 / 共32页
电信资源管理系统立项可行性说明课件_第3页
第3页 / 共32页
点击查看更多>>
资源描述
北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1 2.2.1 安全性安全性v安全性控制保护数据库以防止不合法的使用所造成的数据泄露和破坏。其基本措施是存存取取控控制制:确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据。vGrant语句是表所有者授予一个或一类用户访问表的各种权利的SQL命令。访问列的安全性可通过视图实现。Revoke语句撤消对一个表的权限。v表的所有者自动拥有所有权限,而且不能被取消。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数据库设计与开发讲义2.2.1.1 2.2.1.1 用户管理用户管理v数据库应用系统有合法的用用户户名名单单,为了访问一个数据库,用户须用该数据库确认有效的用户名和口令运行应用程序,连接到数据库中。对不同用户可以授予不同权限,每个用户只能在自己权限范围内活动。不同用户有不同的权限不同用户有不同的权限,责任明确,保障安全责任明确,保障安全。v用户数:同一时刻登录到数据库的用户数(ORACLE中初始化参数LICENSE_MAX_SESSIONS);数据库可容纳的不同的用户名总数(ORACLE中初始化参数LICENSE_MAX_USERS).数据库应用系统应用开发人员应用系统用户DBA(可以分级)一般用户(岗位区别)北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.1 2.2.1.1 用户管理用户管理vCREATE USER username IDENTIFIED 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数据库设计与开发讲义2.2.1.1 2.2.1.1 用户管理用户管理vALTER USER username;修改用户vDROP USER username CASCADE;删除用户及所属对象。vORACLE初始系统的用户:SYS CHANGE_ON_INSTALL SYSTEM MANAGER INTERNALL ORACLE (DBA用户)v一个系统中用户名唯一,各个用户的信息可以在DBA_USERS数据字典中查到。北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.2 2.2.1.2 权限管理权限管理v权限分为两大类:系统权限和对象权限。v系统权限系统权限用于划分DBA的职责(多个DBA),有:CREATE对象,ALTER对象,DROP对象等80余种。如果将系统权限授予某一用户,则该用户应当被看作DBA。v对对象象权权限限是为控制用户使用数据库对象而设立的,数据库对象主要有表、视图、序列、过程/函数和快照等,权限有ALTER、INSERT、DELETE、UPDATE、SELECT、INDEX、EXECUTE、REFERENCES,对 象 权 限 与SQL语句有直接的对应关系,在某个数据库对象上拥有某种权限,往往意味着可以执行相应的SQL语句。北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.3 2.2.1.3 角色角色v角色介于权限和用户之间,是是一一组组系系统统权权限限和和对对象象权权限限的的集集合合,把把它它们们组组合合在在一一起起赋赋予予一一个个名名字字,就使得授予权限变得简单.用户被授予某个角色,则拥有该角色的所有权限.引入角色的概念可减轻DBA的负担.v数据库应用设计者可以不再理会各个工作站的具体用户是谁,只以抽象的角色代替.vORACLE 8预先定义了8种角色,用来限制系统权限,数据库应用设计者可以以此为基础规划和定义一般用户.vCREATE ROLE rolename NOT IDENTIFIED IDENTIFIED BY password|EXTERNALLY 如果角色有口令,用户要知道口令才可扮演该角色,EXTERNALLY表示由操作系统检验口令.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.3 2.2.1.3 角色角色vORACLE预先定义的8种角色:CONNECT:连接到数据库,最终用户角色.RESOURCE:申请资源创建对象,开发人员角色.DBA:具有全部系统权限,可以创建用户.IMP_FULL_DATABASE:装入全部数据库内容.EXP_FULL_DATABASE:卸出全部数据库内容.DELE_CATALOG_ROLE:能删除审计表中记录.SELECT_CATALOG_ROLE:查询数据字典.EXECUTE_CATALOG_ROLEE:执行过程和函数.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.4 2.2.1.4 权限授予权限授予vGRANT 系统权限|角色 TO 用户|PUBLIC|角色 WITH ADMIN OPTION;WITH ADMIN OPTION允许权限复制给其他用户.vGRANT ALL|对象权限,对象权限|角色 ON TABLE tablename|viewname TO PUBLIC|username,username|角色 WITH GRANT OPTION;v系统权限、对象权限和角色均可用响应的REVOKE语句收回.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.5 2.2.1.5 资源管理资源管理vPROFILE为用户规定了动态资源限制,如果创建用户时不指定资源限制文件,则采用一个叫做DEFAULT文件的配置(缺省配置).资源限制文件可以限制一个单独的调用或整个会话所需要的资源.vCREATE PROFILE filename LIMIT SESSIONS_PER_USER n|UNLIMITED -用户可同时进行几个会话 CPU_PER_SESSION n|UNLIMITED -每个会话用多少1%秒CPU CONNECT_TIME n|UNLIMITED -连接数据库时间(分钟)LOGICAL_READS_PER_SESSION n|UNLIMITED -会话中调用块数 .;v限限制制用用户户动动态态资资源源的的目目的的是是为为了了安安全全,分配给用户的动态资源应与用户的正常业务相当.如果用户资源占用超越分配值,意味着用户在干份外的工作了.系统阻止这类行为通常是结束会话,回退当前事务,返回错误信息.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.6 2.2.1.6 审计审计vDBA需要了解用户对表作了那些操作,用户登录多少次等数据库使用情况,以便对系统进行管理。审审计计是是DBMS用用于于监监控控用用户户活活动动,保保障障系系统统安安全全的的重重要要方方法法。ORACLE将审计记录写在审计痕迹(Audit trail)表,可以查看此表审查数据库的活动。v审计用户审计用户:AUDIT 语句选项 BY 用户 BY ACCESS|SESSION WHENEVER NOT SUCCESSFUL;BY 用户 对指定用户审计,缺省为对所有用户审计;BY ACCESS审计全部SQL,BY SESSION一次会话相同SQL只审计一次(节约),缺省为全部审计;WHENEVER NOT SUCCESSFUL审计成功或不成功的,缺省为不管成功不成功均审计。北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.1.6 2.2.1.6 审计审计v例:AUDIT select table,update table BY user1 对用户user1的查询或修改表和视图操作审计。v审计对象审计对象:AUDIT 选项|ALL ON 模式.对象 BY ACCESS|SESSION WHENEVER NOT SUCCESSFUL;v例:AUDIT insert,update ON user1.student 审计在用户user1的student表上的插入修改操作。v审计查看审计查看:USER_AUDIT_TRAIL 定义的审计信息 DBA_AUDIT_TRAIL -审计结果 AUDIT_ACTIONS -可审计的命令v撤消审计撤消审计:NOAUDIT北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.2 2.2.2 完整性约束完整性约束v数据库应用设计者和DBA可以事先为每个数据项确定一些规矩,要求进入数据库的数据必须符合规矩,这些规矩即为完整性约束.v实实现现数数据据完完整整性性的的方方法法有有三三种种:应用接口编程、表定义时定义约束、触发器编程描述完整性.后两种方法由DBMS提供,与客户端无关,可降低网络负担.2.2.2.1Create table的完整性约束 2.2.2.2Alter table修改完整性约束 2.2.2.3触发器(Trigger)北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.2.1 Create table2.2.2.1 Create table的完整性约束的完整性约束vCREATE 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数据库设计与开发讲义2.2.2.1 Create table2.2.2.1 Create table的完整性约束的完整性约束v通过not null,unique,primary key可实现实体完整性,通过发foreign key refrences可定义参照完整性,on delete cascade表示连带删除.v例: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数据库设计与开发讲义2.2.2.2 Alter table2.2.2.2 Alter table修改完整性约束修改完整性约束vAlter Table语句允许DBA改变表的结构,加入或改变列,加入或删除各种约束.(注意权限)vALTER TABLE tablename ADD(col 类型 DEFAULT 值|NULL 列级约束|表级约束,colname)DROP COLUMN col|(col,col)MODIFY(col 类型 DEFAULT 值|NULL)DROP CONSTRAINT 约束名 DROP PRIMARY KEY;v如如果果表表约约束束被被命命名名,可可以以用用该该名名字字drop该该约约束束,用用add子子句句加加一一新新的的表表约约束束.注意加入新列影响行的物理存储,可能使他们不能存储在磁盘的当前位置.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.2.3 2.2.2.3 触发器触发器(Trigger)Trigger)v触发器类似于过程和函数,是是一一个个程程序序块块,但过程是被显式调用,而触发器是当事件发生时,被自动调用(触发),且触发器不接受参数。v触发器能引起一个动作的执行,它可以用来实现过过程程性性约约束束.建表时创建的约束称为非非过过程程性约束性约束。vSybase数据库最早支持触发器,现在Oracle、DB2 UDB、Informix、SQL Server都支持,但Core SQL-99不支持。v定义触发器动作时,各个产品用自己的过程性语言。以下以Oracle为例说明。北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.2.3 2.2.2.3 触发器触发器(Trigger)Trigger)vCREATE OR REPLACE TRIGGER trigname BEFORE|AFTER|INSTEAD OF -触发时间 INSERT|DELETE|UPDATE OF col,-触发事件 ON tabname -只能对表 FOR EACH ROW|STATEMENT -行级触发 WHEN(条件)BEGIN.PL/SQL块.END;触发时间说明事件前或后或只触发不执行事件;触发事件可以是增删改或三者的组合;行行级级触触发发对满足WHEN条件的每一行都单独执行触发体,语句级触发语句级触发只在事件发生时触发一次;行级触发器中可以区分新值和旧值,事件之前的值为old,事件之后的值为new,old和new之前必须有冒号(:);触发器中可使用inserting,deleting,updating三个逻辑变量,如果INSERT行为发生,则inserting变量为真,否则为假.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.2.3 2.2.2.3 触发器触发器(Trigger)Trigger)v例:create or replace trgger t_c after update on coustomers for each row when(new.discnt15.0)declare v1 number;v2 number;begin v1:=:old.discnt;v2:=:new.discnt;dbms_output.put_line(old:|to_char(v1)|new:|to_char(v2);end;说明:对表coustomers的修改操作发生后,把折扣率大于15的旧折扣率和新折扣率列出.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.2.3 2.2.2.3 触发器触发器(Trigger)Trigger)vCreate table定义的非非过过程程性性约约束束的种类是有限的,而过过程程性性约约束束留出程序接口,可以实现任何想法的约束.v完整性约束是为了防止错误的SQL意外地破坏数据完整性.当约束不满足时,非过程性约束只能是简单地拒绝接受数据,而通过过程性约束还能实现应该做什么.v显然非过程性约束比过程性约束更容易理解,非过程性约束没有过程性约束那样灵活,相对更成熟稳定.v触发器还可用于面向对象的想法的实现.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.3 2.2.3 系统目录系统目录v所有的关系数据库都有系统目录,它包含数据库中定义的对象的信息,这些对象有用户、表、列、索引、视图、权限、约束等等,它是由由系系统自动维护统自动维护,用户不能直接更新用户不能直接更新,但可以查询但可以查询.vORACLE的数据字典即为系统目录.根据前缀可分为三种不同形式:USER_ 用户视图(当前用户的,不列所有者)ALL_ 扩展的用户视图(列所有者)DBA_ DBA视图vORACLE数据字典的另一种形式是动态性能视图,V$北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.3 2.2.3 系统目录系统目录vALL_TABLES 表信息 vALL_TAB_COLUMNS 表的列信息vALL_CONSTRAINTS员 表的约束信息vALL_TAB_COMMENTS 表的描述信息vALL_COL_COMMENTS 列的描述信息vALL_TAB_GRANTS 表的权限信息vUSER_INDEXES 索引信息vUSER_IND_COLUMNS 索引的列信息vUSER_CLUSTERS 聚簇信息vUSER_VIEWS 视图信息北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.3 2.2.3 系统目录系统目录vUSER_SEQUENCE 同义词信息vALL_USERS 用户信息vUSER_SYS_PRIVS 用户系统权限信息vUSER_TAB_PRIVS 用户对象权限信息vDBA_ROLES 角色信息vROLE_SYS_PRIVS 角色的权利信息vDBA_PROFILES 用户资源配置文件信息vUSER_TRIGGERS 触发器信息处理 北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.3 2.2.3 系统目录系统目录vDICTIONARY可列出所有数据字典表和视 图 的 名 字 及 描 述 信 息,DICT_COLUMNS列出这些字典列和视图的所有列及描述信息.v通过对数据字典的查看,可以了解整个数据库的组成.数据库对象本身就是一对一、一对多、多对多的关系,我们可进一步体会关系数据库的特点.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.3 2.2.3 系统目录系统目录v面面向向对对象象的的目目录录表表:当用户在数据库中创建用户定义类型和用户定义函数时,不仅要记录这些类型和函数的存在,还要记录它们的相互依赖关系.vORACLE中对象关系的目录表:USER_OBJECT_TABLES USER_TYPES USER_DEPENDENCIES北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.4 2.2.4 数据库恢复数据库恢复v事事务务是数据库的基本工作单位,每个运行事务对数据库的影响要么在数据库中,要么不反映在数据库中.这样才能保证数据库的一致完整.v数据库运行过程中的故障可能破坏数据的完整一致,故障类型故障类型有:事务故障:违反完整性约束引起事务夭折.系统故障:软硬件错误断电引起事务夭折.介质故障:磁盘损坏部分或全部数据丢失.v恢复的技术:数据转储数据转储(备份备份)和日志和日志.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.4 2.2.4 数据库恢复数据库恢复v为了提高效率,对数据库对象的操作的结果不是立刻写入磁盘,而是保留在缓冲区中,从而可以被不同事务一次又一次地使用,如果它变得不常用,则写入磁盘并清出缓冲区.缓缓冲冲区区采采用用最最少少使使用用算算法法(LRU)决决定定最最长长时时间间内内未未被被使使用用的的缓缓冲冲区区被被写写入入磁磁盘盘的的数数据据文文件件中中.缓冲区是否写入磁盘数据文件与其中的数据是否提交无关,也即未提交的数据有可能被先期写入磁盘上.后台进程DBWR只服从于LRU,不服从于事务.v为了防止因故障原因使留留在在缓缓冲冲区区但但已已提提交交的的数数据据反反映映不不到到磁磁盘盘上上,或或者者写写入入磁磁盘盘的的数数据据没没有有提提交交,利用日日志志来记录对数据库的更新操作.日志项记录更新操作的足够信息(事务开始、更新前更新后的值、事务结束).北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.4 2.2.4 数据库恢复数据库恢复v日志记录首先保存在日志缓冲区中,在合适的时刻被写入磁盘上的日志文件中,该文件包括了在过去某个时段中的所有日志项.v数据缓冲区和日志缓冲区各自向数据文件和日志文件转移数据,系统采用先先写写日日志志原原则则协调这两项行为:数据库系统通常在日志缓冲区创建一个日志序列号(LSN),LSN_BUFFMIN为日志缓冲区被写回到磁盘后的最小序列号.每个数据缓冲区页面记录该页最近一次更新操作的日志序列号,记为LSN_PGMAX.数据缓冲区页面只有当LSN_PGMAX比LSN_BUFFMIN小时,才能被LRU到磁盘.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.4 2.2.4 数据库恢复数据库恢复v先写日志原则保证了写入磁盘的更新操作肯定在日志文件中作了记录,没有写入磁盘的更新操作在日志文件中也可能作了记录(事务提交和日志缓冲区满也会引起日志缓冲区写入日志文件).。v对事务故障和系统故障的恢复需要根据日志文件作两种不同类型的处理:前前卷卷(ROLL FORWARD):对已提交(已结束)的事务重新运行并提交,保证已提交的事务的数据更改正确地写入数据库中.回回退退(ROLLBACK):对未提交(未结束)的事务做撤消处理,用日志记录中更新前值依次替换数据库中的数据,使数据库回到该事务执行之前的状态.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.4 2.2.4 数据库恢复数据库恢复v恢 复 过 程 的 时 间 和 ROLLBACK和 ROLL FORWARD过程中要读取的日志文件的长度成正比.为了减少恢复过程的时间,记录系统经过一段合理时间之后的一个一致状态,恢复操作即可不用在此之前发生的日志数据项.v将所有已修改过的数据缓冲区均写入数据文件的特定操作称为检查点检查点.v一个检查点的规则:检查点操作开始,新的事务不能开始,现有事务继续执行直到提交并写入磁盘,系统写入一个特殊的日志文件项(CKPT)到日志文件中,检查点操作结束.v以上规则可能消耗很多时间,阻塞系统操作.不同系统实现检查点的规则不一定相同,使用复杂的检查点规则的系统能够维护一个平稳的事务输出.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.4 2.2.4 数据库恢复数据库恢复v激发检查点出现的方式有两种:在在写写完完指指定定的的日日志志文文件件块块数数之之后后检检查查点点出出现现,控控制制检检查查点点出出现现的的频频率率.ORACLE初始化文件的LOG_CHECKPOINT_INTERVAL可以指定块数,频率越高,例程恢复时间越短,但增加后台进程DBWR的I/O开销,影响系统整体性能.当当联联机机日日志志文文件件写写满满时时检检查查点点被被激激发发.在归档方式下,一旦日志文件填满,系统就运行检查点,在检查点结束后,进行日志文件归档,归档完成之后,联机日志才能复用.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义2.2.4 2.2.4 数据库恢复数据库恢复v数据库应用中,日志文件是不可缺少的.为了确保可以恢复,可做日志镜像.v恢复的策略:事务故障:系统反向扫描日志,撤消此事务对数据库的修改(UNDO).无需DBA介入,例程恢复例程恢复.系统故障:系统正向扫描日志,对未执行完的事务撤消(UNDO),对执行完的事务(数据可能在缓冲区中)重做(REDO).无需DBA介入,系统重新启动时例程恢复例程恢复.介质故障:DBA装入最新的后备数据库副本,DBA装入有关的日志文件副本,DBA执执行行系系统统提供的恢复命令提供的恢复命令,重做已完成的事务.北京邮电大学软件学院 郭文明 2003.06数据库设计与开发讲义作业:作业:1.利用非过程性约束和过程性约束完成完整性定义:保证表agents的行的城市值必须是表coutomers中的城市之一.2.CAP数据库中的四张表对应各自的用户,彼此不能相互操作,请给出让彼此之间可以相互查看的措施.3.结合数据库恢复的内容谈谈如何保证数据库的可靠性.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!