λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“Œ λ°μ΄ν„°λ² μ΄μŠ€

λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν„°λ”” 1μ£Όμ°¨

by megan07 2024. 1. 10.

νŒŒμΌμ‹œμŠ€ν…œ vs λ°μ΄ν„°λ² μ΄μŠ€

 

νŒŒμΌμ‹œμŠ€ν…œ 

파일 μ‹œμŠ€ν…œμ€ 데이터λ₯Ό 파일 λ‹¨μœ„λ‘œ 파일 μ„œλ²„μ— μ €μž₯ν•©λ‹ˆλ‹€.
각 μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ λ…λ¦½μ μœΌλ‘œ νŒŒμΌμ„ 닀루기 λ•Œλ¬Έμ— 데이터가 쀑볡 μ €μž₯될 κ°€λŠ₯성이 μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

 

μœ„μ˜ 사진과 같이 고객 관리 λΆ€μ„œμ™€ μ£Όλ¬Έ 관리 λΆ€μ„œκ°€ μžˆμ„ 경우,

각 λΆ€μ„œμ˜ 업무가 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— λ‹€λ₯Έ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μš΄μ˜ν•˜κ²Œ 될 κ²ƒμž…λ‹ˆλ‹€.

 

μ‘μš© ν”„λ‘œκ·Έλž¨λ“€μ€ 데이터λ₯Ό κ³΅μœ ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ€‘λ³΅λ˜λŠ” 데이터듀이 λ°œμƒν•˜κ²Œ λ©λ‹ˆλ‹€.

 

데이터듀이 μ€‘λ³΅λ˜λ©΄ μ΄μ€‘μœΌλ‘œ 데이터 관리λ₯Ό ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— λ°μ΄ν„°λ“€μ˜ 일관성을 μœ μ§€ν•˜κΈ° νž˜λ“­λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 고객 데이터 νŒŒμΌμ—μ„œ 고객의 μ—°λ½μ²˜κ°€ λ³€κ²½λ˜μ—ˆμ„ λ•Œ, μ‹€μˆ˜λ‘œ μ£Όλ¬Έ 데이터 νŒŒμΌμ— μžˆλŠ” μ—°λ½μ²˜ 변경이 λˆ„λ½λ˜μ—ˆλ‹€λ©΄

λ°μ΄ν„°μ˜ 일관성이 κΉ¨μ§€κ²Œ λ©λ‹ˆλ‹€.

 

 

 

λ°μ΄ν„°λ² μ΄μŠ€

λ°μ΄ν„°λ² μ΄μŠ€λŠ” 데이터λ₯Ό ν†΅ν•©ν•˜κ³  κ³΅μœ ν•˜μ—¬ 쑰직을 μš΄μ˜ν•˜κΈ° μœ„ν•œ λͺ©μ μœΌλ‘œ κ΅¬μΆ•λ©λ‹ˆλ‹€.

κ°œλ…μœΌλ‘œλŠ” 4가지가 μžˆμŠ΅λ‹ˆλ‹€
μ—¬λŸ¬ μ‚¬μš©μžκ°€ ν•¨κ»˜ μ†Œμœ ν•˜κ³  μ‚¬μš©ν•  수 μžˆλŠ” 곡유 데이터
쀑볡을 μ΅œμ†Œν™”ν•œ 톡합 데이터
컴퓨터가 μ ‘κ·Όν•  수 μžˆλŠ” 맀체에 μ €μž₯된 μ €μž₯ 데이터
쑰직의 μ£Όμš” κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ λ°˜λ“œμ‹œ ν•„μš”ν•œ 운영 데이터

 

 

 

 

νŒŒμΌμ‹œμŠ€ν…œμ˜ 경우 μ‘μš© ν”„λ‘œκ·Έλž¨λ“€μ΄ 데이터λ₯Ό κ³΅μœ ν•˜μ§€ μ•Šμ•„μ„œ μ€‘λ³΅λ˜λŠ” 데이터듀이 λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€λŠ” 이같은 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 데이터듀을 ν†΅ν•©ν•˜μ—¬ μ‘μš©ν”„λ‘œκ·Έλž¨λ“€μ΄ 데이터λ₯Ό κ³΅μœ ν•  수 μžˆλ„λ‘ν•©λ‹ˆλ‹€.

 

 

 

 

λ°μ΄ν„°λ² μ΄μŠ€μ˜ νŠΉμ§•

λ°μ΄ν„°λ² μ΄μŠ€μ˜ νŠΉμ§•μ€ 크게 4가지가 μžˆμŠ΅λ‹ˆλ‹€

