ben

OMÜ , Bilgisayar Mühendisliği, 13'

7 Şubat 2022 Pazartesi

DDL kısıtlayıcılar

Kısıtayıcılar, veri tabanına eklenen kayıtların belirli bir veri kontrolünü sağlamak için kullanılırlar. Her bir veri tabanı yönetim sisteminde var olan kısıtlayıcılar tanımlanırken DDL komutlarının kullanım açısından syntax farklılığı gösterebilirler. Toplamda 5 tane kısıtlayıcı vardır.

1. Primary Key

Veritabaında açılan tablolardaki kayıtların benzersiz id alanına Primary key özeliği vermeliyiz. Aynı zamanda bu primary key, Tablolar arası ilişkiler kurulurken e karşımıza çıkacaktır.

- Yeni tablo oluşturulduğuna Primary key özelliği:

        create table okuyucu(
        okuyucu_id serial primary key
        )

- Mevcut bit tablodaki, mevcut bir alana primary key özeliği: Burada okuyucu tablosu var, okuyucu_id alanımız var fakat primary key özelliği yok.

        alter table okuyucu add constraint okuyucu_pk primary key(okuyucu_id);

- Mevcut bir tablodaki primary key özelliğini kaldırmak;

        alter table okuyucu drop constraint okuyucu_pk;

2. Foreign Key

Yabancıl anahtar anlamına gelen kısıtlayıcı, tabloları ilişkilendirmek için kullanılır.

- Yeni bir tabloya Foreign key alanı eklemek: Okuyucu tablosuna, kitap tablosunun Primary key alanını foreign key olarak ekleyelim.
      create table okuyucu(
    okuyucu_id serial primary key,
    kitap_id integer references kitap(kitap_id)
        )
- Mevcut bir tabloya yeni Foreign key alanı eklemek; Okuyucu tablosunda sadece Primary key alanı var, Foreign key alanı(kitap_id alanı) bulunmuyor.
        alter table okuyucu add kitap_id integer  references kitap(kitap_id);

- Mevcut bir tablodaki mevcut bir alana Foreign key özelliği vermek;
        alter table okuyucu add constraint fk_okuyucu foreign key (kitap_id) 
        references kitap (kitap_id)

-Tablodaki foreign key özelliğini kaldırmak;
        alter table okuyucu drop constraint fk_okuyucu

3.Check

Veri girişi yapılan veri için belirli şartlar tanımlamamızı sağlar. Örneğin cinsiyet alanına sadece K veya E harfi girilebilsin  farklı bir karakter girilemesin.

- Yeni bir tablo oluşturulurken check alanı eklemek;
        create table okuyucu(
           okuyucu_id serial primary key,
           cinsiyet char(1) check(cinsiyet='K' or cinsiyet='E')
        )

- Mevcut bir tabloya , yeni check alanı elemek;
        alter table okuyucu add cinsiyet char(1) check(cinsiyet='K' or cinsiyet='E')

- Mevcut bir tablonun, mevcut bir alanına check şartı vermek;
        alter table okuyucu add check (cinsiyet='K' or cinsiyet='E')

- Tablodaki check özelliğini kaldırmak;
       alter table okuyucu drop constraint okuyucu_cinsiyet_check;

4. Unique

Tablodaki bir alana girilen verilerin benzersiz olma durumunda verilen kısıtlayıcı türüdür.

-Yeni bir tablo oluşturulurken ;
        create table okuyucu(
           okuyucu_id serial primary key,
           tckimlik_no char(11) unique
        )

- Mevcut bir tablodaki mevcut bir alana unique özelliğini vermek;
            alter table okuyucu add unique (tckimlik_no)

- Mevcut bir tablodan unique özelliğini kaldırmak;
            alter table okuyucu drop constraint okuyucu_tckimlik_no_key

5.Default

Tablodaki bir alana veri girilmediğinde, varsayılan olarak verilen verinin otomatik eklenmesini sağlar. Örnek olarak , okuyucu üye olduğuna üyelik tarihi otomatik sistem tarihini almasını istersek default kullanmamız gerekiyor

- Yeni bir tablo oluşturulurken;
        create table okuyucu(
           okuyucu_id serial primary key,
           uyelik_tarihi timestamp default current_date
        )

- Mevcut bir tablodaki mevcut bir alan için default özeliğini vermek için;
        alter table okuyucu alter column uyelik_tarihi set default current_date

- Mevcut bit tablodaki default özelliğini kaldırmak;
        alter table okuyucu alter column uyelik_tarihi drop default

Hiç yorum yok: