๐ ํ์ค ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ตํํ์ฌ ์ผ์ ํ ํ๊ธฐ๋ฒ์ ๋ฐ๋ผ ํํํ๊ธฐ ์ํ ๊ฐ๋ ์ ์ธ ๋๊ตฌ์ ์งํฉ
ํน์ง
- Data Abstraction (์ถ์ํ)
- Simplification (๋จ์ํ)
- Clarity (๋ช
ํํ)
โ ์ง์ํด์ผ ํ ์ : Pitfalls (ํจ์ )
๊ด์
- Data, What
- Process, How
- Data vs Process, Interaction, Relationship (๋ฐ์ดํฐ์ ํ๋ก์ธ์ค๊ฐ ์๋ก ์ฐ๊ด์ฑ์ด ํํ๋๋ ์๊ด ๊ด์ )
Modeling ๋จ๊ณ
- Conceptual (๊ฐ๋
์ ): Data Abstraction Level์ด ๊ฐ์ฅ ๋์, ์
๋ฌด ์ค์ฌ์ ์ด๊ณ ํฌ๊ด์ , ์ ์ฌ์ (= ๊ธฐ์
์ ์ฒด ๊ด์ )
- ํต์ฌ Entity ์ถ์ถ
- Logical (๋
ผ๋ฆฌ์ ): Model์ Key, ์์ฑ, ๊ด๊ณ ๋ฑ์ ๋ชจ๋ ํํ, ๊ฐ์ฅ ๋์ ์ฌ์ฌ์ฉ์ฑ
- Normalization (์ ๊ทํ) ์ด๋ฃจ์ด์ง๋ ๋จ๊ณ
- ๐ Entity, Instance, Attribute, โฆ
- Physical (๋ฌผ๋ฆฌ์ ): ์ค์ DB๋ก ๊ตฌํ ๊ฐ๋ฅํ๋๋ก ์ฑ๋ฅ, ๊ฐ์ฉ์ฑ ๋ฑ ๋ฌผ๋ฆฌ์ ์ฑ๊ฒฉ ๊ณ ๋ ค, HW์ DB๋ฅผ ์ค์ ๋ก ์ฌ๋ฆผ
๊ตฌ์ฑ ์์
- Data
- Data Relationships (๊ด๊ณ)
- Data Semantics (์๋ฏธ)
- Integrity Constraint (๋ฌด๊ฒฐ์ฑ ์ ์ฝ)
์ข ๋ฅ
- Relational Model
- ER Model, Super-Subtype Model, Extended ER Model
- Object-based Data Model
- Semi-structed Data Model (๋ฐ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ)
- NoSQL DBMS์์ ์ฌ์ฉ (๐ XML, JSON)
- Network Model (Graph), Hierarchical Model (Tree)
๋ฐ์ดํฐ ๊ตฌ์ฑ ์์
Entity
๐ ๋
๋ฆฝ์ฒด, ์์ฉ ๋ถ์ผ ํ์ค ์ธ๊ณ์ ๊ณ ์ ์๋ณ์ฑ์ ๊ฐ๋ ๊ฐ์ฒด, ๋ฐ์ดํฐ๋ฅผ ์ฉ๋๋ณ๋ก ๋ถ๋ฅํ ๊ทธ๋ฃน
= Table, (Strong) Entity Set
โ Entity
- ํน์ง
- ์ ๋ฌด์ ํ์, ์ค์ ๋ก Process์์ ํ์ฉ
- ์๋ณ์๋ฅผ ํตํด ๊ฐ Instance์ ๊ณ ์ ์๋ณ์ฑ ๋ณด์ฅ
- 2๊ฐ ์ด์์ Instance
- 2๊ฐ ์ด์์ Attributes
- ๋ค๋ฅธ Entity์ 1๊ฐ ์ด์์ Relationship
- ๋ถ๋ฅ
- ์ /๋ฌดํ
- ์ ํ (๋ฌผ๋ฆฌ์ ํํ O)
- ๊ฐ๋ (X)
- ์ฌ๊ฑด (Event)
- ๋ฐ์ ์์
- ๊ธฐ๋ณธ (๋
๋ฆฝ์ ์์ฑ)
- Process์ ์๋ ์กด์ฌ, ์์ Entity ๊ฐ์ง ์ ์์
- ์ค์ฌ (๊ธฐ๋ณธ์์ ํ์๋จ, ํ์๋ฅผ ํ์)
- Process์์ ์ค์ฌ์ ์ธ ์ญํ , ๋ฐ์ดํฐ ๋ง์ด ๋ฐ์, Process ๊ณผ์ ์ค ํ๋
- ํ์ (Active, 2๊ฐ ์ด์์์ ํ์)
- ๊ธฐ๋ณธ (๋
๋ฆฝ์ ์์ฑ)
- ์ /๋ฌดํ
- ๋ช
๋ช
- ๋์ด์ฐ๊ธฐ X ๋จ์ ๋ช ์ฌ
- ํ๊ธ ์ฝ์ด X
- ์๋ฌธ ๋๋ฌธ์
- ๋ค๋ฅธ Entity์ ์๋ฏธ์ ์ค๋ณต X
Instance
- ํน์ง
- ๊ณ ์ ์๋ณ์ฑ
- 2๊ฐ ์ด์์ Attribute
Attribute
๐ Instance์ ํน์ง์ ์ค๋ช
ํด์ค ์ ์๋ ์ต์ ๋จ์
= Column, Attribute
- ํน์ง
- ์ ๋ฌด์ ํ์, ์ค์ ๋ก Process์์ ํ์ฉ
- ์๋ฏธ์ ๋ ์ชผ๊ฐค ์ ์๋ ๋จ์, ์ต์ ๋ฐ์ดํฐ Level
- ํ Instance์์, ํ Attribute์ ๋ํด ํ๋์ ์์ฑ๊ฐ๋ง ๊ฐ์ง ์ ์์ โฌ ์ 1์ ๊ทํ (1NF)
- ๋ถ๋ฅ
- ํน์ฑ
- ๊ธฐ๋ณธ (Basic): Process ๋ถ์์ ํตํด ๋ฐ๋ก ์ ์
- ์ค๊ณ (Designed): Process์๋ ์์ผ๋, ์ค๊ณ ๊ณผ์ ์ค ๋์ถ
- ๐ ๊ณ ์ ๋ฒํธ, ํ์ค์๋ ์์ผ๋ ๊ณ ์ ์๋ณ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋์
- ํ์ (Derived): ์์ฃผ ์ฐ์ด๋ ๋ค๋ฅธ Attribute์ ์์ฑ๊ฐ์ ์กฐํฉํ์ฌ ๋ฏธ๋ฆฌ ๊ณ์ฐ/๊ฐ๊ณต
- โค๏ธ ์ฑ๋ฅ, ํธ์์ฑ
- ๐ Consistency (์ผ๊ด์ฑ, ์ ํฉ์ฑ) ๊นจ์ง ๊ฐ๋ฅ์ฑ โก ๊ผญ ํ์ํ ๋๋ง
- ๊ตฌ์ฑ ๋ฐฉ์
- PK (Primary Key): Entity์ Instance์ ๊ณ ์ ์๋ณ์ฑ ๋ถ์ฌ
- FK (Foreign Key): ๋ค๋ฅธ Entity์ PK ์ฐธ์กฐ (๋๋
null), ๋ค๋ฅธ Entity์ Relationship์ ๋งบ๊ฒ ํด์ฃผ๋ ๋งค๊ฐ์ฒด - ์ผ๋ฐ: PK, FK๋ฅผ ์ ์ธํ ๋๋จธ์ง
- ๋ถํด ๊ฐ๋ฅ ์ฌ๋ถ
- ๋จ์ผ: ํ๋์ ์๋ฏธ๋ก ๊ตฌ์ฑ
- ๋ณตํฉ: ์ฌ๋ฌ ๊ฐ์ ์๋ฏธ๋ก ๊ตฌ์ฑ (๐ ์ฃผ์ = ์ + ๊ตฌ + ๋)
- ๋ค์ค๊ฐ: ํ ์์ฑ์ด ์ฌ๋ฌ ๊ฐ์ ๊ฐ ๊ฐ์ง โก ์ 1์ ๊ทํ (1NF)
- ํน์ฑ
- ERD ํ๊ธฐ
- IE: ๋งจ ์๊ฐ PK
- Barker
#: PK*: Requiredโ: Optional (nullํ์ฉ)
Domain
๐ Attribute๊ฐ ๊ฐ์ง ์ ์๋ ์์ฑ๊ฐ์ ๋ฒ์, ํน์ ์์ฑ์ ๋ฑ์ฅํ ์ ์๋ ๋ชจ๋ ๊ฐ๋ฅํ ์์ฑ๊ฐ๋ค์ Set
- Type, Data Size๋ฅผ ํตํด ์ ์
Relationship
๐Entity ๊ฐ ๊ด๊ณ
= Relationship
- ์ข
๋ฅ
- ์ฐ๊ด์ฑ
- ์กด์ฌ (๐ ์์๋๋ค)
- Association (์ฐ๊ด), ํญ์ ์ด์ฉํ๋ ๊ด๊ณ, ๋ฉค๋ฒ ๋ณ์
- ํ์ (๐ ์๋ชจํ๋ค, ์ฃผ๋ฌธ๋๋ค)
- Dependency (์์กด), ์๋ Class์ ํ์์ ์ํด ๊ด๊ณ ํ์ฑ, ํ์(Operation, Method) ํ๋ผ๋ฏธํฐ
- ERD์์๋ ์ด๋ฅผ ๊ตฌ๋ถํ์ง ์์, UMLClass DIagram์์๋ ๊ตฌ๋ถ
- ์กด์ฌ (๐ ์์๋๋ค)
- ์๋ณ์
- ์๋ณ์ (Identification, ๋ถ๋ชจ์ PK๊ฐ ์์์ PK์ ํฌํจ, 1:1 ๋๋ 1:ๅค)
- ๋ถ๋ชจ-์์ ๊ด๊ณ: ๋ถ๋ชจ Entity๊ฐ ์์ด์ผ์ง๋ง ์์ Entity ์๊น
- โค๏ธ ๋ฐ์ดํฐ Integrity (๋ฌด๊ฒฐ์ฑ)
- ๐ ๊ตฌ์กฐ ๋ณ๊ฒฝ ์ด๋ ค์, ์๊ตฌ์ฌํญ ๋ณ๊ฒฝ ๋ฐ์ ์ด๋ ค์
- ERD์์ ์ค์ (ํญ์ ์ฐ๊ฒฐ), ๋ถ๋ชจ-์์ ํญ์ ์ ์ง๋จ, Join ์ต์ํ ๊ฐ๋ฅ
- ๋ถ๋ชจ-์์ ๊ด๊ณ: ๋ถ๋ชจ Entity๊ฐ ์์ด์ผ์ง๋ง ์์ Entity ์๊น
- ๋น์๋ณ์ (Non-Identification, ๋ถ๋ชจ์ PK๊ฐ ์์์ ์ผ๋ฐ Attribute)
- ERD์์ ์ ์ (์ ํ์ ์ฐ๊ฒฐ)
- ์๋ณ์ (Identification, ๋ถ๋ชจ์ PK๊ฐ ์์์ PK์ ํฌํจ, 1:1 ๋๋ 1:ๅค)
- ์ฐ๊ด์ฑ
- ํ๊ธฐ
- ๊ด๊ณ๋ช (Membership): ๊ฐ Entity ๊ด์ ์์ ํ๋์ฉ, ํ์ฌํ
- ๊ด๊ณ์ฐจ์ (Cardinality): 1:1, 1:ๅค, ๅค:ๅค
- ๊ด๊ณ์ ํ์ฌ์, ๊ด๊ณ์ ํ์ฑ (Optionality): ํ์, ์ ํ
Identifier, Key
๐ ์๋ณ์, ๊ฐ Instance๋ฅผ ๊ตฌ๋ถ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ๋ํ Attribute
= Key
- ๋ถ๋ฅ
- ๋ํ์ฑ ์ฌ๋ถ
- ์ฃผ (Primary, ๋ํ ์๋ณ์, ๋ค๋ฅธ Entity์ ์ฐธ์กฐ ๊ด๊ณ)
- ๋ณด์กฐ (Alternate, ์๋ณ์ฑ ์์ผ๋ ๋ํ X, ์ฐธ์กฐ ๊ด๊ณ X)
- ์ค์ค๋ก ์์ฑ ์ฌ๋ถ
- ๋จ์ผ ์์ฑ ์ฌ๋ถ
- ๋์ฒด ์ฌ๋ถ
- ์์กฐ, ๋ณธ์ง (Original, Process์ ์กด์ฌ, ๊ฐ๊ณต X)
- ๋๋ฆฌ, ์ธ์กฐ (Surrogate, 2๊ฐ ์ด์์ Attribute๋ฅผ ํ๋์ Attribute๋ก ์ธ์์ ๊ฐ๊ณต)
- ๐ ๋จ์
- Redundancy (์ค๋ณต์ฑ)
- ๋ถํ์ํ Index (์ธ๋ฑ์ค) ์์ฑ โก ๊ณต๊ฐ ๋ญ๋น, DML ์ฑ๋ฅ ์ ํ
- ๊ฐ๋ฐ ํธ์์ฑ ๋จ์ด์ง
- ๐ ๋จ์
- ๋ํ์ฑ ์ฌ๋ถ
์ฃผ์๋ณ์
โ PK (Primary Key, ๊ธฐ๋ณธํค)