1. μ‹€μ‹œκ°„ μ ‘κ·Όμ„±
μ‚¬μš©μžκ°€ μš”μ²­ν•˜λŠ” μˆœκ°„μ— μ‹€μ œ 데이터λ₯Ό μ„œλΉ„μŠ€ν•©λ‹ˆλ‹€.

2. 계속적인 λ³€ν™”
λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯된 값듀은 μ‚½μž…, μ‚­μ œ, μˆ˜μ • λ“±μœΌλ‘œ μ§€μ†μ μœΌλ‘œ λ³€ν™”ν•©λ‹ˆλ‹€.

3. λ™μ‹œ 곡유
λ°μ΄ν„°λ² μ΄μŠ€λŠ” μ—¬λŸ¬ μ‚¬μš©μžμ—κ²Œ λ™μ‹œμ— κ³΅μœ λ©λ‹ˆλ‹€. 

4. λ‚΄μš©μ— λ”°λ₯Έ μ°Έμ‘°
μ €μž₯된 λ°μ΄ν„°λŠ” λ°μ΄ν„°μ˜ 물리적 μœ„μΉ˜κ°€ μ•„λ‹ˆλΌ 데이터 값에 따라 μ°Έμ‘°λ©λ‹ˆλ‹€.
κ°’κ³Ό 쑰건을 μ œμ‹œν•˜μ—¬ ν•΄λ‹Ήν•˜λŠ” 데이터λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

DBMS(DataBase Management System)

λ°μ΄ν„°λ² μ΄μŠ€μ— μ‘΄μž¬ν•˜λŠ” λ°μ΄ν„°μ˜ 검색·μ‚½μž…·μ‚­μ œ·μˆ˜μ •μ„ κ°€λŠ₯ν•˜κ²Œ ν•˜κ³ , λͺ¨λ“  μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ³΅μœ ν•  수 있게 ν•©λ‹ˆλ‹€. λ˜ν•œ λ³΄μ•ˆ, 회볡 λ“±μ˜ λ³΅μž‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•΄μ€λ‹ˆλ‹€.

 

 

 

 

DBMS의 μ£Όμš” κΈ°λŠ₯

데이터 μ •μ˜
: λ°μ΄ν„°μ˜ ꡬ쑰λ₯Ό μ •μ˜ν•˜κ³  데이터 ꡬ쑰에 λŒ€ν•œ λ³€κ²½ 및 μ‚­μ œ κΈ°λŠ₯을 μˆ˜ν–‰

데이터 μ‘°μž‘
: μ‘μš©ν”„λ‘œκ·Έλž¨μ΄ μš”μ²­ν•˜λŠ” λ°μ΄ν„°μ˜ 검색, μ‚½μž…, μˆ˜μ •, μ‚­μ œ μž‘μ—…μ„ 지원

데이터 μ œμ–΄
: λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜κ³  λͺ¨λ‹ˆν„°λ§ν•˜λ©° 접근을 μ œμ–΄
  λ°±μ—…κ³Ό 회볡, λ™μ‹œμ„± μ œμ–΄ λ“±μ˜ κΈ°λŠ₯을 지원

 

 

DBMS의 μž₯점

1. 데이터 일관성
λ°μ΄ν„°λ² μ΄μŠ€μ— 데이터λ₯Ό ν†΅ν•©ν•˜μ—¬ κ΄€λ¦¬ν•˜κ³ , 쀑볡을 μ΅œμ†Œν™”ν•˜λ„λ‘ ν†΅μ œν•˜λ―€λ‘œ 데이터 일관성을 μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

2. 데이터 독립성
DBMSκ°€ λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•œ λͺ¨λ“  접근을 관리λ₯Ό λ‹΄λ‹Ήν•˜κΈ° λ•Œλ¬Έμ— μ‘μš©ν”„λ‘œκ·Έλž¨κ³Ό λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μ΄μ˜ 독립성이 ν™•λ³΄λ©λ‹ˆλ‹€.

3. 데이터 λ™μ‹œ 곡유
μ—¬λŸ¬ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ 같은 데이터에 λ™μ‹œ μ ‘κ·Όν•  수 μžˆλ„λ‘ μ§€μ›ν•©λ‹ˆλ‹€.

