lab 09 data model - github pages · 2020. 6. 18. · lab 09 data model software studio datalab, cs,...

18
Lab 09 Data Model Software Studio DataLab, CS, NTHU

Upload: others

Post on 26-Feb-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Lab 09Data Model

Software StudioDataLab, CS, NTHU

Page 2: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Data Model

• Definition: A data model is a framework for describing the structure of databases.

Page 3: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Outline

• Hierarchical data model• Relational data model• ER model

Page 4: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Hierarchical data model

Page 5: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Hierarchical data model

• Tree structure• Suit for 1-many relation

Page 6: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Example

Page 7: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

More complex?

Page 8: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the
Page 9: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Some constraint

• Not suitable for many-many relation• Cause data redundant

Page 10: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Some constraint

• SELECT cost• Must through parent to child

Page 11: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the
Page 12: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Relational Data Model

• Table structure

Page 13: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

Relational Data Model

• Table structure

Page 14: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

ER Model

• Allows thinking how to structure your data in a proper way• Entity• A record with fields

• Entity group• A table• Define unique ID field for each entity

• Relationship• 1-1,1-many, many-many

Page 15: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the
Page 16: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the
Page 17: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

• Primary key • Unique ID field for each table

Page 18: Lab 09 Data Model - GitHub Pages · 2020. 6. 18. · Lab 09 Data Model Software Studio DataLab, CS, NTHU. Data Model •Definition: A data model is a framework for describing the

• Foreign key • Implement the relationship• Point to the primary key of other record• Only 1-1 1-many