Programing_Java
[SQLD] ์คํค๋ง์ ์ํฐํฐ ๋ณธ๋ฌธ
#1 ์คํค๋ง
: DB ๊ฐ์ฒด๋ค์ ๋ ผ๋ฆฌ์ ์ธ ๊ทธ๋ฃน์ ์๋ฏธ
: DB ๋ด์์ ํ ์ด๋ธ, ๋ทฐ, ์ธ๋ฑ์ค, ํ๋ก์์ , ๊ถํ ๋ฑ์ ํ๋์ ๊ตฌ์กฐ๋ก ๋ฌถ์ด ๊ด๋ฆฌํ๋ ๊ฐ๋
1-1) 3์ธต ์คํค๋ง 3-Level-Schema
: ์ฌ์ฉ์, ์ค๊ณ์, ๊ฐ๋ฐ์๊ฐ DB๋ฅผ ๋ณด๋ ๊ด์ ์ ๋ฐ๋ผ DB๋ฅผ ๊ธฐ์ ํ๊ณ ์ด๋ค๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ ANSI ํ์ค
- ANSI : American National Standards Institute : ๋ฏธ๊ตญ ํ์ค ํํ
- ANSI ํ์ค : DB์ ๊ด๋ จ๋ ํ์ค์ ์ ์ํ ๊ฒ
- ANSI SQL ํ์ค : SQL๋ฌธ์ด ๋ชจ๋ DBMS์์ ํธํ๋๋๋ก ์ ์ํ ํ์ค (Oracle, Sybase, DB2, MySQL ๋ฑ)
๋ ๋ฆฝ์ฑ | ์ค๋ช |
๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ | ๊ฐ๋ ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ์ธ๋ถ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์์ |
๋ฌผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ | ๋ด๋ถ ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ๊ฐ๋ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์์ |
1-2) ๋จ๊ณ
์ธ๋ถ ๋จ๊ณ (External Level) : ์ธ๋ถ์ ๋ณด์ฌ์ง๋ ๊ฒ
๊ฐ๋ ๋จ๊ณ (Conceptual Level) : ์ฌ์(Mapping) ๊ฐ๋ ์ ๋ง๊ฒ ๋ ์คํค๋ง๋ฅผ Mapping ํด์ฃผ๋ ๊ฒ
๋ด๋ถ ๋จ๊ณ (Internal Level)
1-3) ๊ตฌ์กฐ
๊ตฌ์กฐ | ์ค๋ช |
์ธ๋ถ ์คํค๋ง : ์ง์๋ค์ด ์ง์ ์ ์์ ํด์ ์ฌ์ฉ |
์ฌ์ฉ์ ๊ด์ , ์
๋ฌด์ ๊ด๋ จ์ด ์๋ ๋ฐ์ดํฐ ์ ๊ทผ ๊ด๋ จ DB์ View๋ฅผ ํ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ ๊ทผํ๋ DB๋ฅผ ์ ์ ๊ฐ์ ํ ์ด๋ธ View๋ฅผ ์ฃผ๊ณ ๋ง๋์ง ํ์ธ ํ ํ, ๋ง๋ค๋ฉด ๋ฌผ๋ฆฌ์ ์ธ DB์ ์ ์ฅํ๋ ๋ช ๋ น์ด ์ง์ ์์ ๋ฐ๋ผ ๊ฒฐ์ ๋์ด ๋ง์ ์๋ ์ ์ ์๋ ์์ |
๊ฐ๋ ์คํค๋ง | ์ค๊ณ์ ๊ด์ , ์ฌ์ฉ์ ์ ์ฒด ์ง๋จ์ DB ๊ตฌ์กฐ ์ ์ฒด DB ๋ด์ ๊ท์น๊ณผ ๊ตฌ์กฐ๋ฅผ ํํ ํตํฉ DB ๊ตฌ์กฐ ์ ์ฒด์ ์ธ ์ปจ์ ์ ์ก์ |
๋ด๋ถ ์คํค๋ง | ๊ฐ๋ฐ์ ๊ด์ , DB์ ๋ฌผ๋ฆฌ์ ์ ์ฅ ๊ตฌ์กฐ ๋ฐ์ดํฐ ์ ์ฅ ๊ตฌ์กฐ, ๋ ์ฝ๋ ๊ตฌ์กฐ, ํ๋ ์ ์, ์ธ๋ฑ์ค ๋ฑ์ ์๋ฏธ ๋ ์ฝ๋ = ํ ํ ์ธ๋ฑ์ค = ๊ฒ์ ์์ง์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํ ๊ฒ |
#2 Entity
: ์ ๋ฌด์์ ๊ด๋ฆฌํด์ผ ํ๋ ๋ฐ์ดํฐ ์งํฉ, ์ ์ฅ๋๊ณ ๊ด๋ฆฌ๋์ด์ผ ํ๋ ๋ฐ์ดํฐ
: ๊ฐ๋ , ์ฌ๊ฑด, ์ฅ์ ๋ฑ์ [๋ช ์ฌ]
: ์ ๋ฌด์ ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ด์ฌ์ฌ
ํ ์ด๋ธ ์์ฑ์ not null ์ด์ด์ผ ํ๋ฉด "ํ์" check
2-1) ๋์ถ
: ๊ณ ๊ฐ์ ๋น์ฆ๋์ค ํ๋ก์ธ์ค์์ ๊ด๋ฆฌ๋์ด์ผ ํ๋ ์ ๋ณด๋ฅผ ์ถ์ถ → ์ถ์ํ
2-2) ํน์ง
ํน์ง | ์ค๋ช |
์๋ณ์ | Entitiy๋ ์ ์ผํ ์๋ณ์๊ฐ ์์ด์ผํจ Ex) ํ์ID, ๊ณ์ข๋ฒํธ → PK |
์ธ์คํด์ค ์งํฉ | 2๊ฐ ์ด์์ ์ธ์คํด์ค๊ฐ ์์ด์ผํจ Ex) ๊ณ ๊ฐ์ ๋ณด๋ 2๋ช ์ด์ ์์ด์ผํจ |
์์ฑ | Entity๋ ๋ฐ๋์ ์์ฑ์ ๊ฐ์ง๊ณ ์์ด์ผํจ Ex) ํ์ID, PW, ์ด๋ฆ, ์ฃผ์, ์ ํ๋ฒํธ |
๊ด๊ณ | Entity๋ ๋ค๋ฅธ Entity์ ์ต์ํ ํ๊ฐ ์ด์ ๊ด๊ณ๊ฐ ์์ด์ผํจ Ex) ๊ณ ๊ฐ์ ๊ณ์ข๋ฅผ ๊ฐ์ค |
์ ๋ฌด | Entity๋ ์
๋ฌด์์ ๊ด๋ฆฌ๋์ด์ผ ํ๋ ์งํฉ Ex) ๊ณ ๊ฐ, ๊ณ์ข |
2-3) ๋ฆด๋ ์ด์ , ํ ์ด๋ธ๊ณผ ์ธ์คํด์ค(Instance)
: ๋ฆด๋ ์ด์ ๊ณผ ํ ์ด๋ธ์ ๊ฐ์ ์๋ฏธ๋ผ๊ณ ํด์
: ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค ๋ฐ ์ ์ฝ์กฐ๊ฑด์ ์ค์ ํ๋ฉด ํ ์ด๋ธ์ด ๋จ
: Relationship์ ๋ฆด๋ ์ด์ ๊ฐ์ ๊ด๊ณ๋ฅผ ์๋ฏธ
: ์ธ์คํด์ค๋ ๋ฆด๋ ์ด์ ์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ ์๋ฏธ → ๊ณ ๊ฐ์ ๊ณ์ข ํ๊ฐ๋ฅผ ๋ฌด์กฐ๊ฑด ๊ฐ์คํด์ผํจ
Relationship != ๋ฆด๋ ์ด์
Relationship → ํ ์ด๋ธ์ ํ์ดํ๋ก ์ฎ์ด์ ๊ด๊ณ๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ฒ
๋ฆด๋ ์ด์ → ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ค๊ณ ํ๊ธฐ ์ํ, ๊ด๊ณ๋ผ๋ ๋ถ๋ถ
2-4) ์ข ๋ฅ
: ์ ํ๊ณผ ๋ฌดํ / Entity๊ฐ ๋ฐ์ํ๋ ์์ → ์ ๋ฐ๋ฅธ ์ข ๋ฅ
์ ํ & ๋ฌดํ์ผ๋ก ๋ถ๋ฅ → ๋ฌผ๋ฆฌ์ ํํ์ ์กด์ฌ ์ฌ๋ถ : ์ ์ฅ์ ํ๋์ง ์ํ๋์ง, ๋์ ๋ณด์ด๋์ง ์๋ณด์ด๋์ง
์ข ๋ฅ | ์ค๋ช |
์ ํ Entity | ์
๋ฌด์์ ๋์ถ๋๋ฉฐ ์ง์์ ์ผ๋ก ์ฌ์ฉ๋๋ Entity Ex) ๊ณ ๊ฐ, ๊ฐ์ฌ, ์ฌ์ |
๊ฐ๋ Entity | ์ ํ Entity๋ ๋ฌผ๋ฆฌ์ ํํ๊ฐ ์์ง๋ง, ๊ฐ๋
Entity๋ ์์ ๊ฐ๋ ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ํฐํฐ Ex) ๊ฑฐ๋์ ์ข ๋ชฉ, ์ฝ์ค๋ฅ ์ข ๋ชฉ, ์๋ช ๋ณดํ ์ํ |
์ฌ๊ฑด Entity : ์ด๋ ํ ์ฌ๊ฑด์ด ๋ฐ์ |
๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ฉด์ ์์ฑ๋๋ ์ํฐํฐ Ex) ์ฃผ๋ฌธ, ์ฒด๊ฒฐ, ์ทจ์ ์ฃผ๋ฌธ, ์์๋ฃ ์ฒญ๊ตฌ ๋ฑ |
๋ฐ์์์ ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
์ข ๋ฅ | ์ค๋ช |
๊ธฐ๋ณธ Entity (Basic) | = ํค Entity ๋ค๋ฅธ Entity๋ก ๋ถํฐ ์ํฅ์ ๋ฐ์ง ์๊ณ , ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑ๋๋ Entity Ex) ๊ณ ๊ฐ, ์ํ, ๋ถ์ |
์ค์ฌ Entity (Main) | ๊ธฐ๋ณธ Entity์ ํ์ Entity ๊ฐ์ ์ค๊ฐ์ ์๋ ๊ฒ ๊ธฐ๋ณธ Entity๋ก ๋ถํฐ ๋ฐ์๋๊ณ ํ์ Entity๋ฅผ ์์ฑํ๋ ๊ฒ Ex) ๊ณ์ข, ์ฃผ๋ฌธ, ์ทจ์, ์ฒด๊ฒฐ |
ํ์ Entity (Active) | 2๊ฐ ์ด์์ Entity๋ก ๋ถํฐ ๋ฐ์ Ex) ์ฃผ๋ฌธ ์ด๋ ฅ, ์ฒด๊ฒฐ ์ด๋ ฅ |
'๐พ SQL_' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] MySQL - User & Table(Attribute)๊น์ง ๋ง๋ค์ด๋ณด๊ธฐ (0) | 2025.02.11 |
---|---|
[SQLD] ์์ฑ๊ณผ ์ํฐํฐ ์๋ณ์ (0) | 2025.02.10 |
[SQLD] Data Modeling (0) | 2025.02.09 |
[SQLD] SQL Developer ์ค์น ๋ฐ Oracle DB ์ฐ๊ฒฐ (0) | 2025.02.08 |
[SQLD] Docker, Oracle DB ์ค์น (0) | 2025.02.07 |