====== Navngivningskonventioner ======
**Vigtigste regel:**
//Konsistens er vigtigere end den enkelte konvention.//
Det betyder, at hele databasen skal følge samme mønster – uanset hvilken stil man vælger.
Disse retningslinjer er en **anbefalet standard** i undervisningen.
----
==== Overordnede principper ====
* Brug kun bogstaver (a–z), tal og underscore (_)
* Undgå mellemrum og specialtegn (herunder dansk æ,ø og å)
* Undgå SQL-reserverede ord (fx ''order'', ''group'', ''select'')
SQLite skelner ikke mellem store og små bogstaver, men vi gør det for læsbarhed.
----
==== Tabeller ====
* Brug **Stort begyndelsesbogstav (PascalCase)**
* Navngives i **ental**
* Tabellen repræsenterer én type objekt (fx en bruger)
**Eksempler**
User
Order
Product
CustomerAddress
----
===== Felter (columns) =====
* Brug **lowercase** (snake_case)
* Navne skal være beskrivende
Eksempler
id
username
email
created_at
order_date
==== Primærnøgler ====
Primærnøglen hedder altid:
id
Eksempel
id INTEGER PRIMARY KEY
----
==== Fremmednøgler ====
Navngives som: **_id**
Eksempler
user_id
order_id
product_id
----
==== Eksempel på tabel ====
CREATE TABLE Customer (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT NOT NULL,
created_at DATETIME
);
CREATE TABLE CustomerOrder (
id INTEGER PRIMARY KEY,
customer_id INTEGER NOT NULL,
order_date DATETIME,
FOREIGN KEY (customer_id) REFERENCES Customer(id)
);
==== Husk ====
En database med ensartede navne er:
* nemmere at læse
* nemmere at fejlfinde
* nemmere at samarbejde om