Mssql etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Mssql etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Ekim 2015 Pazartesi

Sqlserverda Veri Taşıma

1.yol database e gel sag tıkla  TASKS tıkla daha sonra GENERATE scripT dedikten sonra dosyayı istedigimz yere alırız ....bu dosyayı aldık tıklayınca sqlserverda acılır EXECUTE dersek database kuruulur.

2.yol  TASKS deriz BACKUP alırken istedigimz yere alır dosya adını FULL backup alıp  uzantısı .bak olmalı..sonrada gidip sql serverı acıp yeni o isimle bi proje acıp ...TASKS der RESTORE deyip bu dosyayı seceriz

3.yol   C ye gidip   dosyamızı   .MDF ve :LOG dosylaarını kopyalarız...daha sonra kullanacaksak   sqlserverı acıp   DATABASES a sag tıklayıp ATTACH deyip dosyamızı yerinden secer yükleriz 
Share:

Sqlserverda COKA COK İLİŞKİ ve TEKE COK İLİŞKİ

Sqlserverda COKA COK İLİŞKİ ; ortaya baska yeni bir tablo olusturulur ikisinin ID si de yazılır ve bu tablo ikiside secilip PRİMARY KEY yani kompozit key yapılır böylece coka cok iliski kurulur

Sqlserverda TEKE COK İLİŞKİDE;  COK olacak tarafa tekin ID sini koyarız 
Share:

4 Ekim 2015 Pazar

Sqlserverd TRANSACTİON

TRANSACTİON: Bir işlem yarıda kaldımı kalmadımı tamamen bittimi birmedimi kontrol eder güvenligi saglar mesela bankya para yattı yatarken bir hata meydana geldi alıcıya para gitti gönderenden para düşülmedi banka zararda olur gibi...

create proc HavaleYap
@gonderen int,
@alici int,
@miktar money
as
begin try
begin tran havale   //Transaction işlemi başaltılır commit ve rollback olanakadar devameder

update Hesap set Bakiye +=@miktar where Hesapid=@alici
update Hesap set Bakiye -=@miktar where Hesapid=@gonderen
commit tran havale    // Transaction işlemi onaylanınca işlemler kalıcı olur
end try

begin catch
rollback tran havale
print ' bir hata oluştu'
end catch



cagırırken ise ;

begin  tran
insert Hesap  values('yasemin',500)

EKLER 


ROLLBACK TRAN dersek yasemini geri siler 











//TRANSACTİON  3 tanedir 


Auto Complate Mode :   Transaction otomatik acılır otomatik kapanır
İmplicit Mode :    transaction otomatik acılır fakat elle kapatmak gerekir 
Explicit Mode: yazılımcının elle acıp elle kapattıgı moddur






O anda kac transaction calsıyor  görmek icin :


select @@TRANCOUNT
Share:

Sqlserverda BACKUP (YEDEKLEME)

Veritabanı gelip Sag Tıkla   TASKS ise tıklarız burada BACKUP ı acmıs oluruz ve yedegimizi almış oluruz...bu ise C de mssqlserver in icinde BACKUP ın içinde bir   .bak dosyası oluşturur




Bu yedegi kullanabilmek icin     veritabanına gelip sag tıklayıp TASKS deriz  RESTORE deyip  FROM DEVİCE  dan yedegi bulup okeyleriz yedegi aldıgımz anki bilgi durumuna gideriz





BURADA ÖNEMLİ Bİ NOKTA VAR ; backup alırsan ilk kez back up alıyorsak  backup type :FULL seceriz  fakat her seferinde aynı dosyadanın backup ını full en bastan alırsak cok yer kaplar
o yüzde SADECE DEGİŞEN VE FARKLI YERLERİ alması icin DİFFERENTİAL ı seceriz


burada şayet sistem kendi belli günde BACKUP alsın dersek bu sayfada üstte SCRİPT var orada SCRİPT ACTİON TO JOB deyip görev atarız hangi gün hangi saatte alacagını seceriz 
Share:

SqlServerDa Trigger 2

create trigger trgservissil
on Servisler
instead of delete              //burada eger delete işlemi yap dersen onun yerine bu dedigimi yap demek
as
update Servisler set Marka=Null where Servisid in(select Servisid from deleted)
   
//    burada    adam DELETE yap derse biz sadece aracın markasını degistirip NULL yapıyoz 







Share:

Sqlserverda FONKSİYON yazma

create function CHAN(@vize int)
returns int
begin
return @vize*1.4
end



//


select Ogrid,Dersid,dbo.CHAN(Vize)as çanli__ from OgrenciDers  


diye  cagırırız ögrencilerin notuna çan uygulanmıs halini listeliyoruz   ...ilk önce CHAN diye bir fonksiyon üretiyoruz .ardına select sorgusunda    dbo.Chan(Vize)  diye cagıryoruz 
Share:

3 Ekim 2015 Cumartesi

Sql Stored procedure


PROCEDURE BÖYLE YAZILIR ;

create procedure derseekle
@DersAdi nvarchar(50)

as
Insert into Dersler(DersAdi) values(@DersAdi)




cagırırken ise;


exec  derseekle  'kimya'




EGER TEKRAR AYNI DERSİ ENGELLEMESİ İCİN ;

create procedure derseekle
@DersAdi nvarchar(50)
as
if(not exists (select * from dersler where DersAdi=@DersAdi))
begin
Insert into Dersler(DersAdi) values(@DersAdi)
end





