1. 데이터베이스의 기본
데이터베이스란 ? 일정한 규칙과 규약을 통해 구조화되어 저장되는 데이터의 모음
DBMS : 데이터베이스를 제어하고 관리하는 통합 시스템
데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 수정, 삭제, 조회 등을 수행할 수 있다.
데이터 베이스의 특징
- 실시간 접근이 가능하다.
- 동시 공유가 가능하다.
- 지속적으로 변화한다.
- 데이터 참조 시에 주소가 아니라 내용에 대한 참조를 한다.
1-1. 엔터티(Entity)
엔터티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다.
엔터티는 다른 엔터티의 존재 여부에 종속적인 '약한 엔터티'와 독립적으로 존재할 수 있는 '강한 엔터티'가 존재한다.(ex. 방 / 건물)
1-2. 릴레이션(Relation)
릴레이션이란 데이터베이스에서 정보를 저장하는 기본 단위이다.
엔터티에 관한 데이터를 데이터베이스에서 릴레이션에 담아서 관리한다. 데이터베이스는 RDBMS 와 NoSQL로 나뉘는데, RDBMS에선 릴레이션을 '테이블' 이라 부르며, NoSQL에선 '컬렉션'이라고 부른다.
1-3. 속성(Attribute)
속성이란 릴레이션에서 고유한 이름을 갖는 정보이다.
예를 들어 차라는 엔티티가 있다면 차 번호, 차종, 색깔 등을 떠올릴 수 있는데, 이처럼 엔티티에 필요한 속성들이 엔티티 속성이 된다.
1-4. 도메인(Domain)
도메인(domain)이란 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합을 말한다.
예를 들어 성별이라는 속성이 있다면 이 속성이 가질 수 있는 도메인은 남자, 여자가 된다.
1-5. 필드와 레코드(튜플)
엔터티의 속성들을 필드라고 하고, 속성들의 도메인들이 모인 하나의 row를 레코드(튜플)라 한다.
1-6. 관계(Relation)
데이터베이스에 테이블은 하나만 있는 것이 아니라, 여러 개의 테이블이 있고 이러한 테이블은 서로의 관계가 정의되어 있다. 이 관계를 관계 화살표로 나타낸다.
- 1대1 관계 : 한 명의 고객은 하나의 고객등급이 부여
- 1대N 관계 : 한 명의 고객은 여러 계좌를 개설할 수 있다.
- M대N 관계 : 조인이 카테시안 곱이 발생하므로 1대N 또는 N대1로 해소 필요(N:M 관계는 두 테이블을 직접적으로 연결해서 구축하지 않고, 1:N, 1:M 관계를 갖는 테이블로 나눠서 설정한다 ✨)
1-7. 키(Key)
키란 조건에 만족하는 레코드를 찾거나, 순서대로 정렬할 때 다른 레코드들과 구별할 수 있는 기준이 되는 속성이다.
유일성이란 하나의 키값으로 레코드(튜플)을 유일하게 식별할 수 있는 성질을 의미한다.
최소성이란 키를 구성하는 속성들 중 최소한의 속성만 사용해서 키를 구성하는 성질을 의미한다.
- 기본키 : 유일성과 최소성을 만족하는 키이다.
- 외래키 : 다른 테이블의 기본키를 그대로 참조하는 값. 개체와의 관계를 식별하는 데 사용한다.(외래키는 중복되어도 상관없다.)
- 후보키 : 기본키가 될 수 있는 후보들이며 유일성과 최소성을 모두 만족해야 한다.
- 대체키 : 후보키 중에서 기본키로 선택되지 않고 남은 키이다.
- 슈퍼키 : 각 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키이다.
'Computer Science 📖 > Database' 카테고리의 다른 글
[면접을 위한 CS 노트] 4-6 조인(JOIN) (0) | 2023.11.25 |
---|---|
[면접을 위한 CS 노트] 4-5 인덱스 (1) | 2023.11.25 |
[면접을 위한 CS 노트] 4-4 데이터베이스의 종류 (1) | 2023.11.25 |
[면접을 위한 CS 노트] 4-3 트랜잭션과 무결성 (0) | 2023.11.25 |
[면접을 위한 CS 노트] 4-2 ERD와 정규화 과정 (0) | 2023.11.25 |