Veri Tabanı İlişki Türleri

Tags

, , , ,

Merhaba Arkadaşlar,

Bu yazımda Veri Tabanında bulunan ilişkilerden bahsedeceğim.Her iki tablonun anahtar alanlarındaki verilerin eşleştirilmesiyle çalışırlar.3 adet ilişki türü vardır.

Bire-Bir İlişki:

Bir-Bir İlişkide A Tablosundaki her bir veri B tablosunda yalnızca bir veriyle eşleşebilir.Aynı şekilde B tablosunda ki her bir veri de A tablosundan yalnızca bir veriyle eşleşebilir.

İki tablo arasındaki ilişkiyi sağlayacak olan ortak alanların ikiside birincil anahtar (primary key) ise birebir ilişki olur.

Bire-Çok İlişki:

Bire-Çok ilişkide A tablosundaki her bir kayıt B tablosunda ki birden cok kayıtla eşleşmektedir. B tablosunda ki her bir kayıt ise A tablosundaki yalnız bir kayıtla eşleşmektedir.

İki tablo arasındaki ilişkiyi sağlayacak olan ortak alanlardan birisi birincil anahtar (primary key) diğeri yabancı anahtar (foreign key) ise bire çok ilişki olur.

örnek: Bir yazarın birden fazla kitabı olabilir fakat her kitabın bir tek yazarı olmak zorundadır.

Çoka-Çok İlişki:

Çoka Çok İlişkide A  tablosundaki her bir kayıt, B tablosunda bulunan pek çok kayıtla eşleşebilir. Ve  B tablosundaki her bir kayıt, A tablosunda bulunan pek çok kayıtla eşleşebilir.

A ve B tablolarının primary key leri C tablosunda aynı anda foreign key olarak bulunuyorsa Çoka-Çok İlişli oluşur.

örnek:Bir filmde birden fazla oyuncu oynayabilir ve her oyuncunun da birden fazla filmi olabilir.

Foreign Key

Tags

, ,

Merhaba Arkadaşlar,

Bu yazımda  Foreign Key‘lerden bahsedeceğim.

Foreign key‘ler, farklı tablolardaki sütunlar için ilişki ve kısıt uygulama yoludur.

Foreign Key ‘leri İl İlçe arasında ki bağlantıdan yola çıkarak anlatmaya çalışacağım. Mesala Il ve Ilce adında 2 adet tablomuz olsun ilk bunların Create komutlarını yazıp kolonlarına bakalım.

CREATE TABLE Il(
[IlAd] [nvarchar](100) NOT NULL,
[IlID] [int] IDENTITY(1,1) NOT NULL primary key,
)
CREATE TABLE Ilce(
[IlceID] [int] IDENTITY(1,1) NOT NULL primary key,
[IlID] [int] NOT NULL ,
[IlceAd] [nvarchar](100) NOT NULL,
FOREIGN KEY(IlID) REFERENCES Il (IlID)
)

Il tablomuzda her ilin id si ve adı tutuluyor.Her ilin id sinin farklı olması gerektiğinden bu kolon primary key.

Ilçe tablomuzda ise her ilçenin id si, ilid si ve adı tutuluyor.Burada ki IlID kolonu foreign key ve İl tablomuzda ki IlID yi referans alıyor. Yani farklı iki tablo arasında ilişki kurmamızı sağlıyor. Bu tablolar arasında Bire-Çok ilişki var ilişki çeşitlerine farklı bir yazıda değineceğim ama şimdide kısaca bahsedeyim.

Her ilçenin bağlı olduğu bir il var ve her ile bağlı olan birden çok ilçe var yani İlçe 1 il çok oluyo. Bu yüzden bu 2 tablo arasında ki ilişki Bire Çok’tur.

(Mesala şöyle düşünelim İstanbul’a bağlı olan birçok İlce var. Ancak bu ilçelerin her biri sadece İstanbul iline bağlı aynı zamanda başka bir ile bağlı olamaz.)

AdsızAdsız1

 

Tablolardanda görüldüğü gibi Ümraniye,Avcılar, Bakırköy ilçeleri Istanbul iline bağlı.Yani birden çok ilçe bir ile bağlı ve herbir ilçe tek ile bağlı.

Umarım anlasılmıstır. Kolay Gelsin 🙂

Primary Key

Tags