4. 데이터 λ³΄μ•ˆ
μ‚¬μš©μžλ³„λ‘œ μ ‘κ·Ό κ°€λŠ₯ν•œ λ°μ΄ν„°λ² μ΄μŠ€ μ˜μ—­μ΄λ‚˜ μ ‘κ·Ό μˆ˜μ€€μ„ μ œν•œν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν—ˆμš©λ˜μ§€ μ•Šμ€ 데이터와 연산에 λŒ€ν•œ μš”μ²­μ„ 차단할 수 μžˆμŠ΅λ‹ˆλ‹€.

5. 데이터 무결성
데이터에 λŒ€ν•œ 연산이 μˆ˜ν–‰λ  λ•Œλ§ˆλ‹€ μœ νš¨μ„±μ„ κ²€μ‚¬ν•˜μ—¬ 데이터 무결성을 μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

6.  회볡 κΈ°λŠ₯
데이터λ₯Ό μž₯μ• κ°€ λ°œμƒν•˜κΈ° 이전 μƒνƒœλ‘œ λ³΅κ΅¬ν•˜λŠ” 회볡 κΈ°λŠ₯을 μ§€μ›ν•©λ‹ˆλ‹€.

 

 

λ°μ΄ν„°λ² μ΄μŠ€μ˜ ꡬ쑰

 

μš°μ„  μŠ€ν‚€λ§ˆ(schema)λž€ λ¬΄μ—‡μΌκΉŒμš”?

: λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λ˜λŠ” 데이터 ꡬ쑰와 μ œμ•½μ‘°κ±΄μ„ μ •μ˜ν•œ 것

 

 

 

μœ„μ˜ 사진과 같이 데이터 ꡬ쑰와 μ œμ•½μ‘°κ±΄μ„ μ„€μ •ν•˜μ—¬ 고객 μŠ€ν‚€λ§ˆλ₯Ό μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

 

λ°μ΄ν„°λ² μ΄μŠ€μ˜ 3단계 ꡬ쑰

 

외뢀단계

κ°œλ³„ μ‚¬μš©μž κ΄€μ μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ΄ν•΄ν•˜κ³  ν‘œν˜„ν•˜λŠ” 단계
μ™ΈλΆ€ λ‹¨κ³„μ—μ„œ μ‚¬μš©μžμ—κ²Œ ν•„μš”ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ •μ˜ν•œ 것을 μ™ΈλΆ€ μŠ€ν‚€λ§ˆλΌ ν•©λ‹ˆλ‹€.
ν•˜λ‚˜μ˜ λ°μ΄ν„°λ² μ΄μŠ€μ—λŠ” μ—¬λŸ¬ 개의 μ™ΈλΆ€ μŠ€ν‚€λ§ˆκ°€ μ‘΄μž¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
예λ₯Ό λ“€λ©΄ κΈ°μ—… 고객 λΆ„μ„νŒ€μ˜ 고객 정보, μƒν’ˆ λ°°μ†‘νŒ€μ˜ μƒν’ˆ 배솑 μ •λ³΄λŠ” λͺ¨λ‘ μ™ΈλΆ€ μŠ€ν‚€λ§ˆμž…λ‹ˆλ‹€.
뷰의 κ°œλ…μœΌλ‘œ μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€.

ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžλ“€μ΄ APIλ₯Ό 톡해 λ°›λŠ” λ°μ΄ν„°λ“€μ˜ μŠ€ν‚€λ§ˆκ°€ μ™ΈλΆ€ μŠ€ν‚€λ§ˆλΌκ³  생각할 수 있겠죠?

 

κ°œλ… 단계 

λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 쑰직 μ „μ²΄μ˜ κ΄€μ μ—μ„œ μ΄ν•΄ν•˜κ³  ν‘œν˜„ν•˜λŠ” 단계
κ°„λ‹¨ν•˜κ²Œ λ§ν•΄μ„œ 전체 λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •μ˜λ₯Ό μ˜λ―Έν•˜κ³ , 이λ₯Ό κ°œλ… μŠ€ν‚€λ§ˆλΌκ³  ν•©λ‹ˆλ‹€.
ν•˜λ‚˜μ˜ λ°μ΄ν„°λ² μ΄μŠ€μ—λŠ” ν•˜λ‚˜μ˜ κ°œλ… μŠ€ν‚€λ§ˆκ°€ μ‘΄μž¬ν•˜λ©°,
κ°œλ… μŠ€ν‚€λ§ˆμ—λŠ” 데이터와 관계, μ œμ•½μ‚¬ν•­, 무결성에 λŒ€ν•œ λ‚΄μš©μ΄ ν¬ν•¨λ©λ‹ˆλ‹€.  

 

 

λ‚΄λΆ€ 단계

λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ””μŠ€ν¬λ‚˜ ν…Œμ΄ν”„ 같은 μ €μž₯ μž₯치의 κ΄€μ μ—μ„œ μ΄ν•΄ν•˜κ³  ν‘œν˜„ν•˜λŠ” 단계
물리적 μ €μž₯μž₯μΉ˜μ— λ°μ΄ν„°λ² μ΄μŠ€κ°€ μ‹€μ œλ‘œ μ €μž₯λ˜λŠ” ꡬ쑰λ₯Ό ν‘œν˜„ν•˜λŠ” 것을 λ‚΄λΆ€ μŠ€ν‚€λ§ˆλΌκ³  ν•©λ‹ˆλ‹€.
λ‚΄λΆ€ μŠ€ν‚€λ§ˆλŠ” νŒŒμΌμ— 데이터λ₯Ό μ €μž₯ν•˜λŠ” λ ˆμ½”λ“œμ˜ ꡬ쑰, λ ˆμ½”λ“œλ₯Ό κ΅¬μ„±ν•˜λŠ” ν•„λ“œ 크기, 인덱슀λ₯Ό μ΄μš©ν•œ λ ˆμ½”λ“œ μ ‘κ·Ό 경둜 등을 μ •μ˜ν•©λ‹ˆλ‹€.

 

 

 

데이터 독립성

: ν•˜μœ„ λ‹¨κ³„μ˜ λ‚΄μš©μ„ μΆ”μƒν™”ν•˜μ—¬ λ‹€λ₯Έ 단계와 μƒν˜Έ 간섭이 없도둝 ν•˜λŠ” 것

데이터 λ…λ¦½μ„±μ—λŠ” 2가지가 μžˆμŠ΅λ‹ˆλ‹€.

 

논리적 데이터 독립성
μ™ΈλΆ€ 단계과 κ°œλ… 단계 μ‚¬μ΄μ˜ 독립성을 μ˜λ―Έν•©λ‹ˆλ‹€. κ°œλ… μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜μ–΄λ„ μ™ΈλΆ€ μŠ€ν‚€λ§ˆμ˜ μ‚¬μš©μžκ°€ 전체 λ°μ΄ν„°λ² μ΄μŠ€μ˜ 논리적 ꡬ쑰가 λ³€κ²½λ˜μ—ˆλ‹€λŠ” 사싀을 μ•Œ ν•„μš”κ°€ μ—†μŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

물리적 데이터 독립성
κ°œλ… 단계와 λ‚΄λΆ€ 단계 μ‚¬μ΄μ˜ 독립성을 μ˜λ―Έν•©λ‹ˆλ‹€. μ €μž₯ μž₯치 ꡬ쑰 λ³€κ²½κ³Ό 같이 λ‚΄λΆ€ μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜μ–΄λ„ κ°œλ… μŠ€ν‚€λ§ˆμ— 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠλŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. 

 

 

RDBλž€?

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
ν…Œμ΄λΈ” ν˜•νƒœλ‘œ μžλ£Œλ“€ κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•˜μ—¬ μ‰½κ²Œ μ΄ν•΄ν•˜κ³  μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

RDBMS
κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ§Œλ“€κ³  μ—…λ°μ΄νŠΈν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 데 μ‚¬μš©ν•˜λŠ” ν”„λ‘œκ·Έλž¨
잘 μ•Œλ €μ§„ RDBMS의 μ˜ˆλ‘œλŠ” MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Oracle Databaseκ°€ μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

 

λ¦΄λ ˆμ΄μ…˜

ν•˜λ‚˜μ˜ κ°œμ²΄μ— λŒ€ν•œ 데이터λ₯Ό 담아놓은 ν–‰κ³Ό μ—΄λ‘œ κ΅¬μ„±λœ ν…Œμ΄λΈ”

λ¦΄λ ˆμ΄μ…˜μ€ μŠ€ν‚€λ§ˆμ™€ μΈμŠ€ν„΄μŠ€λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

고객 λ¦΄λ ˆμ΄μ…˜

 

 

 

 

μŠ€ν‚€λ§ˆ

λ¦΄λ ˆμ΄μ…˜μ΄ μ–΄λ–»κ²Œ κ΅¬μ„±λ˜λŠ”μ§€ μ–΄λ–€ 정보λ₯Ό λ‹΄κ³  μžˆλŠ”μ§€μ— λŒ€ν•œ 기본적인 ꡬ쑰λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€

