Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoć oko kreiranja baze podataka

[es] :: MySQL :: Pomoć oko kreiranja baze podataka

Strane: 1 2

[ Pregleda: 7668 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vandertaat

Član broj: 347399
Poruke: 7
188.124.212.*



Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 19:56 - pre 19 meseci
Hvala ti na dugom i mukotrpnom objasnjenju, znam da vam je to neshvatljivo ali jednostavno se slijeva previse informaciija u kratkom vremenu. Ja sam nešto sam čačkao i prilikov povezivanja tabela sam vidio da su mi kolone različitih tipova i sve sam ih promijenio na INT, shvatio sam grešku odmah nakon sto sam stavio ovdje objavu.
Da, svjestan sam ja da poruka ne zavisi od plate i da preko poruka necu traziti podatke o plati tog zaposlenog.
Nama je u zadatku navelo da u tabeli plata stavimo i tip zaposljavanja, samo iz tog razloga i jeste tu.
Ja sam to sada povezao ovako.

[url=https://postimg.cc/RN5YFQ9m][/url]

Naravno da nisam ocekivao da mi neko drugi nacrta tako ne bi ni bilo smisla, cisto sam htio par savjeta i hvala ti svakako.
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 20:04 - pre 19 meseci
Ovo je skroz ok s obzirom na scope zadatka. Ovakva baza moze da funkcionise.

Generalno, razmisljanje kad radis sa relacijama treba da ti se svodi na to da svaki "entitet" ima neki svoj broj, nikakav tekst ne gledas, samo te brojeve kojim su povezani i to je to.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

vandertaat

Član broj: 347399
Poruke: 7
188.124.212.*



Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 20:08 - pre 19 meseci
Citat:
Zlatni_bg: Ja sad tek vidim da si ti u "plate" stavio unique na "zaposleni_id" na poslednjoj slici.

...

Molim te, objasni mi samo zasto si to uradio, i zasto si stavio varchar za FK id-jeve, i dacu ti kompletan dijagram sa celim objasnjenjem.


Iskreno, iznad u teksu u nekom objasnjenju sam procitao da se id zaposlenog mora oznaciti sa unique pa sam stavio, ocigledno nisam dobro shvatio.
A za varchar sam objasnio da mi je jednostavno promaklo i kada sam dalje nastavio raditi sam promijenio.

 
Odgovor na temu

vandertaat

Član broj: 347399
Poruke: 7
188.124.212.*



Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 20:19 - pre 19 meseci
Citat:
Zlatni_bg: Ovo je skroz ok s obzirom na scope zadatka. Ovakva baza moze da funkcionise.

Generalno, razmisljanje kad radis sa relacijama treba da ti se svodi na to da svaki "entitet" ima neki svoj broj, nikakav tekst ne gledas, samo te brojeve kojim su povezani i to je to.


Hvala, mnogo mi znaci da ovo moze da funkcionise posto sada za trebam odraditi i drugi dio zadatka, a ne bih da zapocinjem ako nista nije uredno.

U drugom dijelu trebam :
definisati indekse – postaviti indekse na mesta na kojima bi najviše odgovaralo; uzeti u obzir i postavljanje Full Text Indexa;
kreirati pogled – kreirati pogled kojim će se omogućiti dobijanje samo osnovnih informacija o korisniku: ime, prezime, datum i mesto rođenja;
napraviti uskladištene procedure za brisanje, unos i izmenu korisnika;
napraviti uskladištene procedure za unos, brisanje i izmenu podataka o platama;
napraviti uskladištene procedure za unos, brisanje i izmenu samih poruka;
napraviti funkciju koja će za prosleđeni parametar identifikacionog broja korisnika da prebroji i vrati ukupan broj njegovih poslatih poruka.

ovo sad mi je tek zbunjujuce ali idem polako da se zabavljam sa time, ako gdje zapnem sada znam gdje da se obratim. :)
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 20:26 - pre 19 meseci
Gledaj, ovde ima par zamerki, ali nisam siguran da nisu dati tako unutar zadatka. Realno, mene uvek iznervira kad neko sliku stavi kao BLOB u bazu, ali opet - kapiram da to cesto traze jer im treba "nesto sto moze u BLOB". Jako mi se, na primer, svidja sto je plata DECIMAL.

U svakom slucaju, ovo je zadatak za osobu koja tek uci. Na tom nekom nivou, ovo je skroz u redu. Za ucenika meni je ovo odlicno. Realno, pricamo o uceniku.
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

vandertaat

Član broj: 347399
Poruke: 7
188.124.212.*



Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 20:34 - pre 19 meseci
Citat:
nkrgovic: Gledaj, ovde ima par zamerki, ali nisam siguran da nisu dati tako unutar zadatka. Realno, mene uvek iznervira kad neko sliku stavi kao BLOB u bazu, ali opet - kapiram da to cesto traze jer im treba "nesto sto moze u BLOB". Jako mi se, na primer, svidja sto je plata DECIMAL.

U svakom slucaju, ovo je zadatak za osobu koja tek uci. Na tom nekom nivou, ovo je skroz u redu. Za ucenika meni je ovo odlicno. Realno, pricamo o uceniku.


meni bi znacilo da cujem i te kritike i zamjerke, jer ipak ja ucim to da naucim, a ne da samo dobijem prolaznu ocjenu na zadatku, i svaki savjet od vas iskusnih je dobrodosao.

kako onda inace da cuvam slike?
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 21:00 - pre 19 meseci
Ne cuvas slike u bazi vec na nekom storidzu kao fajl, jpg/png/gif/webp, sta god ti radi posao, a u bazi cuvas linkove do tih slika i koristis ih u krajnjoj aplikaciji po potrebi. I ja sam napisao da je "prevara" uciti nekoga da cuva slike na taj nacin. To unistava celu poentu baze podataka. Okej, ima slucajeva gde moooooozda treba, ali to je vrlo retko. Em zauzimas zlata vredan prostor (baza trci po nvme danas, storidz moze i na hdd da bude, pa cak i neki cold storage ako brzina nije bitna), bekapi ti imaju nenormalnu velicinu i ne mozes da tarujes/zipujes... sad ti je najmanji problem to.

Indeksi... nauka sama za sebe i verovatno dok ih ne budes koristio u praksi neces imati pojma sta znace. Zamisli da tih zaposlenih imas milion. Ti sad hoces da nadjes od Petra Petrovica podatke o poslednjih 30 plata. Nemas kompjuter, sve cuvate na papiru. Prvo moras da nadjes u nekoj prostoriji gde je "fascikla" koja sadrzi podatke o Petru Petrovicu. Bez indeksa, ulazis u prostoriju u kojoj su fascikle na sve strane na rafovima. Uzmes jedan raf, ono Ana Nikolic, ispod njene fascikle Marija Nikolic, ispod nje Ivan Ivanovic. Pojma nemas gde vise da trazis fasciklu sa podacima o Petru Petrovicu vise jer vidis da je na sve strane haos.

Lupis indeks na "id" zaposlenog.

Ulazis opet u prostoriju. Sada imas (metaforicki) rafove sa slovima od A do Z, i vidis slovo P. Ides do tog rafa i imas mnogo manje posla da nadjes Petra Petrovica.

I sad idemo na poentu oko indeksa i zasto su po meni besmisleni u ovoj fazi ucenja...

Ti ces logicno skapirati da ti indeks olaksava posao u upitima koje budes pisao. Lupaces indekse ko blesav na sve kolone. Imaces opet prostoriju sa razbacanim stvarima. Ne treba ti to.

Kako zapravo treba da lupis indeks? Vidis koji podaci ti trebaju u upitu koji cesto koristis a zahteva obradu velike kolicine podataka. Onog trenutka kad budes trazio da su ti, recimo po adresi razvrstani na tim rafovima zaposleni, lupices indeks na kolonu "adresa".

Po difoltu vec imas index na PK. Dok ne budes znao sta zapravo treba da radis sa ovim tabelama, nijedan indeks ti nece gotovo nista znaciti. Ali... recimo da hoces da dobijes dopisivanje korisnika 1500 i korisnika 1501. Znaci trebaju ti posiljalac 1501, primalac 1500, i obrnuto. To vec postaje sporo. Onda stavis multi-column (cuo sam razne nazive za ovaj tip indeksa) na (posiljalac_id, primalac_id) i imas brz pristup tim podacima. To ima smisla, a na slepo lupati indekse bez scenarija nema i trosenje je sistemskih resursa gde potencijalno mozes i da usporis celu bazu i da je bloatujes, jer pri svakoj promeni podataka, indeksi moraju da se refreshuju s vremena na vreme (ovo se radi automatski) i to je to.

Full-text index... moze... al' je skup k'o djavo. Po meni su to vec naprednije stvari, gde na primer ja koristim postgreSQL poslednjih x godina, zavisi i koji tip indexa postavljam i sta ti ja znam... zavisi i da li je upit koji radis "jednako" ili "like"...

Jos jedna stvar - indeksi su vrlo, vrlo uprostena stvar, ali vrlo efikasna. Maltene se sve svodi na postavljanje pravog indexa, a to su ti uvek uslovi u upitu. Poenta je kako ih postaviti dovoljno da ih ima, a ne preterano da gube smisao. Sve vise i vise gledam ljude koji bi kesirali u 512GB RAMa celu bazu da mogu i imaju flat tabele odakle odrade jedan select i dobiju sta im treba bez icega.

Ako mozes, idemo lepo redom jedan po jedan zadatak pa cemo da objasnjavamo svi. Petak vece, cime se ES zanima :)
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