, , , , ,

Merhaba Arkadaşlar,

Bu yazımda  Primary Key‘lerden bahsedeceğim.

Primary Key:

Bir tabloda bir alanı yani bir sütunu eşsiz bir değer yapmaya yarayan anahtarlardan biridir. Her tabloda sadece bir tane Primary Key özelliğine sahip sütun bulunabilir.

Şöyle anlatayım mesala Müşteri tablosunda her müşteri yalnızca bir defa bulunmak zorundadır bunu sağlamak içinse Primary Key kullanmalıyız. Mesala MusteriID adında bir sütunumuz olsun  ve bu alanı primary key yapalım ki aynı müşteri numarasına sahip müşteriler olmasın her müşteriyi birbirinden ayırt edebilelim.

Peki Bir Kolonu Nasıl Primary Key Yapabiliriz?

Bunun 2 farkı yöntemi var.

İlk olarak veritabanımızın altında bulunan sekmelerden Table sekmesine sağ tıklayıp New Table deyip tablomuzu oluştururken Primary Key yapmak istediğimiz Kolon aaşağıdaki resimde de görüldüğü gibi sağ tıklayıp  Set Primary Key diyoruz.

set_primary_key_table

Resimde de görüldüğü gibi Column Properties kısmında görünen Identity Specification sekmesinin içinde ilk sırada bulunan Is Identity yi Yes yapıyoruz. Yapmak zorunda değiliz ancak bu bize Primary Key yaptığımız kolonun içinde ki verilerin 1’den başlayarak 1’er 1’er otomatik bir şekilde artması kolaylığını sağlıyor.

İkinci olarak ise tablomuzu Create komutu ile oluştururken Primary Key koymak istediğimiz kolonu belirtebiliriz.

örneğin :

CREATE TABLE Musteri(
[MusteriID] [int] IDENTITY(1,1) NOT NULL,
[Ad] [nvarchar](100) NOT NULL,
[Soyad] [nvarchar](100) NOT NULL,
[AdresID] [int] NOT NULL,
[PostaKodu] [int] NOT NULL,
[Ulke] [nvarchar](100) NOT NULL,
[Telefon] [nvarchar](50) NOT NULL,
[Fax] [nvarchar](100) NOT NULL,
[E-mail] [nvarchar](150) NOT NULL,
CONSTRAINT [PK_Musteri] PRIMARY KEY CLUSTERED
(
[MusteriID] ASC
))

Primary Key olacak olan kolon Create Komutunun en sonunda belirtilmiş.Bu tabloya göre MusteriID alanı Primary Key‘dir

 IDENTITY(1,1):Kullanıldığı kolonun içindeki verilerin 1’başlayarak 1’er 1’er artacağını söylüyor.(Yukarıdaki tabloya göre MusteriID numarasının 1’den başlayıp 1’er 1 ‘er otomatik bir şekilde artmasını sağlıyor.)

NOT NULL: Bu anahtar kelimesi ise kolunun boş geçilemeyeceğini belirtiyor. Yani bu alana veri girmek zorundasınız.

Kolay Gelsin 🙂 İyi Çalışmalar 🙂

Sql’de Tablo Düzenleme-Alter Table Komutu

Tags

, , , , , , , ,

Merhaba Arkadaşlar,

Bu dersimizde veritabanımızda oluşturduğumuz tablolar üzerinde yapabileceğimiz değişikliklerden bahsedeceğim.

SQL’de herhangi bir tablo üzerinde değişiklik yapmak için Alter Table komutunu kullanırız.Çeşitli örnekler üzerinden Alter Table komutunu kullanımını anlatmaya çalışacağım.Umarım anlaşılır ve faydalı olur.

Peki Alter Table Komutu ile Neler Yapabiliriz?

Alter Table komutu ile var olan bir tabloya alan ekleyebilir, alan silebilir, var olan alanların türünü ve adlarını düzenleyebiliriz.

Tabloya alan ekleme:

ALTER TABLE tablo_adi ADD alan_adi alan_turu;

örnek: ALTER TABLE Musteri ADD tckimlik_no INT;

Tablomuza birden çok alan eklemek istersek?

örnek:  ALTER TABLE Musteri ADD  tckimlik_no INT, Mail NVARCHAR(50);

Tablodan alan silme:

