SQL Soru ve Cevaplar için

scream1015
19-12-2006, 21:01   |  #51  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
242 mesaj
Kayıt Tarihi:Kayıt: Eyl 2006
0

SQL Server'de Script dosyaları nasıl hazırlanır ve kullanılır,örnekleyiniz.

scream1015
19-12-2006, 21:01   |  #52  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
242 mesaj
Kayıt Tarihi:Kayıt: Eyl 2006

Veritabanı(database) nedir? Kısaca tanımlayınız.Çeşitlerini anlatınız.

bordo510
19-01-2007, 21:11   |  #53  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

SQL DE NOKTALAMA İŞARETLERİ

JOKER KAREKTER
  ANLAMI   

%
LIKE 'A_' "at " ve "as" ile eşleşir."and" ile eşleşmez.

Sıfır yada daha çok karakter dizesi

LIKE '%T%'  

"at","bat"ve "together" ile eşleşir "lucky" ile eşleşmez.  

[]                          
Bir aralık ya da küme içindeki her-   LIKE '[a-c]at'

"cat"ve "bat" ile eşleşir,ancak "fat" ile eşleşmez.

Onay
Bir aralık yada  küme içinde olmayan LIKE '[^C]at'

"bat " ve "fat"ile eşleşir."cat" ile eşleşmez.

*
Bir tabloda seçim yaptırırken bütün alanların listelenmesi için kullanılır.

‘ ’
Alanların içindeki veriyi belirtir.

                                   

örneğin;ilk 2 karekteri AD 3 karekteri önemli olmayıp 4.karakteri 1 olan stok kodlarının seçilmesi;WHERE (sto_kod LIKE '%AD_1%')

Eğer stok kodlarını içinde AD olanları isterseniz WHERE (sto_kod LIKE '%AD%')yada içinde ABCD harflerinden herhangi biriyle başlayan  ve içinde 01 bulunan stoklar için kod aralığı;where (sto_kod like '[a_d]%01')

yada;sadece AD başlayan stokların hepsini seçmek istediğinizde, where (sto_kod like 'AD%').

UPDATE NUFUS SET AD='ABDI' WHERE TCKIMLIK='59122233704'

SELECT AD,SOYAD,TCKIMLIK

FROM NUFUS

bordo510
19-01-2007, 21:12   |  #54  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

VERİ NEDİR?

Veri kavramı her alan için farklılıklar gösterir. Bilgisayar ortamında veri, bilgisayarın manyetik disk yüzeyinde veya yarı iletkenden oluşmuş bir hafıza biriminde işlenebilecek durumda bulundurulan kayıtlar olarak kabul edilir. Veri çeşitli şekillerde işlenmeye veya tasfiye edilmeye hazır durumda olan fakat ilk bakışta faydasız ve anlamsız gibi görülen  bir sürü kaydı gösterir. Veri denildiğinde nedense akla önce sayılar gelir. Oysa sözcükler, sesler, görüntüler de veri olabilir. Bu çerçevede belki de veriyi sayısal veya mantıksal her türlü değer, olarak tanımlamak uygun olacaktır

bordo510
19-01-2007, 21:13   |  #55  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

VERİTABANINI GENEL ÖZELLİKLERİ VE BİLEŞENLERİ

Veri tabanın temel özellikleri;

Veriler hızlı ve kolay girilebilmeliVERİ TABANI YÖNETİM SİSTEMLERİ II                                                                                 KAHRAMANMARAŞ MESLEK YÜKSEK OKULU

Güvenli bir şekilde saklanması

İstenildiği şekilde ve kolay sorgulanmalı

Veritabanı bileşenleri;

Tablolar

Formlar

Veri Erişim Sayfaları

Sorgular

Raporlar

bordo510
19-01-2007, 21:14   |  #56  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

VERİ TABANI YÖNETİM SİSTEMİ NEDİR,NELER İÇERİR?VERİ TABANI YÖNETİCİSİ KİMDİR VE GÖREVLERİ NELERDİR?

Veri Tabanı Yönetim Sistemi  
Veri tabanı yönetim sistemi, veri tabanını tanımlama, veri tabanını oluşturma ve üzerinde işlem yapma yeteneği olan bir yazılım sistemidir. Veri tabanının tanımlanması, veri tabanını oluşturan verilerin tip ve uzunluklarının belirlenmesidir. Veri tabanını oluşturulması ise veri için yer belirlemesi ve saklama ortamına verilerin yüklenmesini ifade eder. Veri tabanı üzerinde işlem yapmak; belirli bir veri üzerinde sorgulama yapmak, meydana gelen değişiklikleri yansıtmak için veri tabanın güncellenmesi ve rapor üretilmedi gibi işleri temsil eder. Ayrıca veri tabanı yönetim sistemi, verinin geri çağrılmasını sağlar. Veri tabanına yeni kayıt eklemek, eskileri çağırmak ve gerekli düzeltmeleri yapmak yoluyla, verinin bakımını ve sürekliliğini gerçekleştirir, kayıtlara yeni veri eklemek ve yeni kayıtlar oluşturmakla, veri tabanını genişletir.

