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

baza podataka o studentima PROBLEM

[es] :: Baze podataka :: baza podataka o studentima PROBLEM

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ernahm

Član broj: 174848
Poruke: 16
89.146.178.*



Profil

icon baza podataka o studentima PROBLEM03.03.2012. u 21:30 - pre 146 meseci
Pozdrav

Trebam pomoc oko baze podataka o studentima i predmetima koje pohadjaju.

Baza se sastoji od 4 tabele

1. student (studentID, Ime studenta, prezime studenta, adresa, email)
2. predmet (predmetID, naziv predmeta, studentID, predavačID)
3. predavač (predavacID, Ime predavača, odjeljenjeID)
4. odjeljenje (odjeljenjeID, naziv odjeljenja)

relacija medju tabelama je 1:n (student - predmet, predmet - predavac, predavac - odjeljenje)

problem je sto jedan student moze pohadjati vise predmeta!!! a na ovaj nacin to ne moze

kako sam to povezala na ovaj spomenuti nacin, te podatke (pomocu sql upita)ne mogu izdvojiti...

kako to rijesiti?? Po meni je relacija izmedju tabela student i predmet N:N (da li sam u pravu? - jedan student moze pohadjati vise predmeta i jedan predmet moze pohadjati vise studenata) .
Kako sam procitala , takve veze trebaju novu tabelu gdje ce primarni kljuc biti ta dva kljuca iz tih tabela (student, predmet). ali kakoo?? ne moze mi nova tabela sadrzavati samo to (studentID, predmetID), opet ne dobijem nista stim...

Pocetnik sam sto se tice baza podataka, pa bih molila pomoć.

hvala
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: baza podataka o studentima PROBLEM03.03.2012. u 21:53 - pre 146 meseci
Citat:
ernahm:
problem je sto jedan student moze pohadjati vise predmeta!!! a na ovaj nacin to ne moze :)

kako sam to povezala na ovaj spomenuti nacin, te podatke (pomocu sql upita)ne mogu izdvojiti...

kako to rijesiti?? Po meni je relacija izmedju tabela student i predmet N:N (da li sam u pravu? - jedan student moze pohadjati vise predmeta i jedan predmet moze pohadjati vise studenata) .
Kako sam procitala , takve veze trebaju novu tabelu gdje ce primarni kljuc biti ta dva kljuca iz tih tabela (student, predmet). ali kakoo?? ne moze mi nova tabela sadrzavati samo to (studentID, predmetID), opet ne dobijem nista stim...
hvala

Upravo tako i treba da se uradi. U relacionim bazama podataka nije moguća veza više prema više. To se rešava na taj način što se tabele ne povezuju direktno već se između njih ubaci jedna tzv. vezana tabela (u odnosu 1:n) čiji primarni ključ se sastoji od primarnih ključeva ovih tabela. Dodatno vezana tabela može sadržati još neka polja pored primarnog ključa, kao i svaka druga tabela.
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: baza podataka o studentima PROBLEM04.03.2012. u 07:14 - pre 146 meseci
Ovaj vezni entitet o kojem govori biske86 može biti dvojak. Ukoliko osim prenesenih ključeva, koji postaju složeni PK, sadrži još neku informaciju onda je to klasičan asocijativni entitet.

Student_Predmet (StudentID, Predmet ID, Položio, Ocena..... ).

Ukoliko vezni entitet nema sopstvene atribute, recimo:

Student_Predavač (StudentID, PredavačID),

onda je to Projektni ili designativni entitet. Što ne znači da u nekom trenutku nećeš doći u poziciju da ti i u ovom drugom primeru zatreba neka dodatna informacija i to rešiš dodavanjem atributa. Svi SQL iskazi, zasnovani na razumnom pitanju, su nakon ovako rešenih veza tipa N:N, mogući. Nije da ne dobijaš ništa, već uključivanjem ovih veznih u SQL izraze elegantno rešavaš probleme.

Negde je biske86 na ovom forumu zakačio poslovni problem biblioteke. Pokušaj to da pronađeš. Siguran sam da tamo postoji adekvatan primer.


 
Odgovor na temu

