大家好,关于oracle教程 菜鸟很多朋友都还不太明白,今天小编就来为大家分享关于sql语句菜鸟教程的知识,希望对各位有所帮助!
一、oracle 菜鸟问题
1、Oracle数据库是关系型的,关系型数据库最基本要求要满足三个完整性:实体完整性、参考完整型、自定义完整性。
2、表与表之间存在着参考完整性,通过外键来建立的。
3、例:在Oracle数据库的缺省用户scott/tiger中有两个表:部门表dept和雇员表emp。
部门表中存放了部门的编号、名称、地址,在雇员表中存放了雇员的相关信息。
在雇员表中有一个字段是部门编号deptno,通过这个编号到部门表中可以查到该雇员所在的部门名称和所在地址。
4、建立外键的目的是保证雇员表中的部门编号在部门表中一定存在的。如果没有外键会出现如下异常情况:
a、当删除了部门表中记录时,雇员表的雇员所在的部门就找不到了,无法知道该雇员是在哪个部门、在什么地方。
b、如果建立了外键,那么部门表中的记录不能随意删除,只有在雇员表中不存在该部门编号时才能删除。
说的啰嗦一些,希望对你有所帮助。
二、oracle创建dblink双方要怎么配置啊;
比如我想在192.168.1.1服务器上的orcl数据库创建dblink,访问192.168.1.2服务器上db01数据库的test用户,具体步骤如下:
以下所有操作都是在服务器192.168.1.1上完成
[oracle@cc admin]$ vim tnsnames.ora
(ADDRESS=(PROTOCOL= TCP)(HOST= 192.168.1.2)(PORT=
如果tnsping 2可以说明网络配置成功
database link db01 connect to test identified by test using'2';
select* from test@db01;如果可以访问到test用户下数据,说明配置成功;
其中在创建过程中可能会出现以下几种错误:
(以下问题都是在192.168.1.2服务器上解决的)
tnsping 2不通,出现TNS-12532错误
[oracle@card admin]$ vim sqlnet.ora
#NAMES.DEFAULT_DOMAIN= DEV.CN.TLAN
NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
select* from test@db01;创建完dblink时查询数据出错
ORA-02085: database link FGOS.REGRESS.RDBMS.DEV.US.ORACLE.COM connects to ORCL
当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。
SQL> show parameter global_names
-----------------------------------------------------------------------------
SQL> alter system set global_names=falsescope=both;
三、oracle的一个菜鸟问题关于rowid和主键
主键的作用:主键是唯一且不为空的,用以标识唯一一条记录。
我们在建立数据库的时候,需要为每张表指定一个主键,所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。
1.数据对象编号:每个数据对象(如表或索引)在创建时都分配有此编号,并且此编号
2.相关文件编号:此编号对于表空间中的每个文件是唯一的
3.块编号:表示包含此行的块在文件中的位置
4.行编号:标识块头中行目录位置的位置
ROWID是不需要你自己来创建的,是随着你数据的生成自动产生的。他不是主键。
在内部,数据对象编号需要32位、相关文件编号需要10位、块编号需要22位、行编号
需要16位,加起来总共是80位或10个字节
如果你还想了解更多这方面的信息,记得收藏关注本站。