๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Computer Science/Database

2 Data Model

by Dowon Kang 2023. 12. 22.

๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋“ค์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ •์˜ํ•˜๊ณ  ๊ตฌ์กฐํ™”ํ•˜์—ฌ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. 

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์™€ ํ™œ์šฉ์˜ ํšจ์œจ์„ฑ์„ ์ฆ์ง„์‹œํ‚ค๋ฉฐ, ์ •๋ณด ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๊ณ  ์šด์˜ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

 

1) Conceptual Data Model (Entity-Relationship Model)

Conceptual Data Model์€ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ ๊ณ ์ˆ˜์ค€์˜ ๋ฐ์ดํ„ฐ ํ‘œํ˜„์œผ๋กœ, ์—…๋ฌด ํ”„๋กœ์„ธ์Šค์™€ ์—”ํ„ฐํ‹ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„๋œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ๋น„์ฆˆ๋‹ˆ์Šค ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ์™€ ๊ด€๊ณ„๋ฅผ ์ถ”์ƒ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, ๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์— ์ง์ ‘์ ์œผ๋กœ ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Conceptual Data Model์€ ๋น„์ฆˆ๋‹ˆ์Šค ์ดํ•ด๋ฅผ ๋•๊ณ , ๋‹ค์–‘ํ•œ ์ดํ•ด๊ด€๊ณ„์ž ๊ฐ„์˜ ์˜์‚ฌ์†Œํ†ต์„ ์ด‰์ง„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

  • ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ชจ๋ธ
  • ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๊ฐ€์žฅ ๋†’์Œ
  • ER Diagram ์‚ฌ์šฉ 

 


 

 

2) Logical Data Model (๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ)

๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ Conceptual Data Model์—์„œ ์–ป์€ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ค‘๊ฐ„ ๋‹จ๊ณ„์˜ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์ฒด์ ์œผ๋กœ ์ •์˜ํ•˜๊ณ  ํ‘œํ˜„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ํ…Œ์ด๋ธ”, ์—ด, ๊ด€๊ณ„ ๋“ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

 

๋‹ค์–‘ํ•œ ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋“ค์ด ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ๊ฑด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ (Relational Data Model)์ž…๋‹ˆ๋‹ค. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”์ด๋ผ๋Š” ์ด์ฐจ์› ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ํ•˜๊ณ , ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. 

 

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ(RDBMS)์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ

1) ํ…Œ์ด๋ธ”(Table): ๋ฐ์ดํ„ฐ๋ฅผ ํ–‰๊ณผ ์—ด์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‹จ์œ„
2) ํ–‰(Row): ํ…Œ์ด๋ธ” ๋‚ด์˜ ๊ฐ ๋ ˆ์ฝ”๋“œ ๋˜๋Š” ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ.
3) ์—ด(Column): ํ…Œ์ด๋ธ” ๋‚ด์˜ ๊ฐ ์†์„ฑ(Attribute)
4) ํ‚ค(Key): ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์—ด ๋˜๋Š” ์—ด์˜ ์ง‘ํ•ฉ (ex. primary key)
5) ๊ด€๊ณ„(Relationship): ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ด๊ฒƒ์ด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ํ•ต์‹ฌ
6) ์ •๊ทœํ™”(Normalization): ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ด๋ธ”์„ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๊ณผ์ • (์ œ1 ์ •๊ทœํ™”, ์ œ2 ์ •๊ทœํ™”, ์ œ3 ์ •๊ทœํ™”)

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ์ง๊ด€์ ์ด๋ฉฐ ํ‘œ์ค€ํ™”๋œ ์งˆ์˜ ์–ธ์–ด์ธ SQL(Structured Query Language)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐํ™”์™€ ๊ฒ€์ƒ‰์ด ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

 

 

 


 

 

3) Physical Data Model (๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ)

๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ ์ •์˜๋œ ํ…Œ์ด๋ธ”, ๊ด€๊ณ„, ์ธ๋ฑ์Šค ๋“ฑ์„ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์— ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๋ฐ ์ ‘๊ทผ ๋ฐฉ์‹, ์ธ๋ฑ์‹ฑ, ํŒŒํ‹ฐ์…”๋‹, ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฌผ๋ฆฌ์  ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. 

 

์ด ๋ชจ๋ธ์€ ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ ์ถ”์ƒ์ ์ธ ํ‘œํ˜„์„ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ๊ณผ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 


Data Model: An abstract representation of how data is structured and organized, serving as a blueprint for designing databases or information systems.

 

Conceptual Data Model: A high-level representation focused on capturing business concepts and relationships between data entities, without delving into technical details.

 

Logical Data Model: An intermediate-level representation translating the conceptual model into a format understandable by the technical team, defining the structure of the data without specifying physical implementation details.

 

Physical Data Model: A detailed representation specifying how the logical model will be implemented in a specific database management system, considering technical aspects such as storage structures and indexing.

 

 

'Computer Science > Database' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

6 Create(Insert), Update, Delete  (1) 2024.01.11
5 CRUD (Create, Read, Update and Delete) + Practice tables  (0) 2024.01.08
4 Database Languages - DDL, DML, SQL  (0) 2024.01.08
3 Relational Database (feat. key, constraints)  (1) 2023.12.23
1 Data, Database, DBMS  (0) 2023.12.22

๋Œ“๊ธ€