λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’» Computer Science/λ°μ΄ν„°λ² μ΄μŠ€

[λ°μ΄ν„°λ² μ΄μŠ€] μ •κ·œν™”(Normalization)λž€? (μ˜ˆμ‹œ 포함)

by Jay Din 2024. 8. 21.
728x90
λ°˜μ‘ν˜•

μ •κ·œν™”(Normalization) λž€?

λ°μ΄ν„°λ² μ΄μŠ€ μ •κ·œν™”λŠ” 데이터 쀑볡을 쀄이고, 데이터 무결성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ ν…Œμ΄λΈ”μ„ κ΅¬μ‘°ν™”λŠ” κ³Όμ •μž…λ‹ˆλ‹€.

μ •κ·œν™” 과정은 μ—¬λŸ¬ λ‹¨κ³„λ‘œ λ‚˜λˆ„μ–΄μ§€λ©°, 각 λ‹¨κ³„λŠ” νŠΉμ • 문제λ₯Ό ν•΄κ²°ν•˜κ³  λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 더 효율적으둜 λ§Œλ“­λ‹ˆλ‹€.

μ—¬κΈ°μ„œλŠ” 제1μ •κ·œν˜•(1NF), 제2μ •κ·œν˜•(2NF), 제3μ •κ·œν˜•(3NF)을 μ˜ˆμ‹œμ™€ ν•¨κ»˜ μžμ„Ένžˆ μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

제1μ •κ·œν˜•(1NF), 제2μ •κ·œν˜•(2NF), 제3μ •κ·œν˜•(3NF) 정리

제1μ •κ·œν˜•(1NF) 각 열은 μ›μžκ°’μ„ κ°€μ Έμ•Ό ν•˜λ©°, ν•˜λ‚˜μ˜ 셀에 μ—¬λŸ¬ 값을 넣지 μ•ŠμŠ΅λ‹ˆλ‹€.
제2μ •κ·œν˜•(2NF) κΈ°λ³Έ ν‚€μ˜ μΌλΆ€μ—λ§Œ μ’…μ†λœ μ—΄(λΆ€λΆ„ 쒅속성)을 제거
제3μ •κ·œν˜•(3NF) κΈ°λ³Έ ν‚€κ°€ μ•„λ‹Œ 열듀이 μ„œλ‘œ 쒅속적이지 μ•Šλ„λ‘, 이행적 쒅속성을 제거

 

제1μ •κ·œν™” (1NF: First Normal Form)

제1μ •κ·œν˜•μ˜ λͺ©ν‘œλŠ” 각 열이 μ›μžκ°’μ„ 갖도둝 ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

즉, 각 μ—΄μ—λŠ” λ‹¨μΌκ°’λ§Œμ΄ ν¬ν•¨λ˜μ–΄μ•Ό ν•˜λ©°, μ€‘λ³΅λœ μ—΄μ΄λ‚˜ μ—¬λŸ¬ 값이 ν•˜λ‚˜μ˜ 셀에 ν¬ν•¨λ˜μ–΄ μžˆμ–΄μ„œλŠ” μ•ˆλ©λ‹ˆλ‹€.

 

μ˜ˆμ‹œ

λΉ„μ •κ·œν™”λœ ν…Œμ΄λΈ”:

StudentID StudentName Subjects
1 Alice Math, Physics
2 Bob Chemistry, Biology

 

μ—¬κΈ°μ„œ subjects μ—΄μ—λŠ” μ—¬λŸ¬ κ³Όλͺ©λ“€μ΄ μ‰Όν‘œλ‘œ κ΅¬λΆ„λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

μ΄λŠ” 제1μ •κ·œν˜•μ„ μœ„λ°˜ν•˜λŠ” μ˜ˆμž…λ‹ˆλ‹€.

 

제1μ •κ·œν˜•μœΌλ‘œ λ³€ν™˜:

StudentID StudentName Subjects
1 Alice Math
1 Alice Physics
2 Bob Chemistry
2 Bob Biology

 

이제 각 μ…€μ—λŠ” 단일 κ°’λ§Œ ν¬ν•¨λ˜λ©°, subjects 열이 subject둜 λΆ„λ¦¬λ˜μ–΄ 학생과 κ³Όλͺ© κ°„μ˜ 관계가 κ°œλ³„ ν–‰μœΌλ‘œ ν‘œν˜„λ©λ‹ˆλ‹€.

 

제2μ •κ·œν™” (2NF: Second Normal Form)

제2μ •κ·œν˜•μ˜ λͺ©ν‘œλŠ” 뢀뢄적 ν•¨μˆ˜ 쒅속 μ œκ±°ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

ν…Œμ΄λΈ”μ— 제2μ •κ·œν˜•μ΄ 되기 μœ„ν•΄μ„œλŠ” 제1μ •κ·œν˜•μ„ λ§Œμ‘±ν•΄μ•Ό ν•˜λ©°, κΈ°λ³Έ ν‚€μ˜ μΌλΆ€μ—λ§Œ 쒅속적인 열이 μ—†μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ΄λŠ” ν…Œμ΄λΈ”μ—μ„œ μ—¬λŸ¬ ν‚€λ₯Ό 가진 κ²½μš°μ— μ€‘μš”ν•©λ‹ˆλ‹€.

