oracle数据库学习(一)

DDL:数据定义语言
DML:数据操作语言
DCL:数据控制语言

约束与范式

主键约束 (primary key) (可以创建联合主键)

  • book_id int primary key,--(创建列的同时创建约束)
  • constraint pkbookid primary key(book_id)--(创建列后再创建
  • alter table book add constraint pkbookid primary key(book_id)--创建完表后再创建约束

唯一约束 (unique)

  • alter table book add constraint uq_bookname unique(name)

非空约束 (not null)

  • alter table book add constraint notnbookname not null

检查约束 (check)

  • alter table stu add constraint ck_sex check(sex in('男','女'))

默认 (default)

  • alter table stu modify sex default '男'

外键约束 (foreign key .... references)

  • alter table score add constraint fkstuid foreign key(stu_id) references stu(id)

  • 第一范式 、有主关键字、主键不能为空、主键不能重复、字段不可以再分

  • 第二范式 满足第一范式的基础上,数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖
  • 第三范式 不存在非主属性的传递性依赖以及部分性依赖
增删改查基本的dml
  • 查询 select * from stu
  • 修改 update stu set name='student' where id =1
  • 插入 insert into stu(name,id) values('test','2')
  • 删除 delete from stu where id=1
事务

1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。

2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。

3、隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。

4、持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。

commit --条件事务
rollback --回滚事务

索引

--索引,与表相关联的一个可选的结构,可以提高查询效率。

什么时候用索引

  • 1、经常需要查询搜索的列
  • 2、主键的列上
  • 3、连表查询连接条件的列
  • 4、排序的列

什么时候不用索引

  • 1、查询中很少
  • 2、很少值
  • 3、blob数据
  • 4、增加、修改、删除>查询

    • 索引语法 CREATE [UNIQUE] INDEX 索引的名字 ON 表名(列)
    • 位图语法 CREATE bitmap INDEX 索引的名字 ON 表名(列) 适用于重复度较高

kxind

性别:男. 敢于尝试 爱折腾的死宅程序猿. https://github.com/kxinds