17 Nisan 2013 Çarşamba

SQL komutları devamı

Herzamanki gibi blog sayfamıza ara verdik biliyorum :) Madem öyle dedik gündelik yaptıklarımızı ekleyelim.
Bir ERP genel anlamda ayrıntısız veritabanını oluştururken. Bir kısmı ile anlatım yapmak iyi olur. Aşağıda gördüğünüz diyagram veritabanı diyagramının bir parçası. Bu eer diyagramını bir yazılım mühendisi veya veritabanı uzmanı kolaylıkla okuyabilir. Ve hem veritabanını çıkarır hem de yazılımı nasıl yazılması gerekiyorsa bağlantıları kurarken rahatlık oluşur. Bu diyagramı önce oluşturursunuz veya veritabanı kodları yazdıktan sonra benim gibi MySql Workbench ile diyagramı SQL kodlarından oluştur diyebilirsiniz :) Hatta diyagram oluştuktan sonra yazdığınız kodlardaki hataları ve eksikleri bulmanız daha da kolaylaşıyor. O yüzden bu tarz diyagramları en baştan oluşturarak yola çıkmanızı tavsiye ederim.
Diyagrama gelecek olursak. Herbir kare bize herbir tablomuzu ifade etmekte, tablolardaki anahtarlar ise primary key, pembe işaretli olanlar ise foreign key olarak belirlenmiş demek oluyor.
Primary key : Bir sütunu eşsiz bir değer yapar. Ben genelde bunu otomatik atamaya ayarlarım. Bunu da auto_increment ile yapabilirsiniz.
Foreign key: Bir tablonun belli yada belirli sutünlarına girilecek değerleri, ilişkilenen başka bir tablonun bir sütunundaki değerine eş olması için kullanılır. 
Oluşturma kodlarımız ise şöyle :Tabi sizin yazılar rengarenk olmayacak :) sadece daha net anlaşılsın diye renklerini ayırdım.

create table calisan
(calisan_id int not null auto_increment,
calisan_adi varchar(50),
calisan_tc int not null unique,
meslek_kod int not null,
calisan_aciklama varchar(50),
primary key (calisan_id) );

create table meslek
(meslekid int not null auto_increment,
meslek_adi varchar(50),
primary key (meslekid) );

create table meslekdurumu
(meslek_id int not null,
calisan_id int not null,
foreign key (meslek_id) references meslek(meslekid),
foreign key (calisan_id) references calisan(calisan_id) )

Buradan yolla çıkarsak eğer diyelim ki bağlantı kurmayı unuttunuz ve diyagramı oluşturdunuz sonra farkettiniz ki olması gereken bir bağlantı yok:)Benim başıma geldiği gibi , o zaman şu kodlarla hemen foreign'lerimizi ekleyebiliriz. Aslında sadece foreign key için değil başka değişiklikler için de kodlar var ama şimdilik bunu yapalım. Eğer yukarıdaki koyu mavi satırlı yeri unutursak, aşağıdaki kodlarla bunu ekleyebiliriz.

ALTER TABLE meslekdurumu
ADD FOREIGN KEY (meslekid)
REFERENCES meslek(meslekid);

Şimdilik hoşçakalın. Bir dahaki sefere daha ayrıntılı yazmak üzere diyelim öyle olsun :)




Hiç yorum yok:

Yorum Gönder