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

SQL Server dodaje novi slog u sred tabele (?)

[es] :: Baze podataka :: SQL Server dodaje novi slog u sred tabele (?)

[ Pregleda: 982 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

giger
Beograd

Član broj: 31688
Poruke: 146
195.252.86.*



Profil

icon SQL Server dodaje novi slog u sred tabele (?)07.09.2006. u 22:12

Imam problem sa ubacivanjem novih slogova u tabelu...

Imam slogove sa IDjevima 1,2,7,8,9... Kada ubacim novi slog (10) dodaje se posle sloga 2.... (????) 11,12 isto posle desetke, a tek 13 ce da se pojavi na kraju tabele.

Nista ne kapiram, ovo mi se prvi put desilo... Komanda je najjednostavnija: "INSERT INTO FAKULTETI VALUES ('11','Beogradski Univerzitet','ETF')"

Ako hocete neke shotove, poslacu ih...

Jel ima neko ideju?


10x in adv
07.09.2006. u 22:12 

lampica
Bg

Član broj: 31577
Poruke: 109
*.dynamic.sbb.co.yu.

ICQ: 334198593
Sajt: www.skoladekart.com


Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)07.09.2006. u 22:18
Ne razumem zašto te brine kako SQL server smešta slogove, željeni redosled podataka uvek možeš da postigneš kroz SELECT upit korišćenjem ORDER BY.
07.09.2006. u 22:18 

chachka
Srđan Mijatov
Subotica

Moderator
Član broj: 53780
Poruke: 534
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)07.09.2006. u 22:30
Ni jedan server ne garantuje da će redosled pojavljivanja slogova svaki put kada izvršiš
Code:

SELECT *
  FROM Fakulteti

biti isti! Za server su svi slogovi ravnopravni. Server nezna da ti hoćeš da sortiraš podatke po IDjevima. To mu moraš eksplicitno reći upotrebom klauzule ORDER BY. U tvom slučaju to izgleda
Code:

SELECT *
  FROM Fakulteti
 ORDER BY id

Dobra praksa je da se u produkcijskim upitima koristi klauzula ORDER BY.
"The best code is no code at all." - Zidar
"biggest obstacle to learning SQL is unlearning procedural programming" - Joe Celko
07.09.2006. u 22:30 

giger
Beograd

Član broj: 31688
Poruke: 146
195.252.86.*



Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)07.09.2006. u 22:41
Pa nije mi neki problem, ali sam bio 100% ubedjen da se novi slogovi UVEK smestaju na kraj tabele i da "SELECT * FROM" vraca slogove kako su smesteni. Izgleda da bas i nije tako.
07.09.2006. u 22:41 

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1656
*.dialup.neobee.net.

Sajt: www.clickersoftware.com


Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)08.09.2006. u 06:04
Citat:
giger:Komanda je najjednostavnija: "INSERT INTO FAKULTETI VALUES ('11','Beogradski Univerzitet','ETF')"

Iz prilozenog se vidi da ti je ID znakovnog tipa, pa nije nimalo cudno sto su slogovi uredjeni kao sto kazes, jer tako i treba da se sortiraju.
Citat:
giger:Nista ne kapiram, ovo mi se prvi put desilo...

Desice se to svaki put, sve dok ne promenis tip ID kolone na int, ili neki slicni.
vidi GoranVucicevic #28045

www.clickersoftware.com
08.09.2006. u 06:04 

giger
Beograd

Član broj: 31688
Poruke: 146
*.beotel.net.



Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)08.09.2006. u 15:14
Pa nije znakovnog tipa. Int je.

Mozes i int da ubacis sa apostrofima. A cak i da je znakovnog tipa, nelogicno je da je redosled 1,2,10,11,12,7,8,9,13 (?)...
08.09.2006. u 15:14 

savkic
Igor Savkić

Član broj: 92186
Poruke: 1467
*.adsl.sezampro.yu.



Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)08.09.2006. u 15:49
> Pa nije mi neki problem, ali sam bio 100% ubedjen da se novi slogovi UVEK smestaju na kraj tabele i da "SELECT * FROM" vraca
> slogove kako su smesteni. Izgleda da bas i nije tako.

Pojednostavljeno, slogovi se smeštaju na prvu slobodnu lokaciju, ta lokacija može biti na kraju baze ili na početku ili u sredini (npr. nastala posle brisanja nekih drugih slogova).
08.09.2006. u 15:49 

dragancesu
subotica

Član broj: 38340
Poruke: 1444
*.eunet.yu.

Sajt: www.buvljak.rs


Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)08.09.2006. u 15:52
Bez brige, dobrodosao u svet baza. To kako baza smesta podatke u bazu je nebitno, softver se trudi da to bude efikasno. Ono sto moras da shvatis je da su podaci u bazi na hrpi, a redosled prikaza je nebitan, s tim ti upravljas. To su ti WHERE i ORDER klauzule.

I zaboravi pojmove prethodni i sledeci slog.

[Ovu poruku je menjao dragancesu dana 08.09.2006. u 17:37 GMT+1]
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
08.09.2006. u 15:52 

giger
Beograd

Član broj: 31688
Poruke: 146
*.beotel.net.



Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)08.09.2006. u 16:03
Hvala drugari. Bio sam ubedjen u suprotno, pogotovo sto sam i ovde na ovom forumu jednom procitao post koji je tvrdio ono prvo...

A sad kad bolje razmislim i ima smisla da radi ovako kako radi.
08.09.2006. u 16:03 

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1656
*.dialup.neobee.net.

Sajt: www.clickersoftware.com


Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)08.09.2006. u 16:27
Citat:
giger: Pa nije znakovnog tipa. Int je.

Mozes i int da ubacis sa apostrofima. A cak i da je znakovnog tipa, nelogicno je da je redosled 1,2,10,11,12,7,8,9,13 (?)...


Ti bas volis da radis kako ne treba :).

Posto sad znamo da je int onda je problem sto nisi stavio da ti je ID primary key, pa sortira onim redom kako si unosio, a ako stavis da je primary sortirace uvek po velicini ID-a bez potrebe da koristis ORDER klauzulu.
vidi GoranVucicevic #28045

www.clickersoftware.com
08.09.2006. u 16:27 

giger
Beograd

Član broj: 31688
Poruke: 146
*.beotel.net.



Profil

icon Re: SQL Server dodaje novi slog u sred tabele (?)08.09.2006. u 23:53
Aman.


Ja se izvinjavam sto nisam bio jasniji, ali baza je apsolutno korektna u ovom smislu. ID _jeste_ primary key.

Mislim, zato sam i postavio topic, jer me zbunjivalo sve ovo, ali ovi ljudi su mi razjasnili. Mozda ni ti ovo nisi video ranije, ako hoces mogu da ti posaljem i erwin model iz koga sam generisao script, kao dokaz, da je sve ok sto se baze tice.
08.09.2006. u 23:53 

[es] :: Baze podataka :: SQL Server dodaje novi slog u sred tabele (?)

[ Pregleda: 982 | Odgovora: 10 ]

Postavi temu Odgovori

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