Data Model - a way to structure data on which your app is working. DB (SQL, No,SQL) structural data(schemas) query languages
Data Model patterns:
Relational Codd(70’s)
- Low cost
- Efficient
- Remove data duplicates and normalize databases
- To unpack data you would de normalize via Joining tables based on certain properties Joins are the main power of a relational databases
Relational database management system Microsoft-SQL, SQL lite etc. much later than relational databases
Non-relational NoSQL
hard to represent relations eliminates data redundancy
Types:
- Document graph
- Key_value column oriented
Which to choose? Depends if you need to save the normalized data. Yes - Non-relational. No - Relational.
ORM - Allow you to translate the data model from inside the application to the data model inside the database.
Property Graph Vertex Edges Network data model Hierarchical
Network
Hierachical
Query languages
- Imperative (ou tell it what you want and it does it efficiently) - SQL GraphQL XPath CSS
- Declarative
- XPath
- SQL
- GraphQL