Database 기초
- 데이터를 저장 및 보존하는 시스템
- Application에서는 데이터가 메모리 상에서 존재한다. 메모리에 존재하는 데이터는 보존이 되지 않아 Application이 종료되면 메모리에 있던 데이터들은 다시 읽을 수 없다.
- 이런 점을 보완하기 위해 데이터를 장기적으로 저장 및 보존하기 위해서 데이터 베이스를 사용하는 것이다.
- 일반적으로 Database는 크게 관계형 데이터베이스(RDBMS)와 "NoSQL"로 명칭되는 비관계형(Non-relational)데이터베이스가 있다.
관계형 데이터베이스(RDBMS, Relational DataBase Management System)
- 관계형 데이터 모델에 기초를 둔 데이터베이스 시스템을 말한다.
- 관계형 데이터란 데이터를 서로 상호관련성을 가진 형태로 표현한 데이터를 말한다.
- 모든 데이터들은 2차원 테이블들로 표현된다.
- 각각의 테이블은 column과 row로 구성된다.
- column은 테이블의 각 항목을 말한다.
- row는 각 항목들의 실제 값들을 이야기 한다.
- 각 row는 저만의 고유 키(Primary Key)가 있다. 주로 이 Primary key를 통해서 해당 row를 찾거나 인용(reference)하게 된다.
- 각각의 테이블들은 서로 상호 관련성을 가지고 서로 연결될 수 있다.
- 테이블끼리의 연결에는 크게 3가지 종류가 있다.
(one to one, one to many, many to many)
- 대표적인 관계형 데이터베이스에는 MySQL과 PostgreSQL이 있다.
One To One
테이블A의 row와 테이블B의 row가 정확히 일대일 매칭이 되는 관계를 one to one 관계라고 한다.
One To Many
테이블A의 row가 테이블B의 여러 row와 연결이 되는 관계를 one to many 관계라고 한다.
Many To Many
테이블A의 여러 row가 테이블 B의 여러 row와 연결이 되는 관계를 many to many라고 한다.