자격증/SQLD

SQLD(1)-데이터 모델링

jhs0129 2021. 8. 9. 21:02
320x100
반응형

 

 


 

  • 모델링의이해

데이터베이스 표현 의해서 추상화

특징 - 추상화(간략하게 표현) 단순화(쉽게 이해할 수 있도록 표현) 명확성(한 가지 의미를 지님)

 

모델링 단계 - 독립적으로(중복제거), 간결하게 표현

개념적 모델링 - 엔터티와 속성 도출 개념적, ERdiagram 작성

                   - 추상화 수준이 가장 높음

논리적 모델링 - 식별자 도출, 릴레이션 정의, 독립성 확보

                   - 정규화를 통해 재사용성 높임

물리적 모델링 - 테이블 인덱스 함수 생성

 

*ERdiagram 작성 절차 - 쉽고 간단하게

엔터티 도출, 배치(중요한 것을 왼쪽 상단)-> 관계 설정-> 관계 서술(어떠한 행동)-> 참여도와 필수 여부 표현( ex) 1:M M:1)

 

  • 3층 스키마 - 외부 스키마, 개념 스키마, 내부 스키마

3단계 계층으로 분리해서 독립성을 확보 각 계층을 뷰라고 함

독립성 - 논리적 : 개념 스키마가 변경되더라도 외부 스키마 영향 X

         - 물리적 : 내부 스키마가 변경되더라도 개념 스키마 영향 X

 

  • 외부스키마 - 응용프로그램이 접근하는 데이터베이스, 사용자 관점의 구조
  • 개념스키마 - 통합 데이터베이스 구조, 설계자 관점의 구조
  • 내부스키마 - 물리적 저장구조, 개발자 관점의 구조(데이터 저장구조 , 레코드 구조, 필드, 인덱스)
  • 엔터티 - 관리해야할 데이터 집합

특징 - 식별자 : 유일한 식별자(pk)가 있어야 함

      - 인스턴스 집합 : 2개이상의 인스턴스

      - 속성 : 속성을 가지고 있어야 함

      - 관계 : 다른 엔터티와 한 개이상의 관계를 가짐

      - 업무 : 업무에서 관리되어야 하는 집합

*인스턴스 - 각행 데이터 의미

ex) 은행의 엔터티 도출하면 고객 계좌엔터티가 나올 수 있음

유형과 무형에 따른 종류

종류 설명
유형 엔터티 지속적으로 사용
ex) 고객, 사원
개념 엔터티 물리적 형태가 없음
ex) 종목 가격
사건 엔터티 프로세스 실행시 생성되는 엔터티
ex) 주문 체결 취소

발생시점에 따른 종류

종류 설명
기본 엔터티 독립적으로 생성되는 엔터티
ex) 고객 상품 부서
중심 엔터티 기본엔터티로부터 발생되고 행위엔터티를 생성
ex) 계좌 주문 취소 채결
행위 엔터티 2개 이상의 엔터티로부터 발생
ex) 주문이력 채결이력
  • 속성

엔터티가 가지는 항목

인스턴스의 구성요소, 더이상 분해되지 않는다

행의 제목으로 생각하면 쉬움, 하나의 값만 가진다.

 

분해 여부에 따른 속성의 종류

종류 설명
단일 속성 하나의 의미로 구성된 것
ex) 이름 회원아이디
복합 속성 여러 의미가 있는 것
ex) 주소 - 시 군 동 구 등으로 분해
다중값 속성 여러 개의 값을 가질 수 있는 것
다중값 속성은 엔터티로 분해됨
ex) 상품 리스트

특성에 따른 속성의 종류

종류 설명
기본 속성 프로세스에서 도출되는 기본속성
ex) 이름 번호 
설계 속성 모델링 과정에서 발생되는 속성
ex) 상품코드 지점코드
파생 속성 다른 속성에 의해 만들어지는 속성
ex) 합계 평균

 

  • 관계

존재관계 - 두 개의 엔터티가 존재 여부에 관계를 가짐

행위관계 - 두 개의 엔터티가 어떤 행위에 관계를 가짐

 

  • 관계차수

1:1 - 관계되는 엔터티가 반드시 존재(완전 1:1), 관계되는 엔터티가 존재하지 않아도됨(선택적 1:1)

1:M - 하나의 엔터티가 여러개의 다른 엔터티의 관계를 가짐 ex) 고객은 여러개의 계좌를 가질 수 있음

M:N - 서로 여러개의 관계를 가짐, 해당 관계의 조인에서 카테시안 곱이 발생하기 때문에 1:M M:1의 관계로 변경해서 해소 해야함

 

필수적 관계 - 반드시 있어야 함 ' | ' 로 표시

선택적 관계 - 없을 수도 있음 ' ○ ' 로 표시

 

강한개체 : 독립적으로 존재할 수 있는 엔터티

약한개체 : 독립적으로 존재할 수 없는 엔터티

 

식별관계 - 강한개체가 다른 엔터티에게 기본키를 공유, 실선으로 표시 ex) 고객

비식별관계 - 강한개체의 기본키를 다른 엔터티의 일반 칼럼으로 관계를 가지는 것, 점선으로 표시 ex) 계좌

  • 식별자
데이터베이스 키 설명
기본키(primary key) 대표할 수 있는 키
다른 엔터티와 참조관계로 연결
후보기(candidate key) 기본키의 후보, 유일성 최소성 만족
슈퍼키(super key) 유일성만 만족
대체키(alternative key) 후보키중 기본키를 뺀 나머지
대표성을 만족 못함
외래키(foreign key) 다른 테이블에서 가리키는 키
참조무결성을 확인하기 위해 사용되는 키
즉 허용된 값만 저장하기 위해 사용되는 키

내부 식별자 - 내부에서 스스로 생성되는 식별자

외부 식별자 - 다른 엔터티와의 관계로 만들어지는 식별자 ex)계좌 엔터티에 회원id가 생김

 

단일 식별자 - 하나의 속성으로 이루어짐

복합 식별자 - 여러개의 속성으로 이루어짐

 

본질 식별자 - 프로세스에서 만들어짐

인조 식별자 - 인위적으로 만들어짐 ex) sequence number를 인위적으로 만들어 사용

 

320x100
반응형