1. Primary key와 Unique index 비교
1) PK
- 목적 : Constraint + index
- 공통점 : 유일성 보장
- 참조 무결성 : PK/FK에 의해 지정 가능
- 테이블당 개수 : 1개만 가능
- 인덱스 생성 : Unique Index 생성
- 역공학 적용시 : PK인식 가능
- Null 허용 : 허용X
2) UI
- 목적 : Index
- 공통점 : 유일성 보장
- 참조 무결성 : 지정 불가능
- 테이블당 개수 : 여러 개 가능
- 인덱스 생성 : Unique Index 생성
- 역공학 적용시 : PK인식 불가능
- Null 허용 : 허용됨
2. 각각 혼자만 사용시 장단점
1) PK
- 장점
* PK/FK가 존재하지 않아 DBA가 데이터베이스를 관리하기 쉽다
* 개발 시점에 데이터 제약이 없으므로 개발이 용이
* PK/FK가 없어서 성능이 좋아질 수 있다.?
- 단점
* 데이터 무결성이 깨질 수 있음
* 데이터모델과 테이블 관계가 일치 X
* UI는 한 테이블에 여러개 만들 수 있기에 테이블만 보고 PK가 무엇인지 구분이 힘들다
* 데이터전환 작업시 데이터 정리 작업이 필요
2) UI
[4가지 기준에서 UI판단]
1순위. 데이터 무결성
2순위. 데이터베이스 성능
3순위. 데이터베이스 관리의 용이성
4순위. 개발자 편의성
* PK를 사용하지 않는다는 것
: 1순위의 데이터의 무결성을 데이터베이스에 맡기지 않고 전적으로 애플리케이션에서 주관
주의) 3순위, 4순위을 우선적으로 고려하여 의사결정을 하는 것은 정말 위험하다!
: 중요한 업무 데이터를 일시적인 귀찮음으로 데이터가 깨질지도 모르는 품질 저하의 위험으로 몰고 감
출처 : 아는만큼 보이는 데이터베이스 설계와 구축
'DB 이야기' 카테고리의 다른 글
데이터뱅크란? (0) | 2021.01.26 |
---|---|
SQL 기본 이해 (0) | 2020.12.11 |
28. 데이터 사전 (0) | 2020.08.01 |
데이터 정의 (0) | 2020.07.03 |
DAY 1. 사용할 id 생성 (0) | 2020.04.13 |