ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3-2. 물리 데이터 저장소 설계 ~ 3-3. 데이터베이스 기초 활용
    공부 일기/정보처리기사 실기 2024. 7. 18. 00:47
    728x90

    1-1. 요구사항 분석 https://minjh1126.tistory.com/44

    1-2. 현행시스템 분석 https://minjh1126.tistory.com/45

    1-3. 요구사항 확인 https://minjh1126.tistory.com/46

    2-1. UI 요구사항 확인 https://minjh1126.tistory.com/47

    2-2. UI 설계 https://minjh1126.tistory.com/48

    3-1. 논리 데이터 저장소 확인 https://minjh1126.tistory.com/54

    7-1. 데이터베이스 기본 https://minjh1126.tistory.com/49

    7-2. 응용 SQL 작성하기 https://minjh1126.tistory.com/50

    8-1. 개발환경 구축 https://minjh1126.tistory.com/51

    8-2. 공통 모듈 구현 https://minjh1126.tistory.com/52

    9-1. 소프트웨어 개발 보안 설계 https://minjh1126.tistory.com/53

    9-2. 소프트웨어 보안 개발 구현 https://minjh1126.tistory.com/55

    10-1. 애플리케이션 테스트 케이스 설계 https://minjh1126.tistory.com/56

     

    1. 물리 데이터 모델 설계

    1. 물리 데이터 모델링 변환 절차

    • 개체를 테이블로 변환: 테이블과 개체 명칭을 동일하게 하고 한글 사용. 테이블은 영문.
    • 속성을 컬럼으로 변환: 표준화된 약어를 사용하고 명칭을 짧게 사용. 
    • UID를 기본키로 변환: UID에 해당하는 모든 속성을 기본키로 선언하고 제약 조건을 추가로 정의. 외래키가 기본키에 포함될 수 있음.
    • 관계를 외래키로 변환: 기본키 이름 그대로 사용하고 순환 관계에서는 자신의 기본 키를 외래키로 정의.
    • 컬럼 유형과 길이: CHAR(고정길이 문자열, 2000바이트), VARCHAR2(가변 길이 문자열, 4000바이트), NUMBER(38자리수의 숫자), DATE(날짜), BLOB/CLOB(바이너리, 텍스트 데이터)
    • 반 정규화

     

    2. 물리 데이터 저장소 구성

    1. 무결성

    • 데이터베이스 무결성 종류
      • 개체 무결성: 한 엔터티에서 같은 기본키를 가질 수 없고 기본키가 NULL이 되어서는 안 됨. 
      • 참조 무결성: 외래키가 참조하는 다른 개체의 기본키에 해당하는 값이 기본 키나 NULL이 되어야 함.
      • 속성 무결성: 속성의 값은 기본값, NULL 여부, 도메인 등의 규칙을 준수해야 함.
      • 사용자 정의 무결성: 사용자의 의미적 요구사항을 준수해야 함.
      • 키 무결성: 한 릴레이션에 같은 키 값을 가진 튜플은 허용되지 않음.

    2. 키

    • 특성
      • 유일성: 식별자에 의해 엔터티 내의 모든 튜플들을 유일하게 구분.
      • 최소성: 최소한의 속성 수로 구분.
    • 종류
      • 기본키: 각 튜플을 고유하게 식별.
      • 대체키: 후보키 중 선택되지 않은 키.
      • 후보키: 튜플을 구별하는데 기준이 되는 속성. 기본키와 대체키를 합침.
      • 슈퍼키: 유일성은 만족하지만 최소성은 만족하지 못함.
      • 외래키: 참조 데이터 무결성을 위한 제약 조건으로 다른 릴레이션의 기본키로 사용됨.

    3. 파티셔닝

    • 파티셔닝: 테이블 또는 인덱스 데이터를 파티션 단위로 나눔.
    • 유형
      • 레인지 파티셔닝: 연속적인 숫자나 날짜를 기준으로 나눔. 관리가 손쉽고 관리 시간이 단축됨.
      • 해시 파티셔닝: 파티션 키의 해시 함수 값에 의한 파티셔닝. 균등한 데이터분할이 가능하고 질의 성능 향상이 가능.
      • 리스트 파티셔닝: 특정 파티션에 저장될 데이터에 대한 명시적 제어가 가능. 분포도가 비슷하고 데이터가 많은 SQL에서 컬럼의 조건이 많을 때 유용.
      • 컴포지트 파티셔닝: 세 종류 중 두가지 이상 결합해 사용. 큰 파티션에 대한 요청을 다른 파티션을 분산 가능.
      • 라운드 로빈: 라운드로빈으로 회전하며 새로운 행을 파티션에 할당.

     

    3-3. 데이터베이스 기초 활용

    1. 데이터베이스 종류

    1. 데이터베이스

    • 데이터베이스 정의: 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터
    • 특성
      • 실시간 접근성
      • 계속적인 변화: 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터 유지
      • 동시 공용: 다수의 사용자가 동시에 같은 데이터 이용 가능
      • 내용 참조: 데이터를 참조할 때 내용으로 데이터를 참조
    • 종류
      • 파일 시스템: 파일의 이름, 위치 등을 정의하고 관리
        • 종류
          • ISAM: 자료 내용은 주 저장부, 색인은 자료가 기록된 위치와 함께 색인부에 기록
          • VSAM: 대형 운영체제에서 사용
      • 관계형 데이터베이스 관리 시스템(RDBMS): 가장 보편화된 데이터베이스. 테이블의 일부를 다른 테이블과 상하 관계로 표시. 오라클, SQL Server, MySQL, Maria DB등.
      • 계층형 데이터베이스 관리시스템(HDBMS): 데이터를 상하 종속적 관계로 계층화해 관리. 접근 속도가 빠르지만 변화하는 데이터 구조에 유연하지 않음. IMS, System2000 등.
      • 네트워크 데이터베이스 관리시스템(NDBMS): 데이터 구조를 네트워크 망상 형태로 표현. 트리 구조나 계층형 DBMS보다는 유연하지만 설계가 복잡. IDS, IDMS 등.

    2. DBMS

    • 유형
      • 키-값 Store DBMS: 키 기반으로 GET, PUT, DELETE 제공. 메모리 기반에서 성능 우선 시스템이나 빅테이터 처리 가능. 유니크한 키에 하나의 값을 가짐. 
      • 컬럼 기반 데이터 저장 DBMS: 키 안에 (컬럼, 값) 조합으로된 여러 필드를 가짐. 테이블 기반, 조인 미지원, 컬럼 기반.
      • 문서 저장 DBMS: 값의 데이터 타입이 문서. 문서는 XML, JSON 같이 구조화된 타입으로 복잡한 계층구조 표현 가능.
      • 그래프 Store DBMS: 시맨틱 웸, 온톨로지 분야에서 활용. 데이터로 표현해 노드와 엣지로 특징되는 요소 특화하고 구조화.
    • 특징
      • 데이터 무결성: 부적절한 자료가 입력돼 동일한 내용에 대해 다른 데이터가 저장되는 걸 허용하지 않음.
      • 데이터 일관성: 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정.
      • 데이터 회복성: 장애가 발생해도 특정 상태로 복구.
      • 데이터 보안성: 불법적 노출, 변경, 손실로부터 보호.
      • 데이터 효율성: 응답 시간, 저장 공간 활용 등이 최적화되어 요구조건들을 만족.

    3. 빅데이터

    • 빅데이터: 수십 페타바이트 크기의 비정형 데이터.
    • 특성
      • 데이터의 양(volume): 페타바이트 수준으로 디지털 정보량이 기하급수적으로 폭증.
      • 데이터의 다양성(variety): 정형, 비정형, 반정형 등 다양한 데이터가 들어옴.
      • 데이터의 속도(velocity): 빠르게 증가하고 수집되며 처리됨. 실시간 분석이 중요해짐.
    • NoSQL: 전통적인 RDMS와 다른 DBMS를 지칭하기 위한 용어로 테이블 스키마와 조인 연산을 사용하지 않고 수평적으로 확장이 가능.
      • 특성
        • Basically Available: 언제든지 데이터는 접근할 수 있어야함. 분산 시스템이기 때문에 가용성 중시.
        • Soft-State: 노드의 상태는 외부에서 전송된 정보를 통해 결정됨. 특정 시점에서는 데이터 일관성이 보장되지 않음.
        • Eventually Consistency: 일정시간이 지나면 데이터 일관성이 유지됨.
      • 유형
        • key-value store: 유니크한 키 하나에 값을 가짐. 키 기반 get, put, delete 제공.
        • Column Family Data Store: 키 안에 (컬럼, 값) 조합으로 여러 필드를 가짐.
        • Document Store: 값의 데이터 타입이 문서(Document).
        • Graph Store: 시맨틱 웹가 온톨로지 분야에서 활용되는 그래프로 표현.
    • 데이터 마이닝: 대규모의 데이터 안에서 체계적이고 자동적으로 규칙이나 패턴을 찾아냄.
      • 절차: 목적 설정, 데이터 준비, 가공, 마이닝 기법 적용, 정보 검증
      • 주요 기법
        • 분류 규칙: 과거 데이터로부터 특성을 찾아내 분류 모형을 만들어 새로운 레코드의 결과 값을 예측.
        • 연관 규칙: 데이터 안의 항목들 간 종속 관계를 찾아냄.
        • 연속 규칙: 연관 규칙에 시간 관련 정보가 포함됨.
        • 데이터 군집화: 대상 레코드를 유사한 특성을 지닌 소그룹으로 분할하는 작업으로 분류 규칙과 유사. 정보가 없는 상태에서 데이터를 분류하는 기법이고 분석 대상에 결괏값이 없음.
    728x90
Designed by Tistory.