事务,约束,范式,视图,索引,pl/sql
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的更多相关文章
- Oracle PL/SQL随堂笔记总结
1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的p ...
- MySql表、约束、视图
MySql表.约束.视图 索引组织表 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表成为索引组织表(index organized table). 每张表都有主键,如果创建表 ...
- PL/SQL 编程(三 )程序包和包体,触发器,视图,索引
一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. ...
- ORACLE数据库之PL/SQL触发器、rownum、动态SQL、数据库之视图与索引
WHEN子句说明触发约束条件.Condition为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL函数.WHEN子句指定的触发约束条件只能用在BEFORE和AFTER行 ...
- 第五章 MySQL事务,视图,索引,备份和恢复
第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...
- mysql视图、事务、触发器、索引
视图 什么是视图 ? 一个查询语句的结果是一张虚拟表,将这种虚拟表保存下来,它就变成了一个视图. 为什么要用视图? 当频繁需要用到多张表的连表结果,你就可以事先生成好视图,之后直接调用即可,避免了反复 ...
- Oracle学习2 视图 索引 sql编程 游标 存储过程 存储函数 触发器
---视图 ---视图的概念:视图就是提供一个查询的窗口,来操作数据库中的数据,不存储数据,数据在表中. ---一个由查询语句定义的虚拟表. ---查询语句创建表 create table emp a ...
- PL/SQL程序控制结构及在PL/SQL中更改数据和管理事务
1.条件控制 A. IF条件分支语法: if (条件1) then 语句; elsif (条件2) then 语句; elsif (条件3) then 语句; else 语句; end if; B . ...
- PL/SQL 嵌套表变长数组和索引表[转]
关于PL/SQL中这三种数组的介绍,不想写了.转一篇日志吧…… 链接:http://www.blogjava.net/decode360/archive/2008/08/08/280825.html ...
随机推荐
- 在 Docker 中部署 ASP.NET CORE 应用
有了 Docker 之后, 部署起来却这间非常方便,环境不用搭了, 直接创建一个 microsoft/aspnetcore 的容器, 在本地开发好后, 把内容直接部署到容器中. 下面的命令是把本地发布 ...
- Java50道经典习题-程序7 处理字符串
题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.分析:利用while语句,条件为输入的字符不为'\n'. import java.util.*; public class Pr ...
- Delphi XE2 编译ralease版本,无法添加UAC解决方法
我今天把一个原来是Delphi2007的工程升级到了Delphi XE2,在编译ralease版本时候,发现无法添加UAC,我觉得可能是升级的原因,随后我用XE2新建了一个工程,但是在编译raleas ...
- gradle 常用命令参数
参考文档 https://docs.gradle.org/current/userguide/userguide gradle -q 任务名(task ) 执行指定某一个task gradle -q ...
- html中object和embed标签的区别
♦object定义一个嵌入的对象.请使用此元素向您的 XHTML 页面添加多媒体.此元素允许您规定插入 HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码. ♦<object&g ...
- 8102 年的现代 Web 开发最佳实践(笑)
简评:8102 年了,现在 web 开发的最佳实践是什么,让本文来告诉你.原文只提到一部分,可以查看 reddit 上对此文的评论查看补充的最佳实践 https://old.reddit.com/r/ ...
- Linux之virtualbox中的ubuntu虚拟机linux系统共享文件夹
windows通过virtualbox软件与linux系统机型文件共享 1.第一步 在设置中找到共享文件夹选项,选择添加共享文件夹 2.第二步 选择需要与linux进行共享的文件夹,并选择固定分配 3 ...
- [java实现]常见算法之字符串操作
一.字符串反转 把一个句子中的打次进行反转,比如“how are you” ,变为 “you are how” // 字符串反转 public class StringTest { // 字符反转的方 ...
- 【JavaScript】动态原型模式创建对象 ||为何不能用字面量创建原型对象?
var proto = ""; function Person(name, age, job) { this.name = name; this.age = age; this.j ...
- shiro原理及其运行流程介绍
shiro原理及其运行流程介绍 认证执行流程 1.通过ini配置文件创建securityManager 2.调用subject.login方法主体提交认证,提交的token 3.securityMan ...