Baze podataka

Funkcijska zavisnost, PL procedura i DD shema

Over(C)lock pon 23.10.2023 23:20

Pozdrav, imam jednu tablicu u kojoj bi morao napraviti primjerice PL proceduru, kako bi provjerio FZ za sve atribute i kombinacije. Ima li netko da je na tom polju na ti, odnosno da se kuži dosta dobro u BP za neko savjetovanje, pomoć i slično. Napravio bi to u mySQL-u. Tablica ima 8 stupaca i popunjena je sa 6 redaka. 

Over(C)lock uto 7.11.2023 00:06

Da se nadovežem, napravio sam SQL-a koji će mi reći ako se krši funkcijska zavisnost između atributa neka dva stupca u tablici, ako ne tad vrijedi FZ a on glasi ovako:

 

SELECT t1, GROUP_CONCAT(DISTINCT t2 ORDER BY t2) AS RazlogZastoNePostojiFunkcijskaZavisnost
FROM R
GROUP BY t1
HAVING COUNT(DISTINCT t2) > 1 AND COUNT(DISTINCT t2) != 1;

 

E sad u skupu R odnosno tablici ima t1...t8 stupaca što bi bilo n(n-1) 8(7) kombinacija = 56. 

Ne praktično je tako analizirati ima li netko ideju za petlju koja bi iterirala za svaku kombinaciju krenuvši od: 12 13 14 15 16 17 18 21 22 23 i nadalje tako dok se ne pokriju sve kombinacije, a rezultat umjesto onaj prikazan select upitom mogo bi nekako drugačije ispisati. Da napomenem isključivo u obzir dolazi PL.