TIL no.24 관계형 데이터베이스

백선호·2021년 7월 13일
0

TIL

목록 보기
22/39
post-thumbnail

1. Database

Database 란 데이터라는 단어와 베이스라는 단어가 합쳐져 만들어졌다. 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아 놓은 집합을 의미한다고 생각하면 쉽다. 이런 데이터를 오랜 기간 저장 및 보존하기 위해서 데이터 베이스를 사용하고, 데이터를 체계적으로 보존하고 관리하기 위해 사용한다.

2. 관계형 데이터베이스

관계형 데이터베이스 (RDBMS, Relational DataBase Management System)는 이름 그대로 데이터 사이의 관계에 기초를 둔 데이터베이스 시스템을 말한다. 여기서 관계란 앞에서 본 표들 사이의 관계를 얘기한다. 보통 관계형 데이터베이스에서 모든 데이터는 2차원 테이블(table)로 표현한다.

  • Column (열) : 컬럼은 테이블의 각 항목을 의미한다.
  • Row (행) : 로우는 각 항목들의 실제 값이다.

-Primary Key

테이블의 가장 첫 칼럼은 언제나 id 되어있다. 엑셀이나 스프레드에 제일 첫 칼럼은 언제나 변하지 않는 번호(index)가 매겨져 있다. 이때 각 로우는 언제나 고유한 번호를 갖고 있는데 이를 고유 키(Primary Key)라고 한다. 이 Primary Key를 통해서 특정 로우를 찾거나, 인용(reference) 할 수 있다.

-Foreign Key

Foreign key(외부키)라는 개념을 사용하여 주로 테이블과 테이블의 연결하는 역할을 한다. 즉 특정 테이블에 포함되어 있으면서 다른 테이블의 기본 키로 지정된 키이다. 주로 중복된 데이터를 획기적으로 줄이기 위해서 사용된다.

3. 테이블 사이 관계의 종류

테이블 사이를 연결하는 이유는 중복된 데이터를 저장하지 않음으로 디스크를 더 효율적으로 쓰고, 서로 같은 데이터이지만 부분적으로만 내용이 다른 데이터가 생기는 문제를 없애기 위해서이다.

테이블끼리의 연결에는 3가지 종류가 있습니다. One to One, One to Many, Many to Many 한국어로는 일대일, 일대다, 다대다 관계라고 부른다.

-One To One

테이블 A의 로우와 테이블 B의 로우가 정확히 일대일 매칭이 되는 관계를 one to one 관계라고 한다. 즉 각각의 데이터들이 서로 하나씩만 연결이 된 경우에, 해당 테이블 사이의 관계를 일대일 관계 라고 부른다.

두 테이블을 봤을 때 Identification numbers 테이블의 user_id는 Users의 테이블의 id(PK)를 참조한다. 여기서 Identification numbers 테이블의 user_id는 FK이다. 이와 같은 관계를 서로 일대일 관계(One To One)이다.

-One To Many

One To Many 관계는 이름에서 의미 그대로 테이블 A의 로우가 테이블 B의 여러 로우와 연결이 되는 관계를 one to many 관계라고 합니다. 하나의 로우에 해당하는 테이블이 One이고, 여러 로우에 해당하는 테이블이 Many이다.

상위 코드를 살펴보면 users의 테이블의 id가 Pets의 로우 여러 개와 연결되어 있다. 이와 같은 경우 서로 일대다(One To Many) 관계이다.

-Many To Many

테이블 A의 여러 로우가 테이블 B의 여러 로우와 연결이 되는 관계를 many to many 라고 한다.

상위 코드는 Authors 테이블의 로우 하나는 Books 테이블의 여러 로우와 연결되고 Books 테이블의 로우 하나 또한 Authors 테이블의 여러 로우와 연결된다. 이와 같은 경우에서 테이블 authors와 테이블 books는 서로 다대다 (Many To Many) 관계이다.

참조 함 (users_id) ---> 참조 됨 (users) 즉 화살표의 방향은 참조 하는 것 에서 참조 되는 것 으로 FK 에서 해당 FK에 부합되는 PK로 향한다.

profile
baik9261@gmail.com

0개의 댓글