Veritabanı yöneticisi;

Veritabanı üzerinde her türlü yetkiye sahip olan kişidir.

Veritabanı yöneticisinin görevleri;

§         Veritabanının tasarımı.

§         Veritabanı üzerinde yapılacak değişikler.

§         Veritabanı yazılımının kurulması ve yeni versiyonlar yüklenmesi

§         Veritabanı oluşturulması

§         Veritabanı başlatma/durdurma

§         Kullanıcıları ekleme ve yetkilendirme

§         Veritabanı yedekleme ve yedekten geri dönme

§         Veritabanı performans ayarları

§         Veritabanı tablo-/indekslerin büyüme kontrolü

bordo510
19-01-2007, 21:14   |  #57  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

Önümüze bir proje geldiğinde, eğer bu bir veritabanı projesi ise, bir sonraki aşama hangi tablolardan oluşacağına karar vermektir. Bununla ilgili olarak, beş normalizasyon kuralını bilmeniz gerekmektedir. Ancak 5N, tasarım aşamasında size yol göstermek yerine hangi şartlara uygun tasarım yapmanız gerektiği içindir. Bazen, bu kurallardan vazgeçmek durumunda kalabilirsiniz ancak, veritabanında saklanacak verilerin hacmi arttıkça bu kuralların daha sıkı sağlanmasında fayda vardır.

1) Nesneleri tanımlayın;

Herhangi bir proje önünüzde konduğunda öncelikle nesneleri tanımlayın. Nesne, çeşitli özellikleri bulunan bir varlıktır. Başlangıçta özellikleri ile ilgilenmeyeceğiz.

Örnek:

Birkaç örnek proje için nesneleri verecek olursak,

Kütüphane sistemi: Kitap, üyeler, türler, ödünç hareketleri

E-ticaret sistemi: Ürünler, müşteriler, siparişler,teslimat, fatura bilgileri,üreticiler,tedarikçiler,dağıtıcılar...

Futbol Ligi: Takımlar, sahalar, oyuncular, fikstür, hakemler, antrenörler

Okul Sistemi: Öğrenciler, öğretmenler, dersler, derslikler

Sözlük: kelimeler, anlamlar,diller

2) Her nesne için bir tablo oluşturun:

Her bir nesne için bir tablo oluşturun ve her bir tabloya içereceği veriyi en iyi anlatan bir isim verin. Tablo oluşturma işini, bir kağıt üstünde sembolik olarak gösterebilirsiniz veya doğrudan MS Access, SQL Server, MySQL,Oracle ...gibi kullanmakta olduğunuz veri tabanı yönetim sistemi üstünden de oluşturabilirsiniz. Ama tüm proje bitinceye kadar bu tablolar üstünde muhtemel değişiklikler olacaktır.

Not;

Tablolar isim verirken mümkünse tekil isimler kullanın. Böyle yaparsanız hem daha anlaşılır bir tasarım yapmış olursunuz hem de daha sonra kodlama aşamasında karışıklığın önüne geçmiş olursunuz.

Örnek:

İçinde kitap ile ilgili bilgiler bulunduracak tablonun adını kitap koymak oldukça mantıklıdır.

3) Her bir tablo için bir anahtar alan seçin;

Veritabanındaki herhangi bir veriye erişmeden önce tabloya erişilir. Bir veritabanında en çok muhatap olunan nesne grubu genellikle tablolardır. Buraya kadar hangi tabloları oluşturacağımıza karar verdik. Her bir tablonun içinde hangi bilgileri saklayacağımızı kabaca biliyoruz. Bu aşamada, tabloda yer alacak her bir kaydı bir diğerinden ayırabilecek bir sütuna ihtiyaç duyarız. Örneğin bir kitabı seçmek istediğimizde, bu kitabın hangi kitap olacağını öyle bir anlatabilmeliyiz ki, başka hiçbir kitap ile karışmamalı. Bunu yapmanın tek yolu, bir alanı birincil anahtar alan olarak belirlemektir. Anahtar alan seçerken, sizi kısıtlamadığı sürece, doğal alanlar seçmeye dikkat etmenizde fayda vardır.

Örnek:

Araçlar ile ilgili bir tablo yaparken, plakalarını anahtar alan olarak belirleyebilirsiniz. Çünkü her bir plakadan bir tek araç trafiğe çıkabilir. Bu bizi kısıtlamaz.

