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

  1. Imperative (ou tell it what you want and it does it efficiently) - SQL GraphQL XPath CSS
  2. Declarative
    • XPath
    • SQL
    • GraphQL