[ 반드시 알아야하는 키워드 ]

- 데이터 : 각 항목에 저장되는 값

- 테이블 : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적

- 컬럼 또는 필드 : 테이블의 한 열을 가리킴

- 레코드 : 테이블의 한 행에 저장된 데이터

- 키 : 테이블의 각 레코드를 구분할 수 있는 값입니다. 각 레코드마다 고유한 값을 가지며, 기본키, 외래키 등이 있습니다.

 

What is a Schema ?

스키마는 데이터베이스에서 데이터가 구성되는 방식과 서로 다른 엔티티 간의 관계에 대한 설명입니다.

 

즉, 데이터베이스의 청사진과 같습니다.

 

 

예제

학교를 위한 데이터베이스를 구축한다고 가정해봅니다.

교사, 수업, 학생과 같은 데이터를 저장할 예정입니다.

이는 그러면 3개의 엔티티가 구성되는 것입니다.

 

- 필드 : Teacher 의  Name, Department 와 같은 행을 의미합니다.

- 레코드 : Classes 필드 안에 MUSIC, MATH 와 같이 내부 데이터로 테이블에 저장된 항목이라고 볼 수 있습니다.

 

[ 선생과 반의 관계는 어떻게 정의할 수 있는가 ? ]

이는 " 한 명의 선생이 여러 반을 가르칩니다. " 라는 개념으로 일대다 관계가 될 수 있습니다.

이를 테이블로 표현을 하면 아래 사진과 같습니다.

이렇게 설정하게 될 경우 한가지 문제가 생깁니다.

CS 101 에 대한 데이터를 변경하고 싶을 때, 테이블을 다 뒤져서 CS 101 이라는 데이터를 찾아야합니다.

굉장히 비효율적입니다.

 

 그래서 사용하는게 ID 를 가지고 데이터를 찾을 수 있도록 합니다.

ID 는 각 테이블의 레코드 하나를 가리키는 숫자로, 자동으로 증가합니다.

 

이 ID 필드는 해당 테이블의 기본 키 역할을 합니다.

다른 테이블에서 테이블의 기본키를 참조할 때, 해당 값을 외래 키라고 부릅니다.

이 예시에서는 Classes 의 ID 부분이 외래키에 해당합니다.

 

 

[ 클래스와 학생의 관계 ]

이는 다대다 관계가 됩니다.

Class, Teacher 의 관계처럼 TeacherID를 Class 테이블에 넣어주게 될 경우 문제가 발생합니다.

만약 Student 에 Class 를 넣었는데 Class 가 여러개일 경우에는 문제가 생깁니다.

 

그래서 아래 사진과 같이 일대다를 두 개를 만들어주는 방식으로 해결할 수 있습니다.

'스터디' 카테고리의 다른 글

IoC / DI  (0) 2022.08.09
프레임워크와 라이브러리  (0) 2022.08.09
트랜잭션  (0) 2022.08.04
데이터베이스  (0) 2022.08.04
PostMan  (0) 2022.08.04

+ Recent posts