EGER PROCEDURE U YAZDIK DEGİŞTİRMEMİZ LAZIM   BUNUN İÇİN   ALTER KULLANIRIZ


ALTER PROCUDURE DERSEKLE
.
.
.
.
Share:

Sql Server VİEW lar

Sql Server VİEW lar :   sanal tablo işlevi görürler .bizzat veri tutmazlar her seferinde sorgu yazmak tabloları baglamak zorunda kalmayız .sqlserverda her seferinde compile etmek zorunda kalmaz yorulmaaz hem ...select barındıran sanal tablo



create  view toplu
as
select d.DersAdi,og.Dersid,ogrtmn.Adi from Dersler d
left join OgrenciDers og on d.Dersid=og.Dersid
left join Ogretmenler ogrtmn on og.Ogretmenid=ogrtmn.Ogretmenid





// artık



select * from   toplu     diye cagırabiliriz




VİEW ======KISAYOL







FAKAT ESKİ VİEWİ DEGİSTİRMEK İSTERSEK:     ALTER VİEW deriz





alter  view toplu
as
select d.DersAdi,og.Dersid,ogrtmn.Adi,ogrtmn.TCKN from Dersler d
left join OgrenciDers og on d.Dersid=og.Dersid
left join Ogretmenler ogrtmn on og.Ogretmenid=ogrtmn.Ogretmenid













EGER   VİEWİ SİFRELEMEK İSTERSEK;




alter view toplu
with encryption
as
.
.
.
  
Share:

SqlServerda Update

İnsert: ekleme Yapmaya yarar

insert Dersler(DersAdi) values('beden')




Update : günceleme yapar


update Dersler set DersAdi='muzik' where Dersid=6  



// 6 numaralı dersin adını degiştir MUZİK yap diyor





şayet ;


update Dersler set DersAdi='muzik' where Dersid in(1,6,7)    



// dersek 1 6  ve 7. derslerin adını müzik yapar


Share:

Sql Serverda Küme Fonksiyonları

Sql Serverda Küme Fonksiyonları ;


Union:    iki farklı sorguyu birleştirir ama tablo boyutları eşit olmalı

select DersAdi from Dersler
union
select  Soyadi from Veliler



İntersect: Keşişim kümesi alır

select firmaadi   from Tedarikci
intersect
select firmaadi from müsteri


// hem müşteri hem tedarikci olan sirket adlarını yazar



Except : Farklarını alır


select firmaadi   from Tedarikci
Except 
select firmaadi from müsteri



//tedarikcilerden müşteri olanları cıkarır yazar
Share:

2 Ekim 2015 Cuma

Sql Serverda Outer JOin

Sql Serverda Outer JOin     3 ceşit      ;

Left outer join

right outer join


full outer join




birlesitrme yapar fakat inner joinde boş yerer varsa sorguda geitrmez  ...outer join getirir ...

left join ile  soldakini tamamını getir     sagdaki null sa gelmesede olue

right join dersek soldaki gelmesede olur ama sagdakinin tamamını getir diyoruz  





select *   from
Veliler v right Outer join  ogrenciler og on v.Veliid=og.Veliid





Share:

Sql Server da Tabloları baglama

Sql Server da Tabloları baglama  ;


select  DersAdi,o.Ogrid  from Dersler d inner join  OgrenciDers o  on d.Dersid=o.Dersid


///İNNER JOİN farklı tabloları birleştirir



select      ho.Adi,ho.Brans,d.DersAdi,od.Vize          from Dersler  d  inner join OgrenciDers od on d.Dersid=od.Dersid  inner join  Ogretmenler  ho  on ho.Ogretmenid=od.Ogretmenid



Buda alakasız tablodan tabloya ulaşma yolu 





Share:

Sql Server İlk N ürünü Sıralama TOP iledir

Sql Server İlk N ürünü Sıralama TOP iledir ..

select top 10 from Dersid


NOT: mesela ilk 10 u getir dedik ama 10. sırada aynı puana  sahip 3 tane kişi var ozaman onun farkında olmakicin

select top 10 with ties * from Dersid 
Share:

24 Eylül 2015 Perşembe

Sql server İNDEXLEME (CLUSTER)

Sql server İNDEXLEME (CLUSTER)   ....süekli düzensiz eklenen bilgileri bi süre sonra bulmak zor olur yavaslama olur ..yavaslama olmasın diye belli gün yada tarihte indexleyip belli düzene sokma işlemi indexes/keys tir..kütüphanede sürekli gelen kitapların vey karısan ktiapların görevli tarafından belli günde düzeltilmesi gibi düsünebiliriz.


elemana gelip sag tık ile index/keys e tıklarız..SCRİPT e tıklayıp SCRİPT ACTİON TO JOB deyip bi görev ekleriz saat kacta hangi gün olacagını yazarız ogün o saatte o gün indexler düzenler sectigimiz elemana göre ...mesela   ogrenci adına göre.....ali,ahmet,kamil...g,ibi...
Share:

Sqlserverda ID otomatik artsın istersek

Sqlserverda ID otomatik artsın istersek  o elemana gel propertiesdan  IDENTİTY SPECİFİATE   özelligini yes yap....artık her ekledigimiz elemana otomaitki sırayla 1,2,3,4,5 diye artan id verir kendi 
Share: