databaseopbygning

Tags:    mysql php

først vil jeg lige sige jeg intet vidste om dette før idag, men jeg har fulgt ' fra begynder til login ' og vil bygge flere felter på, men hvordan skal strukturen være i databasen, brugerne skal kunne komme ind på diverse maskiner og indstille deres data som så skal fremgå næste gang de logger ind og ændrer en eller flere indstillinger, der skal kun gemmes seneste indstilling.

katagorier:


maskiner (der er mange forskellige)

indstilling 1 (indstilling på maskinen)

indstilling 2 (en anden indstilling på maskinen)

dato (dato for sidste ændring)

er det nok jeg laver en ny tabel med disse 4 kolonner?
og hvordan får jeg det kædet til hver enkelt bruger?



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
En tabel med maskiner:
machines: [id, name, type, etc.]

En tabel med indstillinger:
settings: [machine_id, user_id, identifier, value, updated]

En tabel med brugere:
users: [id, username, password]

Indstillinger bliver en mange-til-mange relations tabel hvor de dog også indeholder nødvendige ekstra værdier.

En SQL kan se ud som følgende:
SELECT * FROM settings INNER JOIN machines ON settings.machine_id = machines.id WHERE settings.user_id = ?

Derved har du normaliseret dine data en smule og du vil kun have een bruger og een maskine, men mange indstillinger.



En tabel med indstillinger:
settings: [machine_id, user_id, identifier, value, updated]

går ud fra jeg her kan lave flere value's da hver maskiner har flere indstillinger. eller misforstår jeg?





Du misforstår lidt ... En række i indstilling er en indstilling ikke et sæt indstillinger f.eks:
Maskine 3, bruger 2, ip, 123.456.789.101
Maskine 3, bruger 2, domæne, eksempel.com



t