'분류 전체보기'에 해당되는 글 144건

  1. 2009.03.13 DataBase 정규화
  2. 2009.03.13 오라클 Import & Export
  3. 2009.03.13 오라클 Sys 접속 및 계정생성
  4. 2009.03.12 ORACLE PARTION 관리 및 검색

## 정규화 과정
★ 참고사항
*데이터를 추출하는 명령어의 순서
 - select 컬럼명, 컬럼명... -- ④
 - from 테이블명 -- ①
 - where 조건절 -- ②
 - group by -- ③
 - having 절 -- ⑤ 
 - order by 절 -- ⑥ 
 - 열 (colum = field = attribute = property = 속성)
 - 행 (record = row = domain = tuple)
 - Table (entity = 개체)
*desc emp (emp 테이블의 데이터 크기)
   COLUMN NULL? WIDTH KEY
1. EMPNO NOT NULL NUMBER(4) P1  --> 숫자 4바이트
2. ENAME VARCHAR2(10)  --> 문자열 10바이트
3. JOB          VARCHAR2(9)
4. MGR       NUMBER(4)
5. HIREDATE       DATE 
6. SAL NUMBER(7,2)  --> 7개의 바이트 중에 2개는 소수점으로 표시된다. (Ex : _ _ _ _ _ . _ _ )
7. COMM NUMBER(7,2)
8. DEPTNO NUMBER(2)
* RDBMS (Relation Date Base Management System) : Oracle, MS-SQL, My-SQL, Infomix……  -> 오라클도 RDBMS에 속한다.
***** 설명시 참조되야할 예제는 교제를 참조하세요 ******
1) 정규화 과정 : 고유한 식별자를 가지는 모든 개체(테이블)에 대해 더 이상 분리할 수 없는 상태로 나누는 과정
 - 장점 : 데이터량 줄어듬, 데이터 갱신속도 빠름
 - 단점 : 조회시 여러 개체를 Join하여작업하는 어려움, 갱신시 여러 개체에 동시 반영하는 작업일 경우 명시적으로 트랜잭션 처리
 - 정규화 과정의 필요성 : DB서버 성능의 최적화
2) 제 1차 정규화 (1NF, First Normal Form)
 - 반복되는 속성들을 다른 개체로 나누어 분리
 - 부모테이블의 식별자(Promary Key)는 자식테이블의 외부키(Foreign Key)로 전이된다.
 - 부모테이블에 존재하지 않는 값이 자식테이블의 외부키(Foreign Key)값으로 존재할 수 없다.
* 식별자 (Primary Key)
 - 고유성을 지니고, Table에 1개만 존재한다. (P.K를 이루는 Colum의 수는 여러 개가 올 수 있다.)
 - Colum이 1개인 P.K를 Single P.K라 한다.
 - Colum이 2개 이상인 P.K를 Composite P.K라 한다.
3) 제 2차 정규화 (2NF, Second Normal Form)
 - 제 1차 정규화를 한 후, P.K를 이루는 Colum의 개수가 복합일 때 분리하는 정규화
4) 제 3차 정규화 (3NF, Third Normal Form)
 - 식별자가 아닌 Colum이 식별자가 아닌 Colum에 의존적이면 분리하는 정규화
5) 제 4차 정규화 (4NF, Fourth Nomarl Form)
 - M:M 관계를 1:M 관계로 분리하는 정규화 (부모테이블의 P.K는 자식 테이블의 F.K가 된다.)
* 관계의 종류
 ① 1:1 관계 - 자주사용하는 Colum만 추출해서 새로운 Table(자식테이블) 생성
                 - 자식테이블의 값은 부모테이블에 항상 존재하여야 한다. (부모테이블의 P.K는 자식테이블의 F.K가 된다.)
 ② 1:M 관계 - A라는 테이블의 하나의 행에 대하여 B라는 테이블의 값이 여러 개가 대응되는 관계
 ③ M:M 관계 - A라는 테이블의 하나의 행에 대하여 B라는 테이블의 값이 여러 개가 대응되고,
                      B라는 테이블의 하나의 행에 대하여 A라는 테이블의 값이 여러 개가 대응되는 관계  -> A(1) : B(M) and B(1) : A(M)
                   => 논리적인 모델링에서는 존재하지만 실제 물리적인 DB에서는 존재하지 않는다.


'Program... > Oracle' 카테고리의 다른 글