ν…Œμ΄λΈ”μ—μ„œ 첫 행인 헀더에 λ‚˜νƒ€λ‚˜λ©° 각 λ°μ΄ν„°μ˜ νŠΉμ§•μ„ λ‚˜νƒ€λ‚΄λŠ” 속성, 자료 νƒ€μž… λ“±μ˜ 정보λ₯Ό λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

 

μΈμŠ€ν„΄μŠ€

μ •μ˜λœ μŠ€ν‚€λ§ˆμ— 따라 ν…Œμ΄λΈ”μ— μ‹€μ œλ‘œ μ €μž₯λ˜λŠ” λ°μ΄ν„°μ˜ 집합(=νˆ¬ν”Œλ“€μ˜ 집합)을 μ˜λ§ˆν•©λ‹ˆλ‹€.

 

 

차수

μ°¨μˆ˜λŠ” 속성(=μŠ€ν‚€λ§ˆμ˜ μ—΄)의 개수λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

상단 사진 속 고객 λ¦΄λ ˆμ΄μ…˜μ˜ μ°¨μˆ˜λŠ” 6μž…λ‹ˆλ‹€.

 

 

도메인

도메인은 속성이 κ°€μ§ˆ 수 μžˆλŠ” κ°’μ˜ 집합을 μ˜λ―Έν•©λ‹ˆλ‹€.

고객 λ¦΄λ ˆμ΄μ…˜μ˜ λ‚˜μ΄ μ†μ„±μ˜ 도메인은 INTμ΄λ―€λ‘œ μ •μˆ˜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

 

 

카디널리티

μΉ΄λ””λ„λ¦¬ν‹°λŠ” νˆ¬ν”Œ(=λ¦΄λ ˆμ΄μ…˜ μΈμŠ€ν„΄μŠ€μ˜ ν–‰)의 수λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

고객 λ¦΄λ ˆμ΄μ…˜μ˜ μΉ΄λ””λ„λ¦¬ν‹°λŠ” 4μž…λ‹ˆλ‹€.

 

 

 

ν‚€(Key)

ν‚€λŠ” λ¦΄λ ˆμ΄μ…˜μ—μ„œ νŠΉμ • νˆ¬ν”Œμ„ 식별할 λ•Œ μ‚¬μš©ν•˜λŠ” 속성 ν˜Ήμ€ μ†μ„±λ“€μ˜ 집합

ν‚€κ°€ λ˜λŠ” 속성은 λ°˜λ“œμ‹œ 값이 λ‹¬λΌμ„œ νˆ¬ν”Œλ“€μ„ μ„œλ‘œ ꡬ별할 수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€

 

ν‚€μ—λŠ” 6가지 μ’…λ₯˜κ°€ μžˆμŠ΅λ‹ˆλ‹€

μŠˆνΌν‚€, 후보킀, κΈ°λ³Έν‚€, λŒ€λ¦¬ν‚€, λŒ€μ²΄ν‚€, μ™Έλž˜ν‚€

 

고객 λ¦΄λ ˆμ΄μ…˜

μš°μ„  고객 λ¦΄λ ˆμ΄μ…˜μ—μ„œ νˆ¬ν”Œμ„ 식별할 수 μžˆλŠ” 속성을 μ•Œμ•„λ΄…μ‹œλ‹€

 

고객아이디: κ³ κ°λ³„λ‘œ μœ μΌν•œ 값이 λΆ€μ—¬μžˆκΈ° λ•Œλ¬Έμ— νˆ¬ν”Œμ„ 식별할 수 μžˆλ‹€

고객이름: 동λͺ…이인이 μžˆμ„ 경우 νˆ¬ν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μ—†λ‹€

λ‚˜μ΄: 같은 λ‚˜μ΄κ°€ μžˆμ„ 경우 νˆ¬ν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μ—†λ‹€

λ“±κΈ‰: 같은 등급이 μžˆμ„ 경우 νˆ¬ν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μ—†λ‹€

적립금: 같은 μ λ¦½κΈˆμ„ κ°€μ§ˆ 경우 νˆ¬ν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μ—†λ‹€

 

 

μŠˆνΌν‚€

νˆ¬ν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μžˆλŠ” μ†μ„±μ˜ 집합
고객 λ¦΄λ ˆμ΄μ…˜μ—μ„œ νˆ¬ν”Œμ„ 식별할 수 μžˆλŠ” 속성은 κ³ κ°μ•„μ΄λ””μž…λ‹ˆλ‹€.

