PostgreSQL - Gelişmiş Ekleme

İçindekiler
sözdizimi PostgreSQL ANSI-SQL standartlarıyla sorunsuz bir şekilde bir arada bulunur, buna rağmen PostgreSQL, diğer veritabanı işleyicilerinde olmayan veri eklemeleri yaparken kolumuza birkaç numara koymamıza izin verir, bunlardan biri birden fazla kayıt için gelişmiş ekleme oluşturucudur.
Çoklu ekleme
Açıkladığımız gibi, birkaç satır ekleme imkanımız var, ancak uyum sağlayabilmek için kodda bir örnek görelim:

BÜYÜT

Bunun, kullanarak tek bir satır eklemeye benzer şekilde çalıştığını görebiliriz. DEĞER GİRİN () sadece her bir kayıt kümesini virgül (,) ile ayırarak aynı anda birden fazla kayıt ekleyebiliriz.
kısıtlamalar
NS kısıtlamalar PostgreSQL'de bunlar Veritabanı pazarında bulunabilecek en gelişmiş ve karmaşık olanlardır, çünkü kısıtlama oluşturmaya ek olarak, kullanım del kısıtlamasını atlayabileceğimiz ve ihlal edebileceğimiz koşullar da dahil olmak üzere mevcut verilerin tüm yönlerinin işlenmesine izin verir. veri ekleme sırasındaki kısıtlama.
Yabancı anahtar kısıtlamasının nasıl ele alınacağını görelim, PostgreSQL Kısıtlamaları kullanırken basamaklı değişiklik ve silme seçeneklerine izin verir.
Bu örnekte birkaç şeyi açıklayıcı bir şekilde kullanacağız.

BÜYÜT

1. Bu ilk kısıtlamada, tablo arasında bir yabancı anahtar ilişkisi tanımlarız. gerçekler ve masa fact_types, fact_types tablosunda halihazırda mevcut olmayan öğelerin girişini önlemek için.

2. Ayrıca fact_type_id alanında, fact_types tablosunun herhangi bir kaydının yeniden numaralandırılması durumunda, olgu tablosunu otomatik olarak güncelleyen bir basamaklandırma kuralı tanımlıyoruz, ayrıca değerlerden herhangi biri kullanımdaysa silmeyi kısıtlıyoruz.

3. Birincil anahtarın davranışı ve benzersiz kısıtlamaların aksine, PostgreSQL otomatik olarak bir yabancı anahtarın indeksini eklemez, bunu kendi hesabımızda yapmalıyız.

Benzersiz Kısıtlamalar
Her tablonun birden fazla birincil anahtarı olamaz, şimdi diğer sütunlarda başka benzersiz alanlara ihtiyacımız varsa, benzersiz kısıtlamalar, bunu eklemek otomatik olarak benzersiz bir ilişkili dizin oluşturur, birincil anahtarın aksine benzersiz bir kısıtlamaya sahip bir sütun NULL değerlerle doldurulabilir, bu sütunun bir yabancı anahtar ilişkilendirmesine katılmaya uygun olmayan benzersiz bir kısıtlaması vardır .
Bunu yapmak için aşağıdaki şekilde yapabiliriz:
ALTER TABLE logs_2011 KISITLAMA EKLE uq_us_log UNIQUE (kullanıcı_adı, log_ts);

Kısıtlamaları Kontrol Et
NS kısıtlamaları kontrol et sorgu planlayıcısı, bir alanın her satır için karşılaması gereken koşullardır. PostgreSQL Tabloda bir koşulun süzgecinin yerine getirilemeyeceğini gösteren bir kontrol kısıtı olup olmadığını doğrulamakla görevlidir, ardından koşulların doğrulamasını atlar.
nasıl oluşturabileceğimizi görelim kısıtlamayı kontrol et:
 [size = 4] TABLE günlüklerini ALTER CONSTRAINT EKLE chk_lusername [/ size] [size = 4] CHECK (user_name = low (user_name)); [/ size] 

Bununla birlikte, eklemeler yaparken ve verileri kısıtlama koşullarıyla doğrularken gelişmiş PostgreSQL konfigürasyonları hakkında biraz daha fazla şey öğrendiğimiz bu öğreticiyi bitiriyoruz.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave