Poslao: 24 Jan 2008 18:28
|
|
Poceo sam da ucim SQL server 2005, pa imam problem za koji molim nekog ko zna, da mi objasni.
1. Kako da u FOREIGN KEY atribut u jednoj tabeli koji je tipa int, i koji je vezan za PRIMARY KEY u drugoj tabeli, upisem nvarchar vrednost koja odgovara vrednosti atributa koji je vezan za PRIMARY KEY u drugoj tabeli?
( Mislim kako da upisujem recimo, imena gradova u jednoj koloni umesto brojnih vrednosti koje odgovaraju specificnim imenima gradova?)
2. Da li postoji AUTOINCREMENT opcija za PRIMARY KEY atribut. Kako da je uvedem ?
3. Za tip podataka za atribut koji se odnosi na datum mogu da postavim da bude ili datetime ili smalldate time. Kada unesem vrednost za datum i za jedan i za drugi tip podataka obavezno se dodaje i default vreme 12.00h. Da li postoji mogucnost da unesem vrednost datuma za ove tipove podataka , a da se ne upisuje vreme nego samo datum?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 24 Jan 2008 21:14
|
offline
- Baalzamon
- Zaslužni građanin
- Pridružio: 11 Sep 2005
- Poruke: 621
|
hm ne znam bas sql, ali znam malo access-a.
"Primary key" i "Foreign key" mislim da nisu atributi u tabeli.
Nego odredjeni atribut moze imati osobinu primarnog tj. sekundarnog kljuca.
Oni su uvek istog tipa. Uglavnom im je i isto ime. Preko njih povezujes dve tabele.
Tesko da ces uspeti da upises char u int.
A za "autoincrement" koristi "auto number", pa ako neces da ti krece od pocetka, ti mu stavi broj od kog zelis da krene.
|
|
|
|
Poslao: 24 Jan 2008 21:38
|
|
Hvala na pomoci, ali ja Access znam odlicno, padalo mi je svasta na pamet, pa i to, ali ne vredi, pa evo pokusavam da SQL Server razbijem sam. Vec sam dosta toga naucio, ali ne ove jako bitne stvari koje mogu da uradim u ostalim DBMS ne znam kako da uradim ovde. Ako neko zna, molim za pomoc...
Auto number inace jeste u accessu, a autoincrement je u mysql-u..
|
|
|
|
Poslao: 24 Jan 2008 22:33
|
offline
- snoop
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
Indentity (1, 1) je za auto increment u MSSql.
|
|
|
|
Poslao: 24 Jan 2008 22:43
|
|
Evo, izgleda da je IDENTYTY i u MS SQL serveru, kada je specificirano, vrednost se sama azurira pri dodavanju novog zapisa, bas kao i autoincrement
HVALA TI ??
Znas li mozda odgovore na ona prva dva moja pitanja??
|
|
|
|
Poslao: 24 Jan 2008 23:14
|
offline
- Bone Collector
- Legendarni građanin
- Pridružio: 18 Apr 2003
- Poruke: 5001
- Gde živiš: Beograd
|
1. Zelis da u int primary key iz jedne tabele bude upisan kao string u drugoj tabeli? Zasto bas oces da u drugoj tabeli bude upisan broj kao string?
Moraces naci neko drugo resenje jer ne mozes povezati kolone razlicitog tipa.
3. smalldatetime je precizan do u minut, tako da ne mozes da izbegnes upisivanje sata i minuta. Pretpostavljam da ti to smeta pri uzimanju podataka iz baze, pa mozes koristiti CONVERT, npr CONVERT(varchar, @moj_datum, 103) da bi dobio '24/01/2008'
ovde imas sintaksu za formatiranje datuma http://msdn2.microsoft.com/en-us/library/aa226054(SQL.80).aspx
|
|
|
|
Poslao: 24 Jan 2008 23:19
|
|
HVALA TI Bone Collector..
P.S.>> U Accessu sam mogao da kada zelim da unesem atribut u jednoj tabeli,koji je inace foreign key i vezan je za primary key u drugoj tabeli ( gde su oba integeri ), mogao sam da koristim vrednost nekog drugog atributa ( string ) koji je bio vezan za primary key u drugoj tabeli, i da tu vrednost upisujem ( iz liste koja se otvarala) u atribut foreign key u prvoj tabeli. Komplikovano malo za citati, ali... bio bih srecan kada bih isto mogao da uradim u MS SQL u . Pozz..
|
|
|
|