Database
Jul 24, 2021
»
Database
데이터베이스가 필요한 이유
- in-memory 끄면 데이터가 없어짐
- File I/O 원하는 데이터만 가져올 수 없고 항상 모든 데이터를 가져온 뒤 서버에서 필터링 필요
- Database 필터링 외에도 File I/O로 구현이 힘든 관리를 위한 여러 기능들을 가지고 있는 데이터에 특화된 서버
Schema
데이터베이스에서 데이터가 구성되는 방식과 서로 다른 엔티티 간의 관계에 대한 설명입니다
즉 데이터베이스의 청사진
과 같습니다
엔티티(Entity)는 고유한 정보의 단위입니다 데이터베이스에서 테이블로 표현됩니다
각 엔티티에는 해당 엔티티의 특성을 설명하는 필드(Filed)가 있습니다 행렬에선 열에 해당됩니다
즉 테이블에 저장된 모든 항목에는 해당 필드가 표현됩니다
레코드는 테이블에 저장된 항목입니다 행렬에서 행으로 볼수 있습니다
다른 테이블에서 테이블의 기본키를 참조할 때 해당 값을 외래 키라고 합니다
데이터베이스 설계
관계형 데이터베이스
구조화된 데이터는 하나의 테이블로 표현할 수 있습니다
- 데이터(data): 각 항목에 저장되는 값입니다.
- 테이블(table; 또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적됩니다.
- 칼럼(column; 또는 field) : 테이블의 한 열을 가리킵니다.
- 레코드(record; 또는 tuple) : 테이블의 한 행에 저장된 데이터입니다.
- 키(key) : 테이블의 각 레코드를 구분할 수 있는 값입니다. 각 레코드마다 고유한 값을 가집니다. 기본키(primary key)와 외래키(foreign key) 등이 있습니다.
관계 종류
테이블과 테이블 사이의 관계
- 1:1 관계 하나의 레코드가 다른 테이블의 레코드 한개와 연결된 경우입니다 자주 사용하지 않습니다
- 1:N 관계 관계형 데이터베이스에서 가장 많이 사용하는 관계
- N:N 관계 여러 개의 레코드가 다른 테이블의 여러개의 레코드와 관계있는 경우입니다 N:N 관계를 위해 스키마를 디자인할때는 join 테이블을 만들어 관리합니다
테이블 스스로 관계를 가질 수도 있습니다.
- self referencing 관계