Veritabanı Tasarımı Ve Yönetimi

Transkript

Veritabanı Tasarımı Ve Yönetimi
Veritabanı Tasarımı Ve Yönetimi
SQL Sorgulama Dili
Tablo Oluşturma
CREATE TABLO <tablo adı>
(<Tablonun alanın adı> <alanın tipi> <alanın kısıtlaması>...)
CREATE TABLO komutu kullanılırken tablonun her alanı (sütunu) için veri tipi ve başka bazı
parametreleri vardır. Bazı alanlar (sütunlar) için kısıtlamalarının gösterilmesi gereklidir. Bu
kısıtlamalar aşağıdaki şekilde sayılabilir;
1.
Not Null, alan için bir değerin mutlaka girilmesi gerektiğini gösterir. (Bu parametre
daha çok birincil anahtarlar ve eşsiz alanlar için kullanılır. )
2.
Default, alan için bir başlangıç değeri verilmesinde kullanılır. Bu değer sabit bir değer
olabileceği gibi, Null değeri de olabilir.
3.
İsteğe bağlı olarak constraint anahtar kelimesi kullanılarak bir veya birden fazla kısıt
kullanılabilir. Bu kısıtlar şunlardır.
a.
b.
c.
PRIMARY KEY (Birincil anahtar)
UNIQUE (her kaydın bir alan için farklı bir değer olması gerektiğini gösterir.
REFERENCES (başka bir tablonun alanıyla ilişki kurmak için
Veri Tipleri
Veri Tipi
Kullanım
CHAR(n)
N tane karakterden oluşan karakter katarını gösterir
INTEGER
Tamsayıları gösterir
REAL
Kesirli sayıları göstermek için kullanılır
DATE
Tarih göstermek için kullanılır
SQL İlişkileri Oluşturma
sid
name login
age
gpa
18
3.4
53688 Smith smith@eecs 18
3.2
53650 Smith smith@math 19
3.8
53666 Jones jones@cs
sid
cid
CREATE TABLE Students
(sid CHAR(20),
name CHAR(20),
login CHAR(10),
age INTEGER,
gpa REAL)
grade
53831
Carnatic101
C
53831
Reggae203
B
53650
Topologyl 12
A
53666
History105
B
CREATE TABLE Enrolled
(sid CHAR(20),
cid CHAR(20),
grade CHAR(2))
SQL’de Primary ve Aday Anahtarlar
CREATE TABLE Enrolled
(sid CHAR(20) ,
cid CHAR(20),
grade CHAR(2),
PRIMARY KEY (sid,cid) )
CREATE TABLE Enrolled
(sid CHAR(20)
cid CHAR(20),
grade CHAR(2),
PRIMARY KEY (sid),
UNIQUE (cid, grade) )
SQL’de Foreign Anahtar
CREATE TABLE Enrolled
(sid CHAR(20), cid CHAR(20), grade CHAR(2),
PRIMARY KEY (sid,cid),
FOREIGN KEY (sid) REFERENCES Students )
Enrolled
sid
cid
grade
Students
53666
Carnatic101
C
sid
53666
Reggae203
B
53650
Topologyl 12
53666
History105
name login
age
gpa
53666 Jones jones@cs
18
3.4
A
53688 Smith smith@eecs
18
3.2
B
53650 Smith smith@math 19
3.8
VARLIK-İLİŞKİ DİYAGRAMLARININ İLİŞKİ
ŞEMALARINA DÖNÜŞTÜRÜLMESİ
Varlıkların Tabloya Dönüştürülmesi
sicilno
isim
maaş
Personel
CREATE TABLE Personel
(sicilno CHAR(11),
isim CHAR(20),
maaş INTEGER,
PRIMARY KEY (sicilno))
Bağlantıların Tabloya Dönüştürülmesi
CREATE TABLE Works_ln(
ssn CHAR(11),
did INTEGER,
address CHAR(20),
since DATE,
PRIMARY KEY (ssn, did,address),
FOREIGN KEY (ssn) REFERENCES Employees,
FOREIGN KEY (did) REFERENCES Departments,
FOREIGN KEY (address) REFERENCES Locations)
Zayıf Varlıkların Tabloya Dönüştürülmesi
CREATE TABLE Dep_Policy (
pname CHAR(20),
age INTEGER,
cost REAL,
ssn CHAR(11) NOT NULL,
PRIMARY KEY (pname, ssn), FOREIGN KEY (ssn) REFERENCES Employees,
ON DELETE CASCADE)
Genellemelerin Tabloya Dönüştürülmesi
• 2 yaklaşım vardır :
1. Üst düzey varlık kümesi ve alt düzey varlık
kümleri için birer tablo oluşturulur. Alt düzey
tablolarında, üst düzeyin anahtarına yer
verilir.
2. Üst düzey tablosu olmaz. Fakat alt düzey
tablolarında üst düzeyin tüm nitelikleri
tekrarlanır.
Kümelemelerin Tabloya Dönüştürülmesi
• Bir bağıntı kümesinin (A) ucunda bir varlık
kümesi yerine bir kümeleme (B) varsa, (A)
tabloya dönüştürülürken varlık kümesi
anahtarı yerine kümelemedeki (B) bağıntısının
anahtarı kullanılır.
Uygulama
miktar
yazar
Yayın-yılı
başlık
ssn
müşteriadı
Müşteri_id
ücret
Kitaplar
Müşteriler
Siparişler
miktar
Sipariş
tarihi
adres
Gönderi
tarihi
Kart
numarası
Kaynak:
Prof. Dr. Ümit KOCABIÇAK – Sakarya Üniversitesi

Benzer belgeler

tıklayınız - PayU Türkiye

tıklayınız - PayU Türkiye TESTORDER="1" (HMAC MD5 imzasına dahil değildir) LANGUAGE="RO" (HMAC MD5 imzasına dahil değildir)

Detaylı