ER-WIN의 활용

황제낙엽 2007.07.11 15:59 조회 수 : 284 추천:70

sitelink1 http://www.okjsp.pe.kr/seq/99380 
sitelink2  
extra_vars5  
extra_vars6  

 

M 1) 고객 : 현재 운영중인 DB의 ERD를 그려주게.

    대처법 : ER-WIN 프로그램의 Reverse Engineer 사용

                1. ER-WIN을 시작

                2. Database >> Database connection 선택

                3. Tools >> Reverse Engineer  선택

                4. Model Type 선택후, Target Database의 정보가 맞는지 확인후

                    Next 클릭

                5. Set Option 화면에서 Table Owners를 꼭 설정할것

                     (All 선택 후 Oracle 위대함을 새삼 느낄 수 있습니다.)

                6. 생성된 erd를 이쁘게 편집 후 제출

 

M 2) 고객 : 저번일은 훌룡했네. 이번엔 테이블 생성스크립트를 만들어주게. 

                   물론 Comment까지 달아서 말이지.

    대처법 : 선준비사항 (Er-Win으로 생성된 Erd 필요, Logical 정보포함)

                1. Physical 모드로 변경

                2. Database > > Pre & Post Scripts > Model-Level 선택

                3. New 선택 후 Script를 넣어줌(comment 같은것)

                4. 아래의 내용을 Code에 기입후 OK 클릭

 ========================================================

%ForEachTable() {
    COMMENT ON TABLE %TableName IS '%EntityName';

    %ForEachColumn() {
        COMMENT ON COLUMN %TableName.%ColName IS '%AttName';
    }
}

========================================================

                5. Tools > Forward Engineer/Schema Generation 선택

                6. 우측에 Post-Script 선택 후 OK

                7. 다시 Tools > Forward Engineer/Schema Generation 선택후

                   Preview을 선택하면 Erd의 Logical 정보가 해당코멘트로 달린

                   Sql 생성스크립트를 볼수 있음.

 

M 3) 고객 : 코딩을 시작하게. 단 Sql문과 컬럼명에는 꼭 한글주석을 달도록

    대처법 : Oracle 딕셔너리 정보를 이용해 table의 코멘트 정보를

                자동생성하는 Generate를 만든다.

                 1.system 계정으로 처리나 그에 걸맞는 권한을 가진 계정을 가질것

=====================================================

 SELECT
     A.COLUMN_NAME   AS columnName,
     A.DATA_TYPE     AS dataType,
     A.DATA_LENGTH   AS dataLength,
     B.COMMENTS      AS comments,
     A.NULLABLE      AS nullAble
   FROM dba_tab_columns A,
           all_col_comments B
     WHERE A.OWNER = B.OWNER
       AND A.TABLE_NAME = B.TABLE_NAME
       AND A.COLUMN_NAME = B.COLUMN_NAME
       AND A.OWNER = '개발중인 DB 계정'

       //AND 조건으로 테이블명 선택시 생성하게끔도 가능

      AND A.TABLE_NAME = #tableName#

=====================================================

 

               2. 각 프로젝트의 Framework을 이용해 기본 CURD를 주석과 함께 생성해내는 코드를 작성