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

Povezivanje dvije tabele,pomoc ?

[es] :: MySQL :: Povezivanje dvije tabele,pomoc ?

[ Pregleda: 2305 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BVB
Pizdoland

Član broj: 316479
Poruke: 22
*.crnagora.net.



+5 Profil

icon Povezivanje dvije tabele,pomoc ?01.12.2013. u 20:41 - pre 125 meseci
Zdravo svima,da li mi ko moze reci ili uputiti kako da povezem ove dvije tabele:

Studenti Skolarine
BrInd(PK) IDUplate(PK auto_increment)
Ime BrInd
Prezime Iznos

Ranije sam za rad sa bazama podataka koristio ms access,al sad sam krenuo da ucim php i dosao do dijela za rad sa bazama,konkretno mysql,posto koristim wampserver. U access-u sam lako povezivao ove dvije tabele,tip veze jedan na vise. Dakle, polje BrInd iz tabele Studenti povezem sa poljem BrInd iz tabele Skolarine. Ako ko moze da mi to napise,kako se to radi ? Zelim da,ako se promijeni vrijednost polja BrInd iz tabele Studenti da se to odrazi na polje BrInd u tabeli Skolarine. Nadam se da me shvatate sta hocu da kazem,to je u access-u bilo prelagano al ovdje trenutno se bas i ne snalazim dobro. Pokusao sam sa sledecim kodom al nije dobar,pogotovo sa dijelom ALTER :

CREATE TABLE Skolarine(IDUplate INT NOT NULL AUTO_INCREMENT,BrInd CHAR(10) NOT NULL,Iznos DOUBLE(4,2),PRIMARY KEY(IDUplate));

CREATE TABLE Studenti(BrInd CHAR(10) NOT NULL,Ime CHAR(50),Prezime CHAR(50),PRIMARY KEY(BrInd));

ALTER TABLE Skolarine ADD CONSTRAINT Stud_Skol FOREIGN KEY(BrInd) REFERENCES Studenti(BrInd);

Sigurno postoji nacin da se to uradi,al ja ga ne znam. To mi je u access-u bilo jednostavno,al ovdje vidim koomplikovano :( .

Zahvaljujem svima na odgovoru,postavljao sam isto pitanje u dijelu za PHP dobio sam neke odgovore al ipak nisam uspio ovo da uradim,zato sam odlucio da isto pitam u dijelu za mysql,jer se ovo ipak vise tice baza podataka nego php-a.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Povezivanje dvije tabele,pomoc ?01.12.2013. u 22:44 - pre 125 meseci
skines mysql workbench (znam da nije idealan i da mu svasta fali ali ovo
ce da ti odradi super)
nacrtas te dve tabele
spojis ih kako zelis
exportujes skript za generisanje baze

npr ovako nesto:

Code:

CREATE TABLE IF NOT EXISTS `mydb`.`skolarina` (
  `skolarina_id` INT NOT NULL AUTO_INCREMENT,
  `skolarina_godina` VARCHAR(45) NULL,
  `skolarina_cena` VARCHAR(45) NULL,
  PRIMARY KEY (`skolarina_id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `mydb`.`student` (
  `student_id` INT NOT NULL AUTO_INCREMENT,
  `student_ime` VARCHAR(45) NULL,
  `student_adresa` VARCHAR(45) NULL,
  PRIMARY KEY (`student_id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `mydb`.`studen_skolarina` (
  `student_student_id` INT NOT NULL,
  `skolarina_skolarina_id` INT NOT NULL,
  `studen_skolarina_uplacenoKinte` INT NULL,
  `student_skolarina_datum` DATETIME NULL,
  INDEX `fk_studen_skolarina_student_idx` (`student_student_id` ASC),
  INDEX `fk_studen_skolarina_skolarina1_idx` (`skolarina_skolarina_id` ASC),
  CONSTRAINT `fk_studen_skolarina_student`
    FOREIGN KEY (`student_student_id`)
    REFERENCES `mydb`.`student` (`student_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_studen_skolarina_skolarina1`
    FOREIGN KEY (`skolarina_skolarina_id`)
    REFERENCES `mydb`.`skolarina` (`skolarina_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB


ili ako hoces bas tako kako si ti hteo

Code:

CREATE TABLE IF NOT EXISTS `mydb`.`student` (
  `BrInd` INT NOT NULL AUTO_INCREMENT,
  `ime` VARCHAR(45) NULL,
  `prezime` VARCHAR(45) NULL,
  PRIMARY KEY (`BrInd`))
ENGINE = InnoDB

CREATE TABLE IF NOT EXISTS `mydb`.`skolarina` (
  `IDUplate` INT NOT NULL AUTO_INCREMENT,
  `Iznos` VARCHAR(45) NULL,
  `student_BrInd` INT NOT NULL,
  PRIMARY KEY (`IDUplate`),
  INDEX `fk_skolarina_student_idx` (`student_BrInd` ASC),
  CONSTRAINT `fk_skolarina_student`
    FOREIGN KEY (`student_BrInd`)
    REFERENCES `mydb`.`student` (`BrInd`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB





Prikačeni fajlovi
 
Odgovor na temu

BVB
Pizdoland

Član broj: 316479
Poruke: 22
*.crnagora.net.



+5 Profil

icon Re: Povezivanje dvije tabele,pomoc ?02.12.2013. u 12:49 - pre 125 meseci
Hvala puno na odgovoru,probacu ovako. Definitivno najbolji forum!
 
Odgovor na temu

tarla

Član broj: 15527
Poruke: 1648



+42 Profil

icon Re: Povezivanje dvije tabele,pomoc ?02.12.2013. u 21:28 - pre 125 meseci
Citat:
bogdan.kecman:

... NO ACTION ...



Inače ostavljaš NO ACTION ili samo sada ?

Takođe se slažem da WB-u baš dosta fali. Na linuxu radi relativno loše. Svako otvaranje query prozora je 10-o minutno kopanje po disku iz ko zna kojeg razloga... Autocompleter pretpostavljam..


 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Povezivanje dvije tabele,pomoc ?02.12.2013. u 21:51 - pre 125 meseci
no action je generisao kao default WB, ja obicno explicitno napisem
RESTRICT mada je to kod mysql-a identicno kao no action.... ja licno
nikad ne radim cascade/set null i smatram da je to los dizajn sistema ..
naravno nece se samnom svi sloziti :D ali to je vec moja licna
preferenca posle dugog iskustva sa rdbms-om koje se zasniva na tome da
svaki rdbms cascade izvrsava razlicito .. npr na mysql-u imas problem da
cascade ne hitne trigere i sad ti imas neki materialized view koji si
napravio sa trigerima, hitnes delete on pobije milion rekorda a
materialized view ostane nepromenjen .. etc etc .. milion i jedan
problem kod kaskade, razlicit na mysql vX od mysql vY od pgsql vX od
pgsql vY od M$SQL vN od OracleDB od ... suvise me puta "ujelo za dupe"
tako da ja sve te opcije koje misle da "znaju sta ja ocu" volim da
ugasim :D .. restrict je po meni najbolja opcija - cuva ti ref.
integritet. Sve ostalo je po meni pogresno :)
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Povezivanje dvije tabele,pomoc ?02.12.2013. u 22:01 - pre 125 meseci
Citat:
tarla:
Takođe se slažem da WB-u baš dosta fali. Na linuxu radi relativno loše. Svako otvaranje query prozora je 10-o minutno kopanje po disku iz ko zna kojeg razloga... Autocompleter pretpostavljam..


ja sam pre cca metar dana dekstop prebacio sa linuxa na windozu (win7 ultimate 64bit) iz razloga sto je linux posle 20 godina poceo da mi ide na ganglije .. 20 godina ne mogu da naprave desktop da valja i 20 godina ja prihvatam izgovore .. pritom na istom i losijem hw-u i mek i microsnot teraju non stop bolji ui od linux-a .. jeste os kao os nestabilniji od linuxa svih 20 godina ali ui je bolji da se ne lazemo ... e posle 20 godina microsoft je napravio stabilan os koji ne puca, ovaj win7 mi nije puko nijednom za x meseci rada, ljudima radi bez reseta godinu dana, ko osx samo zaklope lap i teraju dalje, otvore kuci nastave da rade ... tako je meni udebiljavanje linux desktopa sa gnome 3 prepunilo casu i ja sam presao na windozu .. ionako i posle 20 godina 90% software-a koji mi treba ne radi na windozi a c kompajler i ssh klijent ima odlican na windozi a tek sto ima tekst editora .. pesma .. elem, pricam to zato sto sam neki dan turio bas WB na windozu i zbunio se ... bilo je "pa ovo jbt radi" ... dakle razlika izmedju WB na linuxu i WB na windozi je ogromna, na windozi to prokleto radi ... valjda je razlika u .net virtualizaciji na windozi i mono virtualizaciji na linuxu gde mono i ne radi izgleda bas kako treba, a WB je klasicna .not aplikacija koja nativni binary za linux pravi tako sto .not kod kompajlira sa mono..

e sad, ni na windozi nije dovoljno dobar, bar po meni, ima neke super opcije i super je zamisljen i ... ali tezak je, spor je ... mislim da je .not tehnologija extremno pogresan izbor za ovakav tip aplikacije no sta je tu je, ja sam imao visoke zelje i ocekivanja od WP-a kada smo kupili tu firmu i potrudio sam se mnogo da ga testiream, debagiram, cak sam i brdo patcheva napisao, ali sam na kraju odustao od cele price i vise sa developerima doticne aplikacije nemam nikakav kontakt .. jedina razlika je sto ja (za razliku od tebe npr) imam ovu "komercijalnu" verziju koja ima par opcija vise nego ta free verzija i to je to ..

no u svakom slucaju dovoljno je dobar da moze da se prezivi sa njim .. posebno obzirom na cenu .. jbg meni je EMS i dalje najbolji klijent koji sam ikad koristio ali jbg ako se secam najmanja licenca je 5 glava .. mnogo para za klijent, bas mnogo .. radije cu kucam po cli-u
 
Odgovor na temu

tarla

Član broj: 15527
Poruke: 1648



+42 Profil

icon Re: Povezivanje dvije tabele,pomoc ?03.12.2013. u 01:48 - pre 125 meseci
Zato sam i pitao za NO ACTION.

Ja nisam neki strašan programer ali inače ostavljan CASCADE pri čemu radim kontrole prije brisanja da li ima vezanih elemenata. "CASCADE-u" ostavljam da obriše logove i manje bitne elemente čisto da ne bih morao "ručno".

Znam da nema veze sa temom, ali eto ja sam prije nekih 4 mjeseca u potpunosti prešao sa Win-a na Linux (mint konkretno). Ubijali su me update-i i sporo podizanje sistema... Treba ti 100G particija samo da se win "raskomoti"... Slažem se da radi daleko bolje nego ranije verzije...

E sad brzina linuksa je fantastična ali me ubija da ni nakon 20 godina ne mogu smisliti kako poravnati i srediti smrdljive ikonice po desktopu. Kopiram sliku 600x400px na desk. a on je prikaže skoro pa u full veličini... Takođe vidim da je sve veći broj aplikacija na njemu posljedica budževina kojekakvih što mi se ne sviđa nikako (i sam WB kako reče)...

E sad kad se ljudi uhvate .Net-a, ne znam ni šta da im kažem... Qt mi se sviđa ali ne znam da je sastavio 6 mjeseci kod istog "tate" što iskreno uliva povjerenje NOT




 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Povezivanje dvije tabele,pomoc ?03.12.2013. u 03:21 - pre 125 meseci
> ali inače ostavljan CASCADE

kao sto rekoh, ja rekoh kako ja, ne kazem da je tako najbolje niti da
imam dokaz da to tako ne treba... da ima neka magicna fora da mysql ili
pgsql ili .. tih N delete-ova za sve child tabele urade brze automatski
neko kada ih ja rucno pozovem pa ajde, ali posto se nece desiti nista
brze (nego cak cesto i sporije) onda mi je svakako draze da imam punu
kontrolu nad tim sta se desava sa bazom :)

> E sad brzina linuksa je fantastična ali me ubija da ni nakon 20 godina
ne mogu smisliti kako poravnati i srediti smrdljive ikonice po desktopu

meni se win7 dize brze nego linux sa vise servisa nego linux u startu.
no dizanje mi je nebitno i linux i windows dizem realno jednom mesecno
tako da sto se mene tice mogu da se butuju i 45 minuta nemam problem,
mene zanima kako rade ... ikone na desktopu, default gnome3 ukida ikone
na desktopu, neki retard u redhat-u koji je uzeo da prepravi gnome2 na
gnome3 je odlucio da se njemu ne svidja da ljudi drze stvari na
desktopu, to mu nije uredno ... meniji su hebeni java skript, umesto da
bude brze i efikasnije oni su hebeno stavili hebeni java skript da se
izvrsava za saki meni ?!?!?!?! alo gui u java skriptu ... ja sam tu
realno zavrsio moju pricu sa linuxom kao desktopom, kde je retardiran
vec godinama, gnome2 je mrtav, mate je posebna prica (mint bese gura
mate), to su neki tuzni pokusaji odrzavanja gnome2 sistema up to date
ali sa timom od pola coveka to ide traljavo, gnome 3 je retardiran i cak
sa svih ovim poboljsanjima danas posle godinu + od kako je dosao da nas
malerise i dalje je neverovatni krs od sistema, enlightenment je u "evo
sad ce 1.0 release candidate verzija za koji mesec" statusu vec 10+
godina, lxcfe i ostali sakati sistemi su bas to, sakati ... varijante
bez window managera su dodatno retardirane (jako mi je zao ali ja na 2
monitora od 27" i trecem monitoru od 24" ocu da vidim vise od jedne
aplikacije u jedno vreme), svi su se okrenuli mobilnom ekranu i teraju
desktop os da se koristi kao mobilni os, drabgo mi je za ljude koji
teraju nove thin lapove sa touch ekranom, kao sto rekoh ja imam
tastaturu, misha, trackball, hp spacepilot i 3 monitora, necu da ih
brljam prstima ne pada mi na pamet ... ceo linux community s3r3 po
nvidiji zato sto kao nece da da open source drajvere, to je bre jedino
sto na linuxu radi, eno amd je dao sve open source, amd skoro da ne
mozes da teras na linuxu radi milion puta sporije od windoze, nedo ti
bog da updateujes nesto odma prestane grafika da radi ..

tako da stvarno, za servere ostaje lindza naravno, ali za desktop, neka
hvala, od mene dosta, od 1992 godine kao osnovni os, 22 godine sam ih
trpeo, dosao sam do situacije da ili bacim svo slobodno vreme i krenem
da pravim fork nekog postojeceg ili da se bacim na windozu, vidi 4 glave
za windozu je dzabe, da ne kazem da je dzabe kad mi firma da licencu :D,
posebno sto je potuno jasan smer u kome se gnome3 i kde razvijaju, dakle
nije to "ne radi sad, proradice", ono sto oni zele da naprave kad
naprave da radi 100% bez bagova ce da bude retardirano

no pobegosmo od teme
 
Odgovor na temu

[es] :: MySQL :: Povezivanje dvije tabele,pomoc ?

[ Pregleda: 2305 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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