Öğrenci tablosu için, öğrenci numarası doğal bir anahtar alandır çünkü aynı okulda, aynı numaradan bir öğrencinin daha bulunması söz konusu değildir.

Kitap tablosu için ISBN numarasını anahtar alan olarak tanımlayabilirsiniz ama elinizde aynı kitaptan iki adet olduğunda, ISBN numarası sizi kısıtlayacaktır. Elinizde iki adet ‘Dokuzuncu Hariciye Koğuşu’ kitabı varsa, her iki kitabın da ISBN numarası aynıdır. Kitaptan biri eski biri yeni olabilir. Bu bir kargaşaya neden olabilir. Çünkü eski kitabı kime yeni kitabı kime verdiğinizin takibini ISBN numarası ile mümkün değildir. Ancak bir E-Ticaret sitesi tasarlarken, stoktaki tüm kitap birbiri ile eşdeğer olacağından ya da öyle olduğu varsayıldığından ISBN numarası birincil anahtar alan olabilir. Bu durumda, adet diye bir niteliğin aynı tabloda yer alması gerekecektir.

4) Nesnelerin gerekli her bir özelliği için tabloya bir sütun ekleyin;

Tablo adlarını tamamladıktan ve anahtar adlarını belirledikten sonra, tablolarınıza sıradan adını veren nesnenin her bir özelliği için bir alan ekleyin.

Not;

1)                          En başa birincil anahtar olarak belirlediğiniz alanı eklemek bir kural değildir ancak tablonuzun anlaşılırlığı ve göze hoş görünmesi açısından tercih etmenizin yararınıza olacak bir tekniktir.

2)                          Genellikle, yapay birincil anahtar alanlar tablo adı ile başlar ve sonunda ID vardır.

Örnek:

Ogrenci tablosu için ogrenciID gibi.
Kitap için Kitap no, ISBN no, kitap Adı, Yazarı, türü,Sayfa Sayısı, Özeti, fiyatı, baskı yılı...

Üye için UyeNo, Adı, soyadı, e-mail adresi, ev telefonu, cep telefonu, iş telefonu....

5.Tekrarlayan nesne özellikleri için ek tablolar oluşturun;

Aklınızda hep şu olmalı; veri tekrarı olacak mı? Veri tekrarı olacaksa bir yerlerde hata yapıyorsunuzdur. Elinizdeki tablonun en az bir tabloya daha ayrılması gerekiyor demektir.
Şunu da unutmayın, her projeye uyacak evrensel bir veritabanı tasarım tekniği yoktur. Yani her şey sizin belli kurallar etrafında ne kadar teferruatlı düşünebildiğinize bağlıdır.
Örneğimizde, her bir kitap için tür belirledik ama bir kitap hem kişisel gelişim kategorisine hem de hikaye kategorisine girebilir. Ya da e-ticaret sisteminde bir ürünün birden fazla reyonda yer alması gerekli olabilir. Veya bir kitap birden fazla kişi tarafından yazılmış olabilir.
Bir kitap için birden fazla türü kaydedebilmeyi ele alalım:

Bu türden bir sorunu çözmek için ilk akla gelen şey, kitap için, 2.Tür,3.Tür diye iki alan daha eklemek. Ama çoğu kitap bir tek türdendir ve bu kitap için iki alan hep boş kalacaktır. Öte yandan, 4 türe birden giren bir kitap olduğunda 4.tür bilgisini nereye yazacağız? Aynı alana mı? Ya da dört adet bölüm mü açacağız? Bunlar, veritabanı tasarımının doğasına terstir.

2.Çözüm yolu ise, bir kitabı iki kere kaydedip, birincisini, ‘Kişisel Gelişim’ türü olarak; ikincisini de ‘Hikaye’ olarak girmek. Ancak bu durumda da diğer bilgiler tekrar edecektir. Ya da bir süre sonra, kitap hakkında girilen bilgilerin yanlış olduğunu fark ettiniz. Hangi kaydı güncelleyeceksiniz? Ya birini düzeltip birini unutursanız. Sonuçta veri tekrarı ve veri bütünlüğünün bozulması söz konusudur. Bu da yine ilişkisel veritabanı tasarımının doğasına terstir.

Bu durumda, türler diye bir yeni tablo oluşturup, bir de kitap_turler diye 2. tabloyu oluşturduktan sonra bu türden bilgileri burada tutmak gerekecektir. Böylelikle, hiçbir türde yer almayan kitaptan 10 ayrı türde yer alan kitaba kadar bütün olasılıklar için bir çözüm geliştirmiş oluruz.


6) Anahtar alana bağlı olmayan alanları belirleyin;

