Kami dapat mendeklarasikan Identity
sejenis id_num
sehingga id_num
akan memiliki peningkatan angka unik.
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
)
Apakah disarankan untuk digunakan Identity
sebagai alternatif Primary key
karena Identity
memberikan nomor unik untuk setiap baris?
sql-server
primary-key
identity
Mendongkrak
sumber
sumber
IDENTITY
sebagai kunci utama (bukan sebagai alternatif untuk PK). Itu membuat kunci primer yang sangat baik, sangat efisien (yang secara default juga adalah kunci pengelompokan dalam SQL Server) - sempit, biasanya statis, biasanya unik (kecuali jika Anda mengutak-atik spesifikasi identitas), dan itu selalu meningkatJawaban:
Identity columns
danPrimary Keys
dua hal yang sangat berbeda. AnIdentity column
memberikan nomor yang bertambah secara otomatis. Hanya itu yang dilakukannya. ThePrimary Key
(setidaknya di SQL Server) merupakan kendala unik yang jaminan keunikan dan biasanya (tetapi tidak selalu) kunci berkerumun. Sekali lagi dalam MS SQL Server itu juga merupakan indeks (dalam beberapa RDBMS mereka tidak terikat erat) Sebagai indeks ini menyediakan pencarian lebih cepat dll. SeringIdentity columns
digunakan sebagaiPrimary Key
jika tidaknatural key
ada barang, tetapi bukan pengganti.sumber
clustered index key
mana katanyaprimary key
.Tidak, karena identitas tidak menjamin nilai yang unik. Properti identitas dapat di-bypass
SET IDENTITY_INSERT <schema>.<table> ON
(dalam SQL Server - Anda tidak menentukan RDBMS apa yang Anda gunakan).Batasan kunci primer (dan batasan unik) menggunakan indeks unik untuk menegakkan keunikan.
sumber
Identity
danPrimary Key
tidak setara dan melayani dua tujuan yang berbeda.