Project

DB 모델링, DB 모델링 절차

우주코딩 2021. 10. 20. 18:21

DB 모델링

DBMS -> 데이터 입출력 -> 파일

  • Database 개념
  • DBMS 개념
  • 설치 및 설정

JDBC Driver (.jar) JDBC API 개념 / Type 1~4 구동원리 / JDBC 주요 메서드 사용법 / 트랜잭션 개념과 사용법 -> 데이터 처리 요청 -> DBMS

DBMS = 데이터 구조를 조직
데이터가 중복 저장되지 않게 데이터 구조를 조직하는 방법 => DB 모델링

모델링

  • 시스템을 분석하고 구조화시켜 글과 그림으로 표현한 것.
  • 렌더링 : 명령어를 해석하여 화면에 출력하는 것.

예) HTML 렌더링 => HTML 태그를 해석하여 그에 해당하는 UI를 출력하는 것.

  • DB 모델링? 데이터를 분석하고 구조화시켜 데이터 속성과 관계를 글과 그림으로 표현한 것.
  • 목표? 데이터가 중복되지 않도록 테이블을 구조화하는 것.
  • 중복 데이터를 제거 ==> 데이터의 안정성, 신뢰성을 높인다. ==> 일관성, 무결성을 유지한다.

모델링은 '생각'을 글과 그림으로 표현한다. 그 이유는 소통을 위함이다.

주요 용어

  • table(relation; entity; file)
  • intension(schema; header) => 데이터 구조 설계도
  • extension(instance; data) => 데이터
  • row(tuple; record) => 데이터(여러 컬럼으로 이루어진) 한 개. 예) 학생
  • column(attribute; field) => 데이터의 한 항목. 예) 이름, 학번, 전화번호

DB 모델링 절차

  1. 논리 모델 정의 - 일상적인 개념으로 표현
    1) 엔티티 식별 및 컬럼 식별
    2) PK 선정 또는 인공 키 도입
    3) 제 1정규화 -> 데이터 중복 및 컬럼 중복 제거
    4) 제 2정규화 -> 여러 pk에 종속되지 않은 데이터를 식별한다
    5) 제 3정규화 -> 일반 컬럼에 종속된 데이터 식별
    6) 다대 다 관계 해소 / 포함 관계, 배제 관계 식별
    7) 관계 차수 지정
    8) 대안키 -> 유니크로 지정
    9) 컬럼의 옵션을 설정

  2. 물리 모델 정의 - DBMS에 맞춰서 표현
    1) DBMS 관계에 따라 테이블 및 컬럼명 설정
    2) 도메인 정의 및 적용
    3) 자동 증가 컬럼 지정
    4) 기본값 및 제약조건

  3. SQL 생성 - 포워드 엔지니어링

포함 관계와 배타적 관계

  1. 포함관계 (include)
    ㄴ 여러 개를 겹칠 수 있다

회원 기본 정보 - 학생 정보, 강사 정보, 매니저 정보

회원 정보가 여러 테이블에 포함될 수 있다.

  1. 배타적 관계 (exclude)
    ㄴ 선풍기 단계, 라디오 채널, 콘텍렌즈와 안경

회원 기본 정보 - 학생 정보, 강사 정보, 매니저 정보

회원 정보가 3개의 테이블 중 오직 한 개의 테이블만 관계를 맺을 수 있다.