ugrás a tartalomhoz

MySQL - Általános relációs adatbázis

Liquid · 2005. Ápr. 11. (H), 06.20
Sziasztok!

Egy adatbázis alapú oldal elkészítésénél talán az adatbázis megtervezése az egyik legfontosabb lépés. Tud valaki a relációs adatbázisokról valahol részletes információt a neten? Megmondom őszíntén amikor nekiállok megtervezni egy adatbázist, a tábláknál és a mezőknél valahogy mindig összekavarodom... Nem akarok mindent bezsúfolni egy táblába!

Konkrét feladat: Heti rendszerességű lemezajánló (TOP10) adatbázis elkészítése

- id
- Dátum (Év/Hónap/Nap)
- Aktuális Helyezés

- Lemez előadója
- Szám címe
- Lemez kiadója
- Kiadványszám

Tud valaki segíteni? (Sorry ha nagyon alap...) Előre is köszi!
 
1

kérdések amit tegyél fel magadnak

tso · 2005. Ápr. 11. (H), 08.36
kezd onnan a feladat megközelítését hogy mit is akarsz (amit itt felvázoltál), de a lehető legkevesebb redundáns adat legyen (ennek megfelelően módosítsd az eredeti tervet), valamint az 'összetartozó' adatok egy táblában legyenek (pl: nehogy rendelések közt tároljuk a felhasználó kedvenc weboldalát, mert annak semmi értelme), ha már nincs mit egyszerűsíteni akkor eljutottál az ideális adatbázishoz /yoh nagyon leegyszerűsítve a dolgot/

ebben az eseteben ez úgy nézne ki hogy:
lemez előadója, lemez kiadója átkerülne más táblába és csak id-t tárolnád, szám címe pedig szintén egy másik táblában lenne, mivel egy lemezhez több szám is tartozik, ezért lemez_idhez kapcsolnád a szám_idket a szamok táblában

lemezek tábla:
lemez_id
dátum
helyezes
eloado_id
kiado_id
kiadvanyszam
kep /* vagy egyéb lemezhez kapcsolódó dolgok */

eloado tábla és kiado tábla:
eloado_id
eloado_nev
kep /* vagy egyéb előadóhoz kapcsolódó dolgok */

szamok tábla:
szam_id
lemez_id
szam_cim
szam_hossz
demo /* vagy egyéb szamhoz kapcsolódó dolgok */

felvetődhet benned a kérdés hogy így meg az id-k redundásak, azonban van egy lényegi különség azon kívül h nem igaz ;-) - mivel ez adatok kapcsolására kell -: az id mondjuk valamilyen integer típus az előadó neve stb meg ugye varchar nyilván az integer kisebb helyet fog foglalni a táblákban...

nah a végére azért megtaláltam amit kerestem - szóval érdemes ezeket átolvasni:
http://weblabor.hu/hirek/20010522/adatbaziskezeles
2

Egy kis kötekedés

tiku I tikaszvince · 2005. Ápr. 11. (H), 08.59
Akkor kötekednék egy picit!
A lemezek táblában a kiadványszám, ha jól értem, akkor azt jelentené, hogy adott előadónak hány lemeze van. Ha ez így van akkor felesleges tárolni, mivel egy egyszerű leszámlálással (COUNT()) hozzá lehet jutni az információhoz.
Most jutott az eszembe, hogy lehet hogy azt jelentené, hogy raktáron hány darab van az adott lemezből? Ha viszont ezt takarja a "kiadvanyszam", akkor ÍGY ok.

plusz egy megjegyzés a bővíthetőség jegyében: ha bővül az adatbázis, pl más tipusú dokumentumok is bekerülhetnek majd, akkor viszont a raktározási infó(ka)t, érdemes lehet külön táblába vinni...

Amúgy mi alapján kaphat/kapna helyezést egy album?
3

kiadványszám

tso · 2005. Ápr. 11. (H), 09.44
és van egy harmadik lehetőség - amire én gondoltam ;-) - hasonlóan az ISBN számhoz: az ISRC ...
4

szőrszálhasogatás

tiku I tikaszvince · 2005. Ápr. 11. (H), 09.48
akkor nem lenne szerencsésebb ha nem 'kiadványszám' lenne a neve hanem 'isrc', esetleg 'isrc-szam'? bár sokat segítene az értelmezésben, ha a kérdező kifejtené, hogy Ő mit ért kiadványszám alatt...
8

Nem voltam egyértelmű

Liquid · 2005. Ápr. 11. (H), 13.28
Uhh, sorry, azt hiszem, itt rendesen meg lettek keveredve a dolgok. Úgy néz ki, nem voltam elég egyértelmű. Nos az adatok a következők:

Adott hetente 10 darab szám, melynek van

- Előadója
- Szám címe
- És egy kiadványszáma, ami az adott lemezre vonatkozó egyedi információ (a kiadók mindig ellátják a kiadványaikat egy egyedi "id" val, pl SHADOW045)

Emellett tárolni kell az alábbi információkat:

- Dátum (mikori listán szerepel a szám)
- helyezés (vagyis az adott 10es listán hanyafik helyeztést ért el)

Ez így már egyértelmű? Köszi!

Liquid [Eclipse]
5

erd

Anonymous · 2005. Ápr. 11. (H), 11.43
feldodbtam én is,kis gyakorlás sose árt, az ERD-t
http://toxin.webes.hu/ek/Default.html

attribokat nem raktam fel, az elődleges kulcsok alapján egyértelműnek éreztem hova kerülnek

lehet kötekedni, már rég csináltam (2hónapja ilyet), legalább átnézem megint :)
6

ooops toxin voltam :)

toxin · 2005. Ápr. 11. (H), 11.45
ooops toxin voltam (ha az address-ből nem derült ki) :)
7

rev2

toxin · 2005. Ápr. 11. (H), 12.58
na megint én, rev2. eszembe jutott hogy egy szám szerepelhet több albumon (Best of stb), egy számot megcsinálhat több előadó (mix,feldolgozás stb), sőt ugyanaz a nóta szerepelhet egy albumon többször is (más-más előadóval), egy számot az eredeti előadója is többször feldolgozhat: lol szal:

http://toxin.webes.hu/ek/2/MImage.html

várom a véleményeket most már engen is érdekel hogy jól gondolkoztam-e :)
9

MySQL - Táblaszerkesztő

Liquid · 2005. Ápr. 12. (K), 18.42
Sziasztok!

Megoldottam a dolgot, már csak annyi kérdésem lenne, hogy Ti használtok-e valamiféle programot, mellyel grafikusan tudjátok ábrázolni az adatbázisban lévő táblákat, s azok kapcsoaltait? Láttam az MS Visio programját, de ekkora összeget nem vagyok hajlandó kifizetni egy ilyenért!

Az EasyCase-ről még jókat mondtak, de azt valahogy nem sikerült megtalálnom...

Liquid [Eclipse]
10

DBDesigner4

tiku I tikaszvince · 2005. Ápr. 12. (K), 22.04
Én a DBDesigner4-t használom, főleg az adatbázis kialakítására
itt találtam rá a veblavoron
http://weblabor.hu/hirek/20030427/ingyenesvizualis