[구디아카데미] DB 모델링

최주영·2023년 4월 20일
0

DB모델링

목록 보기
1/1

[구디아카데미]

✅ 모델링

  • 데이터 흐름을 도식화하는 과정
    EX) 집 분양받기 전에 모델하우스에서 집 보여주는 과정


DB 모델링의 주요개념


✅ 식별관계

  • 외래식별자로 참조하는 테이블에서 주식별자로 사용되는 관계

✅ 비식별관계

  • 외래식별자로 참조하는 테이블에서 일반 컬럼으로 사용되는 관계


회원테이블의 주식별자인 회원 번호는 상품구매 테이블을 참조한다
상품테이블의 주식별자인 상품 번호 역시 상품구매 테이블을 참조한다
즉 각 주식별자가 상품 구매테이블에도 주식별자로 사용되고 있으므로 식별관계이다!
회원 - 상품구매 = 1:N 관계
상품 - 상품구매 = 1:N 관계


상품명 의 주식별자인 상품명번호는 (상품명첨부파일) 테이블을 참조한다
이 상품명번호 주식별자가 상품명 첨부파일 테이블에 일반 컬럼으로 사용되고 있으므로 비식별 관계이다

빨간 선 : 비식별 관계
파란 선 : 식별 관계


✅ 주식별자

  • 유일성, 최소성, 불변성, 존재성의 특징을 가짐
  • 엔티티에 소속된 인스턴스들을 구별하는 기준 역할을 하는 속성 = 기본키
  • 주식별자는 하나가 아닌 여러 속성일 수 있음 (복합 키)
  • 엔티티의 속성 중 주식별자 속성이 없다면 새로운 속성을 만들어 줌 (인위적 주식별자)
    => EX) 사원번호, 제품번호 = 아무런 의미없음

✅ 외래 식별자

  • 관계가 있는 엔티티 간의 연결고리 역할을 하는

  • 관계가 있는 두 엔티티를 부모, 자식 엔티로 구분한 후 부모의 주식별자와 공통 속성이
    자식에게도 존재하면 해당 속성을 외래 식별자로 지정

  • 부모 엔티티의 정보가 있어야지만 존재할 수 있는 것이 자식 엔티티 FK,가 설정되어있는 쪽이 자식임


✅ 개념적설게 : 요구분석 단계에서 정의된 핵심 개체와 그들 간의 관계를 바탕으로 ERD를 생성하는 단계

✅ 논리적설게 : 개념 설계에서 추상화된 데이터를 구체화하여 개체, 속성을 테이블화상세화 하는 과정

✅ 물리적설계 : 논리적 설계 단계에서 표현된 데이터(ERD)를 실제 컴퓨터의 저장장치에 어떻게 표현할 것인가 (관계형 데이터베이스로 전환) = 각 컬럼의 타입과 제약조건까지 모두 다 설정한 것


✅ DB 모델링 툴 사이트
https://www.erdcloud.com/


✅ ERD

  • ‘개체 관계도’라고도 불리며 요구분석 사항에서 얻은 엔티티속성들을 그려 관계를 도출한 것

ERD 표기법

참여도 : 필수 OR 선택
어떤 기준이 되는 엔티티가 있을 때
-> 반드시 대응되는 엔티티가 존재해야 한다면 필수
-> 존재 할 수도, 하지 않을 수도 있다면 선택


✅ 정규화

  • 관계형 데이터베이스에서 데이터를 구조화 하는 것 = 테이블 분리

목적

  • 데이터의 중복을 방지
  • 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이기 위함
    삽입 이상 : 불필요한 정보를 함께 저장하지 않고는 어떤 정보를 저장하는 것이 불가능
    갱신 이상 : 반복된 데이터 중에 일부만 수정하면 데이터의 불일치가 발생
    삭제 이상 : 유용한 정보를 함께 삭제하지 않고는 어떤 정보를 삭제하는 것이 불가능

✅ 반정규화

  • 정규화를 자주하면 JOIN을 자주해야하는 상황이 발생하는데 그것을 막기위해 다시 합치는것
profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글