뢀뢄적 ν•¨μˆ˜ 쒅속성 μ΄λž€?
볡합 κΈ°λ³Έ ν‚€(두 개 μ΄μƒμ˜ μ—΄λ‘œ κ΅¬μ„±λœ κΈ°λ³Έ ν‚€)λ₯Ό 가진 ν…Œμ΄λΈ”μ—μ„œ,
κΈ°λ³Έ ν‚€μ˜ μΌλΆ€μ—λ§Œ μ’…μ†λœ λΉ„-κΈ°λ³Έ ν‚€ 열이 μ‘΄μž¬ν•˜λŠ” 경우

 

μ˜ˆμ‹œ

제1μ •κ·œν˜• ν…Œμ΄λΈ”:

StudentID CourseID StudentName CourseName
1 101 Alice Math
1 102 Alice Physics
2 103 Bob CHemistry

 

μ—¬κΈ°μ„œ studentID 와 CourseID κ°€ 볡합 κΈ°λ³Έ ν‚€λ₯Ό 이루고 μžˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ studentName 은 studentID μ—λ§Œ μ’…μ†λ˜κ³ , CourseName 은 CourseIDμ—λ§Œ μ’…μ†λ©λ‹ˆλ‹€.

이것이 뢀뢄적 μ’…μ†μ„±μž…λ‹ˆλ‹€. μ΄λŠ” 제2μ •κ·œν˜•μ„ μœ„λ°˜ν•©λ‹ˆλ‹€.

 

제2μ •κ·œν˜•μœΌλ‘œ λ³€ν™˜

두 개의 ν…Œμ΄λΈ”λ‘œ λ‚˜λˆ„μ–΄ 각 ν…Œμ΄λΈ”μ΄ λΆ€λΆ„ 쒅속성을 μ œκ±°ν•©λ‹ˆλ‹€.

 

Students ν…Œμ΄λΈ”:

StudentID StudentName
1 Alice
2 Bob

 

Courses ν…Œμ΄λΈ”:

CourseID CourseName
101 Math
102 Phsics
103 Chemistry

 

Enrollment ν…Œμ΄λΈ”:

StudentID CourseID
1 101
1 102
2 103

 

이제 StudentName κ³Ό CourseName 은 κΈ°λ³Έ ν‚€μ˜ μΌλΆ€μ—λ§Œ μ’…μ†λ˜μ§€ μ•ŠμœΌλ©°, 각각의 ν…Œμ΄λΈ”μ€ 제2μ •κ·œν˜•μ„ λ§Œμ‘±ν•©λ‹ˆλ‹€.

 

제3μ •κ·œν™” (2NF: Second Normal Form)

제3μ •κ·œν˜•μ˜ λͺ©ν‘œλŠ” 이행적 ν•¨μˆ˜ 쒅속 μ œκ±°ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

ν…Œμ΄λΈ”μ΄ 제3μ •κ·œν˜•μ΄ 되기 μœ„ν•΄μ„œλŠ” 제2μ •κ·œν˜•μ„ λ§Œμ‘±ν•΄μ•Ό ν•˜λ©°, κΈ°λ³Έ ν‚€κ°€ μ•„λ‹Œ 열이 λ‹€λ₯Έ κΈ°λ³Έ ν‚€κ°€ μ•„λ‹Œ 열에 μ’…μ†λ˜μ–΄μ„œλŠ” μ•ˆλ©λ‹ˆλ‹€.

이행적 ν•¨μˆ˜ 쒅속성 μ΄λž€?
κΈ°λ³Έ ν‚€κ°€ μ•„λ‹Œ 열이 λ‹€λ₯Έ κΈ°λ³Έ ν‚€κ°€ μ•„λ‹Œ 열에 μ’…μ†λ˜λŠ” 경우

 

μ˜ˆμ‹œ

제2μ •κ·œν˜• ν…Œμ΄λΈ”:

StudentID CourseID InstructorID InstructorName
1 101 501 Dr. Smith
1 102 502 Dr. Jones
2 103 503 Dr. Brown

 

μ—¬κΈ°μ„œ InstructorID λŠ” InstructorName 을 κ²°μ •ν•©λ‹ˆλ‹€.

InstructorName 은 InstructorID 에 μ’…μ†λ˜λ©°, StudentID μ™€λŠ” 직접적인 쒅속 관계가 μ—†μŠ΅λ‹ˆλ‹€.

즉, InstructorID κ°€ κΈ°λ³Έ ν‚€κ°€ μ•„λ‹˜μ—λ„ λΆˆκ΅¬ν•˜κ³  InstructorName 은 InstructorID 에 μ˜ν•΄ κ²°μ •λ©λ‹ˆλ‹€.

μ΄λŠ” 이행적 μ’…μ†μ„±μž…λ‹ˆλ‹€.

 

제3μ •κ·œν˜•μœΌλ‘œ λ³€ν™˜:

λ‹€μ‹œ ν…Œμ΄λΈ”μ„ λ‚˜λˆ•λ‹ˆλ‹€.

 

Instructors ν…Œμ΄λΈ”:

InstructorID InstructorName
501 Dr. Smith
502 Dr. Jones
503 Dr. Brown

 

Enrollments ν…Œμ΄λΈ”:

StudentID CourseID InstructorID
1 101 501
1 102 502
2 103 503

 

에 InstructorName 은 InstructorID 와 같은 ν…Œμ΄λΈ”μ— μœ„μΉ˜ν•΄ μžˆμ–΄, 이행적 쒅속성이 μ œκ±°λ˜μ—ˆκ³  제3μ •κ·œν˜•μ„ λ§Œμ‘±ν•©λ‹ˆλ‹€.

 

 

728x90
λ°˜μ‘ν˜•