veri tabanı-2


2019-2020 uygulamalar
final sınav hazırlık soruları
Konu başlıkları
1-Bir tablonun Ekle/Sil/Güncelle ve Ara prosedürlerini yazınız?
2-Sql deyim bloklarından if, while,when-case (prosedür)
3-T-SQL
4-Trigger
Sorular:
1-Urunler isimli bir tablo oluşturunuz(ürün id,ürün adı, birim fiyatı, stok adeti, kategori id)
2-Ürünler tablosuna ekle prosedürü oluşturunuz ve en az 5 kayıt giriniz?
3-Ürün id sine göre silme, ürün id sine göre ürün adı güncelleme ve ürün adına göre arama prosedürü yazınız?
4-ürün id si girildiğinde stok sayısı 10 dan az ise ürün sayısı yeterli değil fazla ise ürün sayı yeterli uyarısı veren proc yazınız?
5-dışardan girilen bir sayı kadar her ürünün ürün birim fiyatlarını +0.1 tl ekleyen ve  içindeki bir ürünün fiyatının iki kat olduğunda döngüyü durduran proc yazınız?
örnek: exec proc5 '10' : 10 döngü yapacak eğer bir ürünün fiyatı 0,2 ise 2 döngü de duracak.
6- ürün kategorisi 1 ise birim fiyatına +1,2 ise +2, 3 ise +3 değilse +4 ekleyen when-case kullanarak yapınız?




vize hazırlık
Sorular
1.Personel isimli bir tablo oluşturunuz? En az 10 kayıt giriniz?Tablo sütunları ad,soyad,sicilno,maas,cocuksayısı
2.personel tablosuna ekle,sicilnosuna göre silme,sicil nosuna göre ad/soyadı güncellme, ad ve soyadına göre arama prosedürü yazınız?
3.Maksimum  Maaş 5 bin olana kadar veya maaş ortalaması 4 bin olana kadar bütün personellerin maaşlarına +1 ekleyen döngüyü yazınız?
4.Çocuk sayısına 0 olana %10 1 olana %15 2 olana %20 3 ve üzeri olana %25 zam uygulayan sql cümleciğini yazınız?
5. maaş id sine göre  maaş 4bin üzeri ise maaş yüksek değil se maaş düşük yazan bir saklı yordam yazınız?

view(2019 17 ekim)

select * from kategori

create view kategori
as
select * from products 
where CategoryID=2 and Unitprice>20

create view calisan as
select * from employees 
where country='USA' 
and city='Seattle'

select* from calisan



--Transact-SQL(2019 17 ekim)

declare @sayi1 int
set @sayi1=5
declare @sayi2 int
set @sayi2=10
declare @toplam int
set @toplam=@sayi1+@sayi2

select @toplam as toplam

create proc liste5
@limit int
as
declare @sayac int
set @sayac=0
declare @isim varchar(20)
set @isim='ali'

while(@sayac)<@limit
begin
print @sayac
print @isim
set @sayac=@sayac+1
end


exec liste5 10
if-while-prosedür:10.10.2019 ders uygulamaları

Stored prosedürler

2018-2019 uygulamalar
cevaplar
create proc maas
@bol nvarchar(20)
as
select sum(maas) from  personel_bilgi
where bolum=@bol
------------------------

create proc listele
@id int
as
if(select maas from personel_bilgi where per_id=@id) <2000
print 'maas düşük'
else
print 'maas yüksek'

----------------
while(select max(maas) from personel_bilgi)<=3000
update personel_bilgi set maas=maas+1




******veri tabanı2 vize hazırlık soruları*****

30.10.2018 sql deyim blokları ve uygulamaları

23.10.2018 koşul_proc

diyagram 18-10-2018

prosedürler
16.10.2018
-----



2017-2018 uygulamalar
1.Okul isimli bir db oluşturunuz.
2.öğrenci ve notlar isimli iki tablo oluşturunuz.Diyagramını yapınız.
3. öğrenci ve notlar tablosuna kayıt ekle prosedürü yazınız(her ikisine de 10 kayıt giriniz)
4.öğrenci numarasına göre kayıt sil prosedürü yazınız.
5.öğrenci numarasına göre adı ve soyadını güncelleyen bir güncelleme prosedürü yazınız?
6.öğrenci adına göre arama yapan bir  arama prosedürü yazınız?