μŠˆνΌν‚€λŠ” 속성을 식별할 수 μžˆλŠ” 값이면 λͺ¨λ‘ 될 수 있기 λ•Œλ¬Έμ—
고객아이디λ₯Ό ν¬ν•¨ν•œ λͺ¨λ“  μ†μ„±μ˜ 집합이 μŠˆνΌν‚€κ°€ λ©λ‹ˆλ‹€.
(고객아이디), (고객아이디, 고객이름), (고객아이디, 고객이름, λ‚˜μ΄), (고객아이디,고객이름, λ‚˜μ΄, λ“±κΈ‰),... λ“±λ“±

 

 

후보킀

νˆ¬ν”Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μžˆλŠ” μ†μ„±μ˜ μ΅œμ†Œ 집합
λ§Œμ•½μ— λ¦΄λ ˆμ΄μ…˜μ— νˆ¬ν”Œμ„ 식별할 수 μžˆλŠ” 속성이 μ—¬λŸ¬ 가지라면 ν›„λ³΄ν‚€λŠ” μ—¬λŸ¬ κ°œκ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

고객 λ¦΄λ ˆμ΄μ…˜μ—μ„œ νˆ¬ν”Œμ„ 식별할 수 μžˆλŠ” 속성은 고객아이디이기 λ•Œλ¬Έμ—
ν›„λ³΄ν‚€λŠ” (고객아이디)μž…λ‹ˆλ‹€

 

 

κΈ°λ³Έν‚€(PK)

일반적으둜 PK라고 λΆ€λ₯΄λŠ” κΈ°λ³Έν‚€λŠ” 후보킀 μ€‘μ—μ„œ μ„ μ •λœ λŒ€ν‘œν‚€
후보킀가 ν•˜λ‚˜λΌλ©΄ ν•΄λ‹Ή 후보킀λ₯Ό μ‚¬μš©ν•˜λ©΄ 되고, μ—¬λŸ¬ 개라면 λ¦΄λ ˆμ΄μ…˜μ˜ νŠΉμ„±μ„ λ°˜μ˜ν•˜μ—¬ μ„ νƒν•˜λ©΄ λ©λ‹ˆλ‹€.

고객 λ¦΄λ ˆμ΄μ…˜μ˜ ν›„λ³΄ν‚€λŠ” (고객아이디) ν•˜λ‚˜μ΄κΈ° λ•Œλ¬Έμ—
κΈ°λ³Έν‚€λŠ” (고객아이디)μž…λ‹ˆλ‹€.

κΈ°λ³Έν‚€λ₯Ό μ„ μ •ν•  κ²½μš°μ—λŠ” μ œμ•½μ‘°κ±΄μ΄ μžˆμŠ΅λ‹ˆλ‹€.
1. νˆ¬ν”Œμ„ 식별할 수 μžˆλŠ” κ³ μœ ν•œ 값을 κ°€μ Έμ•Ό ν•œλ‹€.
2. NULL값은 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
3. ν‚€ κ°’μ˜ 변동이 μΌμ–΄λ‚˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€
4. μ΅œλŒ€ν•œ 적은 수의 속성을 κ°€μ Έμ•Ό ν•œλ‹€.
5. ν–₯ν›„ ν‚€λ₯Ό μ‚¬μš©ν•˜λŠ”λ° μžˆμ–΄μ„œ 문제 λ°œμƒ μ†Œμ§€κ°€ μ—†μ–΄μ•Ό ν•œλ‹€.

 

 

λŒ€λ¦¬ν‚€

κ°€μƒμ˜ 속성을 λ§Œλ“€μ–΄ κΈ°λ³Έν‚€λ‘œ μ‚ΌλŠ” ν‚€
κΈ°λ³Έν‚€κ°€ λ³΄μ•ˆμ„ μš”ν•˜κ±°λ‚˜, μ—¬λŸ¬ 개의 μ†μ„±μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ λ³΅μž‘ν•˜κ±°λ‚˜, λ§ˆλ•…ν•œ κΈ°λ³Έν‚€κ°€ 없을 λ•Œ κ°€μƒμ˜ 속성을 λ§Œλ“€μ–΄ κΈ°λ³Έν‚€λ‘œ 삼을 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

λŒ€μ²΄ν‚€

κΈ°λ³Έν‚€λ‘œ μ„ μ •λ˜μ§€ μ•Šμ€ 후보킀

 

μ™Έλž˜ν‚€(FK)

λ¦΄λ ˆμ΄μ…˜μ˜ κΈ°λ³Έν‚€λ₯Ό μ°Έμ‘°ν•˜λŠ” ν‚€
λ¦΄λ ˆμ΄μ…˜ κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. 

