Sistemciler için sql serisi 1

Merhaba; bugün yeni bir yazı serisi ile karşınızdayım J Bu yazı serimde neler var peki? SQL Server da tablo oluşturmak, yedeklemek, geri yüklemek, SQL Server Agent ile otomatik yedeklemek, Kısaca bazı T-SQL komutları gibi bilgilere yer vermeye çalışacağım.

SQL Server dediğimizde ne anlıyoruz? Neden SQL Server bunu açıklamak istiyorum öncelikle; SQL Serveri ben daha çok telefon defterine benzetiyorum. Hani eskiden Telekom’un verdiği sarı sayfalı telefon rehberleri vardı ve orada o şehre ait bütün telefon numaraları adresleri vs. yazardı hatırlar mısınız? Hatırladığınızı umuyorum. Biz Telekom’a kayıt olmak isteği için gittiğimizde bizden bir form doldurmamızı isterlerdi. O formda isim, soy isim, adres, vs. gibi bilgileri alırlardı ve bu bilgiler o sarı sayfalı rehberde çıkardı. Siz bir akrabanızın ya da arkadaşınızın telefon numarasını aramak istediğinizde o sarı sayfalı rehberin sayfalarını çevirdiğinizde ihtiyacınız olan numaraya kolaylıkla ulaşabiliyordunuz. SQL server işte böyle bir şey. Öncelikle ihtiyacınız olabilecek tüm veriyi giriyorsunuz daha sonra lazım olduğunda sarı sayfaları çevirip, ihtiyacınız olan bilgiye erişiyorsunuz. İşte bu kadar kolay

İlk olarak sql server üzerinde yeni bir veri tabanı nasıl oluşturulur bu veri tabanına kullanıcı nasıl atanır bunu görelim. (İhtiyacımız olacak veriyi giriyoruz yani J)

Öncelikle SQL Server Management ile sisteme Login olalım

Başlat/Tüm Programlar/Microsoft SQL Server 2008 R2/ SQL Server Management Studio yolunu takip ettiğimizde

Buradaki modlardan SQL Server kurulumu ve alınabilecek hatalar makalesinde yer vermiştik fakat ben yine de kısaca açıklamakta yarar görüyorum Windows Authentication mod kullanıcının fiziksel teması olmadan açılmayacak olan mod dur. Yani kullanıcının SQL Sunucunun karşısına geçip giriş yapması anlamına gelir. SQL server authentication mod ise Kullanıcının gerekli portlar açıldığında ve uygun şartlar sağlandığında uzak bir noktadan bu veritabanına bağlanmasını ve burada oturum açmasını sağlayan moddur. Kullanıcı Server Name kısmına bu sql serverin ip adresini yazar username kısmına kullanıcı adını ve password kısmına da şifresini, connect butonuna tıklandığında erişim sağlanır.

Yani ben şimdi izmirdeyim ve Balıkesir de oturan yazılımcı bir arkadaşım SQL serverime bağlanması gerekiyor bu modu kullanması gerekiyor.

Yeri gelmişken Server Type kısmına da göz atmakta yarar var. Bu kısma tıkladığınızda

· Database Engine

· Analysis Services

· Reporting Services

· SQL Server Compact

· Integration Services

Şeklindedir. Bunlar ne işe yarar derseniz

Database Engine: Üzerinde bizim de çalışacağımız tüm veri kaynaklarını barındıran veri tabanı türüdür

Analysis Engine: Daha çok analiz işlemleri için kullanılır. Örnek vermek gerekirse Business Intelligence (İş Zekası) denen bir olay var. Büyük marketler de her zaman görürsünüz kasanın yakınlarına hep sakız koyarlar bunun sebebi insanlar tam alışverişi bitirecekleri anlarda gözlerine takılıp bu ürünü almaları için. Başka bir örnek vermek gerekirse cici bebe ürünün kenarına süt koymaları gibi. Adamlar düşünmüşler ve markette cici bebe alan bir müşteri yanında ne alıyor diye analiz etmişler ve bunun sonucunda cici bebe alan kullanıcıların % 90 ı alışverişlerinde süt almışlar bu şekilde ürün satışı verimliliği sağlanmakta.

