MS-SQL Veritabanı Tabloları Oluşturmak - teknolojiweb.net
Teknoloji Öğrencilere Özel MS-SQL Veritabanı Tabloları Oluşturmak
MS-SQL Veritabanı Tabloları Oluşturmak
Veritabanı oluşturduğumuz zaman karşımıza, bir takım veritabanı nesneleri çıkar. Bu veritabanı nesnelerini kullanarak veritabanının kullanımını ve yönetimini gerçekleştiririz.
Bir veritabanı oluşturalım.
1.Şekil : Veritabanı nesneleri
Veritabanı nesneleri aşağıdaki gibidir:
4. Saklı yordamlar
8. Varsayılan Değerler
9. Kullanıcı Tanımlı Veri Türleri
10. Kullanıcı Tanımlı Fonksiyonlar
Bu nesneleri sırayla inceleyelim:
Tablolarda, oluşturulan veritabanı içindeki bilgiler tutulur.
Enterprise Manager’ın sağ tarafına dikkat ederseniz, önceden oluşturulmuş tablolar göreceksiniz. Bu tablolar hakkında “Veritabanı Tasarlamak” makalesinde detaylı bilgi bulabilirsiniz.
Veritabanı içinde iki tane tablo oluşturalım. Tablo oluşturmak için, veritabanı nesnelerinden olan Tables üzerinde sağ tıklayarak New Tables seçeneğini seçeriz.
2.Şekil : Tablo Oluşturma
Tablo tasarlarken kolon isimlerini vererek kolonlar oluştururuz. Oluşturduğumuz kolonun, kullanım amacına göre tipini belirleriz. Yine kullanım hedefimize yönelik, boş olup olmamasına izin verme durumunu tablo tasarımında belirleriz.
Birinci tablomuzda kişinin adını ve soyadını tutan char tipinde alanlar olsun. Bunun yanında herbir kişiyi temsil edecek, o kişiye ait özel bir sayı olan KisiId‘si int tipinde belirleyelim. Allow Nulls seçeneğinin işaretini kaldırarak bu alanın boş bırakılmasını engelleyebiliriz.
3.Şekil : Kolonları oluşturma.
Yukarıdaki menüden anahtar simgesine tıklayarak, () sadece kayıt edilen kişiye özgü olacak olan KisiId kolonunu anahtar alan (primary key) olarak atayalım. Tablonun ismini Kisi olarak belirleyerek kayıt edelim().
İkinci tablomuzda kişiye ait adres ve telefon bilgileri tutalım. Bunun yanında girilen adres ve telefon bilgilerinini hangi kişiye ait olduğunu tespit etmek için KisiId isimli bir kolon belirleyelim. Bir tablodaki anahtar alan başka bir tabloda kullanıldığı zaman yabancıl anahtar (foreing key) ismini almaktadır. Bu sayede aynı bilgiyi birden fazla tabloda tutmamış oluruz. Tablomuzun ismini Irtibat olarak vererek kayıt edelim.
Böylece kişi bilgilerini tutabileceğimiz Kisi ve kişiye ait adres bilgilerini tutabileceğimiz Irtibat tablolarını oluşturmuş olduk.
4.Şekil : Tablo üzerinde işlemler
Tablo üzerine gelerek sağ tuşa basıp, Return All Rows dediğimizde tabloya veri girmemiz için veya olan verileri görmemiz için bir ekran açılacaktır. Buradan verileri kontrol edebiliriz. (Return Top seçeneğinde bize tablodaki verilerden ilk kaçını listeleteceğimizi sorduktan sonra, belirlediğimiz değere göre tablodaki verileri listeler.)
Design Table diyerek, tablo tasarımında istediğimiz düzeltme, silme ve ya ekleme işlemlerini gerçekleştirebiliriz.
Diyagramlar aracılığı ile, veritabanındaki tabloları, tablolardaki kolonları ve tablolar arasındaki ilişkileri görüp, yönetebiliriz. Bunun yanında tablolardaki dizinleri ve kısıtlamaları da görebiliriz.
Diyagramlar kullanarak, ilişkiler oluşturulabiliriz.
Yukarıda oluşturduğumuz tablolar arasında ilişki kuralım.
5.Şekil : İlişki Oluşturma
Diagrams üzerinde sağ tıklayıp New Database Diagram diyerek yeni bir diyagram oluşturuyoruz. Açılan diyagram sihirbazında, sol tarafta kullanabileceğimiz tabloları sıralarken, sağ tarafta diyagrama eklenecek tabloları sıralar.
6.Şekil : Kullanılacak tabloların diyagrama eklenmesi.
Buradan kullanacağımız tabloları seçip Add komut düğmesine tıklayarak, tabloları diyagrama ekliyoruz.
Tablolar arasındaki ilişkiyi, sürükle bırak mantığıyla da yapabiliriz.
7.Şekil : Kolonlar arasındaki ilişkiyi belirleme
Irtibat tablosundaki KisiId kolonunun tutarak, Kisi tablosundaki KisiId alanının üzerine bıraktığımızda, oluşturacağımız ilişkiye ait özellikleri belirleyebileceğimizi bir form açılır.
8.Şekil : İlişkinin özelliklerini belirleme
Buradan ilişkinin ismini verebilir, veya aralarında ilişki kuracağımız tablolardaki, ilişkili olacak olan kolonları değiştirebiliriz. Cascade Update Related Fields, ve Cascade Delete Related Records seçenekleri sayesinde, bir tabloda meydana gelen güncelleme veya silme işlemlerinin ilişkili olduğu diğer tablolada da güncellenmesini veya silinmesini sağlayabiliriz. Bu sayede, mesela kaydı silinen bir kişinin, irtibat bilgileri veritabanında boşuna tutulmamış ve yer kaplamamış olur.
(Not : Aralarında ilişki kurulacak tablolardaki, birbiriyle ilişkilendireceğimiz kolonların isimleri aynı olmak zorunda değildir.)
Görünümleri, bir tablodan ya da arasında ilişki olan birden fazla tablodan, istediğimiz bakış açısıyla veri elde etmek için kullanırız. Görünümler fiziksel değil, sadece sanal tablolardır. Görünümler üzerinden verilere ulaşarak, onların üzerinde istediğimiz işlemleri gerçekleştirebiliriz.
9.Şekil : Görünüm Oluşturma
Örnek olarak adresi İstanbul olan kişileri içeren bir görünüm oluşturarak, onları İstanbul’da düzenlenecek fuara davet edebiliriz.
Views nesnesini tıkladığımızda, Enterprise Manager’ın sağ tarafında standart olarak oluşturulmuş görünümleri görürüz. Bunlar, sistemle alakalı olan görünümlerdir.
Saklı yordamlar bir yada daha fazla sayıda SQL deyimi içeren ifadelerdir. Veritabanında veritabanı kullanıcıları hakkında bilgi edinirken, veya belli bir görevi yerine getirirken kullanılırlar. SQL Server üzerinde derlenerek yine SQL Server üzerinde tutulurlar.
Veritabanını ilk oluşturduğumuzda dikkatimizi varolan saklı yordamlar çeker. Bunlar, sistem tablolarından, kullanıcılardan bilgi edinmek için kullanılan yönetim amaçlı saklı yordamlardır.
10.Şekil : Enterprise Manager’dan saklı yordam oluşturma
Veritabanı nesnelerinden Stored Procedures üzerinde sağ tıklayarak New Stored Procedure diyerek istediğimiz işlemleri gerçekleştirecek bir saklı yordam oluşturabiliriz.
Veritabanını kullanmak için tanımlanan isimlerdir. Kullanıcıların veritabanı üzerinde belirli izinlerle işlem yapması için onlara belirli izinler atanır.
Users üzerinde sağ tıklayıp New Database User seçeneğini seçerek yeni kullanıcı oluştururuz. Users nesnesini seçerek, sağ taraftaki alandan, kullanıcılar üzerinde sağ tıklayarak, kullanıcıların özelliklerini değiştirme veya kullanıcı silme gibi işlemleri gerçekleştirebiliriz.
11.Şekil : Kullanıcılar
Veritabanı oluşturduğumuzda, varolan kullanıcı olarak dbo‘yu görürüz. Kullanıcı kendi veritabanında, veritabanı sahibi (database owner -dbo) olarak bilinir. Sadece bir tek veritabanı sahibi vardır. dbo kullanıcısı, veritabanı içinde bütün ayrıcalıklara sahiptir ve bu kullanıcı kaldırılamaz.
Veritabanı rollerini, belirli izinleri birçok kullanıcı üzerinde uygulamak için kullanırız. Bu sayede, belirlediğimiz kullanıcı kesiminin sahip oldukları izinleri üzerinde ekleme, kaldırma, değiştirme gibi istediğimiz değişiklikleri yapabiliriz.
SQL Server, belli izinlere sahip, hazır tanımlanmış rollere sahiptir. Bu rolleri bir kullanıcıya vererek, sadece belirlenen izinler çerçevesinde işlem yapmasını sağlayabiliriz.
Aynı şekilde, görünümler (views) üzerinde de istediğimiz izinlere sahip roller tanımlayabilir, kullanıcıları bu rollere atayarak, izinlerini belirleyebiliriz.
Kurallar, veri girişinde kısıtlamayı sağlamak için kullanılırlar. Kurallar kullanarak, bir kolona girilecek olan verinin şartlarını belirleyebiliriz.
Veritabanı nesnelerinden Rules üzerinde sağ tıklayarak New Rule dedikten sonra bir pencere açılır.
13.Şekil : Enterprise Manager aracılığı ile kural oluşturma
Varsayılan değerler, veri girişi sırasında kullanıcı kolona herhangi bir veri girmezse, SQL Server tarafından otomatik olarak o kolona veri atanmasını sağlar.
Enterprise Manager içinde, veritabanı nesnesi olan Defaults üzerinde sağ tıklayıp New Default diyerek istediğimiz sabit değeri belirleriz.
14.Şekil : Varsayılan Değer oluşturma.
SQL Server içindeki herhangi bir veri türünü baz alarak kullanıcı tarafından belirlenebilecek veri türleri bu kısımdan belirlenir. SQL Server içindeki veri türünü belirttikten sonra kolonun uzunluğunu belirterek işlemimizi gerçekleştiririz.
Fonksiyonlar; bir yada daha fazla T-SQL cümleciği içeren altprogramlardır. Tekrar kullanılmak için kodun kapsüllenmesini sağlar. SQL Server sayesinde istediğimiz işlemleri yapacak fonksiyonları tanımlayıp, kullanabiliriz.
Önceki İçerikSQL Server 2005 Kurulumu
Sonraki İçerikSamsung’dan dokunmatik ekranlı cep telefonu