İlişkisel veritabanında, tablodan herhangi bir tek kayda erişmek için mutlaka bir farklı özellik sağlanmalıdır ve bu özellik de anahtar alan tarafından sağlanır. Ancak bazen, anahtar alan ile aynı satırda yer aldığı halde, anahtar alan ile birebir ilişkisi olmayan bir alan yer alabilir. Bu türden alanları elimine edip ayrı tablolara ayırmak gerekir.

Örnek:

Ödünç tablosunu ele alacak olursak, ödünç verdiğimiz her kitabı ödünç alanın adresini de bilmek istediğimizde, bunu ödünç tablosuna yazamayız. Çünkü ödünç tablosunun birincil anahtar alanı oduncNo’dur ve bu alan, ödünç verme işlemi ile ilgilidir. Oysa ödünç alanın adresi, ödünç alan kişinin kendisine bağlı bir özelliktir. Bu kişinin her aldığı kitap için adresini tekrar kayıt yapmaya gerek yoktur. Aynı şekilde otomasyon içerisinde başka yerlerde de bu kişinin adres bilgilerine muhtemelen ihtiyaç duyulabilir çünkü adres, üyenin bir özelliğidir. Ödünç verilen kitabın adresini bilmek istediğimizde, üyeler adında bir tablo daha açıp, burada herkesin adresini tutmak durumundayız demektir. Ödünç tablosunun ise, oduncAlan bilgisi olarak, Üyeler tablosunun birincil anahtar alanına bir bağlantı içermesi daha doğru olur.

7) Tablolar arasındaki ilişkileri tanımlayın;

Her biri bir nesneye dair özellikleri barındıran tabloların tümünü göz önüne alın ve birbirleri ile olan ilişkilerini tanımlamaya çalışın.

Örnek:

Kitabı ödünç veririz. Bu durumda, ödünç tablosu ile kitap tablosu ilişkili olacaktır. Kitap üyelere ödünç verilir. Bu durumda, ödünç ile üyeler arasında da bir ilişki vardır. Türler ile kitap arasında bir ilişki vardır, bir kitabın en az bir türe dahil olması gerekir.
Örnek:

Bizim projemizdeki nesneler arasında aşağıdaki ilişkiler yer almaktadır.

Kitap.kitapNo (1)----(¥) odunc.kitapNo

Uyeler.uyeNo(1)---(¥)odunc.uyeNo

Tur.turNo(1)---(¥)Kitap_tur.turNo

Kitap.kitapNo(1)---(¥)Kitap_tur.kitapNo

Yazar.yazarNo(1)--- (¥)kitap_yazar.yazarNo

İki tablo arasında ilişkiyi sağlayan alanların aynı adda olması zorunluluk değildir. Teorik olarak tabloları istediğiniz herhangi iki alanları üstünden birleştirebilirsiniz. Ancak, türler tablosundaki türNo ile üyeler tablosundaki uyeNo alanını birleştirdiğinizde hiçbir işinize yaramayacak anlamsız bir ilişki ortaya koymuş olursunuz.


Bu ilişkileri analiz ederken, her bir alanın hangi tablo için birincil anahtar alan, hangi tablo için yabancı anahtar olduğunu not etmeniz, daha sonra fiziksel olarak veritabanını tasarlarken işinizi kolaylaştıracaktır.

Not;

Farklı tablolardaki iki alan aynı veriyi tutuyorsa, iki alana da aynı adı vermek, karışıklığa yol açabilir gibi görünse de aslında daha düzgün bir yapı ortaya çıkar. KitapNo alanı, Kitap tablosunda da ödünç tablosunda da kitap numarası tutmaktadır. Bu alanlardan birine kitapNo diğerine oduncGidenKitapNo demek, kafa karışıklığına neden olabilir. En Mantıklısı her ikisine de kitapNo demektir.

bordo510
19-01-2007, 21:15   |  #58  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

İlişkisel veritabanı sistemi (relational database system), verilerin bütünlük içinde organize edilmesini sağlar. Böylece kurumsal anlamda bütün veriler birbirine bağlanır. Bu kavram özellikler veritabanı düzenlenmesi bölümünde geniş olarak ele alınacaktır. İlişkisel veritabanı sistemleri daha geniş bir adla; ilişkisel veritabanı yönetim sistemi adıyla anılmaktadır.

RDBMS (Relational Database Management System-İlişkisel Veritabanı Yönetim Sistemi), bu alandaki standardı. Bu özellik  sayesinde şu işlemlerin yapılmasına olanak tanır:

·                       Verilerin doğru ve etkin biçimde saklanmasını sağlar.

·                       İlişkisel bütünlük kuralı (data integrity) sağlanır.

İlişkisel Veritabanı Yönetim Sistemi (RDBMS)

Bir RDBMS aşağıdaki işlemlerden sorumludur;

