Diskuze: Struktura databáze
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 8 zpráv z 8.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
"pro každého uživatele tabulku" - Není vhodné, no vlastně je to blbost
a vůbec, je to ničemu.
Trochu ti to rozeberu, ačkoliv bych neřekl, že je to obzvlášť těžké,
stačí, když se podíváš na obrázek přiložený k mému komentáři, ale
také ti to popíši.
Vytvoříš si 2 tabulky, ve kterých budeš mít data - tabulka pro
Uživatele a pro "Follow"
(moje tabulky mají předpony tbl, jen pro lepší přehled)
Snad jsem to napsal dost jasně. Pokud něčemu nerozumíš, nebo chceš pomoct, napiš do PM nebo odpověz na můj komentář, nemusel bych si toho totiž všimnout.
Dělat tabulku pro každého uživatele určitě ne. Dle mě nejlepší
způsob je udělat tabulku, která bude obsahovat ID uživatelů (kdo sleduje a
koho sleduje).
V tabulce může být unikátní klíč složený právě ze sloupců 'ID kdo' a
'ID koho'.
Děkuji moc. Tvoje možnost mě taky napadla, ale nevěděl jsem, jestli to je to správné řešení.
Ještě jedna taková otázka (nechce se mi kvůli tomu otvírat nové vlákno). Dá se to aplikovat třeba i na funkci "Líbí se mi"? Like/Dislike? Aby uživatel nemohl hlasovat hodnotit víckrát atd.
Prakticky ano, ale v nějakých složitějších apkách bych to udělal trochu unikátnějším způsobem. Ale ano, v podstatě stačí nahradit slovo Follow za Like (Like jako název tabulky je špatný nápad kvůli tomu že like je v sql dotazu, ale jen pro ukázku použijeme Like jako název tabulky). V tom případě tam nebude Koho ale Co. Sloupec "Co" bude obsahovat ID likenutého komentáře/příspěvku či čehokoliv. Btw názvy sloupců a tabulek co zde píši jsou zvoleny pro přehlednost, doporučuji si promyslet názvy sloupců, pokud někdy budeš rozšiřovat tabulky atp.
V PHP a MySQL se už nějaký čas pohybuju a vyznám se v tom, takže nemusíš vše opodstatnit. Jen jsem nikdy nedělal v MySQL žádné velké projekty, pouze nějaké uživatele a tak. Takže mě spíš u tohoto jen zajímala struktura. Nemohl bys mě třeba někam nasměrovat, kde bych se dočetl třeba o tom lajkování, nebo o složitějších strukturách databází?
No nasměrovat je těžký a ukázat na nějaký trochu lepší projekt ti moc nepomůže. Spíše bych si být tebou vymyslel nějaký malý projekt na kterém bys propojil více jak 5 tabulek mezi sebou. Nám ve škole po pár měsících "programování" řekli udělejte databázi CDček. To vypadá tak, že máš album a v tom skladby + jejich časy atp atp. Prostě nejlépe se to naučíš na praxi, na vlastním projektu, prostě cokoliv. Fantazii se meze nekladou. Btw i zde na ITnetwork najdeš pár tutoriálů, což byli dříve i projektu do soutěží.
Niečo o tvorbe vecí ako ako je práve lajkovanie a "followovanie" je celkom
dobre spravené tu: https://www.youtube.com/howcode
Veľa som to nepozeral ale kamoš hovoril, že je to užitočný návod.
Zobrazeno 8 zpráv z 8.
