Sada je: 29 ožu 2024, 13:26.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
shrike je napisao/la:CSV fajl se može direktno importati u mysql, uopće ti ne treba neki program. https://dev.mysql.com/doc/refman/8.0/en/load-data.html


Znaimljivo :thmb-up Ali treba mi i tagovi ilti one-to-many relationship? Može li se i to?
If you cannot trust yourself, you cannot even trust your mistrust of yourself – so that without this underlying trust in the whole system of nature you are simply paralyzed.
Avatar
Postovi: 29
Postovi: 29
Pridružen/a: 05 lip 2020, 08:43
Lokacija: Srijem (Hr)
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 2 puta
Spol: M
OS: arch/ubuntu/xfce
Kakvi tagovi?
Es gibt keinen Gott, kein Universum, keine menschliche Rasse, kein irdisches Leben, keinen Himmel, keine Hölle. Es ist alles ein Traum - ein grotesker und dummer Traum. Nichts existiert außer dir. Und du bist nur ein Gedanke - ein vagabundierender Gedanke, ein nutzloser Gedanke, ein heimatloser Gedanke, der verloren in der leeren Ewigkeit wandelt!
Avatar
Moderator
Postovi: 10321
Moderator
Postovi: 10321
Pridružen/a: 07 pro 2007, 18:07
Podijelio/la zahvalu: 181 puta
Primio/la zahvalu: 313 puta
Spol: Y
OS: utuntu 19.10
shrike je napisao/la:Kakvi tagovi?


Npr. u smislu da imaš blog article a article ima tagove:

naziv1|tag1,tag2,tag3,tag4|datum|etc
naziv2|tag1,tag2,tag3,tag4|datum|etc

Da li ja mogu importat i automatski dobiti složene "tag" sql relacije?
Pretpostavljam da je isto neko skriptanje potrebno?
If you cannot trust yourself, you cannot even trust your mistrust of yourself – so that without this underlying trust in the whole system of nature you are simply paralyzed.
Avatar
Postovi: 29
Postovi: 29
Pridružen/a: 05 lip 2020, 08:43
Lokacija: Srijem (Hr)
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 2 puta
Spol: M
OS: arch/ubuntu/xfce
i dalje nisam siguran kaj je to, ali ovako ne izgleda kao validni CSV fajl. Tj, nije, jer je u CSV-u separator konzistentan, obično "," ili tab, a ti odjednom imaš | i , kao separatora i nejasno je jel to sve isto, da li bi to bili stupci sve ili što. Ai recimo ako ti je | separator, onda to možeš importati u tablicu u kojoj je prvi stupac naziv, drugi stupac tag1,2,3,4, pa treći stupac datum itd. U tom slučaju bi trebao reći da je separator |, umjesto ",", ali to se može.
Es gibt keinen Gott, kein Universum, keine menschliche Rasse, kein irdisches Leben, keinen Himmel, keine Hölle. Es ist alles ein Traum - ein grotesker und dummer Traum. Nichts existiert außer dir. Und du bist nur ein Gedanke - ein vagabundierender Gedanke, ein nutzloser Gedanke, ein heimatloser Gedanke, der verloren in der leeren Ewigkeit wandelt!
Avatar
Moderator
Postovi: 10321
Moderator
Postovi: 10321
Pridružen/a: 07 pro 2007, 18:07
Podijelio/la zahvalu: 181 puta
Primio/la zahvalu: 313 puta
Spol: Y
OS: utuntu 19.10
Pa sam napisao js (node) skriptu koja ga
konvertira u sql. U pola svega sam imao problema sa case-insensitive
string (jer channels table je one-to-many sql relacija). Pa sam našao
negdje na stackoverflowu da postavim char set u utf8_bin...


Meni zvuči ovo kao da radiš nešto loše u smislu dizajna baze podataka.
Avatar
Site Admin
Postovi: 4639
Site Admin
Postovi: 4639
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 101 puta
Primio/la zahvalu: 209 puta
Spol: M
OS: fedora 34
iweb je napisao/la:
Pa sam napisao js (node) skriptu koja ga
konvertira u sql. U pola svega sam imao problema sa case-insensitive
string (jer channels table je one-to-many sql relacija). Pa sam našao
negdje na stackoverflowu da postavim char set u utf8_bin...


Meni zvuči ovo kao da radiš nešto loše u smislu dizajna baze podataka.


Objasni? Pa imaš artikl (article) i imaš tagove.
; je pod-separator. Provjerio sam, ovako izgleda csv fajl i to je jedan artikl:

id|url|title|body|datum|tag1;tag2;tag3
id|url|title|body|datum|tag1;tag2;tag3

