----------------------------------------------------------------------------
相关知识:Oracle SYNONYM(同义词)
----------------------------------------------------------------------------
是一种映射关系,可以理解为表的一种固定别名
同义词的好处:建立一个同义词可以排除一个对象名字的限制
如果你的数据库有多个用户,USER_A要访问USER_B的TABLE1,只能使用USER_B.TABLE1
建一个同义词abc指向USER_B.TABLE1,那你就可以select * from abc了,而且public的同义词会直接出现在所有用户的面前,有时候可以方便开发
创建同义词:create public synonym synonym_name for user.table_name
删除同义词:drop public synonym synonym_name ......
数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先
在每个数据库服务器上设置链接字符串。
1、 链接字符串即服务名,首先在本地配置一个服务名,地址指向远程的数据库地址,服务名取为将来你要使用的数据库链名:
2、创建数据库链接,
进入系统管理员SQL>操作符下,运行命令:
SQL>create public database link beijing connect to scott identified by tiger
using 'tobeijing';
则创建了一个以scott用户和北京数据库的链接beijing,我们查询北京的scott数据:
SQL>select * from emp@beijing;
这样就可以把深圳和北京scott用户的数据做成一个整体来处理。
3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym
SQL>create synonym bjscottemp for emp@beijing;
于是就可以用bjscottemp来替代带@符号的分布式链接操作emp@beijing。
4、查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
刚好用到, 取消dbl ......
关系型数据库理论中字段值必须是单值,而oracle中允许在一个字段中存储一个表的内容。
如:员工表中的外键 部门编号,oracle中这个字段可以存放部门的记录而并不是一个外键,这样查询时候的效率会提高。
可变数组:
创建带有可变数组的表
创建可变数组基类型
create or replace type 基类型名 as object(字段清单);
创建可变数组类型
create or replace 可变数组类型名 as varray(最大行数) of 可变数组的基类型;
实例:
create or replace type mingxitype as object
(
goodsid varchar(15),
incount int,
providerid varchar(10)
);
create or replace type arrmingxitype as varray(100) of mingxitype;
创建一个主表
create table instock
(
orderid int primary key,
indate date,
mingxi arrmingxitype
);
利用构造函数插入数据
insert into instock values(
'200208070001',
to_date('2002-08-07','yyyy-mm-dd'),
arrmingxitype(
mingxitype('101',10,'S01'),
mingxitype('102',20,'S02')
)
);
查询
select * from instock;则显示对象而并不是像关系数据库那样的表单
select * from table(
select s.mingxi from ......
D:\oracle\product\10.2.0\db_2\NETWORK\ADMIN
6、修改oracle安装路径下D:\oracle\product\10.2.0\db_2\NETWORK\ADMIN\tnsnames.ora的tnsnames.ora文件,添加
XXX =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.42)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = po的)
)
)
注:因oracle的安装路径不同,上述路径可能不同,视情况而定。
CPS为PL/SQL Developer连接远程数据库时前台显示的数据库名称,可任意定义
192.168.12.42 为要连接远程数据库的IP地址
portal 为远程连接数据库的实例名称 ......
3月6日:
九、表管理:
一、再表管理中需要学习的内容:
1、 创建表
2、 常用的数据类型
3、 删除表
4、 复制表
5、 修改表
6、 表重命名
7、 截断表
8、 表的约束条件
二、创建表
常见表语法:
创建表语法:
CREATE TABLE 表名
(
字段名称1 类型 default默认值,
字段名称2 类型……
)
三、常用数据类型:
1、字符类型
VARCHAR,VARCHAR2(字符类型)
Oracle中最多可存储32767个字符
2、数字类型
Number 数字
两种格式:
A、 NUMBER(n) 表示一个整数类型,数字n是存储的长度int,integer
B、 NUMBER(m,n)表示一个小数类型,小数位的长度是n,整数位 ......
ORACLE数据库插入性能测试
MKing
2010-3-8
测试环境基本信息:
OS:Windows XP sp3
DB:Oracle 9.2.0.1 未启用归档
DB重做日志文件大小:100MB
硬盘型号:SAMSUNG HD161GJ(SATA-300,160G,7200rpm,8M cache)
CPU:Intel Core2 E8400(3.0G)
内存:2G
通过HD Tune得到的硬盘基本测试信息,
IOPS:66
读取:90MB/s
写入:82MB/s
测试表脚本:
create table T_EMPLOYEE
(
ID NUMBER(10) not null,
NAME VARCHAR2(20) not null,
CREATE_DATE DATE default sysdate not null,
BIRTHDAY DATE,
ADDRESS VARCHAR2(200),
EMAIL VARCHAR2(200),
MOBILEPHONE VARCHAR2(11),
TELEPHONE VARCHAR2(20),
IDENTITY_CARD VARCHAR2(18),
WEIGHT ......