Többértékű függőség gyanújának ellenőrzése adott tábla esetén hogyan végezhető egy SQL LEKÉRDEZÉSSEL?
Azt kell vizsgálni, hogy van-e két vagy több olyan tulajdonság, ami függ egy adott "A" tulajdonságtól, de nem függenek egymástól.
Pl. van egy ilyen tábla:
film(film, színész, producer)
Ebben a táblában:
* a színész függ a film-től.
* a producer függ a film-től.
* de a színész és a producer nem függenek egymástól. -> MVD
Tehát felírva az MVD-t: film ->-> színész, producer.
Megoldás: Szét kell választani a tulajdonságokat külön táblákba:
film_szineszek(film, színész)
film_producerek(film, producer)
Ha erre a logikai gondolatmenetre írsz nekem egy SQL lekérdezést, akkor minden tiszteletem a tiéd lesz! Félre ne érts, elképzelhető, hogy lehet írni, de a függőségeket az adatbázis-szerkezet modelljéből szokás vizsgálgatni.
Nem tudom de van 2 veb oldal amin remélem meg találod amit keresel.
Adatbázisok elméleti alapjai (08abaeae) - Eltepeople.inf.elte.hu › kissA relációs adatbázisok és az SQL nyelv azon alapvető tulajdonságait mutatjuk be, amelyek minden relációs adatbázis-kezelő rendszer esetén azonosak. ... melynek során a funkcionális és többértékű függőségeket, illetve a BCNF, ... Legfontosabb: Az ellenőrző kérdések + a relációs algebrai feladatok megoldása, SQL-be ...Hiányzó: gyanújának adott végezhető
Adatmodellezés, adatbázis-tervezés - ELTEpeople.inf.elte.hu › kissPDF8. az adatbázisterv megvalósítása SQL-ben. (create table…, create ... szállító egy adott árut csak egyféle áron szállíthat, ... Többértékű attribútumok leképezése. • Kérdés ... Minden altípushoz külön tábla felvétele, egy egyed csak egy táblában szerepel. ... esetén azonban az {egységár, mennyiség} → {összeg} függőség már.Hiányzó: gyanújának végezhető LEKÉRDEZÉSSEL?
Nem tudom mennyire használják a gyakorlatban a 4NF-t, de általában BCNF-ig el szoktak menni biztosan. Szerintem 4NF-nek (és feljebb) nagy adatbázisban van értelme, ahol jelentős lassulást okoz az MVD jelenléte.
A probléma ugye az, hogy - maradva a filmes példánál - ha be akarunk szúrni vagy módosítani akarunk egy adaton a táblában, akkor az rengeteg sort érint.
Például:
filmek: sg-1, sga
színészek: tealc, daniel
producer: wright, cooper
A producerek mindkét film készítésében részt vettek.
A színészek mindkét filmben szerepeltek.
Mondjuk van egy ilyen táblánk:
film(sg-1, tealc, wright)
film(sg-1, daniel, wright)
film(sga, tealc, wright)
film(sga, daniel, wright)
Ehhez hozzá szeretnénk adni cooper-t is, mint második producert. Ha megnézzük ez minimum 4 sort érint! Ha a filmeknek 100-100 szereplőjük van, akkor ez máris 200 sort jelentene.
Aztán gondoljunk bele, ha a filmnek 5 producere és 100 szereplője, akkor egyetlen új színész beszúrását 5-ször kell elvégeznünk (a producerek miatt), egyetlen új producer beszúrását pedig 100-szor (a színészek miatt).
Míg ha külön lenne választva a tábla (4NF), akkor:
film_színész(sg-1, tealc)
film_színész(sg-1, daniel)
film_színész(sga, tealc)
film_színész(sga, daniel)
film(sg-1, wright)
film(sga, wright)
Cooper beszúrása itt két sort jelentene, függetlenül attól, hogy hány színésze van a filmeknek. Egyetlen új színész beszúrása 1 sor, egyetlen új producer beszúrása 1 sor.
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!