Oracle-第十讲,事务处理

来源:互联网 发布:徐州网络经纪人 编辑:程序博客网 时间:2024/05/16 23:33

黑马程序员-Oracle(第十讲,事务处理)

1、五个约束

1)非空,not null

 定义表的时候:name varchar2(20) not null

还可以为这个约束定义个别名:name varchar2(20) constraint stu_name_nn not null

2)唯一约束unique

  email varchar2(50) unique

列如有的字段不允许重复,像,email,学号,身份证号等等。

上面的把约束直接加在字段名后面的数据字段级约束,这种约束是有局限性的,例如,我们要求名字跟email的组合不能重复,这显然就不能做了,所以,我们要用表级约束。

 

3)主键约束 primary key

id number(6) primary key,也可以用两个字段的组合作为主键

可以标示一个元组

4)外键约束,涉及到两个字段(外键约束被参考的字段必须是主键)

classno number(4) references class(id) ,表示该表中的classno字段需要参考class表中的id字段

5)check约束

2、修改表结构alter

alter table temp2 add(addr varchar2(20));

alter table temp2 drop (addr);

alter table temp2 modify (addr varchar2(30));

3、修改约束条件

ater table temp2 drop constraint stu_class_fk; 表示将名字为stu_class_fk的约束删除。

增加约束:

alter table temp2 add constraint stu_class_fk foreign key(classno) references class(id);

这个表示给temp2classno字段增加外键约束(约束为class表中的id字段)

 

 

4、数据字典user_tablesuser_constraints,user_views

可以查看当前用户下所有的表

 

可以从dictionary查看当前用户下所有的数据字典表

 

table_name表示数据字典表的名称,comments是对数据字典表的描述

5、索引(建立索引的目的是使得查询的效率更高)

 

该语句表示为emp2表的ename字段创建了一个索引

注意,当在数据表中的某个字段上加了主键约束或者是唯一性约束,那么数据库会自动为该字段创建索引。创建了索引之后使得查询的效率更高了,但是如果往表中插入一条数据,效率反而会降低,因为它不但要把这条数据插入到数据表中,而且还必须将某字段的索引插入到索引表中。

6、视图

视图有好处也有坏处,我们可以为一张表的某几个字段创建视图,然后将这个视图对外可见,从而对外可以隐藏其他几个字段,但是如果视图创建的多了,维护起来会非常麻烦。也可以对视图更新数据,但是很少这么用。

7、序列(一般它的作用就是让主键id自增的)

 

 

一般也可以为序列指定从哪个数开始,每次递增多少

 

8、三范式(设计的原则:不存在冗余数据)

第一范式:要求(1)要有主键(2)列不可分

第二范式:不存在部分依赖,就是说当表中有组合主键时(多个字段的组合作为主键),表中的其他非主键的字段不能部分依赖于主键(必须完全依赖于主键,就是说这个字段的值由整个主键来决定)

 

 

 

 

 


0 0