Schema (1)

 

 

 

❑ Schema

 

 

➤ 스키마란?

 

데이터베이스에서 데이터가 구성되는 방식과 서로 다른 entities간의 관계에 대한 설명

데이터베이스의 청사진과 같음

entities : 테이블 하나하나의 정보 단위

 

다른 테이블에서 참조할 때는 기본키로 참조할 수 있음

다른 테이블에서 테이블의 기본 키(primary key)를 참조할 때 해당 값을 외래 키(foreign key)라고 함

보통 기본 키는 ID값이다

 

 

 

➤ 데이터베이스 설계

 

구조화된 데이터는 하나의 테이블로 표현 가능

테이블 : relation

테이블을 사용하는 데이터베이스를 관계형 데이터베이스(Relational database) 라고 함

 

 

▶️ 관계형 데이터베이스 키워드

 

data : 각 항목에 저장되는 값

table(또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적됨

column(또는 field) : 테이블의 한 열

record(또는 tuple) : 테이블의 한 행에 저장된 데이터

key : 테이블의 각 레코드를 구분할 수 있는 값, 각 레코드마다 고유한 값을 가짐, 기본키와 외래키 등이 있음

 

 

❑ 테이블의 관계

 

각 테이블 사이엔 관계가 존재한다.

 

➤ 테이블 관계의 종류

 

1:1 (일대일의 관계)

1:N (일대다의 관계)

N:N (다대다의 관계)

다대다 관계는 테이블의 관계를 좌표처럼 만들어서 새로운 join table 을 만들면 쉽게 표현할 수 있다.

 

그 외에 테이블 스스로 관계를 가질 수도 있다. (self referencing 관계)

 

 

➤ 1:1 관계(One-to-one relationship)

 

하나의 레코드가 다른 테이블의 한 개와 연결된 경우

1:1 관계는 자주 사용하지 않음

-> 1:1 로 나타낼 수 있다면 테이블을 합쳐서 하나의 테이블로 보는 것이 낫다.

예시) 학생 테이블과 주소 테이블의 관계

 

 

➤ 1:N 관계

 

하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우

일대다 관계를 관계형 데이터베이스에서 가장 많이 사용함

예시) 직원 테이블과 부서 테이블의 관계

 

 

➤ N:N 관계

 

여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우

다대다 관계를 관리하기 위해서 join테이블을 만들어 관리함(기본 키 반드시 있어야함)

양방향에서 다수의 레코드를 가질 수 있다는 점에서 1:N 관계와 다르다

예시) 고객 테이블과 병원 테이블의 관계

 

 

➤ 자기참조 관계(Self Referencing Relationship)

 

테이블 내에서도 관계가 필요할 때도 있음

예를 들어 추천인이 누구인지 파악하기 위해 사용

한 명의 유저는 한 명의 추천인을 가질 수 있음

하지만 여러 명이 한 명의 유저를 추천인으로 등록할 수 있다.

이 관계는 1:N 관계와 비슷하지만 1:N은 서로 다른 테이블의 관계를 나타낼 때 표현하는 방식이다.

그러므로 같은 테이블 내에서 참조하는 관계는 자기참조 관계라고 부른다

 

 

 

 

읽어주셔서 감사합니다. 좋은하루 되세요 😁

오개념에 대한 지적은 언제나 환영입니다.

 

 

1