기본 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