본문 바로가기

전공/DB

정규화 1. 정규화(Normalized)란? - 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스 - 정규화(Normalization)의 목표는 테이블 간 중복 데이터를 허용하지 않는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 2. 정규화의 장단점 1) 장점 - 데이터베이스 변경 시 이상 현상(Anomaly) 제거 - 저장 공간의 최소화 - 데이터 구조의 안정성 및 무결성 유지 - 데이터 삽입 시 릴레이션 재구성의 필요성 감소 - 효과적인 검색 알고리즘 생성 가능 2) 단점 - 릴레이션 간의 JOIN 연산 증가→ 질의에 대한 응답 시간 저하 3. 정규화를 하는 이유 - 이상 문제를 해결하기 위해 .. 더보기
[DB 기술면접 질문 리스트] : JOIN - JOIN이란? 두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법입니다. 자신이 검색하고 싶은 컬럼이 다른 테이블에 있을경우 주로 사용하며 여러개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법입니다. 보통 Primary key혹은 Foreign key로 두 테이블을 연결합니다 - JOIN 종류는( 논리적 JOIN ) ? 1. INNER JOIN - 기준테이블과 Join한 테이블의 중복된 값을 보여줌 - 교집합 2. LEFT OUTER JOIN - JOIN 문 기준 왼쪽 테이블(A)의 전체 데이터와, A테이블과 B테이블의 중복 데이터를 보여줌 3.RIGHT OUTER JOIN - JOIN문 기준 오른쪽 테이블(B)의 전체 데이터와, A테이블과 B테이블의 중복 데이터를 보여줌 4... 더보기
[DB 기술면접 질문 리스트] : 인덱스 - RDBMS가 뭔가요? RDBMS의 특징 설명해보시겠어요? 관계형 데이터베이스를 생성하고 수정하고 관리할 수 있는 소프트웨어입니다. RDBMS의 특징으로는 모든 데이터를 2차원 테이블로 표현하며, 각 테이블의 단위는 row(record, tuple)과 column(field, item)으로 이루어져있습니다. sql을 사용해 Join 등의 관계형 연산을 하며, 하나의 고성능 머신에 데이터 저장하는 수직적 확장 방식입니다. 따라서 "데이터가 자주 수정되는 경우", 혹은 "스키마가 변경될 여지가 없고, 명확한 스키마가 중요한 경우" 사용되는 것이 좋습니다. 장점 데이터의 일관성을 보증할 수 있음 데이터베이스 설계 시 이미 불필요한 중복이 삭제됨 정규화를 전제로 하고 있기 때문에 업데이트 시 비용이 적음(동일.. 더보기