250x250
jhs0129
프로그래밍
jhs0129
전체 방문자
오늘
어제
  • 분류 전체보기
    • 자격증
      • SQLD
      • 정보처리기사
    • 프로젝트
      • html csss js - todolist
      • JSP 방명록
      • 졸업작품
    • 공부기록
      • Java
      • Spring
      • Spring Security
      • Algorithm
      • JPA
      • DB
      • Servlet JSP
      • html
      • 기술공유
    • 잡다한 생각

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • spring framework
  • EC2
  • AWS
  • nhn cloud 강의
  • spring data jpa
  • 스프링시큐리티
  • spring
  • rest docs
  • 스프링 프레임워크
  • spring boot
  • cicd
  • codedeploy
  • JPA
  • 프로젝트
  • 스프링
  • Spring Security Login
  • github
  • oAuth2
  • NHN Cloud
  • Spring Security

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
jhs0129

프로그래밍

SQLD(1)-데이터 모델링
자격증/SQLD

SQLD(1)-데이터 모델링

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

 

모델링의이해
3층스키마
엔터티
속성
관계
관계차수
식별자

 


 

  • 모델링의이해

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

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

 

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

개념적 모델링 - 엔터티와 속성 도출 개념적, 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
반응형

'자격증 > SQLD' 카테고리의 다른 글

SQLD(4)-SQL활용1  (0) 2021.08.13
SQLD(3)-SQL기본3  (0) 2021.08.12
SQLD(2)-SQL기본2  (0) 2021.08.12
SQLD(3)-SQL기본1  (0) 2021.08.11
SQLD(2)-데이터 모델과 성능  (0) 2021.08.10
    '자격증/SQLD' 카테고리의 다른 글
    • SQLD(3)-SQL기본3
    • SQLD(2)-SQL기본2
    • SQLD(3)-SQL기본1
    • SQLD(2)-데이터 모델과 성능
    jhs0129
    jhs0129
    공부기록 남기기

    티스토리툴바