# Nodes

## Basic ErNode

              ---
                config:
                  htmlLabels: false
                  look: handDrawn
                  theme: forest
              ---
              erDiagram
                _**hiØ**_[*test*] {
                  *__List~List~int~~sdfds__* __driversLicense__ PK "***The l😀icense #***"
                  *string(99)~T~~~~~~* firstName "Only 99
    characters are a
    llowed dsfsdfsdfsdfs"
                  ~str ing~ lastName
                  string phone UK
                  int age
                }
                style PERSON color:red, stroke:blue,fill:#f9f
                classDef test,test2 stroke:red
                class PERSON test,test2

## Basic ErNode

              erDiagram
                CAR {
                    string registrationNumber
                    string make
                    string model
                }
                PERSON {
                    string firstName
                    string lastName
                    int age
                }

                CAR:::someclass
                PERSON:::anotherclass,someclass

                classDef someclass fill:#f96
                classDef anotherclass color:blue

# Diagram Testing

## Basic Relationship

              ---
                config:
                  htmlLabels: false
                  layout: elk
                  look: handDrawn
                  theme: forest
              ---
              erDiagram
                "hi" }o..o{ ORDER : places
                style hi fill:lightblue

## Basic Relationship

              ---
                config:
                  htmlLabels: false
                  look: handDrawn
                  layout: elk
              ---
              erDiagram
                CAR ||--|{ NAMED-DRIVER : allows
                PERSON ||..o{ NAMED-DRIVER : is

## Basic Relationship

              ---
                config:
                  htmlLabels: true
                  look: handDrawn
                  theme: forest
              ---
              erDiagram
                CAR ||--o{ NAMED-DRIVER : allows
                CAR {
                    text text PK "comment"
                    string make
                    string model
                    string[] parts
                }
                PERSON ||--o{ NAMED-DRIVER : is
                PERSON ||--o{ CAR : is
                PERSON {
                    string driversLicense PK "The license #"
                    string(99) firstName "Only 99 characters are allowed"
                    string lastName
                    string phone UK
                    int age
                }
                NAMED-DRIVER {
                    string carRegistrationNumber PK, FK
                    string driverLicence PK, FK
                }
                MANUFACTURER only one to zero or more CAR : makes

## Basic Relationship

              ---
                title: simple ER diagram
                config:
                  theme: forest
              ---
              erDiagram
              direction TB
              p[Pers😀on] {
                  string firstName
                  string lastName
              }
              a["Customer Account"] {
                  string email
              }
              p ||--o| a : has

## Basic Relationship

              ---
                config:
                  layout: elk
              ---
              erDiagram
              CUSTOMER }|..|{ DELIVERY-ADDRESS : has
              CUSTOMER ||--o{ ORDER : places
              CUSTOMER ||--o{ INVOICE : "liable for"
              DELIVERY-ADDRESS ||--o{ ORDER : receives
              INVOICE ||--|{ ORDER : covers
              ORDER ||--|{ ORDER-ITEM : includes
              PRODUCT-CATEGORY ||--|{ PRODUCT : contains
              PRODUCT ||--o{ ORDER-ITEM : "ordered in"

## Basic Relationship

    ---
      config:
        layout: elk
    ---
              erDiagram
              rental{
                      ~timestamp with time zone~ rental_date "NN"
                      ~integer~ inventory_id "NN"
                      ~integer~ customer_id "NN"
                      ~timestamp with time zone~ return_date
                      ~integer~ staff_id "NN"
                      ~integer~ rental_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              film_actor{
                      ~integer~ actor_id "NN"
                      ~integer~ film_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              film{
                      ~text~ title "NN"
                      ~text~ description
                      ~public.year~ release_year
                      ~integer~ language_id "NN"
                      ~integer~ original_language_id
                      ~smallint~ length
                      ~text[]~ special_features
                      ~tsvector~ fulltext "NN"
                      ~integer~ film_id "NN"
                      ~smallint~ rental_duration "NN"
                      ~numeric(4,2)~ rental_rate "NN"
                      ~numeric(5,2)~ replacement_cost "NN"
                      ~public.mpaa_rating~ rating
                      ~timestamp with time zone~ last_update "NN"
      }
              customer{
                      ~integer~ store_id "NN"
                      ~text~ first_name "NN"
                      ~text~ last_name "NN"
                      ~text~ email
                      ~integer~ address_id "NN"
                      ~integer~ active
                      ~integer~ customer_id "NN"
                      ~boolean~ activebool "NN"
                      ~date~ create_date "NN"
                      ~timestamp with time zone~ last_update
      }
              film_category{
                      ~integer~ film_id "NN"
                      ~integer~ category_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              actor{
                      ~text~ first_name "NN"
                      ~text~ last_name "NN"
                      ~integer~ actor_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              store{
                      ~integer~ manager_staff_id "NN"
                      ~integer~ address_id "NN"
                      ~integer~ store_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              city{
                      ~text~ city "NN"
                      ~integer~ country_id "NN"
                      ~integer~ city_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              language{
                      ~character(20)~ name "NN"
                      ~integer~ language_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              payment{
                      ~integer~ customer_id "NN"
                      ~integer~ staff_id "NN"
                      ~integer~ rental_id "NN"
                      ~numeric(5,2)~ amount "NN"
                      ~timestamp with time zone~ payment_date "NN"
                      ~integer~ payment_id "NN"
      }
              category{
                      ~text~ name "NN"
                      ~integer~ category_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              inventory{
                      ~integer~ film_id "NN"
                      ~integer~ store_id "NN"
                      ~integer~ inventory_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              address{
                      ~text~ address "NN"
                      ~text~ address2
                      ~text~ district "NN"
                      ~integer~ city_id "NN"
                      ~text~ postal_code
                      ~text~ phone "NN"
                      ~integer~ address_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              staff{
                      ~text~ first_name "NN"
                      ~text~ last_name "NN"
                      ~integer~ address_id "NN"
                      ~text~ email
                      ~integer~ store_id "NN"
                      ~text~ username "NN"
                      ~text~ password
                      ~bytea~ picture
                      ~integer~ staff_id "NN"
                      ~boolean~ active "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
              country{
                      ~text~ country "NN"
                      ~integer~ country_id "NN"
                      ~timestamp with time zone~ last_update "NN"
      }
      film_actor }|..|| film : film_actor_film_id_fkey
      film_actor }|..|| actor : film_actor_actor_id_fkey
      address }|..|| city : address_city_id_fkey
      city }|..|| country : city_country_id_fkey
      customer }|..|| store : customer_store_id_fkey
      customer }|..|| address : customer_address_id_fkey
      film }|..|| language : film_original_language_id_fkey
      film }|..|| language : film_language_id_fkey
      film_category }|..|| film : film_category_film_id_fkey
      film_category }|..|| category : film_category_category_id_fkey
      inventory }|..|| store : inventory_store_id_fkey