데이터베이스 설계 정리(1)

IngCoding·2022년 3월 24일
1

SQL 기초 실습

목록 보기
2/2

1. 데이터 모델링

- 개념 (엔터티, Entity): 수집하려는 데이터의 집합 (개체)
	* 부동산은 엔터티, 위치, 종류, 가격 등은 속성
- 논리 : 무결성(정확한 데이터 값), 정규화(중복제거)
- 물리 : 스키마(데이터베이스의 구조 등을 기술한 것), 테이블, 인덱스 생성

2. UseCase Diagram 작성

엔터티, 기능 도출, 관계 (ERD 작성) --> 생성

3. 다이어그램 활용

- 클래스 다이어그램(노드로 개발할 때 씀)
- 절차 관련해서 플로우차트 많이 씀

4. 정규화

중복 데이터를 없애고 관계를 단순하게 가져감 
- 1. 원자성 : 모든 속성은 하나의 값만 가진다 (물건소유자는 1, 다른 소유자는 공동소유자 컬럼에)
- 2. 완전 함수적 종속 : 모든 속성은 기본키에 종속되어야 한다 (아파트 테이블에 빌라가 있으면 X)
- 3. 이행 종속 제거 : 기본키가 아닌 모든 속성간에는 서로 종속될 수 없다 (우편번호와 기본주소 분리)
- 4. BCNF : 모든 결정자는 후보키에 속해야 한다(참조무결성)
     (물건에 임대인 이름을 후보키로하면 안된다.  2개 이상 올릴 수 있으니, 이런 경우 외래키로 분리시켜야함 )

5. 반(역)정규화

 테이블을 너무 쪼개면 느려지는 등의 비효율성이 발생할 수 있음 
- 테이블 : 통계(요약)테이블을 활용하여 성능 향상
          이력테이블에 일부 정보를 적어서 참조
- 컬럼 : 중복 컬럼을 합침.) 분리된 전화번호 컬럼을 (010, 3333, 4444)을 합침
- 관계 :  자주 조인되는 관계를 합침,) 물건 테이블과 임차인 테이블을 Join
  ** 주의 : 데이터 유지계획 필수 
  	(테이블이 합쳐지면서 참조무결성이 깨져, 변경비용이 높아질 수 있다!) 
profile
Data & PM

0개의 댓글