Fiziksel Model Nedir ?
- Fiziksel model veya Fiziksel modelleme veri tabanının fiziksel olarak oluşturulması anlamına gelmektedir.
- Fiziksel model konusu ise; kayıt organizasyonu, verilerin diskte saklanması ve erişim yöntemleriyle ilgilidir.
- Dersimizde ilgili konu başlıkları yerine SQL komutları yardımıyla fiziksel bellekte tutulacak verilerin tanımlanması konusu çalışılacaktır.
DDL (Data Definition Language) Nedir ?
- Yapısal verilere erişim için kullanılan dil Structured Query Language (SQL) adını alır.
- SQL kendi içerisinde; veri yapısını tanımlamayan DDL ve veriye erişime imkan veren DML komutlarından oluştur.
- Temel olarak üç tip DDL komutu vardır:
- CREATE: veri tabanı nesnelerinin yapısını oluşturur.
- ALTER: veri tabanı nesnelerinin yapısını günceller.
- DROP: veri tabanı nesnelerini yok eder.
Veri tabanı nesneleri
- Temel veri tabanı nesneleri şunlardır:
- DATABASE
- TABLE
- INDEX
- VIEW
Veri tabanı oluşturma
- CREATE DATABASE <database name>
- Örnek: AKADEMISYEN isimli veri tabanını oluşturunuz.
- CREATE DATABASE AKADEMISYEN
Tablo oluşturma
CREATE TABLE <table_name>
(
kolon1 veri_tipi,
kolon2 veri_tipi,
kolon3 veri_tipi,
…..
kolonN veri_tipi,
PRIMARY KEY(bir veya daha fazla kolon)
);
Veri tipleri
- Veritabanı farklı türden veriler içeren tablolar şeklinde tasarlanır. Tablolarda kullanılabilecek temel veri tipleri şunlardır:
- Karakter
- Nümerik veri tipi
- Tarih
Karakter veri tipi
- Karakter veri tipinde bir nitelik tanımlamak için CHAR ve VARCHAR kullanılır. Kullanımları şu şekildedir:
- Ad CHAR(15)
- Ad VARCHAR(15)
- İkisi arasındaki en önemli fark;
- CHAR ile tanımlamada bellekten 15 karakter kullanılır her seferinde.
- VARCHAR ile tanımlamada ise verinin boyutu ne ise bellekten o miktarda alan kullanılır.
Nümerik veri tipi
- Nümerik veri tipi hem tamsayılar için hem de reel sayılar için NUMBER veri tipiyle ifade edilir.
- Tamsayı şeklinde ifade;
- Not NUMBER
- Reel sayı şeklinde ifade ise;
- Odeme NUMBER(10, 2)
- Şeklindedir. Reel ifade de ilki sayının uzunluğu, ikinci kısmı ise ondalık haneyi gösterir.
Tarih veri tipi
- Tarih veri tipi DATE bildirimi ile belirtilir.
- Dogumtarihi DATE
- Şeklinde yazımı vardır.
Tablo üzerinde INDEX oluşturma
- Var olan bir tablonun daha hızlı şekilde erişilebilir olması için tablo bir alanına göre indekslenir.
- Örnek: CUSTOMERS tablosu üzerinde AGE niteliğine dayalı olarak indeks oluşturunuz.
- CREATE INDEX idx_age ON CUSTOMERS (AGE);
Görünüm (view) oluşturma
- Veri tabanında sanal bir tablo oluşturmak için kullanılır.
- Söz dizimi şu şekildedir:
CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table_name
WHERE condition;
- Örnek: öğrenci tablosunda yer alan bilgisayar öğrencilerinden bir sanal tablo oluştur.
CREATE VIEW bilgisayar_ogrenci AS
SELECT * FROM ogrenci WHERE bno=104
Veri yapısı güncelleme
- Eğer bir veri tabanı nesnesi hatalı tanımlandıysa ALTER TABLE yardımıyla güncelleme yapılır.
- Söz dizimi şöyledir:
ALTER TABLE <table_name>
{ADD|DROP|MODIFY}
column_name {data_type};
Alter table örnekleri
- Persons tablosuna tarih veri tipinde ve DateOfBirth isminde bir nitelik ekler.
- ALTER TABLE Persons
ADD DateOfBirth date - Persons tablosundan DateOfBirth isimli niteliği siler.
- ALTER TABLE Persons
DROP DateOfBirth - DateOfBirth için date olan veri tipi datetime olarak güncellenir.
- ALTER TABLE Persons
ALTER COLUMN DateOfBirth datetime
Veya
- ALTER TABLE table_name
MODIFY DateOfBirth datetime
Veri tabanı nesnesi yok etme
- DROP DATABASE <database object name>
- Örnek: AKADEMISYEN isimli veri tabanını yok edecek DDL ifadesini yazınız.
DROP DATABASE AKADEMISYEN
- Diğer nesneler için de benzer kullanım geçerlidir.
Veri tabanı kısıtları
- Veri tabanı için en önemli özellik veri tutarlılığının sağlanmasıdır.
- Veri tutarlığı SQL kısıtları ile sağlanır.
SQL Kısıtları
- SQL kısıtları şunlardır:
- NOT NULL: niteliğin boş geçilmesini önler.
- DEFAULT: değer girişi olmadığında veri tabanına eklenecek değer.
- UNIQUE : niteliğin eşsiz olmasını garanti eder.
- PRIMARY Key: niteliği birincil anahtar yapar.
- FOREIGN Key: başka tablo ile bağ kurmada kullanılır.
- CHECK: niteliğin değerini sınırlar.
NOT NULL kısıtı
CREATE TABLE CUSTOMERS
(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
DEFAULT kısıtı
CREATE TABLE CUSTOMERS
(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2) DEFAULT 5000.00,
PRIMARY KEY (ID)
);
UNIQUE kısıtı
CREATE TABLE CUSTOMERS
(
ID INT NOT NULL,
TUTORIALS POINT
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL UNIQUE,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
PRIMARY KEY kısıtı
CREATE TABLE CUSTOMERS
(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
FOREIGN KEY kısıtı
CREATE TABLE ORDERS
(
ID INT NOT NULL,
DATE DATETIME,
CUSTOMER_ID INT,
CONSTRAINT FK_CustRef FOREIGN KEY (CUSTOMER_ID)
REFERENCES CUSTOMERS(ID)
AMOUNT double,
PRIMARY KEY (ID)
);
CHECK kısıtı
CREATE TABLE CUSTOMERS
(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL CHECK (AGE >= 18),
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
Unutulan kısıtların eklenmesi
ALTER TABLE <table_name>
ADD <unutulan tanım kısmı>

Fiziksel model konusundan Bir önceki veri tabanı konusuna geçmek için — Tıklayınız