본문 바로가기
CS study/DataBase

[CS] 데이터베이스란? DB (DataBase)

by seohmoon 2022. 9. 4.

데이터베이스란?

DB (DataBase) 데이터베이스는 일정한 규칙, 혹은 규약을 통해 구조회되어 저장되는 데이터의 모음

 

DBMS(DataBase Management System)

데이터베이스를 제어 및 관리하는 통합 시스템

특징

- 디비 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어(query language)를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있음

- 데이터베이스는 실시간으로 접근 가능하며, 동시 공유도 가능함

 

위의 그림처럼 디비 위에 DBMS가 있고, 그 위에 응용 프로그램이 있으며, 이런 구조로 데이터를 주고받음

 

예시

디비 위에 MySQL(DBMS)이 있고, 그 위에 Node.js나 php(응용 프로그램)에서 해당 디비 안의 데이터를 가져다가 데이터 관련 로직을 구축 가능

 


엔터티

엔터티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미함

 

예시

회원이라는 엔터티가 있으면, 이 엔터티는 이름, 아이디, 주소, 전화번호의 속성을 가짐

물론 이보다 많은 속성이 있지만, 서비스의 요구 사항에 맞춰 속성이 정해짐

예를 들어 주소라는 속성이 서비스의 요구사항과 무관한 속성이라면 주소라는 속성은 사라지게 됨

 

엔터티의 종류

1. 약한 엔터티

2. 강한 엔터티


예시: 만약 A가 혼자선 존재X, B의 존재 여부에 따라 종속적이라면 A는 약한 엔터티, B는 강한 엔터티

         A는 방, B는 건물


릴레이션

릴레이션은 디비에서 정보를 구분하여 저장하는 기본 단위

엔터티에 관한 데이터를 디비에선 하나의 릴레이션에 담아서 관리함

앞의 그림처럼 회원이라는 엔터티가 디비에서 관리될 때 릴레이션으로 변화된 것을 볼 수 있다.

관계형 데이터베이스에선 릴레이션을 테이블이라고 하고, 

NoSQL에선 컬렉션이라고 함


속성

속성은 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보

 

예시

차(car)라는 엔터티의  속성에는 차 번호, 바퀴 수, 차 색깔, 차종 등이 있다.

이중에서 서비스의 요구사항을 기반으로 관리해야 할 필요가 있는 속성들만 엔터티의 속성이 됨


도메인

도메인은 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합

 

예시

성별이라는 속성이 있다면 이 속성이 가질 수 있는 값은 {남, 여}라는 집합

아까의 릴레이션(회원)에서 보면 이름, 아이디, 주소, 전화번호라는 속성이 있고, 

주소라는 속성은 {서울, 대전, 대구, 부산}이라는 도메인을 가짐

 

 

댓글