--Bir veritabanındaki veriler arasında ilişkiler kurmak

--Verileri hatasız bir şekilde saklamak ve veriler arasında tanımlanan ilişkileri bozmamak

--Bir sistem hatası durumunda tüm verileri kurtarabilmek

İlişkisel Veri Tabanı Özellikleri:

•  Verilerin doğru ve etkin biçimde saklanmasını sağlar.

•  İlişkisel bütünlük kuralı (data integrity ) sağlanır.

•  Veritabanı Uygulamaları İki Temel Türe Ayrılabilir.

•  Düz-Dosya Veritabanları Oluşturan Lar

•  İlişkisel (Relatıonal) Veritabanları Oluşturanlar.

İlişkilendirme Türleri : Üç tür ilişkilendirme bulunmaktadır.

* Bir-bir ilişkilendirme : Bir tablonun içindeki her satırları veya tablolar arasındaki bir satırları ilişkilendirmedir
* Bir-Çok ilişkilendirme : Bir tablonun içindeki her satırları veya tablolar arasındaki çok satır ile ilişkilendirmedir
* Çok-Çok ilişkilendir : Bir tablonun içindeki her satırları veya bir yada ikinci tablolar arasındaki çok satır ile ilişkilendirmedir

bordo510
19-01-2007, 21:16   |  #59  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

SERVER NEDİR?

--Ana Bilgisayar (Sunucu Bilgisayar)

--Üzerinde tüm bilgilerin saklandığı ve genellikle diğer bilgisayarlara oranla daha hızlı ve kapasitesi yüksek bilgisayar

--Sadece Donanım olarak değil üzerinde çalışan yazılımlar olarak ta yönetici durumunda olan bilgisayar

--Bilgileri paylaştıran ve istemcilere sunan bilgisayar

CLİENT-SERVER  MİMARİSİ

Bir server ve çok sayıda client sistemden oluşan client server  bilgi işlem dağıtılmış bir veri saklama sistemi anlamına gelir.dağıtılmış bilgi işlem sisteminde çok sayıda iş istasyonu bilgisayar bir dizi işlemi yerine getirir. Bütün bu işlemler bir ana bilgisayarda saklanan veritabanı üzerinde yapılır. Client server veritabanı sistemleri,dağıtılmış uygulamalar geliştirmek için yeni geliştirilmiş bir teknolojidir. daha önceleri mainframe sistemler tarafından gerçekleştirirlen çok kullanıcı sistemler bügünkü pc temelini client server bilgi işlemin temelini oluşturur.mainframe biligisayarlar çok sayıda iş istasyonunu bağlı olduğu ana bilgisayar sistemleriydi. Ana bilgisayarlara bağlı aptal terminaller,kısıtlı yetenekleriyle veri girişi yada görüntüleme işlemlerini yapmak için kullanılırlardı. Ancak mainframe bilgisayarların yüksek fiyatlı olması, onların hızlı bir şekilde yayılmasını önlemiştir. Bu nedenle client server mimarisi pc tabanlı olarak geliştirilmeye başlanmıştır. Pc tabanlı client server mimaride bir veritabanı  sunucu kullanılarak ilişkisel vertabanı sisteminin merkezini oluşturmaktadır.client server veritabanı sisteminde işlemler mantısal olarak ikiye bölünmüştür: uygulamanın kullanıcı arabirimi ve veritabanı yönetimi. Client bilgisayar yada iş istasyonu uygulamanın kullanıcı arabirimini ouştururken ; server ,veritabanı yönetimini kontrol eder,verilerin saklandığı,işlendiği ve erişildiği yerdir.

bordo510
19-01-2007, 21:17   |  #60  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

SQL SERVER NEDİR ?

SQL Server, client ve SQL Server arasında iletişim kurmak için Transact-SQL’i kullanan bir client/server, ilişkisel veritabanı yönetim sistemidir

Hangi işletim üzerinde çalışırlar?

SQL Serverin değişik sürümleri Windows 2000, CE, ME, 98 ve 95 işletim sistemleri üzerinde çalışabilmektedir.

Server Bileşenleri

Server Net-Libraries: SQL Server aynı anda birçok Net-Library’leri izleyebilir. Bağlantının sağlanabilmesi için Client Net-Library ve Server Net-Libraries aynı olmalıdır. SQL Server şu protokollere destek verir; TCP/IP, Named Pipes, NWLink, IPX/SPX, VIA ServerNet II SAN, VIA GigaNet San, Banyan VINES ve AppleTalk.

Open Data Services: SQL Server’ın bir bileşeni olan bu uygulama network bağlantılarını izler, client isteklerini çalıştırmak üzere SQL Server’a geçirir ve sonuçları tekrar client uygulamaya döndürür. Open Data Services SQL Server’a yüklenmiş olan tüm Net-Libraries’I dinler.