Kako bi ti to napravio osim sa one-to-many?
If you cannot trust yourself, you cannot even trust your mistrust of yourself – so that without this underlying trust in the whole system of nature you are simply paralyzed.
Avatar
Postovi: 29
Postovi: 29
Pridružen/a: 05 lip 2020, 08:43
Lokacija: Srijem (Hr)
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 2 puta
Spol: M
OS: arch/ubuntu/xfce
a mislim, postoji niz načina kako to napraviti i svi uglavnom ovise o tome što ti je potrebno, ali ako tagove ne spremaš kao stringove (neku sličnu strukturu), za pretpostaviti je da radiš relaciju jer želiš lagano moći mijenjati npr naziv taga, bez da to moraš raditi s velikom složenošću.

ako je takva nekakva ideja, onda bi imao npr ovakvu strukturu:

Kod: Označi sve
tags(id int auto_increment, name varchar(n), ...)
posts(id int auto_increment, url varchar(n), title varchar(n), body longtext, postedon date, ...)
tagged(tag_id int, post_id int) # ovo je relacija


onda bi sve tagove nekog posta s njihovim nazivima dohvaćao s npr
Kod: Označi sve
SELECT tags.name FROM tags WHERE tag_id in (SELECT tag_id FROM tagged WHERE post_id = [tvoj post id])


dodavao bi tag na post sa
Kod: Označi sve
INSERT INTO tagged VALUES ([tvoj tag_id], [tvoj post_id])


a pretraživao dostupne tagove sa
Kod: Označi sve
SELECT FROM tags WHERE name LIKE '%query%'


dodavao novi tag sa
Kod: Označi sve
INSERT INTO tags VALUES (...)


jedini onda kontekst u kojem ti je potrebno pretraživati tagove je kad gledaš postoji li taj tag već, ali uz dobro postavljen charset ne bi trebalo biti problema s tim.

nije mi bilo jasno odakle implikacija da one-to-many relacija povlači da imaš problema sa case sensitivityjem i još uvijek to ne vidim. ipak, relacije s puno mijenjanja atributa u postojećim članovima relacije ne čine mi se kao pametna ideja.

edit:
ali čekaj? kako su tagovi one-to-many relacija?

imaš n tagova. svaki od tih n tagova je povezan s m članaka. svaki članak ima k tagova. to je many-to-many, što ne?
Avatar
Site Admin
Postovi: 4639
Site Admin
Postovi: 4639
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 101 puta
Primio/la zahvalu: 209 puta
Spol: M
OS: fedora 34
iweb je napisao/la:nije mi bilo jasno odakle implikacija da one-to-many relacija povlači
da imaš problema sa case sensitivityjem i još uvijek to ne vidim. ipak,
relacije s puno mijenjanja atributa u postojećim članovima relacije ne
čine mi se kao pametna ideja.


Pa kažeš:
iweb je napisao/la:Meni zvuči ovo kao da radiš nešto loše u smislu dizajna baze podataka.


iweb je napisao/la:edit:
ali čekaj? kako su tagovi one-to-many relacija?
imaš n tagova. svaki od tih n tagova je povezan s m članaka. svaki članak ima k tagova. to je many-to-many, što ne?



Da sry upravu si. Mislio sam many-to-many.
Ali nema veze ono što mi je trebalo je:

Kod: Označi sve
ALTER DATABASE
    database_name
    CHARACTER SET = utf8mb4
    COLLATE = utf8mb4_unicode_ci;
If you cannot trust yourself, you cannot even trust your mistrust of yourself – so that without this underlying trust in the whole system of nature you are simply paralyzed.
Avatar
Postovi: 29
Postovi: 29
Pridružen/a: 05 lip 2020, 08:43
Lokacija: Srijem (Hr)
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 2 puta
Spol: M
OS: arch/ubuntu/xfce
pa da.

ne uzimajući u obzir činjenicu da je ovo many-to-many relacija, ne vidim smisao u ovome što mi se čini da tvrdiš da one-to-many relacije povlače probleme s case sensitivityjem, ali možda se i krivo razumijemo. nije ni prebitno :)

inače, dobar materijal na našem jeziku je Mangerov udžbenik Baze podataka.
Avatar
Site Admin
Postovi: 4639
Site Admin
Postovi: 4639
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 101 puta
Primio/la zahvalu: 209 puta
Spol: M
OS: fedora 34
Meni se uistinu čini da sva 3 pričamo o 3 različite stvari :D
Es gibt keinen Gott, kein Universum, keine menschliche Rasse, kein irdisches Leben, keinen Himmel, keine Hölle. Es ist alles ein Traum - ein grotesker und dummer Traum. Nichts existiert außer dir. Und du bist nur ein Gedanke - ein vagabundierender Gedanke, ein nutzloser Gedanke, ein heimatloser Gedanke, der verloren in der leeren Ewigkeit wandelt!
Avatar
Moderator
Postovi: 10321
Moderator
Postovi: 10321
Pridružen/a: 07 pro 2007, 18:07
Podijelio/la zahvalu: 181 puta
Primio/la zahvalu: 313 puta
Spol: Y
OS: utuntu 19.10

Na mreži
Trenutno korisnika/ca: / i 8 gostiju.