7.öğrenci numarasına göre Notlar tablosunda ortalaması SINIF ORTALAMASINDAN'dan küçük olan
öğrencilere başarısız yüksek olanlara başarılı yazan bir proc yazınız?
8-Öğrenci numarasına göre ortalaması veya finali 45'den küçük ise kaldı değilse geçti yazan bir proc
yazınız?
9.ortalaması 45 den küçük olanları başarısız diğerklerini başarılı yazan when then kodunu yazınız.

sql deyim blokları




vize hazırlık soruları

1-personel tablosu için;
a-ekle prosedürü yazınız?
b-sil prosedürü yazınız?
c-personel id'sine göre ad, 
soyad ve sehir bilgilerini günc
proc yaz?
d- isme ve soyisime göre bir arama
prosedürü yazınız?
2-per_id girildiğinde personel 
ad,soyad ve maaş bilgilerini 
list. proc yazınız?
3-per_id sine göre maaşı 2000 den küçükse maaşı
az büyükse maaşı yüksek veren 
bir proc yazınız?
4-şehire göre maaş ortalaması veren
bir proc yazınız?
...........................................................
--ekle,sil,güncelle,ara
create proc l
as
select* from personel

create proc ekle
@id int,
@isim nvarchar(20),
@sisim nvarchar(30),
@il nvarchar(20)
as
insert into personel(per_id,adi,soyadi,sehir)
values(@id,@isim,@sisim,@il)

exec ekle 11,'veli','yıldız','yozgat'
--silme
create proc sil
@id int
as
delete from personel
 where per_id=@id

 exec sil 11

 --güncelleme
 alter proc guncelle
@isim nvarchar(20),
@sisim nvarchar(30),
@il nvarchar(20),
 @id int
 as
 update personel 
 set adi=@isim
 , soyadi=@sisim
 ,sehir=@il
 where per_id= @id 

 exec guncelle 'ayşe','ak','muş',10
 --arama
 create proc ara
 @ad nvarchar(20)
 as
 select * from personel
 where adi like'%'+ @ad +'%'


 exec ara 'ayşe'



 exec l
 create proc liste
 @id int
 as
 select personel.adi,personel.soyadi,
 personel_bilgi.maas 
 from personel,personel_bilgi
 where personel.per_id=@id and
 personel.per_id=personel_bilgi.per_id



 exec liste 11

 create proc liste1
 @id int
 as
 if(select maas from personel_bilgi
 where per_id=@id)<2000
 begin
 print'maaş düşük'
 end
 else
 begin
 print'maaş yüksek'
 end



 exec liste1 11
create proc soru4
@il nvarchar(30)
as
select avg(personel_bilgi.maas)from 
personel,personel_bilgi
where personel.sehir=@il
and personel.per_id=personel_bilgi.per_id

exec soru4 'ankara'
--------------------------------------------------------
create proc soru2 
@id int
as
select personel.adi,
personel.soyadi,personel_bilgi.maas
 from personel,personel_bilgi
 where personel.per_id=@id
 and
 personel.per_id=personel_bilgi.per_id



exec soru2 2

















sorular:
1-personel tablosu için;
a-ekle prosedürü yazınız?
b-sil prosedürü yazınız?
c-personel id'sine göre ad, 
soyad ve sehir bilgilerini günc
proc yaz?
d- isme ve soyisime göre bir arama
prosedürü yazınız?
2-per_id girildiğinde personel 
ad,soyad ve maaş bilgilerini 
list. proc yazınız?
3-per_id sine göre maaşı 2000 den küçükse maaşı
az büyükse maaşı yüksek veren 
bir proc yazınız?
4-şehire göre maaş ortalaması veren
bir proc yazınız?

prosedürler

1-Müşteri(customers) numarası girildiğinde o müşteriye ait bilgileri gösteren SP yazınız?
Exec musteri 5 gibi..
2- siparis numarası girilen ürünün toplam fiyatını bulan SP yi yazınız ?
Execute siparis_hesapla 3….
3- kategori numarasına göre kaç adet ürün olduğunu bulan  SP yi yazınız
4-eğer ürünid girildiğinde  ürün sayısı 5 den küçük ise ürün sayısı yetersiz mesajı veren değilse ürün sayısı yeterli yazan proc yazınız?
exec urun 2... gibi
cevaplar

............


Sorular:1-(if else) ürünler tablosunda stok sayısı sıfır ise ürün yok, değilse ürün var uyarısı yapan sorguyu yazınız?
2-personeller tablosunda şehrine göre listeleme yapan bir proc yazınız? exec sehir 'london'  gibi
3-[Satis Detaylari] tablosundan siparis numarasına göre ne kadarlık alışveriş yapıldığını gösteren proc yazınız?
exec hesapla 10248
sum(birimfiyatı*miktar-birimfiyatı*miktar*iskonto)