Relational Engine: T-SQL kodlarını çalışabilir parçalara böler, optimizasyonunu yapar, tanımlanmış diğer kodları çalıştırır ve güvenliği sağlar.

Storage Engine: Storage Engine veritabanı dosyalarını, dosyalardaki boş alanları, fiziksel sayfalara veri giriş çıkışını, veri önbelleklerini, loglamaları, kurtarma operasyonlarını yönetir.

bordo510
19-01-2007, 21:18   |  #61  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

ENTERPRISE MANAGERDA NELER YAPABİLİRSİNİZ?

Login ID’lerin, izinlerin ve kullanıcıların düzenlenmesi.

Script’lerin yaratılması.

Database’ler ve nesnelerin yönetilmesi.

Database ve transaction log ların yedeklenmesi(Backup)

Tabloların, viewlerin, stored procedurelerin, triggerlerin, indexlerin, rulelerin, defaultların ve kullanıcı tanımlı data tiplerinin yaratılması ve düzenlenmesi

Programlama(Sheduling) işlemleri

Sihirbazlar ve diğer yardımcı programlar ile bir çok yönetim işleminin yapılması

bordo510
19-01-2007, 21:20   |  #62  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

KULLANIMI

Kısıtlamalar, nesnelerdeki alanlara girilen bilgiyi kontrol ederek bilginin güvenilirliğini artırırlar ve veri girişini daha kolay hale getirirler.

Kısıtlamanın uygulandığı yer
Kısıtlama Tipi
Açıklama

Sütun
DEFAULT
Alana bir değer girilmediğinde otomatik olarak değer atar.


CHECK
Bir alana girilen değerlerin o alan için uygun olup olmadığını kontrol eder.


REFERENTIAL
Bir tablonun değerlerini referans alarak bir diğer tablonun değerlerini belirler

Satır
PRIMARY KEY
Bir alanda girilen değerlerin birbirinden farklı olmasını sağlar, bir tabloda sadece bir tane bulunur.


UNIQUE
Bir tablonun bir ya da daha fazla alanında aynı değerden tekrar girilmemesini sağlar.

Diğer tablolarla ilişkili
FOREIGN KEY
Bir tablonun primary key olan alanı ile aynı ya da farklı bir tablonun  bir alanındaki değerlerin birbiri ile eşleştirilmesini sağlar.


CHECK
Bir tabloda bir alana girilen değerleri,diğer alanlardaki değerleri göz önüne alarak geçerliliğine bakar.

Kısıtlamalar ALTER TABLE ya da CREATE TABLE ifadeleri ile tanımlanırlar. Bir tabloda kısıtlama tanımlamak için tabloyı yeniden yaratmaya gerek yoktur, yaratılmış tablo üzerinden kısıtlamalar tanımlanabilir. Tabloya bir kısıtlama eklendiğinde varolan bilgi o kısıtlama tarafından kontrol edilir.

"sp_helpconstraint" saklı yordamını kullanarak istenilen nesnenin kısıtlama bilgileri elde edilebilir.

"sp_helpconstraint object_name" şeklinde kullanılır.

DEFAULT Kısıtlaması :

Bir alanda "INSERT" ifadesinde girilmeyen bir değer olursa otomotik olarak belirlenmiş olan bir değerin atanmasını sağlar. Her alan için sadece bir tane varsayılan değer belirlenebilir. IDENTITY özelliği ile ve de timestamp veri tipi ile kulanılmaz.

Örnek: DEF_CONSTRAINT adında bir tablo olsun.

Tabloda job alanında varsayılan değer olarak 'n/ö' belirlemek istenirse Sorgu Çözümleyici (Query Analyzer)'de şu işlemler yapılabilir:

CHECK Kısıtlaması :

Kullanıcının bir alana gireceği değerleri sınırlandırır ve kontrol eder. INSERT ve UPDATE ifadeleri ile kullanılır. IDENTITY özelliği ile kullanılamaz. timestamp ve uniqueidentifier veri tipleri ile kullanılamazlar.

Örnek: DEF_CONSTRAINT tablosunda isim alanında cengiz girilmemesini sağlamak için bir şu ifade  kullanılır:


Böylece isim alanında cengiz girmeye çalışırsak kabul edilmeyecektir.

PRIMARY KEY (Birincil Anahtar) Kısıtlaması:

PRIMARY KEY kısıtlaması bir tabloda bir birincil anahtar tanımlaması için kulanılır. Bir tabloda sadece bir tane birincil anahtar olabilir. Birincil anahtar (primary key) olarak tanımlanan o alanda girilen her değer birbirinden farklı olmak zorundadır. Null değeri tanımlanmasına izin verilmez ve otomotik olarak belirlenen o alanda bir içerik yaratılır.

