[ bigguy @ 11.03.2009. 11:37 ] @
Mozeli me neko uputiti kako da napravim relaciju izmedju dve tabele 1 prema vise ali u okviru SQL servera 2005 u VS okruzenju?
[ Sapphire @ 11.03.2009. 22:29 ] @
Ja te nisam razumio najbolje... U okviru VS-a, ali u Sql Serveru, pa zar to nije kreiranje relacije u Sql Serveru? Jedino pretpostavljam da postoje neke karafeke koristeci databinding, pa VS nudi hrpu nekih "shortcut"-a. Ako je takav slucaj, koliko znam, relacije je moguce odsimulirati pomocu dataset-a i tabela u njemu. Prave relacije u bazi podataka se generalno dobijaju postavljanjem primarnih i stranih kljuceva, te odgovarajucih constraints-a. Relaciju dobijes pomocu join-a dvije ili vise tabela, unutar npr. SELECT upita.

Evo linka gdje je prikazan postupak koji ukljucuje DataBase Diagrame:
http://www.eggheadcafe.com/com...see-these-steps-to-create.aspx
[ sallle @ 12.03.2009. 01:58 ] @
napravis .xsd fajl unutar svog projekta
(add -> new item -> ) "dataset" ili "xsd sema" -ne znam kako ga tacno zovu u 2005.

kad to odradis otvoris fajl u dizajn modu.
u vs-u aktiviras prozor "server explorer". Nakacis se na zeljenu bazu, prevuces tabele koje te interesuju u tvoj xsd fajl (ili ih rucno napravis- desni klik pa new element).
Kad imas tabele, odes desni klik u dizajneru, "add relationship"...


Ako trazis uputstvo na netu ili u knjizi, gledaj poglavlje ADO.NET
[ bigguy @ 12.03.2009. 11:28 ] @
Sallle reci mi molim te da li relationships kada tako uradim stvari ustvari znaci da ja treba da u datagridu vidim da ako nesto unesem u Table_1 to mi se pojavi i u Table_2 (naravno pitam za vrednosti na osnovu kojih sam uradio ralation)? Jer ako je tako onda ja imam problem jer mi se to ne desava
[ sallle @ 12.03.2009. 11:46 ] @
realtionship ti je samo "obaveza" da vrednosti u koloni neke tabele, moraju da postoje u koloni druge tabele.
grid ima foru da kad prikazujes parent tabelu, kod redova imas plusice (ukoliko je pk iz tih redova zastupljen u child tabeli)...
[ bigguy @ 12.03.2009. 11:59 ] @
Pazi nisam ja sad siguran da sam onda odabrao pravi nacin resenja problema. Meni je potrebno da u parent tabeli skladistim neku vrednost npr. 1, a da mi se za tu vrednost u child tabeli vezu neke vrednosti koje opet unosim na nekom drugom mestu. Ako sam dobro shvatio to znaci da ja u kodu treba da radim parent vrednost JOIN child vrednost_1, ali mi opet ostaje pitanje kako da resim problem da za svaku vrednost iz parent tabele vezem odredjene vrednosti iz child tabele?
[ sallle @ 12.03.2009. 16:27 ] @
kad unosis child redove, moras eksplicitno navedes tog keca.

integritet ce ti garantovati da ne mozes umesto keca stavis 123 (koji ne postoji u parent tabeli).
integritet ti takodje garantuje da ukoliko u parent koloni promenis ili izbrises keca, ta promena se na neki nacin propagira u child tabelu (cascade, set null, restrict, bla bla)...

ti ako fino odradis aplikaciju mozes da nikad i ne osetis da postoji ref integritet i da ti se sve ponasa kao da ga nema (jer nikad neces doci u konflikt npr), al je malo verovatno...

preporuceno stivo:
vladimir blagojevic , relacione baze podataka (cita se za 2 sata, prilicno je citko, i lepo objasnjava koncept relacionih baza)