세션 진행 멘토님: 지훈님
Structured Query Language
SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해
설계된 특수 목적의 프로그래밍 언어이다.
_
)를 붙인다.테이블 A의 로우와 테이블 B의 로우가 정확히 1:1로 매칭되는 것.
예를들어 로그인 데이터를 가진 테이블과 유저의 프로파일을 가진 테이블이 있을 때,
한 유저는 하나의 프로파일 데이터와만 매칭된다.
또하나의 예를 들자면, 우리나라에서 결혼제도는 일부일처제입니다.
즉, 한 남자는 한 여자와, 한 여자는 한 남자와 밖에 결혼을 할 수 없습니다.
법적으로 남편을 또는 부인을 2명 이상 둘 수 없습니다.
이러한 관계를 One to one이라고 합니다.
하나의 주체가 여러개의 상태값을 가질 수 있는 형태를 말한다.
예를 들어 아이디 하나에 여러가지 주문이 있거나, 한 카테고리에 여러 제품이 들어있는 것이다.
one to one과 다르게, 여러 개의 orders table이 하나의 user를 바라보게 된다.
부모 테이블의 PK를 자식 테이블에 FK로 집어 넣어 관계를 표현한다.
즉 부모 테이블(1)에서는 내 자식들이 누구인지 정보를 넣을 필요가 없고, 자식 테이블(N)에서만 각각의 자식들이 자신의 부모 정보(FK)를 넣음 으로써 관계를 표현할 수 있다.
부모와 자식 관계라고 생각하시면 됩니다.
부모는 자식을 1명만 낳을 수도 있고, 2명, 3명, 4명, 10명 그 이상도 낳을수 있습니다.
DB에서는 이를 부모가 자식을 소유한다고 표현합니다.
반대로 자식 입장에서는 부모( 어머니, 아버지의 쌍 )를 하나만 가질 수 밖에 없습니다.
이러한 관계를 One to many 관계라고 하며, 계층적인 구조로 이해할 수도 있습니다.
테이블 두 개의 관계를 참조하는 또 하나의 테이블이 있는 상황이다.
또 하나의 예를 들자면, 쇼핑몰에서 회원과 상품이 관계를 맺을 수 있습니다.
한 회원은 쇼핑몰의 여러 상품들을 가질 수 있습니다.
청바지, 모자, 티셔츠, 남방 등... 다 제가 가질 수 있죠.
반대로 한 티셔츠도 여러 회원들을 가질 수 있습니다.
하나의 티셔츠를 나도 친구도 부모님도 가질 수 있습니다.
이처럼 관계를 맺은 두 엔티티가 서로 많이 가질 수 있을 때, 이를 Many to many라고 합니다.