Örnek: DEF_CONSTRAINT tablosunda o tablonun birincil anahtarı olacak şekilde surname alanına birincil anahtar özelliği tanımlansın:


UNIQUE Kısıtlaması:

Bir tabloda bir alanda aynı değerden tekrar girilmesini önler. Null değeri tanımlanmasına izin verir. Bir tabloda birden çok alan için UNIQUE değeri tanımlanabildiği için bir tabloda birden çok UNIQUE olabilir. Bir alanda UNIQUE değeri tanımlanınca, otomotik olarak Unique Index (Özel içerik) oluşur.

Örnek: DEF_CONSTRAINT tablosunda name alanını UNIQUE olarak tanımlamak için şu işlemi yapılır:

FOREIGN KEY (Yabancıl Anahtar) Kısıtlaması:

Birincil anahtar ya da UNIQUE olarak tanımlanmış (aynı tabloda ya da farklı tablolarda) iki alanın birbiri ile olan ilişkisini gösterir. Yabancıl anahtar kısıtlaması yaratılan alanda diğer alanda belirtilen değerler dışında başka bir değer girilemez. Bu kısıtlama yaratıldığında otomotik olarak dizin oluşmaz.

Örnek: FKEY1 ve FKEY2 diye 2 tablosu olsun.FKEY1 tablosu aşağıdaki şekilde, FKEY2 ise henüz veriye sahip olmayan bir tablo olsun:


FKEY2 tablosunda name ve surname adı altında iki alan var ve name ile FKEY1 tablosundaki name alanları arasında yabancıl anahtar tanımlamak istenirse ve kontrol amacı ile selin ismi girilmek istenirse, Sorgu Çözümleyici (Query Analyzer)'de şu kullanılır:


Görüldüğü gibi selin isminin kaydedilmesine izin vermedi; çünkü selin ismi FKEY1 tablosunda name alanında kayıtlı değil; kayıtlı olsaydı FKEY1 name alanında da girişine izin verilecekti.

bordo510
19-01-2007, 21:21   |  #63  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

MİCROSOFT TRANSACT-SQL

SQL (Structured Query Language), veritabanı yönetim sistemlerinde standart olarak kullanılan bir dildir. Zaman içinde değişik firmalar tabanlı ve değişik sürümlerde SQL dilleri ortaya çıkmıştır. Microsoft, bu alandaki standardını Microsoft Transact-SQL olarak adlandırmıştır.

Transact-SQL deyimi :SELECT INTO deyimi ile yeni bir tablo yaratılır.

INSER SELECT

deyimi ile mevcut tabloya ekleme yapılır.

BULK INSERT

deyimi ile bir data dosyası belirtilen formatta database’e kopyalanır.

DTS Import ve DTS Export sihirbazı kullanıcıların etkileşimli biçimde DTS paketi yaratmalarını sağlar.

ÖRNEK

CREATE database dbKutuphane on default

go


use dbKutuphane


go


CREATE TABLE kitaplar(


kitapNo INTEGER NOT NULL,


kitapAdi VARCHAR(63) NOT NULL,


ISBNNo VARCHAR(15),


sayfaSayisi INTEGER,


kitapOzeti VARCHAR(255))


go

bordo510
19-01-2007, 21:22   |  #64  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

DATABASE KULLANICISI KİMDİR?

Bir veritabanı için gerekli olan ve güvenlik izinlerinin uygulandığı kullanıcı adlarıdır. Seçilen kimlik denetimi tipine göre Windows NT kullanıcıları ve grupları yada SQL Server kullanıcı adları veritabanı kullanıcısı olabilir

DATABASELERE KİMLER ERİŞEBİLİR?

Veritabanı üzerinde tanımlanmış roller database ‘e erişebilir.

bordo510
19-01-2007, 21:22   |  #65  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

ROLLER
Veritabanı rolleri, izinlerin uygulanacağı birçok kullanıcının bir araya getirilmesidir. SQL Server, server düzeyinde de database düzeyinde roller düzenlenebilir.

SQL Server, belli yönetim fonksiyonlarına sahip hazır-tanımlanmış birtakım rollere sahiptir. Bu roller kolayca bir kullanıcıya verilebilir. Bunun dışında özel (user-defined) roller de yaratılabilir.

Tanımlı (sabit) server rolleri yönetimsel düzeydeki izinlerin gruplanmasını sağlar. Bu roller kullanıcı database’leri üzerinde bağımsız olarak düzenlenebilir.

Tablo : Sık kullanılan sabit server rolleri

Rol                                                      İzni

Database yaratıcıları (dbcreator)        Database yaratır ve değiştirir.

Disk yöneticileri (diskadmin)                Disk dosyalarını düzenler.

