一、视图

视图(view),称为虚表,在数据库中不存在实体。

视图本质上是对物理表(基表)的一种数据保护。让开发者或者用户只能看到基表中的部分数据。

1.1 创建视图

创建视图的语法

1.2 使用视图

可以像使用表一样使用视图

修改视图中的数据

添加数据

通过视图添加数据,数据最终添加到基表中,因为视图是虚表。

视图一般只是基表的部分数据,通过视图向基表添加数据时,基本的数据只能添加一部分,此时基表会对未提供的字段置 null。如果基表对未提供的字段要求不能为null,则此次添加会失败。

删除数据

更新数据

不能通过视图更新视图不存在的字段。

只读视图

1.3 视图的应用

二、权限管理

第一次使用Scott 账户需要解锁

此时Scott 如果对数据库进行DDL操作是没有权限的。把创建视图、创建表的权限分配给Scott。

注意:权限性操作都要以sysdba连接来操作。

如何创建一个用户并授予一定权限?

查看用户权限

select * from user_sys_privs;

三、表

数据库数据类型

其他类型:

CLOB:最大长度4G-->大对象很少使用:如果存在大对象,一般的解决方案是存入文件地址(地址为程序所在应用服务器的相对路径)

BLOB : 存二进制文件。

注意:在数据库设计时,如果要存大文件(视频、音频等),一定不要使用BLOB/CLOB,通用的解决方案都是存文件的地址。

3.1 表的创建

创建表的语法

创建一个学生表

T_STUINFO(sid,name,phone,gender,birthday,address)

开发工具生成

定义某些属性不能为空

3.2 表的修改

当然,也可以点击表然后鼠标右键直接修改。

3.3 insert/update/delete

insert

语法

update

update 语法

delete

delete 语法

四、序列

序列是Oracle 专有的对象,它用来产生一个自动递增的数列。

在数据库开发设计表时,如果需要一个字段的值是自增的话,优先考虑使用序列。

五、事务

5.1 事务概念

事务(Transaction)是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。原子性。

事务是为了保证数据库的完整性。

事务不能嵌套。

在Oracle 中,没有事务开始的语句。一个Transaction 起始于一条DML(Insert、Update和Delete)语句,结束于以下的几种情况

1、用户显示执行Commit 语句提交操作或Rollback 语句回退;

2、当执行DDL(Create、Alter、Drop)语句事务自动提交;

3、用户正常断开连接时,Transaction 自动提交;

4、系统崩溃或者断电时事务自动回退。

事务结合java 代码的格式

5.2 保存点(save point)

seve point 保存当前数据库的状态点。以便后续通过rollback 回滚到指定状态点。

5.3 事务的特性

事务四大特征:原子性,一致性,隔离性和持久性。

1. 原子性(Atomicity)

一个原子事务要么完整执行,要么干脆不执行。这意味着,工作单元中的每项任务都必须正确执行。如果有任一任务执行失败,则整个工作单元或事务就会被终止。即此前对数据所作的任何修改都将被撤销。如果所有任务都被成功执行,事务就会被提交,即对数据所作的修改将会是永久性的。

