1:M ๊ด๊ณ
ํ์ชฝ์ด ๊ด๊ณ๋ฅผ ๋งบ์ ์ชฝ์ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ ๊ฒ์ ์๋ฏธ
๋ถ์์ง๊ฐ์ ๊ด๊ณ
๋ถ๋ชจ๋ ์์์ 1๋ช , 2๋ช , 3๋ช , ๊ทธ ์ด์๋ ๊ฐ์ง ์ ์๋ค.
๋ฐ๋๋ก ์์ ์ ์ฅ์์๋ ๋ถ๋ชจ(์๋ฒ์ง, ์ด๋จธ๋์ ์)๋ฅผ ํ๋๋ง ๊ฐ์ง ์ ๋ฐ์ ์๋ค.
๋ถ๋ชจ 1 : ์์ M
๋ถ๋ชจ ํ ์ด๋ธ์ PK ๊ฐ ์์ํ ์ด๋ธ์ ํค๊ฐ์ผ๋ก ๋ํ๋ผ๋
์ด ํค๋ฅผ ์ธ๋ํค(FK:Foreign Key) ๋ผ๊ณ ํ๋ค.
์ธ๋ํค๋ ๋ ํ ์ด๋ธ์ ์๋ก ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค์ด๋ค.
์ธ๋ํค๊ฐ ํฌํจ๋ ํ ์ด๋ธ์ ์์ ํ ์ด๋ธ์ด๋ผ๊ณ ํ๊ณ ์ธ๋ํค ๊ฐ์ ์ ๊ณตํ๋ ํ ์ด๋ธ์ ๋ถ๋ชจ ํ ์ด๋ธ์ด๋ผํ๋ค.
๋ถ๋ชจ์ ์์๊ฐ์ ๊ด๊ณ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์ ์ธํด์ฃผ๋ฉด
๋ฒ์น์ ์ง์ผ์ ๋ถ๋ชจ์๋ ์์(์ค๋ช ํ ์ ์๋ ๋ฐ์ดํฐ, ex) ๋ถ๋ชจID:4 ์ธ - ๋ฐxx )์
๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ๋ฑ๋ก๋๋ ๊ฒ์ ๋ง์์ค๋ค .
์์
ํ์ฌ ๋ชจ๋ธ๋ง
public class Company {
@Id @GeneratedValue
@Column(name = "company_id")
private Long id;
@Column(name = "company_name")
private String name;
}
public class Department {
@Id @GeneratedValue
@Column(name = "department_id")
private Long id;
@Column(name = "department_name")
private String name;
@ManyToOne
@JoinColumn(name = "company_id")
private Company company;
}
ํ๋์ ํ์ฌ(1)๋ ์ฌ๋ฌ๊ฐ์ ๋ถ์(M)๋ฅผ ๊ฐ๋๋ค
ํ๋์ ํ์ฌ(1) : ์ฌ๋ฌ๊ฐ์ ๋ถ์(M)
1:M ์ฌ๊ท์ ๊ด๊ณ
'Develop > DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[RDBMS Modeling ๊ธฐ์ด] 5. ๊ด๊ณ(Relation) - ์ฐ์ต๋ฌธ์ (0) | 2023.03.01 |
---|---|
[RDBMS Modeling ๊ธฐ์ด] 4. ๊ด๊ณ(Relation) - M:N ๊ด๊ณ (0) | 2023.02.28 |
[RDBMS Modeling ๊ธฐ์ด] 2. Primary Key ์ค๊ณ (0) | 2023.02.26 |
[RDBMS Modeling ๊ธฐ์ด] 1. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค (0) | 2023.02.24 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] H2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์นํ๊ธฐ (0) | 2023.02.24 |