DB2 - Şemalar

Bu bölüm Şema kavramını tanıtmakta ve açıklamaktadır.

Giriş

Şema, veritabanında mantıksal olarak sınıflandırılan adlandırılmış nesnelerin bir koleksiyonudur.

Bir veritabanında, aynı ada sahip birden çok veritabanı nesnesi oluşturamazsınız. Bunu yapmak için şema bir grup ortamı sağlar. Bir veritabanında birden çok şema oluşturabilir ve farklı şema grupları ile aynı ada sahip birden çok veritabanı nesnesi oluşturabilirsiniz.

Bir şema tablolar, fonksiyonlar, indeksler, tablo alanları, prosedürler, tetikleyiciler vb. İçerebilir. Örneğin, bir "çalışan" veritabanı için "Profesyonel" ve "Kişisel" olarak adlandırılan iki farklı şema oluşturursunuz. Aynı adı taşıyan “Çalışan” ile iki farklı tablo yapmak mümkündür. Bu ortamda bir tabloda profesyonel bilgiler, diğerinde çalışanın kişisel bilgileri bulunur. Aynı isimde iki tabloya sahip olmalarına rağmen, "Kişisel" ve "Profesyonel" olmak üzere iki farklı şemaya sahiptirler. Böylelikle kullanıcı herhangi bir sorunla karşılaşmadan her ikisiyle de çalışabilir. Bu özellik, tabloların isimlendirilmesinde kısıtlamalar olduğunda kullanışlıdır.

Şema ile ilgili birkaç komut görelim:

Şu anda etkin olan şema alınıyor

Syntax:

db2 get schema

Example: [Mevcut veritabanı şemasını almak için]

db2 get schema

Mevcut ortama başka bir şema ayarlama

Syntax:

db2 set schema=<schema_name>

Example: ['Schema1'i mevcut örnek ortamına göre düzenlemek için]

db2 set schema=schema1

Yeni Şema Oluşturmak

Syntax: [Yetkili kullanıcı kimliğiyle yeni bir şema oluşturmak için]

db2 create schema <schema_name> authroization <inst_user>

Example: ["Db2inst2" ile yetkilendirilmiş "şema1" şeması oluşturmak için]

db2 create schema schema1 authorization db2inst2

Egzersiz yapmak

Aynı isimde fakat iki farklı şemada iki farklı tablo oluşturalım. Burada, biri kişisel diğeri profesyonel bilgi için olmak üzere iki farklı şema ile çalışan tablosu oluşturursunuz.

Step 1: İki şema oluşturun.

Schema 1: [Professional adlı şema oluşturmak için]

db2 create schema professional authorization db2inst2

Schema 2: [Kişisel adlı şema oluşturmak için]

db2 create schema personal authorization db2inst2

Step 2: Çalışan ayrıntıları için aynı ada sahip iki tablo oluşturun

Table1: professional.employee

[Veritabanında 'profesyonel' şema adını kullanarak yeni bir 'çalışan' tablosu oluşturmak için]

db2 create table professional.employee(id number, name 
varchar(20), profession varchar(20), join_date date, 
salary number);

Table2: kişisel. çalışan

[Aynı veritabanında "kişisel" şema adıyla yeni bir "çalışan" tablosu oluşturmak için]

db2 create table personal.employee(id number, name 
varchar(20), d_birth date, phone bigint, address 
varchar(200));

Bu adımları uyguladıktan sonra, iki farklı şemaya sahip aynı 'çalışan' adlı iki tablo elde edersiniz.