기본 1 - 엔티티, 릴레이션, 속성, 도메인

1. 데이터베이스

  • 일정한 규칙, 규약을 통해서 구조화 되어 저장되는 데이터의 모음

  • 이 데이터베이스를 제어하고 관리하는 통합 시스템을 DBMS, DataBase Management System 이라고 한다.

  • 이 DBMS 마다 정의된 쿼리 언어가 있고, 이를 통해 데이터를 삽입, 삭제, 수정, 조회 할 수 있다.

  • 실시간 접근과 동시 공유가 가능하다.

  • 구조

    • 응용 프로그램 - nodeJS, php

    • DBMS

    • 데이터베이스

  • 데이터베이스 위에 DBMS 가 존재하고, 그 위에 응용프로그램이 존재하여, 응용프로그램에서 데이터베이스 안에 있는 데이터를 끄집어내어 관련 로직을 정의한다.

2. entity

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

    • 예) 회원 : 이름, 아이디, 주소, 전화번호

  • 서비스의 요구사항에 맞춰서 엔터티의 속성이 정해진다.

  • 약한 엔터티와 강한 엔터티

    • 약한 엔터티 : 혼자서는 존재하지 못하고, 다른 엔터디의 존재 여부에 따라서 종속적이다.

    • 강한 엔터티 : 혼자서도 독립적으로 존재한다.

    • 건물 - 방 : 건물은 강한 엔터티, 방은 약한 엔터티

3. relation

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

  • 엔터티에 관한 데이터를 데이터베이스 내부에는 릴레이션 하나에 담아서 관리한다.

    • 즉, 엔터티가 데이터베이스 위에 올라가게 되면 릴레이션이 된다.

  • 관계형 데이터베이스에서는 테이블, NoSQL 에서는 컬렉션이라고 한다.

3-1. 테이블과 컬렉션의 차이

  • 관계형, NoSQL 별로 부르는 용어에 차이가 있는 것이다.

  • 가장 대표적인 관계형데이터베이스인 Mysql 과 대표적인 NoSQL인 MongoDB 의 예시를 통해 보면 다음과 같다.

Mysql(RDBMS)MongoDB(NoSQL)Redis(NoSQL)

record

document

set, hash

table

collection

collection

database

database

database

4. attribute

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

  • 예시

    • 차 - 색, 연비, 번호, 차종 등

  • 많은 특성들을 갖을 수 있지만, 서비스의 요구사항을 기반으로 관리해야할 필요가 있는 속성들만 엔터티의 속성이 된다.

5. domain

  • 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합을 말한다.

  • 예를들어 성별의 경우, {남, 여} 라는 집합이 된다.

Last updated