노트

데이터베이스 본문

CS

데이터베이스

blackmilktea 2024. 1. 26. 22:51

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

DBMS(DataBase Management System)는 DB를 제어, 관리하는 통합 시스템.

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

또한 데이터베이스는 실시간 접근과 동시 공유가 가능함.

응용 프로그램
DBMS
데이터베이스

 

 

1. 엔티티(Entity)

사라, 장소, 물건, 사건, 개념 등여러 개의 속성을 지닌 명사를 의미

ex) 회원이라는 엔티티에는 이름, 아이디, 주소, 전화번호 등의 속성을 가짐.

속성은 서비스의 요구 사항에 맞춰 정해짐. 서비스의 요구 사항과 무관한 속성이라면 해당 속성은 사라질 수 있음.

 

약한 엔티티와 강한 엔티티

약한 엔티티는 혼자서는 존재하지 못하고 다른 엔티티 존재 여부에 따라 종속적인 엔티티이고,

혼자서 존재할 수 있는 엔티티는 강한 엔티티임.

 

2. 릴레이션(Relation)

데이터베이스에서 정보를 구분하여 저장하는 기본 단위

데이터베이스는 엔티티에 관한 데이터를 릴레이션에 담아 관리함.

릴레이션은 관계형 데이터베이스에선 '테이블', NoSQL 데이터베이스에서는 '컬렉션'이라고 함.

 

테이블과 컬렉션

데이터베이스의 종류는 크게 관계형 데이터베이스와 NoSQL 데이터베이스로 나눌 수 있음.

1. 관계형 데이터베이스인 MySQL의 구조는 레코드 - 테이블 - 데이터베이스

    레코드가 쌓여서 테이블이 되고 테이블이 쌓여서 데이터베이스가 됨.

 

2. NoSQL 데이터베이스인 MongoDB 의 구조는 도큐먼트 - 컬렉션 - 데이터베이스로 이루어져 있음.

 

 

3. 속성(Attribute)

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

ex) '차'라는 엔티티의 속성은 차 번호, 차종, 색상 등에서 서비스의 요구 사항을 기반으로 관리해야 할 필요가 있는 속성들만 엔티티의 속성이 됨.

 

 

4. 도메인(Domain)

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

ex) 성별이라는 속성이 가질 수 있는 값은 {남, 여}라는 집합이 됨.

 

 

5. 필드와 레코드

 

member

name ID address phonenumber <- 필드
''' ''' ''' '''  
행 단위는 레코드, 튜플  

회원이라는 엔티티는 member라는 테이블로 이름, 아이디 등을 가지고 있으며 name, ID, address 등의 필드를 가짐.

이 테이블에 쌓이는 행(row) 단위의 데이터를 레코드 또는 튜플이라고 함.

 

필드 타입

필드는 타입을 갖고 있음. 이름은 문자열, 전화번호는 숫자 등

이러한 타입은 DBMS마다 다르며 MySQL을 기준으로 대표적인 숫자, 날짜, 문자 타입이 있음.

  • 숫자 타입: TINYINY, SMALLINT, MEDIUMINT, INT, BIGINT 등
  • 날짜 타입: DATE, DATETIME, TIMESTAMP
  • 문자 타입: CHAR, VARCHAR, TEXT, BLOB, ENUM, SET

 

 

 

'면접을 위한 CS 전공지식 노트'를 기반으로 작성한 글입니다.

저자 블로그: https://blog.naver.com/jhc9639/222702934910