• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

Microsoft SQL

  • Ја почнал/а темата
  • #1

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Еве една нова тема за Microsoft SQL Server. Ме интересира дали може примарниот клуч во автоматски да се генерира (за секој нареден запис да се зголемува за 1) на пример како Autoincrement што е во Access.
 

tino097

Intern
28 мај 2007
2
0
ајде прва порака на тема кај шо сум најтеле :)

сега и јас учам MS SQL, и решението за твојот проблем е примарниот клуч да биде од тип int identity(1,1)

додека мене ме интересира дали некој може да објасни нешто во врска со uniqueidetifier
 

lizardlabs

Intern
23 август 2007
58
1
uniqueidentifier vo MS SQL ili GUID ( Global Unique ID) e 16 bajten broj koj se generira od MS SQL (T-Sql) so funkcijata NewId() i teoretski (spored dokumentacijata) ne bi trebalo NewId() da izgenerira dva isti takvi broja i toa ne samo za tvojata baza, tuku i na globalno nivo (demek vo cel svet !??!?). Najcesto se koristi kako primaren kluc vo tabeli i relacii kade se vrsi replikacija pomegu razlicni bazi za da se zadrzi "konzistentnosta" na podatocite i relaciite.

Pr. ako primarniot kluc na edna tabela ti e inkrementalen cel broj, klucevite bi bile so vrednost 1, 2, 3.... itn. Ako vo nekoja druga baza imas ista takva tabela i tamu klucevite bi bile 1, 2, 3... itn. E sega, ako sakas da gi spois podatocite od tie dve tabeli vo edna, moze da nastane golema zdrka so relaciite i podatocite. E vo vakvi situacii uniqid se naoga pri raka i za sekoj slog generira edinstven broj koj se koristi kako kluc. Prikazot na ovie broevi e vo HEX-oliki format pr: '{DB9CA1EC-A8A4-45f2-8F1E-41EFA8D5873D}'.

Inaku GUID-i se koristat i za drugi nameni vo programiranjeto, ne samo za bazi na podatoci. Se koristat i vo COM+, ActiveX, .Net itn, itn...
 

staki

Intern
26 јуни 2007
147
3
ајде прва порака на тема кај шо сум најтеле :)

сега и јас учам MS SQL, и решението за твојот проблем е примарниот клуч да биде од тип int identity(1,1)

додека мене ме интересира дали некој може да објасни нешто во врска со uniqueidetifier
Може некој да ми каже како се внесува примарниот куч да биде ауто инкремет. Од овој пост забележав дека треба да користиме променлива int identity(1,1) ама во Microsoft SQL Сервер 2005 ја нема оваа променлива.
Ќе може некој да ми помогне.
 
  • Ја почнал/а темата
  • #5

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Може некој да ми каже како се внесува примарниот куч да биде ауто инкремет. Од овој пост забележав дека треба да користиме променлива int identity(1,1) ама во Microsoft SQL Сервер 2005 ја нема оваа променлива.
Ќе може некој да ми помогне.
Ќе ставиш поле од типот int или bigint. Потоа во сетинзите ќе подесиш Is Identity = "yes" и increment ќе наместиш на 1.
 

staki

Intern
26 јуни 2007
147
3
@aleksandar_te
Фала. Да прашам уште нешто. Дали е подобро да ставам ауто инкремент бројчиња за клуч или пак да ставам моментално време за клуч.
Кога викам моментално време мислам на ден година саат до секунда. Си размислував дека во исто време во иста секунда да се погодат двајца да внесуваат податок е многу мала веројатност. Ама па со голед дека базата ја правам за web апликација е теорецки возможно.
Што ме советувате вие?
 

xenonsoft

Intern
2 февруари 2008
10
0
супер тема и јас учам сега SQL, а сакам да ја имам таа програма ако може некој да ми помогне супер ке биде
фала ;)
 

staki

Intern
26 јуни 2007
147
3
SQL server menager Exxpress edition можеш да ја превземеш од тука.
Разликата од целосната верзија е во та што имаш помал простор за серверот, ама ако ти треба за уцење оваа е сосема доволна.
 

parabellum

Intern
2 мај 2007
60
2
@aleksandar_te
Фала. Да прашам уште нешто. Дали е подобро да ставам ауто инкремент бројчиња за клуч или пак да ставам моментално време за клуч.
Кога викам моментално време мислам на ден година саат до секунда. Си размислував дека во исто време во иста секунда да се погодат двајца да внесуваат податок е многу мала веројатност. Ама па со голед дека базата ја правам за web апликација е теорецки возможно.
Што ме советувате вие?
Staki, dali te razbrav dobro? Prashuvash dali Primari Key vo tabelata da ti bide od podatok od tip DateTime? Spored mene - nikako.
 

vordan

Intern
7 јуни 2008
87
14
@aleksandar_te
Фала. Да прашам уште нешто. Дали е подобро да ставам ауто инкремент бројчиња за клуч или пак да ставам моментално време за клуч.
Кога викам моментално време мислам на ден година саат до секунда. Си размислував дека во исто време во иста секунда да се погодат двајца да внесуваат податок е многу мала веројатност. Ама па со голед дека базата ја правам за web апликација е теорецки возможно.
Што ме советувате вие?
Со ставањето на тајм стемп како примарен клуч нема да постигнеш ништо. Како прво, сигурно ќе се најдат два слога со исто време (trust me), а второ, тоа е сосема неекономично - зазема многу место и е тешко за употреба.
Основната причина за воспоставување на ауто-инкрементален примарен клуч е да се добие сигурно и едноставно еднозначно обележување на секој слог во табелата (внимавај, не во базата, само во табелата). Тоа работи сосема добро и не треба да се измислуваат други начини, освен ако се нема други потреби (што знам - репликација, на пример).
 

zlatkogv

Intern
5 декември 2007
206
6
Имам проблем со конектирање во SQL. Овој проблем ми го јавува. Ако знае некој нека помага.

 
  • Ја почнал/а темата
  • #12

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Име на сервер место "ZLATKO\SQLEXPRES" стави "ZLATKO\SQLEXPRESS".
 

Нови мислења

Последни Теми

Статистика

Теми
43,564
Мислења
823,401
Членови
28,069
Најнов член
Na$sko
На врв Дно