물리적인 DB관리 (2)  (0) 2009.03.13
물리적인 DB관리 (1)  (0) 2009.03.13
오라클 Import & Export  (0) 2009.03.13
오라클 Sys 접속 및 계정생성  (0) 2009.03.13
ORACLE PARTION 관리 및 검색  (0) 2009.03.12
Posted by Duritz

[oracle export]

1. 전체
exp scott/tiger full=y file='d:\expdat.dmp'

2. 테이블/유저
c:\>exp scott/tiger tables=emp,dept flie='d:\expdat.dmp'

3. 조건식
c:\>exp scott/tiger tables=emp,dept query='"where deptno = 10"' flie='d:\expdat.dmp'

4. tns예제
c:\>exp
scott/tiger@scott_dev fromuser=scott touser=scott flie='d:\expdat.dmp'


[oracle import]

1. 전체
c:\>imp scott/tiger full=y file='d:\expdat.dmp'

2. 테이블/유저
c:\>imp scott/tiger tables=emp,dept file='d:\expdat.dmp'

4. tns예제
c:\>imp
scott/tiger@scott_dev fromuser=scott touser=scott flie='d:\expdat.dmp'


[import시 주의사항]

1. import 시에 import하는 유저권한이 불충분할 수 있으므로 연습용이나 학습용시 system or sys계정으로....

2. import 시에 tablespace의 공간 부족으로 error가 날 경우에는 해당 tablespace 공간을 늘려줘야 함

ex) alter tablespace [tablespace_name]
    add datafile 'd:\oracle\product\10.2.0\oradata\orcl\[file name].dbf' size 500m


 


'Program... > Oracle' 카테고리의 다른 글

물리적인 DB관리 (2)  (0) 2009.03.13
물리적인 DB관리 (1)  (0) 2009.03.13
DataBase 정규화  (0) 2009.03.13
오라클 Sys 접속 및 계정생성  (0) 2009.03.13
ORACLE PARTION 관리 및 검색  (0) 2009.03.12
Posted by Duritz

1. 오라클 sysdba 접속

sql> sqlplus "/as sysdba"

또는

sql> sqlplus /nolog
sql> /as sysdba


2. oracle 계정 생성
create user [user 명] identified by [identified 명];

user명과 identifed 명은 동일하게


3. 권한 부여
grant create session, dba to [권한을 부여할 user명];

'Program... > Oracle' 카테고리의 다른 글

물리적인 DB관리 (2)  (0) 2009.03.13
물리적인 DB관리 (1)  (0) 2009.03.13
DataBase 정규화  (0) 2009.03.13
오라클 Import & Export  (0) 2009.03.13
ORACLE PARTION 관리 및 검색  (0) 2009.03.12
Posted by Duritz

## TABLE의 PARTITION 정보 검색 ## 
SELECT *
FROM ALL_TAB_PARTITIONS
WHERE TABLE_NAME = '테이블명'

## PARTITION 정보 ANALYZE 하기위한 Syntex 추출
SELECT 'ANALYZE TABLE '||TABLE_NAME||' PARTITION ('||PARTITION_NAME||') ESTIMATE STATISTICS;'

FROM ALL_TAB_PARTITIONS
WHERE TABLE_OWNER = '테이블 소유계정명'
    AND TABLE_NAME = '테이블명'
-> 추출된 SQL문을 실행하여 PARTITION 정보를 ANALYZE 한다.

## INDEX 정보 ANALYZE 하기위한 Syntex 추출
SELECT 'ANALYZE INDEX '||B.INDEX_NAME||' PARTITION ('

        ||A.PARTITION_NAME||') ESTIMATE STATISTICS;'
FROM ALL_TAB_PARTITIONS A,ALL_INDEXES B
WHERE A.TABLE_OWNER = '테이블 소유계정명'
  AND B.OWNER = '인덱스 소유계정명'
  AND A.TABLE_NAME  = '테이블명'
  AND B.TABLE_NAME = A.TABLE_NAME

-> 추출된 SQL 문을 실행하여 INDEX 정보를 ANALYZE 한다.


## INDEX관련 테이블

- ALL_INDEXES, ALL_IND_COLUMNS (COLUMN_POSITION-인텍스 순서)

'Program... > Oracle' 카테고리의 다른 글

물리적인 DB관리 (2)  (0) 2009.03.13
물리적인 DB관리 (1)  (0) 2009.03.13
DataBase 정규화  (0) 2009.03.13
오라클 Import & Export  (0) 2009.03.13
오라클 Sys 접속 및 계정생성  (0) 2009.03.13
Posted by Duritz

공지사항

Yesterday
Today
Total
12-03 03:30

달력

 « |  » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31