10.hafta
1-northwind databasi ekleyiniz?
2-çalışan id si 3,6,8 ve10 numaralı çalışanların isim ve soyisimlerini (in yapısını kulllanarak) listeleyiniz?
3-3 numaralı çalışanın verdiği sipariş toplamını bulunuz?
4-ürün numarası girilince fiyatını listeleyen bir proc yazınız.?
5-ürün numarası girilince stokda ürün sayısı 0 ise ürün kalmamıştır, değilse ürün vardır şeklinde uyarı veren bir proc yazınız?
6-ülke ismi girildiğinde o ülkede olan çalışanların isim, soyisim ve ülkelerini listeleyen bir proc yazınız?
7-kategori id girildiğinde o kategoriye ait ürün isimlerini listeleyen proc yazınız?
3-cevap
select COUNT([Order Details].Quantity*[Order Details].UnitPrice)
as toplam
 from Employees,Orders,[Order Details]
 where Employees.EmployeeID=3 and 
 [Order Details].OrderID=Orders.OrderID and
 Employees.EmployeeID=Orders.EmployeeID


9.hafta
1-deneme isimli bir database oluşturunuz?
2.personel isimli bir tablo oluşturunuz.(id int, bol_id nchar(5),adi nvarchar(20),soyadi nvarchar(30),sehir nvarchar(30),maaşı numeric(10),cocuksay int)
3.tabloya kayıt ekle prosedürü yazınız?(10 tane kayıt ekleyiniz)
4.personel id sine göre silme prosedürü yazınız?
5.personel id sine göre ad ve soyadı güncelleyen proc yazınız?
6.adına göre arama yapan proc yazınız?

8.hafta
1.work isimli bir db oluşturunuz.
2.personel isimli bir tablo oluşturunuz.(id int, bol_id nchar(5),adi nvarchar(20),soyadi nvarchar(30),sehir nvarchar(30),maaşı numeric(10),cocuksay int)
3.tabloya kayıt ekle prosedürü yazınız?(10 tane kayıt ekleyiniz)
4.personel id sine göre silme prosedürü yazınız?
5.personel id sine göre ad ve soyadı güncelleyen proc yazınız?
6.adına göre arama yapan proc yazınız?
7.personelin tablosunda 0 çoçuk olanın maaşına %10,1 çoçuk olanın maaşına %15,2 çoçuk olanın maaşına %20,3 çoçuk olanın maaşına %25, diğerlerine %30 maaş artışı  veren when then yapınsını yazınız?
8. en düşük maaş 3000 tl olana kadar herkesin maaşına +1tl ekleme yapan while döngüsü yapınız?
9. personel id si girilen bir proc'da maaşı 4000'den küçük ise  maaş düşük; değilse maaş yüksek yazan bir prosedür yazınız.


7.hafta uygulamaları-genel tekrar
1.Okul isimli bir db oluşturunuz.
2.öğrenci ve notlar isimli iki tablo oluşturunuz.Diyagramını yapınız.
3. öğrenci ve notlar tablosuna kayıt ekle prosedürü yazınız(her ikisine de 10 kayıt giriniz)
4.öğrenci numarasına göre kayıt sil prosedürü yazınız.
5.öğrenci numarasına göre adı ve soyadını güncelleyen bir güncelleme prosedürü yazınız?
6.öğrenci adına göre arama yapan bir  arama prosedürü yazınız?
7.öğrenci numarasına göre Notlar toblosunda ortalaması SINIF ORTALAMASINDAN'dan küçük olan öğrencilere başarısız yüksek olanlara başarılı yazan bir proc yazınız?
8-Öğrenci numarasına göre ortalaması veya finali 45den küçük ise kaldı değilse geçti yazan bir proc yazınız?






































9.ortalaması 45 den küçük olanları başarısız diğerklerini başarılı yazan when then kodunu yazınız.













6.hafta uygulamaları




5.hafta uygulamaları
1-Müşteri(customers) numarası girildiğinde o müşteriye ait bilgileri gösteren SP yazınız?
Exec musteri 5 gibi..
2- siparis numarası girilen ürünün toplam fiyatını bulan SP yi yazınız ?
Execute siparis_hesapla 3….
3- kategori numarasına göre kaç adet ürün olduğunu bulan  SP yi yazınız
4-eğer ürünid girildiğinde  ürün sayısı 5 den küçük ise ürün sayısı yetersiz mesajı veren değilse ürün sayısı yeterli yazan proc yazınız?
exec urun 2... gibi


