전체 글 153

5] Primary key와 Unique index 논쟁

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가 데이터베이스를 관리하기 쉽다 * 개발 시점..

DB 이야기 2020.08.12

4] 엔티티 타입, 통합? 분리?

1. 엔티티타입 통합의 장, 단점 6가지 1] 성능 - 효과 : 좋아짐 현상, 나빠짐 현상 모두 존재 - 특징 1. 장점 = 조인 발생을 최소화하여 성능 저하를 예상 가능 (정보가 한 군데에 집약됨) 2. 단점 = 대량의 데이터가 한 군데에 존재할 경우, 트랜젝션의 집중 현상과 데이터량 증가로 인해 성능 저하가 나타남 - 고려요소 1. 정보의 양이 대용량 2. 트랜젝션이 집약된 정보에 집중될 거라 예상시 => 엔티티타입 분리가 바람직함 2] 속성 제약 - 효과 : 나빠짐 - 특징 1. 고유한 속성의 제약조건을 걸지 못함 2. 제약조건을 컬럼에 걸지 못함 - 고려요소 : 어플리케이션에서 모두 체크 해야함 3] 유연성 - 효과 : 나빠짐 - 특징 * 분리시, 각각의 엔티티 타입별로 다른 엔티티타입과 가질 수..

3] 이력 유형 데이터 모델링

1. 이력유형 - 시간에 따라 발생하는 데이터 형식 - 동일한 컬럼에서 발생 - 대량 데이터가 발생할 가능성이 높다 - 성능에 영향을 주는 경우가 많다. 2. 변경이력, 최신이력 관리하기 1) 최신여부 컬럼이 없을 경우 = 인라인뷰의 그룹 함수를 사용해 최근에 변경된 값을 가져오므로 성능저하 현상이 일어남 2) 최신여부 컬럼을 생성할 경우 = where 절에서 바로 최신값을 판단하므로 성능이 향상됨 => 인라인 뷰보다 where 조건절이 더 나은 것 같다. 출처 : 아는만큼 보이는 데이터베이스 설계와 구축