1.操作分类:  DML. DDL. DCL

manipulation     definition   control

2.transction 事务

起始于DML,遇到 commit ,rollback语句自动commit提交。

正常断开时,自动提交;非正常断开时,自动回滚。

3.组合约束

e.g.   constraint stu_name_email_uni unique(name,email)

  主键选择  
stu                      (sno,sname) sno  
course                 (cno,cname,ctch) cno  
sc         (sno,cno,scgrade) sno,cno  

4.外键约束

被参考的字段必须为主键(主外键约束)

已经被参考的字段不可删除

建表的sql语句有必要保留

5.数据字典表

用户表

  table_name   user_tables
select view_name from user_views
  constraint_name   user_constraints
... ...   ...

6.index  索引

创建:

create index idx_stu_name_emial on stu (name,email);

索引使读更快,但是修改变慢(如插入时要同时修改索引)

7.view  视图

视图可以简化查询语句,保护隐私数据,但是需要维护代价。            视图相当于一个子查询。

8.sequence

create  drop               sequence在oracle系统中自动线程同步了。

9.范式

为了尽量减少数据冗余,但是要根据实际问题,不一定要严格遵循范式,有时弊端很大,实际系统有时本身不满足范式要求,要根据实际问题具体分析解决。

第一范式:   有主键,列不可分。

第二范式:   第一范式的基础上,消除部分依赖。           (即:非主键列完全依赖于主键组合,而不是依赖于主键组合的部分)

第三范式:   第二范式的基础上,消除传递依赖。                           (即:非主键列间不存在传递函数依赖)

10. pl/sql

p:procedure 过程语言,包含分支和循环等。 弥补结构化sql语言的不足。

tips&keywords:  oracle 布尔类型默认为空,不同于java,要赋初值。

declare,变量声明 %type 属性,record 类型变量类似于变量类,使用%rowtype声明。

事务,约束,范式,视图,索引,pl/sql的更多相关文章

  1. Oracle PL/SQL随堂笔记总结

    1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的p ...

  2. MySql表、约束、视图

    MySql表.约束.视图 索引组织表 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表成为索引组织表(index organized table). 每张表都有主键,如果创建表 ...

  3. PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

    一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. ...

  4. ORACLE数据库之PL/SQL触发器、rownum、动态SQL、数据库之视图与索引

    WHEN子句说明触发约束条件.Condition为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL函数.WHEN子句指定的触发约束条件只能用在BEFORE和AFTER行 ...

  5. 第五章 MySQL事务,视图,索引,备份和恢复

    第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...

  6. mysql视图、事务、触发器、索引

    视图 什么是视图 ? 一个查询语句的结果是一张虚拟表,将这种虚拟表保存下来,它就变成了一个视图. 为什么要用视图? 当频繁需要用到多张表的连表结果,你就可以事先生成好视图,之后直接调用即可,避免了反复 ...

  7. Oracle学习2 视图 索引 sql编程 游标 存储过程 存储函数 触发器

    ---视图 ---视图的概念:视图就是提供一个查询的窗口,来操作数据库中的数据,不存储数据,数据在表中. ---一个由查询语句定义的虚拟表. ---查询语句创建表 create table emp a ...

  8. PL/SQL程序控制结构及在PL/SQL中更改数据和管理事务

    1.条件控制 A. IF条件分支语法: if (条件1) then 语句; elsif (条件2) then 语句; elsif (条件3) then 语句; else 语句; end if; B . ...

  9. PL/SQL 嵌套表变长数组和索引表[转]

    关于PL/SQL中这三种数组的介绍,不想写了.转一篇日志吧…… 链接:http://www.blogjava.net/decode360/archive/2008/08/08/280825.html ...

随机推荐

  1. Solr相似度算法二:BM25Similarity

    BM25算法的全称是 Okapi BM25,是一种二元独立模型的扩展,也可以用来做搜索的相关度排序. Sphinx的默认相关性算法就是用的BM25.Lucene4.0之后也可以选择使用BM25算法(默 ...

  2. Wpf Page间跳转传参数 And Window To Page

    这段时间用到Wpf,页面间的跳转网上有不少的示例,但是有些已经不能用了,尤其是页面间的传参问题更是一大堆,但正确的解决方案却没有几个,或者说写的不清楚,让人走了很多弯路,查看官方文档后发现了正确的姿势 ...

  3. Windows服务器管理与优化

    一.服务器自动重启windows服务器运行时间长了,内存会爆满,比如数据库会缓存大量的数量,IIS进程也会缓存数据而没有及时释放.这样需要定时重启服务器来释放内存. 创建任务计划,如在 每周一/周三/ ...

  4. 【flask macro】No caller defined

    https://segmentfault.com/q/1010000005352059/a-1020000005352912 先码着 有时间了再换成caller() 先用老方法吧...

  5. [转] 测试环境下将centos6.8升级到centos7的操作记录

    1)查看升级前的版本信息 lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noa ...

  6. Windows文件共享,报错"该用户已禁用"解决方案

    文章背景:学校机器有俩个用户think和adminsitrator.默认administrator禁用,think属于administrators组. 经排错得问题出现情况.因为同学们都是Think用 ...

  7. scrapy入门例子

    使用爬取http://quotes.toscrape.com/内容,网站内容很简单 一. 使用scrapy创建项目 scrapy startproject myscrapy1 scrapy gensp ...

  8. navicat for oracle 创建表ID字段的自动递增

    Oracle数据库创建表ID字段的自动递增   将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id numbe ...

  9. UDP的优点

    UDP优点 关于何时.发送什么数据的应用层控制更为精细 只需要应用层把数据传给UDP,UDP就把数据打包到网络层.对于TCP来说,存在一个拥塞控制机制,当链路变得拥塞时,会抑制TCP发送方,并造成数据 ...

  10. leetcode-6-Z字形变换

    题目描述:  将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: P A H N A P L S I I G Y I R 之后从左往右,逐行读取字符:" ...