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) 엔티티 식별 및 컬럼 식별
2) PK 선정 또는 인공 키 도입
3) 제 1정규화 -> 데이터 중복 및 컬럼 중복 제거
4) 제 2정규화 -> 여러 pk에 종속되지 않은 데이터를 식별한다
5) 제 3정규화 -> 일반 컬럼에 종속된 데이터 식별
6) 다대 다 관계 해소 / 포함 관계, 배제 관계 식별
7) 관계 차수 지정
8) 대안키 -> 유니크로 지정
9) 컬럼의 옵션을 설정물리 모델 정의 - DBMS에 맞춰서 표현
1) DBMS 관계에 따라 테이블 및 컬럼명 설정
2) 도메인 정의 및 적용
3) 자동 증가 컬럼 지정
4) 기본값 및 제약조건SQL 생성 - 포워드 엔지니어링
포함 관계와 배타적 관계
- 포함관계 (include)
ㄴ 여러 개를 겹칠 수 있다
회원 기본 정보 - 학생 정보, 강사 정보, 매니저 정보
회원 정보가 여러 테이블에 포함될 수 있다.
- 배타적 관계 (exclude)
ㄴ 선풍기 단계, 라디오 채널, 콘텍렌즈와 안경
회원 기본 정보 - 학생 정보, 강사 정보, 매니저 정보
회원 정보가 3개의 테이블 중 오직 한 개의 테이블만 관계를 맺을 수 있다.