μ™Έλž˜ν‚€μ˜ νŠΉμ§•
1. μ™Έλž˜ν‚€κ°€ μ„±λ¦½ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ–‘μͺ½ λ¦΄λ ˆμ΄μ…˜μ˜ 도메인이 μ„œλ‘œ κ°™μ•„μ•Ό ν•©λ‹ˆλ‹€.
2. μ°Έμ‘°λ˜λŠ” κΈ°λ³Έν‚€μ˜ 값이 λ³€κ²½λ˜λ©΄ μ°Έμ‘°ν•˜λŠ” μ™Έλž˜ν‚€μ˜ 값도 λ³€κ²½λ©λ‹ˆλ‹€.
3. 자기 μžμ‹ μ˜ κΈ°λ³Έν‚€λ₯Ό μ°Έμ‘°ν•˜λŠ” μ™Έλž˜ν‚€λ„ κ°€λŠ₯ν•©λ‹ˆλ‹€.
4. μ™Έλž˜ν‚€κ°€ κΈ°λ³Έν‚€μ˜ 일뢀가 될 수 μžˆμŠ΅λ‹ˆλ‹€.
5. NULL κ°’κ³Ό 쀑볡 값이 ν—ˆμš©λ©λ‹ˆλ‹€.

 

 

 

 

μ£Όλ¬Έ λ¦΄λ ˆμ΄μ…˜μ΄ 고객 λ¦΄λ ˆμ΄μ…˜μ˜ κΈ°λ³Έν‚€λ₯Ό μ™Έλž˜ν‚€λ‘œ κ°–κ³  있으면

μ™Έλž˜ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ 주문을 ν•œ 고객의 정보λ₯Ό μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ 고객 λ¦΄λ ˆμ΄μ…˜μ˜ μ™Έλž˜ν‚€κ°€ 같은 λ¦΄λ ˆμ΄μ…˜μ˜ κΈ°λ³Έν‚€λ₯Ό μ°Έμ‘°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

무결성 μ œμ•½μ‘°κ±΄

데이터 무결성은 λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯된 λ°μ΄ν„°μ˜ 일관성과 정확성을 μ§€ν‚€λŠ” κ²ƒμž…λ‹ˆλ‹€.
무결성을 μœ μ§€ν•˜κΈ° μœ„ν•΄μ„œλŠ” νˆ¬ν”Œμ˜ μ‚½μž…, μ‚­μ œ, μˆ˜μ • μ‹œμ— λ°μ΄ν„°μ˜ μ œμ•½μ‘°κ±΄μ„ μ€€μˆ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

 

도메인 무결성 μ œμ•½μ‘°κ±΄

λ¦΄λ ˆμ΄μ…˜ λ‚΄μ˜ νˆ¬ν”Œλ“€μ΄ 각 μ†μ„±μ˜ 도메인에 μ§€μ •λœ κ°’λ§Œμ„ κ°€μ Έμ•Ό ν•œλ‹€λŠ” μ‘°κ±΄μž…λ‹ˆλ‹€.
예λ₯Ό λ“€μ–΄ μ£Όλ¬Έ λ¦΄λ ˆμ΄μ…˜μ—μ„œ μ£Όλ¬ΈμΌμžλŠ” λ‚ μ§œ λ°μ΄ν„°λ§Œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.
λ‚ μ§œ 데이터가 μ•„λ‹Œ λ¬Έμžμ—΄ λ“± λ‹€λ₯Έ μžλ£Œν˜•μ„ μ‚¬μš©ν•œλ‹€λ©΄ 자료의 μ €μž₯, 검색에 λ¬Έμ œκ°€ 생기기 λ•Œλ¬Έμž…λ‹ˆλ‹€.

 

 

개체 무결성 μ œμ•½μ‘°κ±΄

κΈ°λ³Έν‚€λ₯Ό μ§€μ •ν•˜κ³  그에 λ”°λ₯Έ μ œμ•½μ‘°κ±΄μ„ μ§€ν‚€λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ•žμ„œ κΈ°μˆ ν–ˆλ˜ κ²ƒμ²˜λŸΌ κΈ°λ³Έν‚€μ—λŠ” μ•„λž˜μ™€ 같은 μ œμ•½μ‘°κ±΄λ“€μ΄ μžˆμŠ΅λ‹ˆλ‹€
1. νˆ¬ν”Œμ„ 식별할 수 μžˆλŠ” κ³ μœ ν•œ 값을 κ°€μ Έμ•Ό ν•œλ‹€.
2. NULL값은 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
3. ν‚€ κ°’μ˜ 변동이 μΌμ–΄λ‚˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€
4. μ΅œλŒ€ν•œ 적은 수의 속성을 κ°€μ Έμ•Ό ν•œλ‹€.
5. ν–₯ν›„ ν‚€λ₯Ό μ‚¬μš©ν•˜λŠ”λ° μžˆμ–΄μ„œ 문제 λ°œμƒ μ†Œμ§€κ°€ μ—†μ–΄μ•Ό ν•œλ‹€.

 

