Veri Tabanı Tablo Tasarımı (ilişkisiz)
Çalışma: Basit üsülde bakkal hesabı tutacak veri tabanı tasarımı yapalım,
--create database db_yenibakkal
create table tbl_urun(
urun_id int primary key identity,
adi nvarchar(30) not null,
fiyat smallmoney,
miktar tinyint
)
create table tbl_musteri(
musteri_id int primary key identity,
adi_soyadi nvarchar(50),
adres nvarchar(max),
telefon char(11)
)
create table tbl_tedarikci(
tedarikci_id int primary key identity,
adi nvarchar(80),
adres nvarchar(max),
telefon char(11)
)
create table tbl_satis(
satis_id int primary key identity,
tarih datetime,
urun_adi nvarchar(30),
miktar tinyint,
ucret smallmoney,
musteri_ad nvarchar(50)
)
Çalışma: Araba Parkı giriş çıkışı ve detayını yapacak veri tabanı tasarlayalım.
Plan:
musteriler(ad soyad, telefon,adres,tc,is_uye, cinsiyet)
araba(plaka, rengi, marka, model)
park_yeri(konum,kat, numarası, is_durum)
personel(tc, adsoyad, telefon, maas, adres)
parkometre(giris_zaman, cikis_zamani, ucret)
create table tbl_musteri(
musteri_id int primary key identity,
ad_soyad nvarchar(50),
telefon char(11),
adres nvarchar(max),
tc char(11),
is_uye bit,
cinsiyet char(1)
)
create table tbl_araba(
araba_id int primary key identity,
plaka nvarchar(10),
marka nvarchar(20),
model nvarchar(20),
renk nvarchar(15)
)
create table tbl_parkyeri(
parkyeri_id int primary key identity,
konum nvarchar(max),
kat char(1),
numarasi char(4),
is_durum bit
)
create table tbl_personel(
personel_id int primary key identity,
tc char(11),
ad_soyad nvarchar(50),
telefon char(11),
maas smallmoney,
adres nvarchar(max)
)
create table tbl_parkometre(
parkometre_id int primary key identity,
giris_zaman datetime,
cikis_zaman datetime,
ucret smallmoney
)
GAZETE DAĞITIM TASLAK
Plan:
gazete(gazetekodu,adi,alis_fiyatı,satis_fiyati adedi)
yayınevi(adresi, tel, kodu, adi)
bayiler(adi, adresi, telefon, sorumlu, bayi_kodu,vergi_no)
araclar(plaka, turu)
personel(tc, adsoyad, telefon, d_tarih, maas, cinsiyet, gorevi)
Kod:
--create database db_gazete;
create table tbl_gazete(
gazete_id int primary key identity,
g_kod char(4),
gazete_adi nvarchar(20),
alis_fiyati smallmoney,
satis_fiyati smallmoney,
adet smallint
)
create table tbl_yayinevi(
yayinevi_id int primary key identity,
y_kod char(5),
adi nvarchar(40),
telefon char(11),
adres nvarchar(max),
vergi_no nvarchar(11)
)
create table tbl_bayi(
ba_id int primary key identity,
b_kod char(4),
adi nvarchar(40),
telefon char(11),
adres nvarchar(max),
vergi_no nvarchar(11),
sorumlu nvarchar(50)
)
create table tbl_arac(
arac_id int primary key identity,
plaka nvarchar(9),
turu nvarchar(15)
)
create table tbl_personel(
personel_id int primary key identity,
tc char(11),
adsoyad nvarchar(50),
telefon char(11),
d_tarih date,
maas smallmoney,
cinsiyet char(1),
gorevi nvarchar(20)
)
Çalışma: Yayın evi bilgilerinin tutulduğu veritabanı modeli tasarlayın
P
Plan: Kitap (basim_tarihi, kitap_adi, basım_adedi, kacinci_basim, sayfa_sayisi)
Yazar (adi_soyadi, telefon, mail, cinsiyet, adres)
Calisan (adi_soyadi, telefon, doğum_tarihi, iban_no)
Muhasebe (unvan, maas)
Musteri (adi, telefon, adres)
Kod:
create database db_yayinevi
create table tbl_kitap(
kitap_id int,
kitap_adi nvarchar(50),
b_tarih date,
b_adedi int,
basim_sayisi tinyint,
sayfa_sayisi smallint
)
create table tbl_yazar(
yazar_id int,
ad_soyad nvarchar(45),
adres text,
telefon char(11),
email nvarchar(40),
cinsiyet char(1)
)
create table tbl_calisan(
calisan_id int,
adi_soyadi nvarchar(45),
telefon char(11),
iban char(16),
d_tarih date
)
create table tbl_muhasebe(
muhasebe_id int,
unvan nvarchar(30),
maas smallmoney
)
create table tbl_musteri(
musteri_id int,
ad_soyad nvarchar(45),
adres text,
telefon char(11)
)
DDL Komutları
CREATE :
Veritabanı, tablo gibi nesneleri oluşturmamızı sağlayan komuttur
Genel kullanımı: CREATE nesne_tip nesne_isim [options]
– Veri tabanı oluşturmak için:
create database ProjectOffice
– Tablo oluşturmak için:
create table tbl_engineer(
engineer_id int primary key identity,
name nvarchar(20),
surname nvarchar(20),
age tinyint,
gender char(1)
)
ALTER :
Daha önceden oluşan nesneler üzerinde değişiklik yapmak için kullanılır.
Genel kullanımı : ALTER nesne_tip nesne_isim [options]
– Mevcut bir tabloya yeni bir column eklemek için:
alter table tbl_engineer
add date_of_birth date
– Mevcut bir tablonun, mevcut bir columna ait özelliği değiştirmek için
alter table tbl_engineer
alter column date_of_birth datetime
– Mevcut bir tablodan bir column silmek için:
alter table tbl_engineer
drop column date_of_birth
DROP:
veritabanı, tablo gibi nesneleri silmek için kullanılır
Genel kullanımı: DROP nesne_tip nesne_isim
– Veriatabanını silmek için:
drop database EngineerProject
Tablo silmek için:
drop table tbl_engineer
create table tbl_ogrenci(
ogrenci_id int primary key identity,
ad_soyad nvarchar(55),
telefon char(11),
cinsiyet bit )
alter table tbl_ogrenci
add adres text
alter table tbl_ogrenci
alter column cinsiyet char(1)
alter table tbl_ogrenci
drop column cinsiyet
drop table tbl_ogrenci
Bu dersimizde örneklerle beraber tablo nasıl tasarlanır ve nasıl yapılır öğrendik. Veri tabanı ile ilgili diğer derslere de göz atın.
Önceki Dersimiz, Ders-1: Veri türleri
Bir sonraki Ders, Ders-3: Tablolar Arası İlişkiler (Bire-Bir, Bire-Çok, Çoka-Çok)