RDB & NoSQL 💡 RDB와 NoSQL의 차이에 대해 설명해 주세요. RDB(SQL) NoSQL 데이터 모델 테이블 Document, Key-Value, Column-Family, Graph 개발 목적 데이터 중복 방지 애자일 / 확장 가능성 / 수정 가능성 확장성 수직적 확장(Scale Up)에 용이 수평적 확장(Scale Out)에 용이 스키마 엄격한 데이터 구조 유연한 데이터 구조 트랜잭션 ACID 트랜잭션을 지원 CAP 이론을 기반으로 함 장점 명확한 데이터 구조, 데이터 중복이 없어 update 용이 유연한 데이터 구조, 새로운 필드 추가 자유로움 단점 시스템이 커지면 쿼리가 복잠함 중복 발생할 수 있어 update시 모든 컬렉션 수정 필요, 명확한 데이터 구조를 보장하지 않음 예시 Ora..
CS/Database
💡 Key (기본키, 후보키, 슈퍼키 등등...) 에 대해 설명해 주세요.키(key) 는 테이블(Relation)에서 특정 레코드(행)를 식별하거나 검색하기 위해 사용되는 식별자입니다. 각 레코드는 여러 개의 필드(열, column)로 구성되어 있는데, 이 중 하나의 열을 키로 지정하여 그 값을 사용해 해당 레코드를 식별하고 접근할 수 있습니다. 동시에 각 테이블 간의 관계를 말해주는 연결고리이기도 합니다. 키의 종류 슈퍼키(Super Key): 테이블 내의 행을 유일하게 식별할 수 있는 하나의 속성 또는 속성의 집합(ex. {학번}, {학번 + 이름}, {주민번호 + 학번}) - 유일성복합키(Composite Key): 2개 이상의 속성(attribute)를 사용한 키후보키(Candidate key..