Adatbázis tervezés?
Egy IMDB-hez hasonló oldalt csinálok, és a kérdés annyi lenne az adatbázis tervezésnél, hogy hogyan lenne célszerű azt megtervezni a filmekre a felhasználóktól érkező értékeléseket?
Gondoltam ilyesmire (nem tudom, hogy ez mennyire valid megoldás):
Az ÉRTÉKELÉS egyed állhat teljesen külön a többitől, vagy a FILM és FELHASZNÁLÓ egyeddel össze kell így kötni?
Esetleg van ennél egyszerűbb/ésszerűbb megoldás?
Ha csak felhasználónevet rögzít az adatbázistáblában, és e-mailt nem, akkor nem lehet eldönteni, hogy egy adott felhasználóhoz milyen e-mail cím tartozik, így nem lehet neki jelszóemlékeztető vagy megerősítő levelet küldeni.
Ha csak e-mail címet rögzít az adatbázisban és felhasználónevet nem, akkor a megjelenő (gyanítom a felhasználói interakciók megjelennek a honlapon) e-mail cím a spamek martalékává válhat.
Az e-mail cím egyediségével csökkenthető az egy emberhez köthető több felhasználói fiók létrehozásának esélye.
A felhasználónév egyedisége pedig gyanítom egyértelmű.
Köszönöm!
Válaszaim, amelyekkel remélhetőleg a tervezőt segítem a következők:
"Ha csak felhasználónevet rögzít az adatbázistáblában, és e-mailt nem, akkor nem lehet eldönteni, hogy egy adott felhasználóhoz milyen e-mail cím tartozik, így nem lehet neki jelszóemlékeztető vagy megerősítő levelet küldeni.
Ha csak e-mail címet rögzít az adatbázisban és felhasználónevet nem, akkor a megjelenő (gyanítom a felhasználói interakciók megjelennek a honlapon) e-mail cím a spamek martalékává válhat."
A tervező döntése, hogy az e-mail címet, felhasználónevet kötelezően rögzíti-e. Mi indokolná, hogy nem kéri be kötelezően a e-mail címet és a felhasználónevet? Szándékosan meg akarná nehezíteni a saját dolgát?
Az e-mail címek honlapon való megjelenítése tervezési döntés kérdése. Ha a tervezett működéshez nem szükséges, akkor mi indokolná?
"Az e-mail cím egyediségével csökkenthető az egy emberhez köthető több felhasználói fiók létrehozásának esélye.
A felhasználónév egyedisége pedig gyanítom egyértelmű."
Ha a rendszerben több felhasználói fiókot is kezelni akarna, akkor egy újabb egyedtípust kellene felvenni az e-mailek számára. Kérdés, hogy tervező ezt akarja-e.
"Mi indokolná, hogy nem kéri be kötelezően a e-mail címet és a felhasználónevet? Szándékosan meg akarná nehezíteni a saját dolgát?"
Te írtad:
"Fogalmi szinten az EMAIL egyedi azonosító, felesleges másik"
ezért mondtam, hogy gyakorlati szempontból mind a kettő tárolásának van létjogosultsága.
"Ha a tervezett működéshez nem szükséges, akkor mi indokolná? "
A kérdező egy IMDB-hez hasonló oldalt szeretne, ahol gyanítom nem csak pontozni lehet a filmeket, hanem véleményezni is - ebben az esetben a felhasználónév egyedileg azonosítja a felhasználót a többiek számára és "elrejti" az e-mail címét.
Még egyszer mondom ez már nem csak "fogalmi szint", hanem gyakorlati problémákat is figyelembe veszek.
Kedves kérdező!
Adatbázis tervezésnél a legfontosabb, hogy rendszerezett és átlátható legyen az adatbázisod. Egy diagramtervező nem igazán alkalmas tervezésre. Jobb ha célprogramot használsz mondjuk a mysql workbench megteszi.
Érdemes követni néhány egyszerű szabályt.
Példának okáért minden tábládnak legyen egyedi azonosítója. Egy "id" mező, ami egy automatikusan növekvő egyedi elsődleges kulcs. Ez nagyban megkönnyíti a későbbi adatkezelést, és a más táblákból való kereszthivatkozásokat.
Ne próbálj minden adatot egyetlen táblába begyömöszölni. A kulcsfontosságú táblákba csak olyan adatok kerüljenek, amelyek az alap működéshez fontosak, a többi adatot pakold ki olyan értéktáblákba, amelyek nem fontosak minden oldalon, csak ha az adott elem részletes tulajdonságai kerülnek előtérbe (pl megnyitják a film adatlapját)
Kerüld a többszörös hivatkozásokat és az adatduplikációt. Minden adat egyszer szerepeljen egy adott helyen, és azt egy irányból lehessen megközelíteni, ne csinálj labirintust a tábláidból.
Sok sikert!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!