Reporting Services: SQL Server üzerinde yapılan işlemleri raporlamaya yarayan bir servistir.

SQL Server Compact: PDA’lar için tasarlanmış bir veri tabanı servisidir.

Integration Services: Başka bir veri tabanı ile sql server arasındaki entegrasyonu sağlar.

İlgili authentication u seçerek connect diyorum.

Database üzerinde sağ tıklayarak New Database i tıklıyorum

Database Name kısmına anlayabileceğimiz bir isim giriyoruz

Ve ok tuşuna basarak yeni veri tabanımızı oluşturuyoruz. Veritabanımız 2 tür dosyadan oluşuyor. .mdf ve ldf dosya uzantıları .mdf Yani MetaData File yani verilerimizin tutulduğu tür. .ldf buda adım adım logların tutulduğu veri türüdür. Oluşturmuş olduğumuz veri tabanının alt kısımda görünen tables kısmı üzerinde sağ tıklayalaım ve new table i seçerek yeni bir tablo oluşturalım

Burası hangi verilere ihtiyacımız olduğunu tanımladığımız tablo ekranı

Burada sadece dikkat edilmesi gerek konu her verinin bir ID si olmak zorunda oluşu, yani şöyle düşünebiliriz. Her veriye ait bir T.C. Kimlik No gibi. Bu şekilde verinin bütünlüğü sağlanarak farklı verilerin farklı kodları olması sağlanmaktadır. Benim örneğimde KisiID ye primary key atıyorum, bu tabloda T.C. Kimlik No yu üretecek satır bu demek oluyor. J

Klavyeden CTRL+S tuş kombinasyonuna bastığımda yani kaydet ;

Tabloma bir isim kaydetmemi girmemi isteyen bir ekran karşıma geliyor. Tanımlayıcı bir ad girerek tablo nasıl oluşturulur görmüş oluyoruz. Daha sonra bu tabloların bir biri ile ilişkilendirilmesi gerekiyor. Aynı adımla gerekli tabloları oluşturduktan sonra tabloları nasıl birbiri ile ilişkilendirebileceğimizi görelim. Database Diagram üzerinde sağ tıklayarak New Database Diagram diyelim.

Çıkan uyarıyı yes diyerek geçelim ve tüm tabloları seçerek add butonuna basalım

Çıkan ekranda gerekli olan başlıkları, diğer tablolarla ilişkilendirmemiz gerekmekte.

Kişiler listesindeki KisiID ile telefonlar listesindeki KisiID nin birbiri ile bağlantılı olduğunu ifade ediyor. Düşünün ki TC kimlik numarası (KisiID si) 10 olan kişinin “Kisiler” tablosundaki bilgileri şu şekilde

Adı: Davut

Soyadı: EREN

DoğumTarihi: 1981

Memleketi: Balıkesir

Adres: İzmir

Cinsiyeti: Bay

“Telefonlar” tablosundan KisiID si 10 olan kullanıcının bilgilerini sorgula dediğimizde bu bilgiler ekrana gelecektir.

Bu işlemi nasıl yapıyoruz peki? “Kisiler” tablosundaki KisiID bölümünü tutarak “Telefonlar” tablosunun KisiID bölümüne sürükleyip bırakıyoruz. Tablolar kendi aralarında bir ilişki kurmuş oluyor.

TipID ler arasında bir ilişki kuruyoruz.

Çıkan sonuç aşağıdaki gibi olmalıdır.

Bu şekilde tablolar nasıl oluşur ve tablolar arası nasıl ilişki kurulur bu konu hakkında fikir sahibi olduk. Bir sonraki makalede bu tabloları nasıl backup (yedek) alabileceğimize ve nasıl yedekten geri dönebileceğimize (restore) konularına değiniyor olacağız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.