본문으로 바로가기

SQLD 정리

category 데이터베이스/SQLD 2023. 12. 30. 16:55

1. 데이터 모델링의 이해
ERD 작성 절차
1. 엔터티 도출, 그리기
2. 엔터티 배치
3. 엔터티 간의 관계 설정
4. 관계명 서술
5. 관계 참여도 표현
6. 관계 필수 여부 표현

DDL 로 그린 ERD 미리보기에서 코드 붙여 넣으면 생성된다.

데이터 모델링 고려 사항
1. 데이터 모델의 독립성
    독립성이 확보된 모델은 고객의 업무 변화에 능동적으로 대응할 수 있다.
     독립성을 확보하기 위해서는 중복된 데이터를 제거해야 한다.
    데이터 중복을 제거하는 방법이 바로 정규화이다.
2. 고객 요구사항의 표현
    데이터 모델링으로 고객과 데이터 모델러 간에 의사소통을 할 수 있어야 하므로, 
    고객의 요구 사항을 간결하고 명확하게 표현해야 한다.
3. 데이터 품질 확보
    데이터베이스 구축시에 데이터 표준을 정의하고 표준 준수율을 관리해야 한다.
    데이터 표준을 확보해야 데이터 품질을 향상시킬 수 있다.

3층 스키마 구조
사용자 설계자 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들 간의 관계를 정의한 ANSI 표준이다.
데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감
3단계 계층으로 분리해서 독립성을 확보하는 방법으로 각 계층을 뷰라고 한다.
3층 스키마는 데이터베이스의 독립성을 확보하기 위한 방법이다. 

엔터티의 특징

식별자
    엔터티는 유일한 식별자가 있어야 한다. (회원 ID, 계좌번호 등)
    인스턴스 집합
        2개 이상의 인스턴스가 있어야 한다. (즉, 고객정보는 2명 이상 있어야 한다.)
    속성
        엔터티는 반드시 속성을 가지고 있다.
            고객 엔터티에서 회원ID, 패스워드, 이름, 주소, 전화번호
    관계
        엔터티는 다른 엔터티와 최소한 한 개 이상의 관계가 있어야 한다.
            고객은 계좌를개설한다.
    업무
        엔터티는 업무에서 관리되어야 하는 집합이다.
            고객, 계좌
    릴레이션과 테이블, 인스턴스
    ;릴레이션과 테이블은 같은 의미라고 해석하면 된다. 릴레이션에 기본키 및 제약조건을 설정하면 테이블이 된다.
    단, Relationship은 릴레이션 간의 관계를 의미한다. 인스턴스는 릴레이션이 가질 수 있는 값을 의미한다. 간단하게 생각하면 행의 수를 의미한다.

    엔터티 종류
    엔터티의 종류는 유형과 무형에 따른 종류, 엔터티가 발생하는 시점에 따른 종류로 나누어진다. 
    엔터티를 유형과 무형으로 분류하는 기준은 물리적 형태의 존재 여부이다. 
유형 무형 엔터티
    유형 엔터티 
        업무에서 도출되며 지속저긍로 사용되는 엔터티이다. (고객, 강사, 사원)
    개념 엔터티 
        유형 엔터티는 물리적 형태가 있지만, 개념 엔터티는 물리적 형태가 없다.(시간, 장소, 회사)
    사건 엔터티 
        비즈니스 프로세스를 실행하면서 생성되는 엔터티이다. (주문, 결제, 예약)

발생 시점에 따른 엔터티 종류
    기본 엔터티티
        키 엔터티라고 한다. 다른 엔터티로부터 독립적으로 생성되는 엔터티이다.(고객, 상품, 부서)
    중심 엔터티
        기본 엔터티와 행위 엔터티 간의 중간에 있는 것이다. (주문, 취소, 체결, 계좌)
    행위 엔터티
        2개 이상의 엔터티로부터 발생된다.(주문 이력, 체결 이력)

다음은 ERD(Entity Realtionship Diagram)의 작성순서이다.
1. 엔터티를 그린다.
2. 엔터티를 적절하게 배치한다.
3. 엔터티 간에 관계를 설정한다.
4. 관계명을 기술한다.
5. 관계의 참여도를 기술한다.

투명성의 종류 : 분할 투명성, 위치 투명성, 지역투명성, 중복(복제) 투명성, 병행투명성, 장애 투명성이 존재한다.