vandertaat

Član broj: 347399
Poruke: 7
188.124.212.*



Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 21:35 - pre 19 meseci
Naravno da ja imam vremena ako vi imate strpljenja haha,
Otprilike sam shvatio sta su i cemu sluze indexi, omogucavaju nam laksu i brzu pretragu u bazi, sa manje upita. Ako sam dobro pohvatao.

Ja sada kada sam usao da izmjenim tabelu plata tu vec imaju dva indexa, primary tip primary, i id_zaposlenog_unique tip unique
takodje u zaposleni ima zaposleni_id_unique tip unique i u porukama imaju id_posiljaoca_idx i i primaoca tip index i poruka_id_unique
pretpostavljam da su se ti indexi sami napravili zbog fk i oznake uq na kolonama
da li je potrebno da ja oznacavam neke nove?
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 21:36 - pre 19 meseci
Citat:
vandertaat:
Citat:
Zlatni_bg: Ja sad tek vidim da si ti u "plate" stavio unique na "zaposleni_id" na poslednjoj slici.

...

Molim te, objasni mi samo zasto si to uradio, i zasto si stavio varchar za FK id-jeve, i dacu ti kompletan dijagram sa celim objasnjenjem.


Iskreno, iznad u teksu u nekom objasnjenju sam procitao da se id zaposlenog mora oznaciti sa unique pa sam stavio, ocigledno nisam dobro shvatio.
A za varchar sam objasnio da mi je jednostavno promaklo i kada sam dalje nastavio raditi sam promijenio.



