SORU
28 Ocak 2009, ÇARŞAMBA


Birincil anahtar veya Benzersiz dizin?

İş yerinde birincil anahtarları yerine benzersiz dizinleri büyük bir veritabanı var ve gayet iyi çalışıyor.

Yeni bir proje için yeni bir veritabanı tasarlıyorum ve bir ikilem var:

GERÇEK projelerde DB teorisi, birincil anahtardır " TAMAM, temel element, ama her ikisi de avantajları ve dezavantajları nelerdir?

Projelerde ne kullanıyorsunuz?

DÜZENLEME:...ve ne birincil anahtarları ve MS SQL server çoğaltma hakkında?

CEVAP
26 Mayıs 2010, ÇARŞAMBA


Benzersiz bir dizin nedir?

Bir sütun üzerinde benzersiz bir dizin de iki farklı satır sütun içinde iki eşit değerlere sahip olamaz, bu kısıtlamayı zorlar bu sütunda dizin. Örnek:

CREATE TABLE table1 (foo int, bar int);
CREATE UNIQUE INDEX ux_table1_foo ON table1(foo);  -- Create unique index on foo.

INSERT INTO table1 (foo, bar) VALUES (1, 2); -- OK
INSERT INTO table1 (foo, bar) VALUES (2, 2); -- OK
INSERT INTO table1 (foo, bar) VALUES (3, 1); -- OK
INSERT INTO table1 (foo, bar) VALUES (1, 4); -- Fails!

Duplicate entry '1' for key 'ux_table1_foo'

Son bir ekleme ikinci kez bu sütuna değeri 1 eklemek çalıştığında sütun üzerinde benzersiz dizin foo aykırı olduğu için başarısız.

MySQL bir tablonun birden çok Boşluk sağlar.

Mümkün birden fazla sütun üzerinde benzersiz bir dizin olun.

Birincil anahtar karşı benzersiz bir dizin

Aynı şeyler:

  • Birincil anahtar benzersiz bir dizin göstermektedir.

Farklı şeyler:

  • Birincil anahtar da BOŞ DEĞİL anlamına gelir, ama benzersiz bir dizin null olabilir.
  • Yalnızca bir tek birincil anahtar olabilir, ama birden çok benzersiz bir dizin olabilir.
  • Eğer clustered ındex tanımlı ise o zaman orada hiçbir birincil anahtar kümelenmiş dizin olacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LounaTutorials

    LounaTutoria

    10 EYLÜL 2009
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • ThreadBanger

    ThreadBanger

    2 Mart 2007