본문 바로가기

IT/DataBase

DataBase전체요약

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

DataBase이론 전체요약


1. 정보 시스템과 방법론

   (1) EA와 DA

      1) EA : EA는 원활한 기업 활동을 통해 발생하는 정보를 효과적으로 저장 및 관리하기 위한 정보시스템을

                  구축하는 행위

      2) DA : EA활동 안에 데이터들을 효과적으로 처리할 수 있도록 설계 및 구축하는 것을 DA라 한다.

   (2) 방법론

      1) 구조적 방법론 : 기업에서 발생하는 모든 프로세스를 중심으로 정보시스템을 분석, 설계, 구축하는

                                    방법론이며 Data Flow Diagram 라는 자료 흐름도를 통해 수행

      2) 정보공학 방법론 : 구조적 방법론의 단점인 생산성과 유지보수를 보완하기 위해 나온 방법론으로 

                                        데이터베이스 관리기법을 분석해 설계하는 방법이며 ERD를 활용해 수행

    3) 객체지향 방법론 : 기업의 프로세스와 데이터, 모두를 데이터베이스 관리기법으로 설계하는 방법이며 

                                      Class Diagram을 통해 수행

   (2) DBMS

      1) Flat-File(SAM) - 1960년대

      2) Network-DBMS, Hierarchical-DBMS - 1970년대

      3) 관계형 DBMS - 1980년대

         - 파일 구조 시스템과의 차이점

           : 무결성, 데이터공유, 데이터 정확성 및 일관성, 중복성 제거, 불일치 제거, 표준화 가능

      4) 관계형 DBMS, 객체 관계형 DBMS - 1990년대

      5) 관계형/객체 관계형/객체 지향형 DBMS - 2000년대

 

2. 요구사항과 장표분석

   (1) 정보 요구사항 수집절차

      1) 관련 문서 수집

         - 기대 산출물 : 수집장표 목록

      2) 사용자 면담

         - 기대 산출물 : 사용자 요구사항 정의서

      3) 장표 분석

         - 기대 산출물 : 데이터 항목 일람표(*중요), 이 단계에서 얻는 산출물을 기반으로 데이터 모델링, 아키텍처가 구현

      4) 프로세스 분석

         - 기대 산출물 : Data Flow Diagram, 프로세스 정의서 등

      5) 사용자 요구사항 검증

         - 검증 방법 : CDUR 매트릭스 등

 

3. DB모델링

  3.1. 개념적 데이터모델링

    (1) 정의

        -  ISP단계에서 이루어지며 실세계의 현상을 알기 쉽고 체계적으로 모형화 해 놓은 것

        - 시스템적인 측면(H/W,S/W,DBMS)가 아닌 실세계 그대로를 표현

        - 프로세스와 독립적으로 사용자 관점에서 인식하고 분석

        - 구체적인 설계 단계가 아니라 개괄적인 의미를 포함하는 단계

    (2) 목적

        - 연관조직의 정보요구에 대한 정확한 이해

        - 사용자, 설계자, 개발자 간에 효율적인 의사소통 수단

        - 고품질의 S/W와 유지보수 비용의 감소효과

    (3) 특징

        - 데이터 중심의 분석

        - 무결성, 데이터의 공유, 융통성이 높은 데이터베이스 기반 설계가 가능

        - 시스템 환경요인에 대한 논리적인 개념

    (4) 용어

        1) Entity : 하나의 객체를 말하며 DB설계단위에서의 Relation이라고 생각하면 된다.(EX: 사원 Relation)

        2) Attribute : Entity안에 있는 속성을 의미(EX: 사원 Relation의 이름, 나이, 부서, 직급 등)

        3) UID : DB설계 단위에서의 primary key임, 즉 실별자.(EX: 사원번호, 주민번호 등)

        4) Relationship : Entity간의 관계를 의미. (EX: 업무적 상관관계 등)

 

 3.2. 상세적 데이터모델링(정규화)

    (1)  정의

        - 개념적 데이터모델링에서 정의됐던 Entity, Attribute 등 중 불필요하거나 잘못된 것들을 제거, 재배치하는 등 실체 간의 관계를

          명확히 하는 단계. 즉, 개념적 데이터모델링은 시스템적인 측면을 배체하고 DB모델링을 진행하였고 이를 시스템에 반영하기 위한

          상세 단계이다. 이를 정규화라고도 한다.

    (2) 목적

        - 데이터의 중복성 제거

        - 데이터 모형 단순화

        - Attribute의 배열 상태 검증

        - Entity, Attribute의 누락여부 검증

        - 데이터 모형의 안정성 유지

     (3) 정규화

        1) 제 1정규화(1NF)

        2) 제 2정규화(2NF)

        3) 제 3정규화(3NF)

        4) BCNF

        5) 제 4정규화(4NF)

        6) 제 5정규화(5NF) 

     (4) 장점 및 단점

        1) 정규화 정도가 높은 경우

           : 유연한 데이터 구축, 데이터의 정확성 높아짐, 물리적 접근이 복잡함, 길이가 짧은 데이터 생성

        2) 정규화 정도가 낮은 경우

           : 데이터의 결합처리가 감소, 물리적 접근이 단순, 데이터에 많은 Lock발생, 길이가 긴 데이터 생성

        ※ 과도한 정규화 작업을 피해야 하는 경우

           - 대상의 Entity가 검색만으로 사용되는 경우

           - 사용되는 빈도가 적은 경우

           - 소규모의 데이터를 저장하는 Entity이거나, 드물게 변경되는 경우

           - 중복 데이터의 변경이 거의 발생하지 않고 저장공간이 비교적 적은 경우

 

4. DB설계

  4.1. 논리적 데이터베이스 설계

  4.2. 물리적 데이터베이스 설계

 

5. 테이블의 물리적 설계

 

6. 인덱스의 물리적 설계  

'IT > DataBase' 카테고리의 다른 글

SQL 정리  (0) 2020.05.12
[SQL] 날짜 함수  (0) 2015.11.06
View  (0) 2015.09.23