Hogyan építsem fel az SQL táblákat hogy jó legyen?
Tanácsot szeretnék kérni, hogyan építenétek fel több (vagy egy?) SQL táblából egy honlapot.
A feladat viszonylag egyszerű, idegen nyelvű szövegek magyarra fordításait akarom először sql táblába tenni, majd azt honlapon megjeleníteni. Nekikedztem már és létrehoztam a következő táblákat ami tulajdonképp minden bejegyzés elemei lesznek:
- forditok *******/aki leforditotta a szoveget/
- eloadok ********/aki az eredeti szoveget irta. pár fordításhoz több eloado is tartozhat/
- magyar_szoveg ******/a szöveg fordítása, átlagban kb egy oldal mindegyik/
- kulfoldi_szoveg *******/a leforditott sziveg eredetije
- bejegyzes_cime *********/a szöveg címe/
- mufaj *******/ a szoveg mufaja
- video ******/ a legtobb szoveghez tartozik youtube video
mindegyik tabla igy ket oszlopbol all egy primary key ami egy szám lesz es értelemszeruen fordito/cim, stb. Igy lenne a legtisztább a bajom csak az, hogy nem fogom tudni beazonostani es összekötni a szövegeket az előadóval ha minden külön táblában van. tehát szerintem minimálisan kellene egy olyan tábla, ahol van primary key + magyar+ kulfoldi szoveg+ eloado neve oszlop.
Vagy egyszerűbb lenne az egészet egy nagy táblázatba tenni, az összes szükséges oszloppal? De ez valamiért nem szimpatikus, szerintem nem úgy kellene csinálni, hanem minnél több táblával és majd primary keyekkel összekapcsolni, de ugyanakkor jó lenne átlátni az egészet is. De mivel több mint 800 fordítás van, nem szeretnék rossz irányba elindulni.
Sajnos mint gondolom kiderült nagyon kezdő vagyok, és örülnék ha valaki tudna tanácsot adni! Köszönöm!
A meglátásod jó, hogy a kulcsokkal kapcsold össze, de talán pár helyen lehet egyszerűsíteni, illetve sokféle felépítés lehet.
Én így első ránézésre valami ilyesmi megoldást csinálnék, szem előtt tartva a bővíthetőséget.
emberek tábla //ebbe lehetne új előadót vagy fordítót felvenni, vegyesen, esetleg több adatot megadni, mondjuk nick név, jelszó, ha ez is kell az oldalhoz
id - elsődleges kulcs
név - ez egyértelmű :)
szövegek tábla //ide jönnek a fordított dolgok, feltételeztem, hogy egy szöveget csak egyszer akarunk fordítani, tehát nincs olyan, hogy xy csinál egy másmilyen fordítást
id - elsődleges kulcs itt is
kulfoldi_szoveg - eredeti nyelvű szöveg
magyar_szoveg - magyar fordítás
eloado_id - itt benne az ID-je annak az embernek, aki előadta
fordito_id - itt benne az ID-je a fordítónak
mufaj - a műfaja (kulturált lehet ha a műfajokat egy külön táblában felsorolod és ide csak a megfelelő ID-t teszed be, de mondjuk így egyszerűbb, ha szövegesen letárolod a műfajt... csak az fontos, hogy egységes legyen, tehát az azonos műfajúak azonos nevet kapjanak)
video - ha csak 1 videó lehet minden fordításhoz, akkor azt lehet itt is tárolni, ha több, az is megoldható, hogy a linkeket tagolod mondjuk vesszővel, de a szebb megoldás itt is felvenni külön egy videók táblát és egy kapcsoló tábla segítségével a videó ID-t egy fordítás ID-hez kapcsolni
Röviden mondjuk ennyi.
De persze a különböző igények miatt eltréhet a felépítés.
Például lehet, hogy az oldalra más emberek külföldi szövegei kerülnek fel, de pl az oldalon regisztrált felhasználók fordítanak -> az előadókat kényelmes lehet szövegként a fordítás táblájában tárolni, de a felhasználókat jobb ilyenkor ID-vel csatolni. (Mivel a felhasználókat amúgy is valahol tárolni kell a reg. után ugyan ahol fent van a netük és a jelszó hash, e-mail cím...)
Ha van konkrétabb kérdés szívesen válaszolok, most csak egy gyors példát dobtam ide össze.
nagyon köszi!
én is valami hasonló kombinációra gondoltam! ezek többségében dalszövegek, fordító maximum 10 ember de ez később majd ha lesz regisztrációs felület akkor növekedhet. viszont előadóból van többszáz, meg ugye a fordításból.
sajnos nem teljesen látom át mennyire számít a későbbi gyorsaság és használhatság szempontjából h egy tábla mekkora. értelemszerűen a "szövegtábla" lesz igazán nagy, hiszen abban lesz az egész szöveg. azt hiszem úgy fogom csinálni h magyar+külföldi szöveg a szövegtáblában, a többi adat viszont mind egyéni id-k alapján ugyanebben a táblában. illetve a videó is még a szövegtáblában, az url, hogy lássam melyikhez tartozik, hiszen id+url alapján nemigen fogom látni h melyik szöveghez tartozik :)
Vagy, lehetne úgyis h videó tábla úgy h primary key_id+szovegtabla_id+video url. Csak hangosan gondolkodtam :)
"hiszen id+url alapján nemigen fogom látni h melyik szöveghez"
Na várj, itt valami keverés lesz.
Ha video ID-je össze van valamilyen módon kapcsolva a szöveggel, akkor máris visszakereshető a dolog.
Mármint látszik, hogy a cikkhez milyen videó van és a videóhoz milyen cikk van.
Én úgy látom,hogy kell egy köztes tábla.
a fordítás és előadó közé ami úgy néz ki,hogy ID,forditas_id,eloado_id
tehát ez forditas_eloadoi cimmel mehetne.
A másik én több fordítót is engedélyeznék,mert előfordul,hogy nem egyedül fordítják le a darabot.
Az is kérdés,hogy csak egy nyelvre készük fordítás illetve lehet-e több fordítás egy nyelvre.
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!