lab 09 data model - github pages · 2020. 6. 18. · lab 09 data model software studio datalab, cs,...
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/8.jpg)
![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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/11.jpg)
![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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/15.jpg)
![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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/16.jpg)
![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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/17.jpg)
• 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](https://reader036.vdocuments.mx/reader036/viewer/2022062509/60fb224d5a6435293004cef8/html5/thumbnails/18.jpg)
• Foreign key • Implement the relationship• Point to the primary key of other record• Only 1-1 1-many