veri tabanı-2

2017-2018 uygulamalar
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ı

Hiç yorum yok:

Yorum Gönder