데이터베이스 : 일정한 규칙을 통해 구조화되어 저장되는 데이터의 모음
DBMS : 데이터베이스를 제어, 관리하는 통합 시스템
구조 : 응용 프로그램(spring, node.js, ...) <-> DBMS(MySQL, Oracle, ...) <-> 데이터베이스
엔티티
- 앤티티 : 여러 개의 속성을 지닌 명사를 의미
- A, B라는 엔티티가 있는 경우
- A 엔티티가 존재하는 경우에만 B 엔티티가 존재할 수 있으면, B 엔티티를 약한 엔티티라고 한다.
- 이와 반대로 혼자서 존재할 수 있는 A 엔티티는 강한 엔티티라고 한다.
릴레이션
- 릴레이션 : 데이터베이스에서 데이터를 구분하여 저장하는 기본 단위
- 엔티티에 관한 데이터를 데이터베이스는 릴레이션 하나에 담아서 관리한다.
- 관계형 데이터베이스에서는 '테이블'이라고 하며, NoSQL 데이터베이스에서는 '컬렉션'이라고 한다.
속성
- 개념적인 의미로, ERD에서 사용하는 개념이다.
도메인
도메인 : 속성이 가질 수 있는 값의 집합
필드와 레코드(튜플)
- 필드 : 물리적인 의미로, 속성을 테이블에서 지칭할 때 사용하는 개념이다.
- 따라서 타입을 갖는다.
- varchar는 가변 길이 문자열로, 입력된 데이터에 따라 용량을 가변시켜 저장한다.
- varchar(10,000)으로 선언해도 10글자의 이메일을 저장할 경우 10글자에 해당하는 바이트 + 길이기록용 1바이트로 저장한다.
- 레코드, 튜플 : 각 필드에 데이터가 채워진 테이블의 행을 말한다.
키
테이블 간의 관계를 조금 더 명확하게 하고 테이블의 인덱스를 위해 설정되는 장치로, 기본키, 외래키, 후보키, 슈퍼키, 대체키가 있다.
- 슈퍼키 < 후보키 < 기본키, 대체키
- 슈퍼키 : 유일성을 지닌다. 유일성은 중복되는 필드값이 없는 것을 말한다.
- 후보키 : 유일성과 최소성을 지닌다. 최소성은 가장 적은 필드를 포함하는 것을 말한다.
- 기본키, 대체키 : 후보키 중에서 선택된 키를 말하며, 선택되지 않은 후보키는 대체키이다.
- 속성 중에서 중복되는 값을 가지는 속성을 지우다가 중복되지 않는 값을 가진 속성을 찾아서 기본키로 하는 것을 자연키라고 한다.
- 자연키는 언젠가 변한다는 특징이 있다.
- 인위적으로 고유 식별자를 위한 속성을 추가하여 기본키로 만드는 것을 인조키라고 한다.
- 인조키는 자연키와 달리 변하지 않는다.
- 외래키 : 다른 테이블의 기본키를 그대로 참조하는 값으로 테이블과의 관계를 식별하는 데 사용한다.
- 중복된 값이 존재해도 문제없다.
- null이거나 존재하는 기본키 값을 참조해야 한다.
'CS > 데이터베이스' 카테고리의 다른 글
조인의 원리 (0) | 2025.02.28 |
---|---|
인덱스 (0) | 2025.02.27 |
데이터베이스의 종류 (0) | 2025.02.26 |
트랜잭션과 무결성 (0) | 2025.02.26 |
ERD와 정규화 과정 (0) | 2025.02.19 |