Vzájemné propojení všech možných souvisejících položek (článek, obrázek, novinka, soubor, osoba, kontakt....)
Řeším teď poměrně zásadní věc. Na webu mám články, novinky, obrazky, soubory, osoby a firmy. A potřeboval bych pomocí databáze sql udělat možnost tzv. SOUVISEJÍCÍHO PROPOJENÍ všech těchto položek.
Struktura sql:
tabulka Článek (idc, titulek, další položky......)
tabulka Novinka (idn, titulek, další položky.....)
tabulka Obrázek (ido, titulek, další položky.....)
tabulka Soubor (ids, titulek, další položky.....)
tabulka Pracovník (idp, titulek, další položky.....)
tabulka Firma (idf, titulek, další položky.....)
a tabulka Propojení(jedinecne_id, clanek_id, novinka_id, obrazek_id, soubor_id, pracovnik_id, firma_id)
Zde by se ukládalo následujícím způsobem - Příklad:
propojení článek_id=11 a obrázek_id=22 ------>insert into Propojení values(null,11,0,12,0,0,0)
propojení článek_id=11 a pracovník_id=33 ------>insert into Propojení values(null,11,0,0,0,33,0)
propojení novinka_id=44 a pracovník_id=33 ------>insert into Propojení values(null,0,44,0,0,33,0)
Jde mi nejen o logiku věci, ale i zpracování, které by co nejméně zatěžovalo databázi. Jistě, šlo by sice udělat zvlášť tabulky na každé možné propojení, ale to by těch tabulek bylo šíleně hodně. Takhle by bylo vše v jedné a při zoobrazení článku by se měl volat sql dotaz, který by zjistil, co všechno s článkem souvisí:
SELECT * from Propojení where clanek_id=11 --------> Vypsalo by to všechny řádky, kde se nachází clanek_id číslo 11.
Řešení a dotazy:
A) Vždy jen 2 položky? - Podle mého by bylo nejlepší, kdyby se pro jeden řádek vždy párovali jen dvě položky. Ostatní by byly buď 0 a nebo '' prázdné množiny.
B) Je lepší, kdyby prázdné položky byly 0 a nebo prázdné množiny ''?
C) Jak zabránit možným duplicitám? Aby nebylo např. 2x a vícekrát stejné párování
D) Jak co nejefektivněji takováto data vytahovat z databáze?
Mockrát děkuji všem za nápady.
LinkedIn - Zdeněk Pikulík
Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce
Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 14.10.2015 13:52.