4-5.hafta(prosedürler)



quiz:

1. hastane isimli bir db oluşturunuz?
2. doktor, muayene, hasta isimli 3 tablo oluşturunuz?
3. Bu tabloları(Pk-Fk) diyagramını yapınız?
4. hasta tablosuna ekle prosedürü yazınız?
5. doktor_id girildiğinde o doktora muayene olan hastaların isim/soyisimlerini listeleyen proc yazınız?
6. doktor_id girildiğinde eğer muayene sayısı 100 den az ise
"muayene devam ediyor" uyarısı veren 100 ve daha fazla ise "muayene bitmiştir" uyarısı veren proc yazınız?

Uygulama-2

*. Northwind db'yi ekleyiniz.
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
1-Müşteri(customers) numarası girildiğinde o müşteriye ait bilgileri gösteren SP yazınız?
Exec musteri 5 gibi..
2- siparis numarası girilen ürünün toplam fiyatını bulan SP yi yazınız ?
Execute siparis_hesapla 3….
3- kategori numarasına göre kaç adet ürün olduğunu bulan  SP yi yazınız
4-eğer ürünid girildiğinde  ürün sayısı 5 den küçük ise ürün sayısı yetersiz mesajı veren değilse ürün sayısı yeterli yazan proc yazınız?
exec urun 2... gibi

Uygulama
1-okul isimli bir db oluşturunuz.
2-ogrenci, bolum ,notlar,ogretmen ve dersler isminde 5 adet tablo oluşturunuz?
3-Tabloların diyagramını yapınız?
4-ogrenci,bolum ve notlar tablosuna kayıt ekle prosedürü oluşturunuz?
5-Her tabloya en az 5 er kayıt giriniz?(Hazır girebilirsiniz kodsuz)
6-ogrenci tablosu için belli bir kriterde kayıt silme prosedürü yazınız?
7-ogrenci tablosu için ara prosedürü yazınız?
8-bolum tablosu için belli bir kriterde güncelleme yapan proc yazınız?
----
Uygulama-2
















8.hafta (SINAV HAZIRLIK)

1-okul veya başka bir isimde bir db oluşturunuz?
2-öğrenci,notlar,bolum isminde table oluşturnuz?
3-öğrenci,notlar,bolum tablosuna ekle prosedürleri oluşturunuz?(en az 5 er adet kayıt giriniz)
4-ogrenci numarasına göre notlar tablosunda ort veya finali 45 den küçük olan öğrenci kaldı değilse geçti yazan proc yazınız?
5-bolum_adi='.... ' girildiğinde o bölümde kaç adet öğrenci olduğunu bulan proc yazınız?
6-(notlar tablosundan)ders_id girildiğinde sınıf ort<70 ise sınıf başarılı değilse sınıf başarısız yazan bir proc yazınız?
7-öğrenci adına göre bir arama proc. yazınız?
8-öğrenci numarasına göre kayıt silme prosedürü yazınız?
9- bölüm_id si girildiğinde o bölümün adını güncelleyen proc yazınız?
10-sınıf ortalaması 70 den küçükse ortalamalara +1 puan veren; 70 olduğunda döngüyü durduran yada en yüksek oratalama 100 olduğunda döngüden çıkan sql cümleciğini yazınız?

7.hafta uygulamaları deyim blokları 



6.hafta uygulamaları prosedür devamı(ARAMA)


2.hafta

1-OKUL İSİMLİ BİR DB OLUŞTURUNUZ.
2-5 adet tablo oluşturunuz.
3-ogrenci tablosuna yaş sütunu ekleyimiz,kaldırınız.
4-her tabloya en az iki kayıt ekleyiniz.
5-resimdeki silme ve güncelleme işlemlerini yapınız?


3. hafta










..........

Veri Tabanı-2 Yapılan Uygulamalar


1-veri tabanı -2 sorular ve cevaplar stored procedure

2-nortwind database ve diyagram

3-3-ders sınavları (veri yapıları,veri tabanı,algoritma ve programlama temelleri sınavları)

4-veri tabanı-2 vize final eski sınav soruları

1 yorum:

 https://bunyaminkaya.com/microsoft-sql-server-tum-surumleri-dogrudan-indirme-linkleri-2008-2012-2014-2016/