`

Oracle数据库表、视图

 
阅读更多

一、数据库表常用操作

--建表,指定表空间
create table student(student_id number,student_name varchar2(20)) tablespace TS1;
--增加列
alter table student add (address varchar2(20));
--修改列
alter table student modify (address varchar2(30));
--删除列
alter table student drop column address;
--重命名列
alter table student rename column student_name to name;
--修改表空间
alter table student move tablespace users;
--删除数据表
drop table student;

 

二、 关系视图

--创建视图
create view v_emp as select * from emp; 

--with read only
--创建只读视图
create or replace view 视图名字 as 查询语句 with read only;

--强制创建视图,此时基础表并未创建
--提示:视图创建成功,但是存在编译错误
create or replace force view 视图名字 as 查询语句

--通过user_updatable_columns查看用户视图各列的可更新情况
--对于视图的更新 操作,只要该列可更新,就可以 利用视图进行更新
--对于插入和删除操作,必须所有列均可执行插入和删除操作,才能利用视图进行操作
select * from user_updatable_columns where lower(table_name)='v_emp';

--with check option
--为视图创建约束,约束的检查依据为where子句中的条件。
--对于修改操作、插入操作不符合该约束,将报错,禁止修改。
create or replace view 视图名字 as 查询语句 with check option;

--修改视图
create or replace view v_emp as select * from emp; 

--删除视图
drop view view_name

--查询视图,通过user_views实现
select * from user_views;

 

 

三、对象视图

1、Oracle中的对象类型与对象

使用对象的好处:
1.对象的特性,如:继承、封装等,为开发人员提供灵活的处理形式。
2.可以构造复杂的对象类型来封装复杂的多表查询。
3.对象的传输效率更高。
 

       定义一个类型的SQL语法如下:

create or replace type 对象类型名 as object(

   attribute1  datatype1,
   attribute2  datatype2,
   ...
   member function function1,
   member procedure procedure1,
   ...

)

    说明:

            type   定义类

            as object        继承自object类

            member function     定义成员函数

            member procedure  定义成员过程

2、对象视图

 

对象类型在数据库编程中有许多好处,但是有时,应用程序已经开发完成。为了迎合对象类型而重建数据表是不实现的。对象视图下是解决这一问题的优秀策略。


1.创建对象视图:

--with object oid(employee_id)    为对象视图指定对象标识符  employee_id是对象类型employee的属性
--of employee --视图基于对象类型employee

SQL> create or replace view ov_employee of employee --视图基于对象类型employee
  2  with object oid(employee_id) as  --为对象视图指定对象标识符
  3  select employee_id a_id ,employee_name ,employee_position from
  4  employees;
 
View created
 
SQL> desc ov_employee;
Name              Type         Nullable Default Comments
----------------- ------------ -------- ------- --------
EMPLOYEE_ID       NUMBER(2)    Y                        
EMPLOYEE_NAME     VARCHAR2(20) Y                        
EMPLOYEE_POSITION VARCHAR2(30) Y     

    
查对象视图信息:
SQL> select view_name, view_type from user_views
  2   where view_name='VW_EMPLOYEES' or view_name='OV_EMPLOYEE';
 
VIEW_NAME                      VIEW_TYPE
------------------------------ ------------------------------
OV_EMPLOYEE                    EMPLOYEE
VW_EMPLOYEES   

               

2.更新视图
同样映射为更新表
SQL>  insert into ov_employee values(
  2   employee(20,'jjluu,'数据库工程师'));  --实例化一个employee对象
 
1 row inserted
 
SQL> select * from ov_employee;
 
EMPLOYEE_ID EMPLOYEE_NAME        EMPLOYEE_POSITION
----------- -------------------- ------------------------------
          1 abc                  开发经理
          2 efd                   高级工程师
          3 ewf                  高级工程师
          4 ewe                 工程师
          5 sdee                工程师
          6 hgd                  测试工程师
          7 李四                 测试工程师
          8 王五                 测试工程师
         19 Jamaly              
         20 jjluu               数据库工程师
 
10 rows selected


 再查看原表:employees
SQL> select * from employees;
 

分享到:
评论

相关推荐

    Oracle数据库表与视图

    在Oracle数据库中,理解并熟练操作表和视图是至关重要的,因为大多数数据库操作都涉及到对这些对象的管理。通过有效的表设计和视图的使用,可以提高数据的组织效率,提升查询性能,并确保数据的安全和一致性。在学习...

    连接其他oracle数据库信息创建本地视图

    这可以通过创建数据库链接(Database Links)实现,标题“连接其他Oracle数据库信息创建本地视图”正是围绕这一主题展开。数据库链接允许我们在一个Oracle实例中创建对另一个Oracle实例的逻辑连接,从而能够查询远程...

    用其它oracle数据库表内容创建本地视图

    在Oracle数据库环境中,有时候我们需要访问位于不同数据库实例中的数据。为了实现这一目标,Oracle提供了数据库链接(Database Link)的功能,通过该功能可以轻松地从一个数据库访问另一个数据库的数据。本文将详细...

    通过MSQL通过视图访问ORACLE中的表

    本篇主要介绍如何通过MySQL数据库创建视图来访问Oracle数据库中的表,实现数据的互联互通。 首先,我们要理解MySQL和Oracle之间的数据集成。由于它们是两个不同的数据库系统,直接的SQL查询并不能实现跨库操作。...

    Oracle数据库视图管理

    ### Oracle数据库视图管理知识点详解 #### 一、Oracle数据库对象概述 在Oracle数据库中,数据对象主要包括表和视图,此外还有约束、序列、函数、存储过程、包、触发器等多种类型。这些数据对象构成了Oracle数据库...

    C# 实现oracle数据库视图的迁移

    本篇将详细讲解如何利用C#编程语言实现Oracle数据库视图的迁移。 首先,我们需要理解C#的基本语法和Oracle数据库的连接方式。C#提供了ADO.NET框架,通过System.Data.OracleClient或Oracle.ManagedDataAccess.Client...

    oracle数据库导出表结构到WORD文档

    "oracle数据库导出表结构到WORD文档"是一个实用的操作,它能够帮助我们生成包含所有表定义、字段信息、主键、外键等的详细报告。通过这个工具,我们可以快速地将Oracle中的数据库对象信息整理成Word文档,方便打印、...

    Oracle数据库大作业

    在Oracle数据库中实现这样的系统,需要进行数据库设计,包括实体关系模型(ER模型)的构建,确定数据表的结构、字段、主键和外键等关键元素,以确保数据的一致性和完整性。 在PPT中,可能详细阐述了需求分析、系统...

    geoserver2.14.0 oracle 数据库连接

    4. **导入Shapefile数据**:在Oracle数据库中,可能已经将Shapefile数据导入为一个表或者视图。在GeoServer中,你需要知道这个表或视图的名称,以便在数据源配置时引用。在“工作空间”->“图层”->“添加新图层”中...

    Oracle数据库体系结构( 中文详细版)

    1. **数据文件**(Data Files):数据文件是Oracle数据库存储实际数据的地方,包含了表、索引、视图等对象的数据。每个表空间由一个或多个数据文件组成,每个数据文件中包含一系列的数据块,这是Oracle数据存储的...

    Oracle数据库中物化视图的原理剖析

    Oracle数据库中的物化视图(Materialized View,简称MV)是一种强大的优化工具,它通过预先计算并存储查询结果,提供了一种快速访问复杂查询数据的方式。这种技术在数据仓库环境中尤其有用,因为数据仓库通常涉及...

    Oracle数据库试题100题(附答案)

    Oracle数据库的逻辑结构包括表空间、段、区和数据块,其中表空间是数据库中的一个逻辑存储单元,段是表空间中分配的逻辑存储区域,区是段中分配的一系列连续的数据块,数据块是Oracle数据库中最小的存储单位。...

    oracle数据库编程pdf文档教案

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。这份"Oracle数据库编程pdf文档教案"提供了从基础到高级的Oracle学习路径,通过5天的学习内容,帮助读者深入理解并掌握...

    Oracle数据库开发和设计规范

    Oracle 数据库开发和设计规范中,命名约定是指对数据库、数据库对象如表、字段、索引、序列、存储过程等的命名约定。命名约定要求使用富有意义的英文词汇,尽量避免使用缩写,多个单词组成的,中间以下划线分割。...

    Oracle数据库资料大全

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,由美国甲骨文公司(Oracle Corporation)开发和维护。Oracle数据库以其高效、稳定和强大的功能在金融、电信、医疗、政府等多个领域得到广泛应用。本...

    Oracle数据库.pdf

    Oracle数据库管理是数据库管理员(DBA)日常工作中不可或缺的一部分,涉及到用户管理、系统参数配置、表空间操作等多个方面。在Oracle环境中,以下是一些关键的知识点: 1. **用户管理**: - `ALTER USER`语句用于...

    oracle实验二视图

    Oracle 是一种关系数据库管理系统,广泛应用于各个行业中。本实验主要介绍了 Oracle 中的视图概念和操作。 一、什么是视图? 视图是一种虚拟表,基于一个或多个基本表,它们之间可以是一对一、多对一、多对多的...

    数据库开发 Oracle数据库 SQL开发教程 全套PPT课件 共20个章节.rar

    数据库开发 Oracle数据库 SQL开发教程 第15章 视图(共23页).pdf 数据库开发 Oracle数据库 SQL开发教程 第16章 序列、索引、同义词(共34页).pdf 数据库开发 Oracle数据库 SQL开发教程 第17章 用户、权限和角色...

    PLSQL【Oracle数据库视图软件】

    "PLSQL【Oracle数据库视图软件】"标题中的“视图软件”指的是能够帮助用户管理和操作Oracle数据库视图的工具,而PL/SQL Developer就是这样的一个集成开发环境。 PL/SQL Developer是一款强大的PLSQL编程工具,它专为...

Global site tag (gtag.js) - Google Analytics