ORACLE建库过程与操作
1. 准备建库文件
建立数据库文件
建立表空间文件
建立数据库用户
建立数据库表
建立触发器
建立存储过程
建立序列
2. 建立数据库
启动ORACLE 数据库($ svrmgrl或者svrmgrm)
用internal用户登录到SQL * DBA($svrmgrl>connect internal)
create database CIMS
exit
3. 建立数据库环境
用系统用户(system)登录到ORACLE数据库(sqlplus system/****)
start database_env.sql
commit
quit
可以通过客户端的图形界面工具建立数据库环境
4. 建立数据库实体
建立建库批命令(文本)文件Tcreate.sql(例如工具S-designer)
用一般用户lyj(可以自己定义)登录到ORACLE数据库(sqlplus lyj/****)
spool Tcreate _error.bat.lst (用于记录建库错误信息)
start Tcreate.sql
commit
quit
5. 启动数据库
用internal用户登录(connect internal)
startup CIMS PFILE=initCIMS.ora
exit
6.注意事项
每个表只能存一个primary key约束(即:表中只有单一主键约束,primary key约束可以置于相应的列约束上;表中有多个字段作为复合主键时,primary key只能置于表约束上)
无论是单一主键,还是复合主键,均可用primary key作为表约束,或为unique作为表约束
primary key (字段,字段,…..)
unique (字段,字段,…….)
在其它数据库用户下访问数据库对象(表、视图等)所有者的资源的方法
例:表cable是oracle的system用户建立的,oracle的sys用户要访问cable表的方法为: 命令 system.cable (具有相应特权)
注意:只要建库命令文件在/usr/oracle目录下,以oracle的任何具有建表特权的用户登录进入oracle数据库,均可用 start Tcreate.sql建库,但是数据库的所有者为建库的用户。同一个建库命令文件,由不同的数据库用户用start命令运行后,将在oracle中建立不同的数据库,对象相同但是属主不同。
在用批文件*.sql建库时,错误信息可以转储到某个文件中,以便用户修改错误
SQL> spool *.lst (SQLPLUS输出信息转储到*.lst)
SQL> start *.sql
SQL> spool off (停止转储操作)
建库时,reference参照的表应置于前面,要删除用户的所有对象及用户,可用命令 SQL>drop user cascade;
用批文件建立数据库时,如果有插入或修改数据库操作,一定要commit。
在进行表的删除时,如果表之间有关联,泽用下述选项:
SQL> drop table cascade constraints;
建库时,对于复合主键的参考,使用如下方法作为表约束:
foreign key (fk1,fk2,…)
references table-name (pk1, pk2,…)
建库时,对于相互有主/外键关系的表,使用如下方法实现:
先建立无主/外键相互约束的表;
后用alter方法修改表间的约束关系
在插入数据时,有主/外键关联的情况,应先插入主键所在的表,否则,外键所在表不能插入值。
1. 准备建库文件
建立数据库文件
建立表空间文件
建立数据库用户
建立数据库表
建立触发器
建立存储过程
建立序列
2. 建立数据库
启动ORACLE 数据库($ svrmgrl或者svrmgrm)
用internal用户登录到SQL * DBA($svrmgrl>connect internal)
create database CIMS
exit
3. 建立数据库环境
用系统用户(system)登录到ORACLE数据库(sqlplus system/****)
start database_env.sql
commit
quit
可以通过客户端的图形界面工具建立数据库环境
4. 建立数据库实体
建立建库批命令(文本)文件Tcreate.sql(例如工具S-designer)
用一般用户lyj(可以自己定义)登录到ORACLE数据库(sqlplus lyj/****)
spool Tcreate _error.bat.lst (用于记录建库错误信息)
start Tcreate.sql
commit
quit
5. 启动数据库
用internal用户登录(connect internal)
startup CIMS PFILE=initCIMS.ora
exit
6.注意事项
每个表只能存一个primary key约束(即:表中只有单一主键约束,primary key约束可以置于相应的列约束上;表中有多个字段作为复合主键时,primary key只能置于表约束上)
无论是单一主键,还是复合主键,均可用primary key作为表约束,或为unique作为表约束
primary key (字段,字段,…..)
unique (字段,字段,…….)
在其它数据库用户下访问数据库对象(表、视图等)所有者的资源的方法
例:表cable是oracle的system用户建立的,oracle的sys用户要访问cable表的方法为: 命令 system.cable (具有相应特权)
注意:只要建库命令文件在/usr/oracle目录下,以oracle的任何具有建表特权的用户登录进入oracle数据库,均可用 start Tcreate.sql建库,但是数据库的所有者为建库的用户。同一个建库命令文件,由不同的数据库用户用start命令运行后,将在oracle中建立不同的数据库,对象相同但是属主不同。
在用批文件*.sql建库时,错误信息可以转储到某个文件中,以便用户修改错误
SQL> spool *.lst (SQLPLUS输出信息转储到*.lst)
SQL> start *.sql
SQL> spool off (停止转储操作)
建库时,reference参照的表应置于前面,要删除用户的所有对象及用户,可用命令 SQL>drop user cascade;
用批文件建立数据库时,如果有插入或修改数据库操作,一定要commit。
在进行表的删除时,如果表之间有关联,泽用下述选项:
SQL> drop table cascade constraints;
建库时,对于复合主键的参考,使用如下方法作为表约束:
foreign key (fk1,fk2,…)
references table-name (pk1, pk2,…)
建库时,对于相互有主/外键关系的表,使用如下方法实现:
先建立无主/外键相互约束的表;
后用alter方法修改表间的约束关系
在插入数据时,有主/外键关联的情况,应先插入主键所在的表,否则,外键所在表不能插入值。