고객 λ¦΄λ ˆμ΄μ…˜

 

 

 

μƒλ‹¨μ˜ 고객 λ¦΄λ ˆμ΄μ…˜μ˜ 2번째, 4번째 행은 기본킀인 고객아이디 속성에 NULL값이 λ“€μ–΄κ°€μžˆμŠ΅λ‹ˆλ‹€

μ΄λŠ” 개체 무결성 μ œμ•½μ‘°κ±΄μ„ μ€€μˆ˜ν•˜μ§€ λͺ»ν•œ κ²ƒμž…λ‹ˆλ‹€.

μ΄λŸ¬ν•œ λ¦΄λ ˆμ΄μ…˜μ€ μ‘΄μž¬ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

 

 

 

μ°Έμ‘° 무결성 μ œμ•½μ‘°κ±΄

μ™Έλž˜ν‚€μ˜ μ œμ•½μ‘°κ±΄μ„ μ§€ν‚€λŠ” κ²ƒμž…λ‹ˆλ‹€.

1. λΆ€λͺ¨ λ¦΄λ ˆμ΄μ…˜(μ°Έμ‘°λ˜λŠ” λ¦΄λ ˆμ΄μ…˜)의 기본킀와 μžμ‹ λ¦΄λ ˆμ΄μ…˜(μ°Έμ‘°ν•˜λŠ” λ¦΄λ ˆμ΄μ…˜)의 μ™Έλž˜ν‚€λŠ” 도메인이 동일해야 ν•©λ‹ˆλ‹€.
2. μ™Έλž˜ν‚€λŠ” λΆ€λͺ¨ λ¦΄λ ˆμ΄μ…˜μ˜ 기본킀에 μ‘΄μž¬ν•˜λŠ” 값이어야 ν•©λ‹ˆλ‹€.
   (λ‹€λ§Œ NULL값은 μ‚¬μš©μ΄ ν—ˆμš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.)
3. μžμ‹ λ¦΄λ ˆμ΄μ…˜μ—μ„œ μ°Έμ‘°ν•˜κ³  μžˆλŠ” 값을 λΆ€λͺ¨ λ¦΄λ ˆμ΄μ…˜μ—μ„œ μ‚­μ œν•˜κΈ° μœ„ν•΄μ„œλŠ” μ œμ•½μ‘°κ±΄ μ˜΅μ…˜μ— 따라야 ν•©λ‹ˆλ‹€.
     3-1. λΆ€λͺ¨ λ¦΄λ ˆμ΄μ…˜μ˜ μ‚­μ œ μž‘μ—… κ±°λΆ€
     3-2. μžμ‹ λ¦΄λ ˆμ΄μ…˜μ˜ κ΄€λ ¨ νˆ¬ν”Œμ„ 같이 μ‚­μ œ
     3-3. μžμ‹ λ¦΄λ ˆμ΄μ…˜μ˜ μ™Έλž˜ν‚€λ₯Ό λ””ν΄νŠΈ κ°’μœΌλ‘œ λ³€κ²½
     3-4. μžμ‹ λ¦΄λ ˆμ΄μ…˜μ˜ μ™Έλž˜ν‚€λ₯Ό NULLκ°’μœΌλ‘œ λ³€κ²½

 

 

μ£Όλ¬Έ λ¦΄λ ˆμ΄μ…˜μ˜ 첫 번째 νˆ¬ν”Œμ€ μ°Έμ‘°ν•˜κ³  μžˆλŠ” 기본킀에 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 값은 μ™Έλž˜ν‚€λ‘œ μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€

μ΄λŠ” μ œμ•½μ‘°κ±΄μ„ μœ„λ°˜ν•œ κ²ƒμ΄λ―€λ‘œ νˆ¬ν”Œ μΆ”κ°€κ°€ λΆˆκ°€ν•©λ‹ˆλ‹€

 

 

 

 


μ°Έκ³ 

https://terms.naver.com/list.naver?cid=58430&categoryId=58430&so=st4.asc