ALTER TABLE tablo_adi DROP COLUMN alan_adi ;

örnek:

ALTER TABLE Musteri DROP COLUMN sifre;

Tablo alanlarını düzenleme

Tablodaki herhangi bir alanın veri tipini değiştirme: Mesala Musteri tablosuna yukarıda eklediğimiz ve veri tipi NVARCHAR(50) olan Mail alanının veri tipini VARCHAR(100) olarak değiştirelim.

örnek:

ALTER TABLE Musteri ALTER COLUMN Mail VARCHAR(100)

İyi Çalışmalar 🙂

Sql’de Tabloya Veri Ekleme

Tags

, , , , ,

Merhaba Arkadaşlar,

Bu yazımda bir önceki derste oluşturduğumuz tablo üzerinden tablo ya veri eklemeyi anlatacağım.

Tabloya veri eklemeyi de oluşturma gibi 2 farklı şekilde yapabiliriz.

İlk olarak Veritabanımızın altında bulunan seklemelerden Table sekmemize tıklıyoruz.Burada Veritabanımızda bulunan tabloları görüyoruz.Veri eklemek istediğimiz tablomuzun adına sağ tıklayarak Edit Top 200 Rows diyoruz.Buradan tablomuza istediğimiz kadar veri ekleyebiliriz.

İkinci olarak ise INSERT INTO komutu ile tablomuza veri ekleyebiliriz.

Şimdi bir Query açıp  aşağıda kodları kullanarak önceki derste oluşturduğumuz Musteriler tablomuza veri ekleyelim.

INSERT INTO KOMUTUNUN KULLANIMI:

INSERT INTO TabloAdi(column1,column2,column3,…)
VALUES (value1,value2,value3,…);

Bu şekildede kullanabilirsiniz:                                                                              INSERT INTO TabloAdi VALUES (value1,value2,value3,…);

ÖRNEK:

INSERT INTO Musteri(MusteriID,Ad,Soyad,Adres,Sehir,Ulke,DogumTarihi)
VALUES(1,’Burcu’,’KİRLİBAL’,
‘Emek mah.safak cad kat:1’,
‘Yalova’,’Türkiye’,’2013-06-23 00:00:00.000′)

Bu şekildede kullanabilirsiniz:                                                                               INSERT INTO Musteri
VALUES(1,’Burcu’,’KİRLİBAL’,
‘Emek mah.safak cad kat:1’,
‘Yalova’,’Türkiye’,’2013-06-23 00:00:00.000′)                                                                              

Tabloya veri ekleme dersimizde bitmiştir Arkadaşlar.Hepinize İyi Çalışmalar:)

Sql’de Tablo Oluşturma

Tags

, , ,

Merhaba Arkadaslar,

Bu yazımda SQL‘de nasıl tablo oluşturulduğundan kısaca bahsedeceğim .MSSQL Server üzerinden anlatacağım.Umarım anlaşılır ve faydalı olur.

SQL‘ de tablo oluşturmanın 2 farklı yolu vardır.

İlk olarak Veritabanınızın içerinde bulunan Table seklemesine sağ tıklayıp New Table diyerek yeni bir tablo oluşturmanız mümkündür. (Burada karşınıza çıkan ekranda tablonuzun içerdiği sütunların isimlerini ve içereceği veri tipini girerek tablonuzu oluşturabilirsiniz.)

İkinci Olarak iste CREATE  komutu ile tablo oluşturmanız mümkümdür.Bunu da kodlar üzerinden anlatacağım. 
Veritabanımıza sağ tıklayıp New Query diyoruz.Açılan ekrana aşağıdaki kodları yazıp çalıstırıyoruz.
(not:tablo oluştururken tablo adı ve sütun adlarında Türkçe karakter bulundurmamaya özen gösterelim.)
 
CREATE KOMUTUNUN KULLANIMI:
CREATE TABLE TabloAdi(
column1 int,
column2 varchar(50)
);
 
ÖRNEK:
CREATE TABLE Musteri(
MusteriID int,
Ad varchar(50),
Soyad varchar(50),
Adres varchar(50),
Sehir varchar(50),
Ulke varchar(25),
DogumTarihi datetime
);                                                                                                                            
 
Tablo oluşturma bu kadar arkadaşlar.Umarım faydalı olmuştur:). Okuyan herkese Teşekkürler:)