Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan építsem fel az SQL...

Hogyan építsem fel az SQL táblákat hogy jó legyen?

Figyelt kérdés

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!



2012. jún. 9. 21:12
 1/5 anonim ***** válasza:

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.

2012. jún. 9. 21:34
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

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 :)

2012. jún. 9. 21:55
 3/5 anonim ***** válasza:

"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.

2012. jún. 9. 22:04
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
igen, szerintem ugy fogom osszekapcsolni, hogy felviszem a szoveget a szovegtablaba, igy lesz szoveg_id-m, a video tablaba felviszem a video urlt +a neki megfelelo szoveg_idt mellé.
2012. jún. 9. 22:26
 5/5 anonim ***** válasza:

É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.

2012. jún. 10. 11:18
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!