以命令行方式获取系统的设计
切记:注意力集中在大表并且经常操作的表上
1,导出E-R图
select * from cat ;
2,desc “表名”
3,用数据字典user_constraints和user_cons_colummns导出表上的约束,画出E-R图,偷取别人好的设计
4,获取索引信息,user_indexes和user_ind_columns
情形:
1,如OLTP,大多数的表都是第一或第二范式,有大量的冗余,通知设计者改,他们改不改无所谓,你什么也不用做
2,如DW,发现上面存储了大量的细节数据,可以通知设计者,将细节数据综合后再存入数据仓库,你什么也不用做
无论是OLTP或DW:有效的利用内存,进大限度地减少I/O
=======================================================================================
=======================================================================================
用类似的方法导出包,触发器,存储过程等源代码
SQL> conn hr/hr;
Connected.
SQL> select OBJECT_NAME,OBJECT_TYPE,CREATED,STATUS,TEMPORARY
2 from user_objects
3 where OBJECT_TYPE in ('PROCEDURE','FUNCTION');
OBJECT_NAME OBJECT_TYPE CREATED STATUS T
-------------------- ------------------- --------- ------- -
SECURE_DML PROCEDURE 29-NOV-11 VALID N
ADD_JOB_HISTORY PROCEDURE 29-NOV-11 VALID N
SQL> desc ADD_JOB_HISTORY--查看参数
PROCEDURE ADD_JOB_HISTORY
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
P_EMP_ID NUMBER(6) IN
P_START_DATE DATE IN
P_END_DATE DATE IN
P_JOB_ID VARCHAR2(10) IN
P_DEPARTMENT_ID NUMBER(4) IN
SQL> select line,text from user_source where name = 'ADD_JOB_HISTORY';--查看内容
LINE TEXT
---- --------------------------------------------------------------------------------
1 PROCEDURE add_job_history
2 ( p_emp_id job_history.employee_id%type
3 , p_start_date job_history.start_date%type
4 , p_end_date job_history.end_date%type
5 , p_job_id job_history.job_id%type
6 , p_department_id job_history.department_id%type
7 )
8 IS
9 BEGIN
10 INSERT INTO job_history (employee_id, start_date, end_date,
11 job_id, department_id)
12 VALUES(p_emp_id, p_start_date, p_end_date, p_job_id, p_department_id);
13 END add_job_history;
13 rows selected.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26465805/viewspace-712652/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26465805/viewspace-712652/