一,读一致性
Read Consistent
读一致性的保证:使用Undosegments机制
二,表操作锁定
For update
锁定表的所有行,排除其他对这个表的修改操作
使用commit或rollback可解锁
在parent表中删除/rollback child表中联动
为了保证事务的隔离性和一致性。
三,table的操作
create:naming rules 、schema、subquery(注意:当create语句中包含select子句时,该子句中的主外键约束无法继承)
default 建表时指定default列
例:create tableA
(A_id number(2)
A_name varchar2(10)
A_date date default sysdate)该列初始化为系统当前时间
data types 11种列数据类型
constraints
a) not null不允许为空
b) unique唯一值
c) primary key 主键,注意列级与表级定义的区别,当对两个及以上的列定义时需要表级定义。
d) foreign key建表时指定外键
例:create table A
(A_id number(2)
A_name varchar2(10)
A_date date default sysdate
B_id number(2)
constraint A_B _fk foreign key(B_id) references B(B_id))
在创建A表时将A表的B_id指定为外键,此时A表为child表,B表为parent表。当删除parent表中的被依赖行时,on delete cascade表示删除child表中的相应列,on delete set null表示将外键值置为空。
check 限定列值范围
5. altertable
read-only可将表设定为只读模式或设定读写模式
6. drop
drop table 放入回收站,存储空间不会被释放,只是改了名字
drop table purge 将表彻底删除,并释放存储空间
四,view视图的操作
视图是一个或多个表的数据子集,在一定程度上避免数据和操作权限的外泄
create、modify
当创建不存在基表的视图时,可使用force关键字强制创建,但是不建议这样做
Simple view与Complex view的区别
create、using、modify可将某列定义为sequence,每增加一条数据自动添加列值
例:create sequence A_A_id_seq
Increment by 10
Start with 120
Maxvalue 9999
Nocache
Nocycle;
解释:定义步长为10,以120为初始值,最大值为9999,不使用内存中的序列值,不循环生成的序列。
六,index索引的创建及删除
自动创建:当定义一个主键或者唯一约束时,会自动建立索引。
手动创建:
例:create index A_id_idx
On A(A_id)
删除:
例:drop index A_id_idx
七,synonyms同义词
可理解为:为数据库对象起别名
创建:Createsynonym A_idx
For A_id_idx
删除:drop synonym A_idx
八,附录的简要介绍
课下的练习及答案
HR表结构
SQLDeveloper
SQL*Plus
a) 登录sqlplus [username[/password[@database]]]
b) 查表结构 desc tablename
c) 7条重要命令:
i. Save filename 保存内容至文件
ii. Get filename 读取文件
iii. Start filename
iv. @ filename 执行文件中的SQL
v. Edit filename
vi. Spool filename 打印文件内容
vii. Exit
监控执行计划 autotrace
5. Join语法
除了之前学的几种join的用法,还包括from后跟多个表名称及使用(+)的用法