Jeg er pludselig blevet i tvivl om min modellering rent faktisk er god: Har følgende eksempelscenarie:
Der findes de 3 tabeller: <Country>,<City>,<Rules>,<Job> som har følgende struktur:
Country: Id, Name City: Id, Name Job: Id, CountryId(FK) Person: Id, CityId(FK), JobId(FK)
En person har både tilknyttet en by (og derved også et land) og samtidigt tilknyttet et "Job". Men ovenstående kan jo sagtens være noget rod, da personen nu faktisk kan have jobs fra ALLE lande selvom han er tilknyttet en by til et specielt land. Jeg er gået lidt død og kan ikke helt se hvordan man kommer udenom det?
Ved selvfølgelig godt, at det kan sikres i data access laget, men synes bare ikke det er pænt, når to forskellige "veje" i databasen kan give forskelligt svar. (Slå land op via regel eller via by).
Ok det var bare et eksempel - men lad os nu bare sige man kun kan have jobs i sit eget land. Problemstilling er bare, at entitien "Job" eksisterer på tværs af lande, og en person skal tilhøre et "job" som er oprettet i det land.
Hvis jeg går person->job->city->country er jobs jo pludselig by-afhængig?
Jeg kan ikke lige huske alle de forskellige normaliseringer, men jeg synes bare at kunne huske, at når man får forskellige resultater ved at gå to forskellige veje, så er der noget galt med strukturen.
Hmm in trinær tabel vil vel bare gøre, at der er en masse vedligeholdelse når der oprettes et nyt job til et land f.eks.. Men kan godt følge din tanke.
Men tror bare jeg ender med at lave strukturen som jeg har skrevet, og så må jeg holde styr på det hele i business laget. Eneste måde det kan gå i kage på er, hvis man manuelt ændrer ting i databasen så.
Ja, jobet skal i JobTable ... men er generelt hvis alle lande skal have det og du undgår vel også det du var bange for skete ... :-)
Men der er mange løsninger på et problem ... :-)
mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.