본문 바로가기
db

DB:ERD관계 정리 (1:N,1:1)

by z00h 2021. 8. 19.

1. 1:N(1대 다수)관계

우선 User테이블과 Board테이블을 만들었다.

테이블을 만든 후 비식별관계로 연결시켜 관계를 생성한다.

비식별관계는 일(User테이블)대 다(board) 관계 즉 1:N의 관계일 경우 사용한다.

->하나의 User는 여러개의 글을 쓸 수 있다는 의미함.

 

글을 쓰는 유저는 회원 가입이 된 유저만이 글을 쓸 수 있다.

오른쪽의 동그라미 친 uid=Foreign key-외래키 

 

예를 들어

user의 테이블에

물리 이름 uid |   id   |  password | nickname 의 데이터가

                1 | zooh |    1234     | nickname 이라고 가정하고

이 상태에서 board에 데이터를 넣을 때  2를 넣는다고 하면, board의 데이터는 2가 올라가지 못한다.

하지만 user테이블로 가서 2라는 데이터가 있을 경우 board 데이터가 올라가게된다.

 

user-부모테이블, board-자식테이블 관계가 형성된다.

 

*쉽게 말하여 1:N관계는 User는 1명이고 1명의 User가 게시글(board)을 여러개 만들수 있으니

1:N관계를 사용한다. 

2. 1:1관계

1:1의 관계는 식별관계라고 한다.

앞서 봤던 1:N 과의 관계선에서 차이를 볼 수 있다. 아까 만든 회원 table에서 추가적으로

회원개인정보 table을 만들어서 아래의 사진처럼 식별관계로 만들었다.

외래키의 모양은 1:N 관계에서는 (F)가 들어가 있었지만 열쇠모양의 외래키를 가지는 것으로 차이를 알 수 있다.

* 1:1의 관계이기 때문에 중복의 정보가 들어갈 수 없고 무조건 1개의 값에 대응하도록 하여야 한다.

 또한 위의 rowid인 uid값을 맞춰줘야 함에 주의 하여야 한다.

 

'db' 카테고리의 다른 글

sql like 구문(%,_)  (0) 2021.08.23
DB 트랜잭션  (0) 2021.08.23
Equi join 연습  (0) 2021.08.20
exerd 용어 설명  (0) 2021.08.19
eclipse 및 exerd 설치 과정  (0) 2021.08.19