Database Layer
The database
layer (db) is a very thin layer that contains exactly how the data is stored in the underlying database system.
It involves concepts like:
- Schema
- Tables
- Columns
- Primary and foreign keys
Here is an example of a table definition in VKL:
db.postgres.movie_db.public {
table ORDERS {
identifier: "ORDERS"
column id {
primitive_type: "INTEGER"
identifier: "id"
is_primary_key: true
}
column customer_id {
primitive_type: "INTEGER"
identifier: "customer_id"
}
column customer_firstname {
primitive_type: "VARCHAR"
identifier: "customer_firstname"
}
column customer_lastname {
primitive_type: "VARCHAR"
identifier: "customer_lastname"
}
column country {
primitive_type: "VARCHAR"
identifier: "country"
}
column date {
primitive_type: "DATE"
identifier: "date"
}
...
}
}
The identifier
is a SQL identifier, i.e. a column/table/schema/database name. These identifiers are used by Veezoo to generate SQL code.
Let's see what's next.