Sad vidim ovaj post :)

Primary key, osim sto je po difoltu index, isto je i unique. Znaci ne mozes imati zaposlenog koji ce imati isti id kao neki drugi zaposleni.

Ako stavis unique na polje zaposleni_id u platama, bukvalno si blokirao da zaposleni primi vise od jedne plate u ovom slucaju :D

Unique constraint ti oznacava polje koje mora biti, po svaku cenu unikatno. Takodje, ne mora biti jedno polje, mozes da stavis na 2 polja unique, i onda kombinacija ta 2 polja ne sme da se ponovi u toj tabeli.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

vandertaat

Član broj: 347399
Poruke: 7
31.223.134.*



Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 21:46 - pre 19 meseci
Citat:
Zlatni_bg: Sad vidim ovaj post :)

Primary key, osim sto je po difoltu index, isto je i unique. Znaci ne mozes imati zaposlenog koji ce imati isti id kao neki drugi zaposleni.

Ako stavis unique na polje zaposleni_id u platama, bukvalno si blokirao da zaposleni primi vise od jedne plate u ovom slucaju :D

Unique constraint ti oznacava polje koje mora biti, po svaku cenu unikatno. Takodje, ne mora biti jedno polje, mozes da stavis na 2 polja unique, i onda kombinacija ta 2 polja ne sme da se ponovi u toj tabeli.


sada sam probao da ga otkacim ali mi iskace greska, kaze cannot drop index id_zaposlenog needed in a foreign key constraint
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Pomoć oko kreiranja baze podataka02.09.2022. u 21:53 - pre 19 meseci
Ne treba da dropujes index vec unique constraint :) Ako sam nesto prevideo, probaj u bazu da ubacis dve plate za jednog korisnika u bazu, ako baci gresku, mora da se sklanja.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

[es] :: MySQL :: Pomoć oko kreiranja baze podataka

Strane: 1 2

[ Pregleda: 7668 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.