`
aa8945163
  • 浏览: 270342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据库对象包括:?

阅读更多
  一、ORACLE数据库的模式对象的管理与维护
  
  本节的主要内容是关于ORACLE数据库的模式对象的管理与维护,这些模式对象包括:表空间、表、视图、索引、序列、同义词、聚集和完整性约束。对于每一个模式对象,首先描述了它的定义,说明了它的功能,最后以基于SQL语言的实例说明如何对它们进行管理于维护。
  
  1.1 表空间
  
  由于表空间是包含这些模式对象的逻辑空间,有必要先对它进行维护。
  
  创建表空间
  SQL>CREATE TABLESPACE jxzy
  
  >DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
  
  >ONLINE;
  
  修改表空间
  SQL>ALTER TABLESPACE jxzy OFFLINE NORMAL;
  
  SQL>ALTER TABLESPACE jxzy
  
  >RENAME DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
  
  >TO ‘/usr/oracle/dbs/jxzynew.dbf’
  
  >ONLINE
  
  SQL>CREATE TABLESPACE jxzy ONLINE
  
  删除表空间
  SQL>DROP TABLESPACE jxzy
  
  >INCLUDING CONTENTS
  
  1. 2 表维护
  
  表是数据库中数据存储的基本单位,一个表包含若干列,每列具有列名、类型、长度等。
  
  表的建立
  SQL>CREATE TABLE jxzy.switch(
  
  >OFFICE_NUM NUMBER(3,0) NOT NULL,
  
  >SWITCH_CODE NUMBER(8,0) NOT NULL,
  
  >SWITCH_NAME VARCHAR2(20) NOT NULL);
  
  表的修改
  SQL>ALTER TABLE jxzy.switch
  
  >ADD (DESC VARCHAR2(30));
  
  表的删除
  SQL>DROP TABLE jxzy.switch
  
  >CASCADE CONSTRAINTS
  
  //删除引用该表的其它表的完整性约束
  
  1. 3 视图维护
  
  视图是由一个或若干基表产生的数据集合,但视图不占存储空间。建立视图可以保护数据安全(仅让用户查询修改可以看见的一些行列)、简化查询操作、保护数据的独立性。
  
  视图的建立
  SQL>CREATE VIEW jxzy.pole_well_view AS
  
  >(SELECT pole_path_num AS path,
  
  pole AS device_num FROM pole
  
  >UNION
  
  >SELECT pipe_path_num AS path,
  
  > well AS device_num FROM well);
  
  视图的替换
  SQL>REPLACE VIEW jxzy.pole_well_view AS
  
  >(SELECT pole_path_num AS path,
  
  pole AS support_device FROM pole
  >UNION
  
  >SELECT pipe_path_num AS path,
  
  well AS support_device FROM well);
  视图的删除
  SQL>DROP VIEW jxzy.pole_well_view;
  
  1.4 序列维护
  
  序列是由序列发生器生成的唯一的整数。
  
  序列的建立
  SQL>CREATE SEQUENCE jxzy.sequence_cable
  
  >START WITH 1
  
  >INCREMENT BY 1
  
  >NO_MAXVALUE;
  
  建立了一个序列,jxzy.sequence_cable.currval返回当前值,jxzy.sequence_cable.nextval 返回当前值加1后的新值
  
  序列的修改
  SQL>ALTER SEQUENCE jxzy.sequence_cable
  
  >START WITH 1 //起点不能修改,若修改,应先删除,然后重新定义
  
  >INCTEMENT BY 2
  
  >MAXVALUE 1000;
  
  序列的删除
  SQL>DROP SEQUENCE jxzy.sequence_cable
  
  1. 5 索引维护
  
  索引是与表相关的一种结构,它是为了提高数据的检索速度而建立的。因此,为了提高表上的索引速度,可在表上建立一个或多个索引,一个索引可建立在一个或几个列上。
  
  对查询型的表,建立多个索引会大大提高查询速度,对更新型的表,如果索引过多,会增大开销。
  
  索引分唯一索引和非唯一索引
  
  索引的建立
  SQL>CREATE INDEX jxzy.idx_switch
  
  >ON switch(switch_name)
  
  >TABLESPACE jxzy;
  
  索引的修改
  SQL>ALTER INDEX jxzy.idx_switch
  
  >ON switch(office_num,switch_name)
  
  >TABLESPACE jxzy;
  
  索引的删除
  SQL>DROP INDEX jxzy.idx_switch;
  
  1. 6 完整性约束管理
  
  数据库数据的完整性指数据的正确性和相容性。数据完整型检查防止数据库中存在不符合语义的数据。
  
  完整性约束是对表的列定义一组规则说明方法。ORACLE提供如下的完整性约束.
  
  a. NOT NULL 非空
  
  b. UNIQUE 唯一关键字
  
  c. PRIMATY KEY 主键一个表只能有一个,非空
  
  d. FOREIGA KEY 外键
  
  e.CHECK 表的每一行对指定条件必须是true或未知(对于空值)
  
  例如:
  
  某列定义非空约束
  SQL>ALTER TABLE office_organization
  
  >MODIFY(desc VARCHAR2(20)
  
  >CONSTRAINT nn_desc NOT NULL)
  
  某列定义唯一关键字
  SQL>ALTER TABLE office_organization
  
  >MODIFY(office_name VATCHAR2(20)
  
  >CONSTRAINT uq_officename UNIQUE)
  
  定义主键约束,主键要求非空
  SQL>CREATE TABLE switch(switch_code NUMBER(8)
  
  >CONSTRAINT pk_switchcode PRIMARY KEY,)
  
  使主键约束无效
  SQL>ALTER TABLE switch DISABLE PRIMARY KEY
  
  定义外键
  SQL>CREATE TABLE POLE(pole_code NUMBER(8),
  
  >office_num number(3)
  
  >CONSTRAINT fk_officenum
  
  >REFERENCES office_organization(office_num)
  
  >ON DELETE CASCADE);
  
  定义检查
  SQL>CREATE TABLE office_organization(
  
  >office_num NUMBER(3),
  
  >CONSTRAINT check_officenum
  
  >CHECK (office_num BETWEEN 10 AND 99);
  
  二、ORACLE数据库用户与权限管理
  
  ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。
  
  2. 1 ORACLE数据库安全策略
  
  建立系统级的安全保证
  系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。
  
  建立对象级的安全保证
  对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。
  
  建立用户级的安全保证
  用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。
  
  2.2 用户管理
  
  ORACLE用户管理的内容主要包括用户的建立、修改和删除
  
  用户的建立
  SQL>CREATE USER jxzy
  
  >IDENTIFIED BY jxzy_password
  
  >DEFAULT TABLESPACE system
  
  >QUATA 5M ON system; //供用户使用的最大空间限额
  
  用户的修改
  SQL>CREATE USER jxzy
  
  >IDENTIFIED BY jxzy_pw
  
  >QUATA 10M ON system;
  
  删除用户及其所建对象
  SQL>DROP USER jxzy CASCADE; //同时删除其建立的实体
  
  2.3系统特权管理与控制
  
  ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。
  
  授予系统特权
  SQL>GRANT CREATE USER,ALTER USER,DROP USER
  
  >TO jxzy_new
  
  >WITH ADMIN OPTION;
  
  回收系统特权
  SQL>REVOKE CREATE USER,ALTER USER,DROP USER
  
  >FROM jxzy_new
  
  //但没有级联回收功能
  
  显示已被授予的系统特权(某用户的系统级特权)
  SQL>SELECT*FROM sys.dba_sys_privs
  
  2.4 对象特权管理与控制
  
  ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。
  
  授予对象特权
  SQL>GRANT SELECT,INSERT(office_num,office_name),
  
  >UPDATE(desc)ON office_organization
  
  >TO new_adminidtrator
  
  >WITH GRANT OPTION;
  
  //级联授权
  
  SQL>GRANT ALL ON office_organization
  
  >TO new_administrator
  
  回收对象特权
  SQL>REVOKE UPDATE ON office_orgaization
  
  >FROM new_administrator
  
  //有级联回收功能
  
  SQL>REVOKE ALL ON office_organization
  
  >FROM new_administrator
  
  显示已被授予的全部对象特权
  SQL>SELECT*FROM sys.dba_tab_privs
  
  2.5 角色的管理
  
  ORACLE的角色是命名的相关特权组(包括系统特权与对象特权)


视图
存储过程
函数
触发器
主键
外键
约束
索引
分享到:
评论

相关推荐

    实验2 MySQL数据库对象管理.pdf

    国家开放大学的课程:数据运维。在形考中的内容。实验2实验2 MySQL数据库对象管理。包括所有的相关操作。有屏幕截图,很清楚 。

    西南交通大学第四章-数据库作业.docx

    3. SQL语言对数据库对象的定义使用哪三个SQL命令关键字? Create,alter,drop。 4. 标准的SQL语言与实际数据库产品中的SQL数据库语言的关系? 绝大多数实际数据库产品并不完全支持标准SQL,SQL的某些功能在实际...

    数据库原理(第5版)

    第6章也讨论了分布式数据库和面向对象的数据库。 第7章介绍了使用基于Web的数据库处理,包括开放数据库连接(ODBC)和PHP脚本语言的使用。本章也讨论了可扩展标记语言(XML)的出现和基本概念。 第8章介绍了商业智能(BI)...

    空间数据库技术应用:数据库管理系统.pptx

    提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象进行定义。例如,对数据库、表、索引进行定义。 (2)数据操作功能 提供数据操作语言(Data Manipulation Language,...

    实验2 MySQL数据库对象管理

    国家开放大学的课程:数据运维。在形考中的内容。 包括所有的相关操作。有屏幕截图,很清楚

    空间数据库技术应用:数据入库.ppt

    空间数据库 空间数据库是指以特定的信息结构(如国土、规划、环境、交通等)和数据模型(如关系模型、面向对象模型等)表达、存储和管理从地理空间中获取的某类空间信息,以满足不同用户对空间信息需求的数据库。...

    神通数据库-数据库快速入门.pdf

    在模式中创建数据库对象或访问模式中的对象时,可在对象名前指定模式名。 • 支持数据备份和恢复 神通数据库的备份/恢复工具具有图形化的操作界面。用户利用备份工具可以对整个数据库、指定数据 库、或者指定库中的...

    数据库及数据库对象.docx

    第7章 数据库及数据库对象 7.1创建及维护数据库7.1.1 SQL Server 数据库概述:系统数据库、用户数据库 SQL Server 2008 安装后,系统自动分5个数据库:master, msdb, model, tempdb,Rescourse. 7.1.2 SQL Server...

    查询当前数据库对象大小

    查询数据库的数据文件及日志文件的相关信息(包括文件组、当前文件大小、文件最大值、文件增长设置、文件逻辑名、文件路径等)

    SQL Server 面面观?数据库对象

    SQL Server 2008包含许多对象,主要的数据库对象有:数据库、事务日志、表、模式、文件组、图表、视图、存储过程、用户自定义函数、用户和角色、规则、默认值、用户自定义数据类型、全文目录。  一、数据库对象 ...

    空间数据库技术应用:利用ArcGIS进行空间数据查询.pptx

    是指从空间数据库中找出所有满足属性约束条件和空间约束条件的地理对象。;空间查询:地理空间实体间存在内在逻辑关系,根据这些逻辑关系查找出特定的实体。常用的逻辑关系有包含、相交、相邻等。;02;简单查询 ;多重...

    MSSQL数据库修复软件:Recovery Toolbox for SQL Server 2.2.11.0

    1、使用挂起状态恢复不可读的数据库 2、从不同版本的Microsoft SQL Server修复损坏的SQL Server数据库:SQL ...11、MS SQL数据库恢复软件包括具有14种语言的多语言界面 12、从已损坏的MDF文件预览已恢复的对象和数据

    oracle数据库对象备份与恢复脚本工具

    根据某个数据库迁移项目需要,结合个人对数据库对象的理解,整理了一份数据库对象(包括表、视图)导出、导入脚本。供参考。 1、实现存储过程、函数、包、触发器、视图、同义词的批量导出与恢复脚本 2、以下脚本均在...

    ZozaniDB 数据库工具箱:ZozaniDB 提供面向对象的数据库访问并自动化数据库操作。-matlab开发

    * 即时数据库模式生成:自动调整数据库模式,包括列类型和列长度。 您不必担心文本列是否会容纳您要插入的新条目。 * 面向对象的使用:您可以将表行作为对象加载并直接对这些对象进行更改。 您的更改会自动保存到...

    什么是Java的数据库连接技术?Java中常用的数据库连接方式有哪些?(java面试题附答案).txt

    Java的数据库连接技术是指在Java程序中与数据库建立连接并进行数据交互的技术。通过数据库连接技术,Java...使用JDBC连接数据库的步骤包括加载数据库驱动程序、建立连接、创建Statement对象、执行SQL语句并处理结果。

    mysql快速比对数据库对象结构差异工具-java版

    3. 比对的对象包括 表、表列、表索引、表分区差异、触发器代码差异、存储过程代码差异,函数代码差异 和 对象是否存在等信息 4. 运行 cn.guzt.test.AppTest 中的 test方法即可(设置你的JDBC信息) 一般2秒左右即可...

    数据库的设计过程的介绍

    即对系统要处理的对象,包括组织,部门,企业等进行详细调查,在确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。 调查的重点是“数据”和“处理”,通过调查要从用户处获得对数据库的下列需求: (1...

    数据库系统概论.docx

    - **面向对象模型**:面向对象模型将数据表示为对象的集合,每个对象包含数据和操作数据的方法。 - **文档型数据库**:文档型数据库使用类似JSON或XML的文档格式来存储数据,适合存储非结构化或半结构化数据

Global site tag (gtag.js) - Google Analytics