ernahm

Član broj: 174848
Poruke: 16
89.146.180.*



Profil

icon Re: baza podataka o studentima PROBLEM04.03.2012. u 14:12 - pre 146 meseci
Hvala na pomoci, uspjela sam izvuci podatke koji su mi bili potrebni

Ali morala sam u novoj tabeli Studenti-predmeti dodati da mi primarni kljuc bude studenti-predmetiID

Studenti-predmeti (studenti-predmetiID, studentID, predmetID)

Pokusala sam bez toga, ali nisam mogla (znala) staviti da mi studentID i predmetID bude jedan primarni kljuc . Inace koristim MS SQL server 2008.
Kako podesiti slozeni kljuc ???

Da li tabela moze biti bez primarnog kljuca???

U relacijama 1:N da li je uvijek primarni kljuc jedne tabele sporedni kljuc druge??? Nije mi onda jasno kad bi u ovom slucaju imala slozeni kljuc tabele studenti-predmeti (studentID, PredmetID), kako bi onda povezala sa tabelama Student i Predmet??? (inace je bilo studentID sa tabelom student, a predmetID sa tabelom predmet)

ovo mozda nekima izgleda jednostavno, ali meni je toliko zbunjujuce. Procitala sam teoriju o bazama i sve fino shvatila, ali kad se podje praviti baza i kad program podje javljati greske onda nastane problem.

hvala svima na pomoci
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: baza podataka o studentima PROBLEM04.03.2012. u 17:16 - pre 146 meseci
Citat:
ernahm: Kako podesiti slozeni kljuc ???


Nad prvom kolonom desni taster miša, Set Primary Key. Potom isto nad drugom kolonom.

Citat:
ernahm: Da li tabela moze biti bez primarnog kljuca???


Može, ali onda ne govorimo o relacionom modelu, već običnoj ravnoj tabeli.

Citat:
ernahm: U relacijama 1:N da li je uvijek primarni kljuc jedne tabele sporedni kljuc druge???


Da, ukoliko ga kao u prethodnom pojašnjenju ti ne proglasiš delom složenog PK.


 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: baza podataka o studentima PROBLEM05.03.2012. u 14:09 - pre 146 meseci
Citat:
Inace koristim MS SQL server 2008.
Kako podesiti slozeni kljuc ???


Code:
ALTER TABLE [Studenti-Predmeti] 
    ADD CONSTRAINT PK_Studenti-Predmeti 
        PRIMARY KEY (StudentID,PredmetID)
;


A moglo je i ovako:
Code:
CREATE TABLE [Studenti-Predmeti] 
(
StudentUID int NOT NULL
, PredmetID int NOT NULL
, CONSTRAINT [PK_Studenti-Predmeti]
        PRIMARY KEY (StudentID,PredmetID)
)
;


Pazi, tabela ti ima samo dve kolone, ne treba ti ona treca koju si nazvala predmeti-Studenti.

 
Odgovor na temu

ernahm

Član broj: 174848
Poruke: 16
*.PPPoE-5132.sa.bih.net.ba.



Profil

icon Re: baza podataka o studentima PROBLEM08.03.2012. u 16:37 - pre 146 meseci

Da , zaboravila sam da se primarni kljuc moze podesiti preko sql koda :)

Medjutim u sql server management studiu (kako sam ja radila) , nisam mogla podesiti primarni kljuc posebno za svaku kolonu, nego selektujuci obje istovremeno , pa desni klik na set primary key. Onda moze :)

U svakom slucaju rijesila problem, za sad :)

Hvala svima na pomoci



 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: baza podataka o studentima PROBLEM09.03.2012. u 14:16 - pre 146 meseci
Citat:
Da , zaboravila sam da se primarni kljuc moze podesiti preko sql koda

Ako ces da radis SQL ozbiljno, onda se SVE radi 'preko koda'

Srecan rad
 
Odgovor na temu

[es] :: Baze podataka :: baza podataka o studentima PROBLEM

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

Postavi temu Odgovori

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