Process yöneticileri (processadmin)    SQL Server process’lerini yönetir.

Güvenlik yöneticileri (securityadmin)   Sisteme giriş işlemini düzenler.

Server yöneticileri (serveradmin)        Server düzeyindeki düzenlemeleri yapar.

Kuruluş yöneticileri (setupadmin)       Replication işlemini kurar.

Sistem yöneticileri (sysadmin)            Herhangi bir işlemi yapar.

Enterprise Manager aracılığıyla Server Rollerini görmek için Security bölümünden Server Roles seçilir.

Tanımlı (sabit) database rolleri database düzeyinde yönetimsel izinlerin gruplanmasını sağlar. Database rollerini görmek için Enterprise Manager içinde database seçilir.

Tablo : Sık kullanılan sabit database rolleri

Rol                               İzini

Public                          Bir database üzerindeki bütün varsayım izinleri sağlar.

db_owner                   Herhangi bir database rolü işlemini yapar.

db_accessadmin         Database kullanıcısı, grubu ve rolü ekler.

db_dlladmin                Database nesnesi ekler, değiştirir ya da düşürür.

db_securityadmin        Deyim ve nesne izinleri düzenler.

db_backupoperator    Database yedekleme ve geri yükleme.

db_datareader             Herhangi bir tablodan data okur.

db_datawriter             Tablolardaki dataları siler, değiştirir ve ekler.

db_denydatareader    Herhangi bir tablodan data okuyamaz.

db_denydatawriter     Herhangi bir tablodan data değiştiremez.

bordo510
19-01-2007, 21:23   |  #66  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

Güvenlik

Güvenlik (security) , sql server a girişlerin (login) ve databaseler’e yapılan erişimlerin ve data işlemlerinin sadece yetkili kullanıcılar tarafından yapılmasını , yetkisisz kullanıcıların engellenmesi ve bu konuda yapılan işlemleri ve düzenlemeleri kapsayan sistemdir.

Düzenlenmesi

1.Kullanıcıların database üzerinde yapacağı işlemler belirlenir

2.Ortak görevler için roller yada gruplar düzenlenir

3.Giriş adları (login id) tanımlanır

4.Varsayılan database atamaları yapılır

5.Her bir giriş adı (login id) ile database’erişecek olan database kullanıcı adları yaratılır.

6.Login id ler database kullanıcılarına atanır.

bordo510
19-01-2007, 21:24   |  #67  
Yeni Üye
Teşekkür Sayısı: 0
45 mesaj
Kayıt Tarihi:Kayıt: Kas 2006

AKIŞ KONTROLÜ NEDİR?

Denetleme Komutları (Akış kontrolü)
Akış kontrolleri SQL deyimlerinin işletimindeki akışı kontrol eder.Akış deyimleri sırasıyla devam ettiği bir işlem sırasıdır.Bu sıra belirli koşullara göre yön değiştirebilir.İşte akış kontrolü işletecek deyimleri belirler.Akış kontrol deyimleri Case,Begin….End, if…else,While… ve Break…. Continue gibi deyimler.

Case:Bir ifadenin koşullu olarak bir değer döndürmesi

Akış kontrol deyimleri

Begin….End:bir deyim bloğu oluşturur.

If…….Else

While
Break……Continue

CASE DEYİMİ
-Belli bir ifadenin değerine göre bir değeri döndüren ve değere göre yönlendiren bir yapı sağlar.
CASE ifade
WHEN ifade1 THEN ifade1
WHEN ifade2 THEN ifade2

…. ELSE ifade n

BEGİN END DEYİMİ
Begin ve End deyimi bir dizi SQL deyimi bloklamaya yarar.Bu bloklama if ve While koşullarına bağlı olarak işletilir ya da atlanır.Begin…End blokları iç içe de olabilir.
BEGIN
SQL deyimi

… END

IF ELSE DEYİMİ

Bir SQL deyiminin çalışmasını bir koşula bağlar.If sözcüğü ile bir koşul tanımlanır.Else sözcüğü ise alternatif sözcüğü ortaya koyar.Eğer if de yer alan koşul sağlanamazsa else ile belirtilen işlem yapılır.
IF ikili_ifade
SQL deyimi

ELSE ikili_ifade
SQL deyimi

WHILE DEYİMİ

While yapısı bir SQL deyiminin yenilenmesini (döngü) sağlar.Deyimler koşul true (doğru) oluncaya kadar devam eder.While döngüsü deyimlerin işletimini break ve contiue sözcükleri ile ifade edilir.
While ikili_ifade
SQL deyimi

Break
SQL deyimi
Continue
SQL deyimi

nejbir
07-11-2007, 10:36   |  #68  
Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Kas 2007

aaaa