2. 一致性(Consistency

一致性代表了底层数据存储的完整性。它必须由事务系统和应用开发人员共同来保证。事务系统通过保证事务的原子性,隔离性和持久性来满足这一要求; 应用开发人员则需要保证数据库有适当的约束(主键,引用完整性等),并且工作单元中所实现的业务逻辑不会导致数据的不一致(即,数据预期所表达的现实业务情况不相一致)。例如,在一次转账过程中,从某一账户中扣除的金额必须与另一账户中存入的金额相等。支付宝账号100 你读到余额要取,有人向你转100 但是事物没提交(这时候你读到的余额应该是100,而不是200) 这种就是一致性

3. 隔离性(Isolation

隔离性意味着事务必须在不干扰其他进程或事务的前提下独立执行。换言之,在事务或工作单元执行完毕之前,其所访问的数据不能受系统其他部分的影响。

4. 持久性(Durability

持久性表示在某个事务的执行过程中,对数据所作的所有改动都必须在事务成功结束前保存至某种物理存储设备。这样可以保证,所作的修改在任何系统瘫痪时不至于丢失。

六、约束

当我们创建表的时候,同时可以指定所插入数据的一些规则,比如说某个字段不能为空值,

某个字段的值(比如年龄)不能小于零等等,这些规则称为约束。约束是在表上强制执行的数据效验规则。

常见约束:

1.NOT NULL 非空

2.UNIQUE Key 唯一键

3.PRIMARY KEY 主键

4.FOREIGN KEY 外键

5.CHECK 自定义检查约束

6.1 主键约束(primary key)

主键用于唯一标识一条记录。主键值不可为空,也不允许出现重复。

表级约束:当多个列(字段)参与约束,可以用表级约束。

6.2 非空约束(not null)

确保字段值不允许为空

只能在列级定义

6.3 唯一性约束(unique)

唯一性约束条件确保所在的字段或者字段组合不出现重复值

唯一性约束条件的字段允许出现空值

Oracle 将为唯一性约束条件创建对应的唯一性索引

6.4 自定义约束

check 约束用于对一个属性的值加以限制

6.5 外键约束

对于主表的删除和修改主键值得操作,会对依赖关系产生影响,以删除为例;当要删除主表的某个记录(即删除一个主键值)那么对依赖的影响可采取下列三种做法

1. RESTRICT方式:只有当依赖表中没有一个外键值与要删除的主表中主键值相对应时,才可执行删除操作。

2. CASCADE方式:将依赖表中所有外键值与主表中要删除的主键值相对应的记录一起删除

3. SET NULL方式:将依赖表中所有与主表中被删除的主键值相对应的外键值设为空值

FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO)

[ON DELETE [CASCADE|SET NULL]] 如省略on短语,缺省为第一中处理方式。

informix clob转oracle 乱码_Oracle 视图-序列-权限-表-事务相关推荐

  1. Oracle总结【视图、索引、事务、用户权限、批量操作】

    前言 在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了-那么本篇主要总结关于Oralce视图.序列.事务的一些内容- 在数据库中,我们可以把各种的SQL语句分为四大类- (1 ...

  2. oracle创建物化视图的权限,建立物化视图的权限

    首先,重新构造测试环境: SQL> CONN YANGTK/YANGTK@TEST4 已连接. SQL> DROP USER TEST CASCADE; 用户已丢弃 SQL> DRO ...

  3. 【C/C++9】天气APP:Oracle的虚表/日期/序列,索引/视图/链路/同义词,数据库高可用性

    文章目录 1.虚表/日期/序列:SEQUENCE 2.索引/视图/链路/同义词:create index/view/link/synonym 3.表空间/数据文件/启动关闭/权限/备份恢复:exp/i ...

  4. Oracle(三):视图、序列、同义词、索引

    一.视图 (一)什么是视图 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的果. ...

  5. Oracle数据库的视图、物化视图、序列、同义词、索引

    Oracle数据库对象 视图 物化视图 序列 同义词 索引 注:以下数据库对象中, 物化视图.序列.同义词为Oracle数据库特有 视图 含义:视图是一种数据库对象,是从一个或者多个数据表或视图中导出 ...

  6. Oracle 快速入门 同义词序列视图索引

    目录 一.数据库对象 二.同义词synonym 三.序列 四.视图 五.索引 六.综合代码 1.同义词部分: 2.序列: 3.视图和索引 一.数据库对象 1.数据库对象         2.同义词   ...

  7. oracle开放查询表权限_Oracle创建用户并给用户授权查询指定表或视图的权限

    用DNINMSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BYNORTHBOUNDDEFAULTTABLESPACE "TBS_D ...

  8. Oracle索引、视图、序列、同义词、事务、锁机制详解

    索引 什么是索引? -- 索引就类似于书的目录,根据目录查询内容会快很多,提高数据查询效率 创建索引有俩种方式 1.Oracle会自动为主键和唯一键创建索引 2.手动创建约束. 那么表中什么样的字段应 ...

  9. 查询oracle表序列,Oracle查询表、视图、序列等信息查询

    Oracle查询表.视图.序列等信息查询以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这几天做性能优化 网上找了些资料 ...

最新文章

  1. 多核处理器集成了神经处理单元
  2. 树的最小支配集、最小点覆盖、最大独立集【模板】
  3. oracle中forall in,oracle10g的forall功能加强
  4. 1、MySQL 8.0.20最新版本在Linux上安装
  5. cargo maven_用于集成测试的Maven Cargo插件
  6. 使用Scala,Play和Akka连接到RabbitMQ(AMQP)
  7. 腾讯的强大不是偶然,小马哥很强大
  8. monkey 真机测试步骤
  9. 解决easyExcel和poi版本冲突问题
  10. VS2012下基于Glut OpenGL GL_QUAD_STRIP示例程序:
  11. [投稿]一个频域语音降噪算法实现及改进方法
  12. Linux常用命令介绍(三)——基础操作命令
  13. EIGRP中AD与FD的区别
  14. 【ArcGIS教程】专题图制作-地图渲染-地图整饰
  15. python从邻接矩阵计算可达矩阵,复制即用
  16. EasyRecovery数据恢复软件中文版免费下载v15.0绿色版
  17. DHTMLX JS Gantt Library 7.1.13
  18. 服务器系统升级文件转移,多可系统迁移说明
  19. java 写作速度_GMAT写作提高速度4条实用经验分享
  20. 大疆产品上岸经验分享

热门文章

  1. Linux下安装LoadRunner LoadGenerator
  2. Linux之Debian下安装LAMP apt-get安装方式
  3. java传送字符到前端_mina实现服务器与客户端传送对象或字符串
  4. android 阿里云 maven,Android SDK接入(Maven集成)
  5. ubuntu 12.04 php mysql_Ubuntu 12.04下LAMP安装配置
  6. 计算机组成原理 控制冒险,电子科大-系统结构实验-解决控制冒险.docx
  7. win7配置计算机失败怎么办,电脑win7配置失败 还原更新 怎么处理 不要说重装
  8. 4个不同小球放入4个不同盒子_初婚老公和二婚老公有什么不同?听听这4个再婚女人的真实想法...
  9. linux系统外接硬盘_linux通过fstab自动挂载外接磁盘
  10. c mysql 中文字符_在C#和MySQL中存取中文字符时避免乱码的方法