17 Ocak 2017 Salı
CONTINUE Deyimi
Bu komut BREAK komutunun tam tersi durumunu gerçekleştirir.
BREAK komutunun aksine bu komut WHILE yapısının başına gitmeyi sağlar. Bir defaya mahsus CONTINUE komutundan sonraki kısımlar çalıştırılmaz.
Örnek: Döngü değeri 8 olduğunda, 8 değeri dışında kalan tüm değerleri ekrana yazdıralım.
BREAK Deyimi
BREAK komutu, bir döngü içerisinde belirlenen amaca ulaşıldığında döngünün kırılarak sonlandırılmasını sağlamaktadır.
Döngüden çıkıldığında WHILE’ın END’ini takip eden kodlardan program çalışmaya devam eder.
Örnek: 1’den 10’a kadar çalışan bir döngüde 8’e gelindiğinde döngüden çıkmasını sağlayalım.
DECLARE @sayac int
SET @sayac=0
WHILE (@sayac<10)
BEGIN
IF (@sayac=8)
BEGIN
PRINT 'Döngüden çikildi'
BREAK
END
SELECT @sayac=@sayac+1
PRINT @sayac
END
CASE Deyimi
CASE yapısı herhangi bir değişkenin birden fazla durumla karşılaştırmak için kullanılmaktadır. Genel yapısı şöyledir.
CASE
WHEN Şart_ifadesi1 THEN Değer1
WHEN Şart_ifadesi2 THEN Değer2
ELSE Değer3
END
Örnek: bir sınıftaki öğrencilerin not ortalamalarına bakarak “Geçti” yada “Kaldı” şeklinde ekrana listeleyen T-SQL cümleciği şöyle olacaktır.
IF-ELSE Deyimi
Yani bir yada daha fazla şartın doğru olması halinde farklı bir işlem yada yanlış olması halinde başka işlemin yapılmasını sağlamaktadırlar.
IF – ELSE karar yapısı diğer programlama dillerinden de hatırlanacağı gibi gelen değer yada değerlere göre bir kararın verilmesini sağlayan bir yapıdır. Bu yapının T-SQL deki genel kullanım biçimi şöyledir.
IF (şartlar)
BEGIN
Komutlar1
END
ELSE
BEGIN
Komutlar2
END
Örnek: Öğrencilerin vize not ortalamaları 50 den büyük ise “sınıfın durumu iyi”, düşük ise “sınıfın durumu kötü” olarak uyarı veren bir T-SQL programı yazalım.
IF – ELSE karar yapısı diğer programlama dillerinden de hatırlanacağı gibi gelen değer yada değerlere göre bir kararın verilmesini sağlayan bir yapıdır. Bu yapının T-SQL deki genel kullanım biçimi şöyledir.
IF (şartlar)
BEGIN
Komutlar1
END
ELSE
BEGIN
Komutlar2
END
Örnek: Öğrencilerin vize not ortalamaları 50 den büyük ise “sınıfın durumu iyi”, düşük ise “sınıfın durumu kötü” olarak uyarı veren bir T-SQL programı yazalım.
T-SQL ile Yığın İşlemleri
Yığın, belli sorguların arka arkaya yapılması anlamına gelmektedir.
SQL Server, arka arkaya gelen sorguları yığın olarak ele almaktadır.
Herhangi bir yığının sonunu belirlemek için GO komutu kullanılmaktadır.
SQL Server’da bir yığın çalışmaya başlamadan önce ayrıştırılır (parse edilir). Daha sonra ayrıştırılan bu sorgular derlenerek çalıştırılır.
Genel kullanım biçimi şöyledir:
Komutlar
GO
Komutlar
GO
….
T-SQL’ de Kontrol Deyimleri
Diğer programlama dillerinde olan ve T-SQL’de yer alan bu kontrol deyimleri şunlardır:
IF… ELSE Yapısı
CASE Yapısı
WHILE Döngüsü
Bu üç yapı yapılan SQL sorgusunun herhangi bir noktasında bazı değerlerin kontrol edilerek çalıştırılmasını sağlamaktadırlar.
T-SQL
T-SQL Kavramı
T-SQL ifadelerinde döngü ve benzeri işlemleri yapmak için herhangi bir derleyiciye ihtiyaç yoktur. Herhangi bir dil öğrenilmeden bile T-SQL kullanarak amaca uygun projeler geliştirmek mümkündür.
T-SQL ile geçmiş haftalarda öğrendiğiniz bütün SQL komutlarını kullanabilirsiniz. Bunların yanında SQL Server içerisinde bulunmayan döngü v.b. işlemlerde T-SQL aracılığı ile yapılabilmektedir.
Değişken Türleri
Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. Değişkene atanan her yeni değer eskini siler.
Bilindiği gibi değişkenler, verilerin bellekte geçici olarak tutulmalarını ve gerektiğinde kullanılmasını sağlayan yapılardır.
T-SQL, diğer programlama dillerinde olduğu gibi değişken tanımlamaya olanak sağlamaktadır.
T-SQL’de tanımlanan değişken diğer programlama dillerinde olduğu gibi herhangi bir veri tipi ile sınırlandırılmıştır ve oluşturulmasının ardından bellekte belli bir yer kaplamaktadır. Ayrıca üzerine veri yazılmasına izin vermekte ve daha sonrada program içerisinden çağrılabilmektedir.
Global değişkenler SQL Server üzerinde birçok işlem hakkında bilgi veren ifadeleri kapsamaktadırlar.
SQL server’da değişkenler ikiye ayrılmaktadır:
Yerel değişkenler
Global değişkenler
Yerel değişkenler, önlerine @ işareti alarak tanımlanırlar.
Örneğin; @Deger
Global değişkenler ise önlerine @@ işareti alırlar. Fakat bu değişkenler SQL Server tarafından tanımlanmıştır ve kullanıcılar tarafından tanımlanamazlar.
Örneğin; @@CONNECTION
Değişken Tanımlama Kuralları
Değişken tanımlamaları yapılırken her dilde olduğu gibi T-SQL’de de uyulması gereken kurallar vardır. Bu kurallar şunlardır:
Değişkenler _ (altçizgi) ve harf ile başlamalıdır.
Boşluk karakteri veya Türkçe karakterler kullanılmamalıdır.
Değişkenler SQL Server için özel anlamı olan ifadeler ile başlamamalıdır. (örneğin @, @@, #, $ gibi)
SQL komutları değişkenlere isim olarak verilmemelidir.
Örneğin INSERT, UPDATE v.b.
SQL ifadeleri genellikle büyük harfle yazılır fakat küçük harfle de yazılabilir.
Nesne isimleri kısa ve anlaşılır olmalıdır.
Tablolara isim verilirken daha kısa ve anlamlı isimler tercih edilmelidir.
Örneğin TabloUrun yerine tblUrun tercih edilebilir.
Tablolardaki NULL ifadesi hiçbir şey girilmemiş anlamına gelmektedir. Klavyeden SPACE tuşuna basılarak bırakılan boşluk ifadesi ile aynı anlamda değildir.
NULL ifadesi daha önceden değeri bilinmeyen ve bu nedenle boş bırakılan ifadeler için tercih edilmelidir.
T-SQL’de bir değişken tanımlamak için DECLARE komutu kullanılmaktadır.
DECLARE komutunun genel biçimi aşağıdaki gibidir.
DECLARE @Degiskenin_Adi Veri_Tipi
Örnekler:
DECLARE @Adi varchar (20)
DECLARE @Numarasi int
DECLARE @Tarih smalldatetime
T-SQL de araya virgül koyarak birden fazla değişken tanımlamak mümkündür. Böyle bir durumda sadece tek bir DECLARE komutu kullanılmış olmaktadır.
Örnek:
DECLARE @Adi varchar (20), @Numarasi int, @Tarih smalldatetime
Değişkenlere Değer Atama
T-SQL’de değişkenlere değer atamanın 2 yolu vardır:
SET komutu ile değer atama,
SELECT komutu ile değer atama.
Bu iki kullanıma ait örnekler ve genel kullanımları sonraki slaytlarda verilmiştir.
SET komut kullanılarak değer atamanın genel ifadesi aşağıdaki gibidir:
SET @degiskenin_adi = atanan_deger
Örnekler:
SET @Adi = 'Murat'
SET @Numarasi = 110403007
SET @Tarih = '30.11.2011'
SELECT komutu ile de değişkenlere değer atanabilmektedir. Eğer tek başına değişken ile kullanılırsa değişkenin içerisindeki değerin ekrana görüntülenmesini de sağlamaktadır.
Örnek:
DECLARE @Adi varchar (20)
SELECT @Adi = 'Mehmet'
Böyle bir kullanımda değişkene değer atanabilir fakat ekranda gösterilmemektedir.
SELECT dışında ekrana bilgileri yazmaya yarayan bir diğer T-SQL komutu da PRINT komutudur. PRINT komutu, değişkenlerin değerlerini, ortaya çıkan hataları vb. durumları ekrana yazdırmak için kullanılmaktadır.
T-SQL ifadelerinde döngü ve benzeri işlemleri yapmak için herhangi bir derleyiciye ihtiyaç yoktur. Herhangi bir dil öğrenilmeden bile T-SQL kullanarak amaca uygun projeler geliştirmek mümkündür.
T-SQL ile geçmiş haftalarda öğrendiğiniz bütün SQL komutlarını kullanabilirsiniz. Bunların yanında SQL Server içerisinde bulunmayan döngü v.b. işlemlerde T-SQL aracılığı ile yapılabilmektedir.
Değişken Türleri
Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. Değişkene atanan her yeni değer eskini siler.
Bilindiği gibi değişkenler, verilerin bellekte geçici olarak tutulmalarını ve gerektiğinde kullanılmasını sağlayan yapılardır.
T-SQL, diğer programlama dillerinde olduğu gibi değişken tanımlamaya olanak sağlamaktadır.
T-SQL’de tanımlanan değişken diğer programlama dillerinde olduğu gibi herhangi bir veri tipi ile sınırlandırılmıştır ve oluşturulmasının ardından bellekte belli bir yer kaplamaktadır. Ayrıca üzerine veri yazılmasına izin vermekte ve daha sonrada program içerisinden çağrılabilmektedir.
Global değişkenler SQL Server üzerinde birçok işlem hakkında bilgi veren ifadeleri kapsamaktadırlar.
SQL server’da değişkenler ikiye ayrılmaktadır:
Yerel değişkenler
Global değişkenler
Yerel değişkenler, önlerine @ işareti alarak tanımlanırlar.
Örneğin; @Deger
Global değişkenler ise önlerine @@ işareti alırlar. Fakat bu değişkenler SQL Server tarafından tanımlanmıştır ve kullanıcılar tarafından tanımlanamazlar.
Örneğin; @@CONNECTION
Değişken Tanımlama Kuralları
Değişken tanımlamaları yapılırken her dilde olduğu gibi T-SQL’de de uyulması gereken kurallar vardır. Bu kurallar şunlardır:
Değişkenler _ (altçizgi) ve harf ile başlamalıdır.
Boşluk karakteri veya Türkçe karakterler kullanılmamalıdır.
Değişkenler SQL Server için özel anlamı olan ifadeler ile başlamamalıdır. (örneğin @, @@, #, $ gibi)
SQL komutları değişkenlere isim olarak verilmemelidir.
Örneğin INSERT, UPDATE v.b.
SQL ifadeleri genellikle büyük harfle yazılır fakat küçük harfle de yazılabilir.
Nesne isimleri kısa ve anlaşılır olmalıdır.
Tablolara isim verilirken daha kısa ve anlamlı isimler tercih edilmelidir.
Örneğin TabloUrun yerine tblUrun tercih edilebilir.
Tablolardaki NULL ifadesi hiçbir şey girilmemiş anlamına gelmektedir. Klavyeden SPACE tuşuna basılarak bırakılan boşluk ifadesi ile aynı anlamda değildir.
NULL ifadesi daha önceden değeri bilinmeyen ve bu nedenle boş bırakılan ifadeler için tercih edilmelidir.
T-SQL’de bir değişken tanımlamak için DECLARE komutu kullanılmaktadır.
DECLARE komutunun genel biçimi aşağıdaki gibidir.
DECLARE @Degiskenin_Adi Veri_Tipi
Örnekler:
DECLARE @Adi varchar (20)
DECLARE @Numarasi int
DECLARE @Tarih smalldatetime
T-SQL de araya virgül koyarak birden fazla değişken tanımlamak mümkündür. Böyle bir durumda sadece tek bir DECLARE komutu kullanılmış olmaktadır.
Örnek:
DECLARE @Adi varchar (20), @Numarasi int, @Tarih smalldatetime
Değişkenlere Değer Atama
T-SQL’de değişkenlere değer atamanın 2 yolu vardır:
SET komutu ile değer atama,
SELECT komutu ile değer atama.
Bu iki kullanıma ait örnekler ve genel kullanımları sonraki slaytlarda verilmiştir.
SET komut kullanılarak değer atamanın genel ifadesi aşağıdaki gibidir:
SET @degiskenin_adi = atanan_deger
Örnekler:
SET @Adi = 'Murat'
SET @Numarasi = 110403007
SET @Tarih = '30.11.2011'
SELECT komutu ile de değişkenlere değer atanabilmektedir. Eğer tek başına değişken ile kullanılırsa değişkenin içerisindeki değerin ekrana görüntülenmesini de sağlamaktadır.
Örnek:
DECLARE @Adi varchar (20)
SELECT @Adi = 'Mehmet'
Böyle bir kullanımda değişkene değer atanabilir fakat ekranda gösterilmemektedir.
SELECT dışında ekrana bilgileri yazmaya yarayan bir diğer T-SQL komutu da PRINT komutudur. PRINT komutu, değişkenlerin değerlerini, ortaya çıkan hataları vb. durumları ekrana yazdırmak için kullanılmaktadır.
16 Ocak 2017 Pazartesi
WHILE Döngüsü
Döngüler bir işlemde tekrar gerektiren durumlarda kullanılmaktadır. Döngüler belirlenen şart sağlanıncaya kadar işlemin yapılmasını sağlamaktadır. Diğer dillerde olduğu gibi T-SQL içerisinde de tekrarlı işlemler için bir döngü mevcuttur.
Bu döngünün genel yapısı aşağıdaki gibidir.
WHILE Şart
BEGIN
Tekrar gerektiren kodlar
………
END
Örnek1: Basit bir döngü yazarak 10’a kadar sayı saydıralım.
Yazılım Sektörü İçin Özelleştirilmiş İş Arama Platformu
Yazılım, donanım, ağ ve internet teknolojilerindeki son gelişmeler, Türkiye ve Avrupa’da bilişim alanında binlerce yeni firmanın doğmasına neden olmuştur. ABD İşgücü İstatistik Dairesi’ne göre 2012 ile 2022 arasında bu alanlarda yüzde 22,8’lik bir büyüme olması beklemektedir. Bu büyüme ile Türkiye’de ve Avrupa’da istihdam açıkları oluşacaktır. Buna paralel olarak üniversitelerdeki bilgisayar bilimleri, bilgisayar /yazılım mühendisliği ve bilgisayar programcılığı gibi programların hem sayıları artacak hem de müfredatları yeni ihtiyaçlara göre revize edilecektir. Türkiye’de her ne kadar Bologna Süreci kapsamında eğitimde standardizasyona gidilmeye çalışılsa da her üniversitede verilen eğitim farklılık gösterebilmekte ve mezun olan öğrenciler farklı bilgi ve beceri edinmektedirler.
Öğrenciler eksik olan ya da yeterli olmayan durumlarda kolay, hızlı ve istediği an eğitim alabilecek kurslara ihtiyaç duymaktadır. Özellikle büyük şehirlerde veya şehir merkezinde yaşamayan öğrencilerin ihtiyaç duydukları eğitime ulaşma imkânları son derece zor ve maliyetlidir. Teknolojinin hızla geliştiği çağımızda ve yaşam boyu Öğrenme kavramı kapsamında oluşturulacak bu platform sayesinde, gerekli bilgiler çevrimiçi ortamda paylaşılacak ve böylece daha fazla bireye ulaşma imkânı elde edilecektir.
Projenin amacı temel olarak üniversitelerin bilişim bölümünden mezun ve mezun adayları ile işverenleri bir araya getirmektir. İşverenlerin ilan verebileceği, iş arayan yazılımcıların kendine özgü yeteneklerini temel alarak iş arayabilecekleri, işverenlerin talep ettiği niteliklere uygun olmayan adayların kendini geliştirebileceği ve uzaktan eğitim alarak sınava girebileceği ve sertifika edinebileceği, özgün aday eşleştirme algoritmalarına sahip bir platform oluşturmaktır.
Hazırlayanlar: Yalçın ŞAHİN, Furkan KOLCU
Görme Engelliler için Sesli Haber Okuma Sistemi
Görme engelli insanların, günlük
hayatlarında çalışma imkânlarından ve sosyal haklardan yararlanabilmesi için
haber sitelerine kolay bir şekilde erişmeye ihtiyaçları vardır. Şu anki durumda
ülkemizde yaşayan görme engellilerin kullanabileceği yurt dışında geliştirilmiş
farklı özelliklere sahip çeşitli yazılımlar bulunmaktadır. Yeni gelişen mobil
teknolojinin imkanları sayesinde geliştirilen yazılım ile görme engelli insanların ulusal haber web
sitelerine kolay ve hızlı bir arayüz ile girip istedikleri metin haberlerini
rahat ve kolayca dinleyebilecekleri metni ses çeviren sesli oku isimli bir
yazılım geliştirilmiştir. Böyle bir uygulama ile görme engelli insanların;
sesli okumalar yardımıyla haber sitelerindeki bilgilere rahatca erişebilmeleri
sağlanmıştır. Bu çalışmada ayrıca bilişim teknolojilerinin görme engelli
insanlar için kullanılabilirliği sorgulanmıştır. Alan taraması yapılarak bu
konudaki ulusal ve uluslararası çalışmalar incelenip geliştirilen yazılım ile birlikte
anlatılarak önerilerde bulunulmuştur.
Proje Başarısı: BAP (Bilimsel Araştırma Projeleri) başvursu, 1 adet uluslararası bildiri kabülü.
Hazırlayanlar: Selçuk AKŞAR, Abdulmelik KALKAN
AKBS (Acil Konum Bildiri Sistemi)
Global Positioning System; Dünya
üzerinde engelsiz bir görüş hattında, dört veya daha fazla uydusu ile her türlü
hava koşulunda küresel olarak yer ve zaman bilgileri sağlayan uzay tabanlı bir
navigasyon sistemidir. Düzenli olarak kodlanmış bilgi yollayan bir uydu ağıdır.
GPS sistemini kullanan kişinin dünya üzerindeki yeri, uydularla arasındaki
mesafe ölçülerek kesin olarak tespit edilebilmektedir. Geliştirilen Acil Konum
Bildirim Sistemi, GPS teknolojisini mobil telefonlarda kullanarak, kişilerin
acil çağrı numaralarını aradıklarında yaşadıkları sorunları azaltmayı hedeflemektedir. Günümüzde mevcut acil çağrı sistemlerine, on binlerce
asılsız ya da yanlış çağrılar yapılmaktadır. Gereksiz ya da hatalı çağrılar
telefon hatlarında yoğunluğa ve acil servis numaralarına ulaşmakta dakikalarca
beklemeye yol açmaktadır. Bu sistemlerde ayrıca,
kullanıcıların adresi doğru tarif edememesi, tarif ederken zaman kaybı yaşaması
ve zaman kaybından dolayı ölümlerin ve maddi kayıpların gerçekleşmesi gibi
büyük sıkıntılar da bulunmaktadır. Bu ve bu gibi sıkıntıların giderilmesi
ve ayrıca acil durum yaşanan konuma intikal eden araçların olay yeri adresini
bulamaması gibi sorunların da ortadan kalkması için Acil Konum Bildirim Sistemi
geliştirilmiştir.Proje Başarısı: 2016 yılı Tübitak Lisans Bitirme Yarışması Finalistti , 1 Adet Uluşlararası Bildiri Başvuru Kabülü.
Hazırlayanlar: Oğuzhan YILMAZ, Serhat ÖZKAHYA, Emrah ÖZBAYSAR
Otopark Bul
Otopark Bul uygulaması, geçmişten günümüze hiç azalmayan, artarak devam eden trafik ve park yeri sorununa çözüm olması adına düşünülmüş, tasarlanmış ve geliştirilmeye başlanmış mobil tabanlı bir uygulamadır. Otopark Bul uygulaması öncelikli olarak park sorunu yaşanması muhtemel bölgelere çözüm bulmayı ve insanların daha önce hiç gitmediği bölgelerde araçlarını güvenle park edebilmesini amaçlamıştır. Böylece ilk adımda trafik sorununa çözüm ortağı olunması sağlanmış ikinci adımda ise zamanın çok değerli olduğu günümüz yaşam standartında insanların park yeri için herhangi bir zaman kaybı yaşamamasını sağlamıştır.
Otopark Bul uygulaması ile araç sahipleri çevrelerindeki otoparkların konumlarını, boş – dolu oranını , fiyatlandırmalarını, seyir edecekleri yoldaki trafik durumlarını, otoparklar ile ilgili diğer kullanıcıların yorumlarını görebilecek, daha şeffaf bilgiler ile park yeri seçebilme imkanı bulabileceklerdir.. Otopark Bul uygulama tasarımı , kullanıcıların seyahat halinde iken rahat kullanımını gözeterek ‘Tek El ile Kullanım’ trendine ayak uydurmuştur. Uygulama kompleks bir yapıdan ayrılmıştır , temel seviye erişimleri ile kullanılabilirlik esaslarına dayandırılmıştır. Otopark Bul uygulaması, ana amacı dışında trafik sorununa çözüm üretebilmeyi hedefleyen ve bu konuda başarı sağlamayı öngören bir uygulama olma yolunda ilerlemektedir.
Peki böyle bir uygulamaya otoparklar nasıl ekleniyor? Otopark Bul uygulaması web sitesi üzerinden yalnızca otopark sahipleri ile sisteme otopark eklenebilir. Böylece dünyanın her bölgesinde aktif olarak gelişebilen bir uygulama olabilmesi hedeflenmiştir. Ayrıca otoparkların spesifik özellikleri doğru bir şekilde kullanıcılara lanse edilir.
Otopark Bul uygulaması, ilerleyen süreçte yalnızca otomobiller için değil; bisiklet parkları, motosiklet parkları, oto yıkamalar, araç servisleri gibi geniş bir yelpazede kullanıcı memnuniyeti gözetilerek geliştirilecektir.
OTOPARK BUL UYGULAMA GÖRÜNTÜLERİ ( UYGULAMA DA KULLANILAN VERİLER TEST VERİLERİNDEN OLUŞMAKTADIR. HERHANGİ BİR GERÇEK VERİ BARINDIRILMAMAKTADIR. )
Hazırlayanlar: Kubilay Tural, Görkem İşler
ANDROİD TABANLI SAĞLIK UYGULAMASI
Egzersiz yapmakta zorlanan, spor salonuna gidemeyen ya da ne yapacağı konusunda fikir sahibi olmayan kişiler için spor yapmanın en kolay yolu yürümektir. Düzenli bir şekilde yürüyüş yapmanın kalp rahatsızlığı, damar tıkanıklığı gibi hastalıklara iyi geldiği bilinmektedir. Ayrıca günlük yapılan yürüyüşler kilo kaybı ve daha zinde bir vücut da sağlayabilir. Uzmanlar düzenli, tempolu yürüyüşün hastalıklardan koruduğu, günde ortalama 10 bin ile 15 bin adım atmanın insan sağlığına faydalı olduğu görüşündeler. Bu düşüncelerden yola çıkılarak android tabanlı sağlık uygulaması olan Fitness Club geliştirildi. Fitness Club, kullanıcıların, android işletim sistemine sahip akıllı telefonlarından rahatça girebilecekleri, kullanımı kolay bir sağlık uygulamasıdır. Fitness Club’da kullanıcılar GPS teknolojisi ile konumlarını bulabilir, yürüdükleri mesafeleri görebilir, boy ve kilo değerlerini girerek vücut kitle indeksini, ideal kilosunu, toplam vücut suyunu, vücut yüzey alanını, yağsız vücut ağırlığını, vücut kitle indeks sınıfını ve varsa fazla kilo miktarını, buna bağlı olarak da harcamaları gereken kalori değerlerini hesaplayabilmektedir. Ayrıca akıllı telefonlarda yer alan hareket sensörü yardımıyla kişilerin attığı adımlar sayılır, adım sayısına göre yakmış oldukları kalori miktarı hesaplanır ve hedef kaloriye ulaşılıp ulaşılmadığı hakkında bilgi verilir. Kullanıcıların gün boyu yapmış oldukları aktiviteler kayıt altına alınır, istendiğinde haftalık ve aylık raporlar görsel bir şekilde kullanıcıya sunulur. Fitness Club sayesinde sporun daha eğlenceli bir hale getirilmesi ve aktivitelerin disipline edilmesi amaçlanmıştır.Projeyi Hazırlayanlar: Sema BAYRİ, Tuğba ÇIRDAKLI
DELETE
Kayıt Silme
Bir tabloda bulunan bir yada daha fazla satır silinebilmektedir. Silme işlemi için DELETE deyimi kullanılmaktadır. Bu deyimin genel yapısı şu şekildedir.
DELETE FROM tablo_adı
WHERE koşul
Bir tabloda bütün kayıtlar silinebileceği gibi belli bir şartı sağlayan herhangi bir kayıtta silinebilmektedir. Örneğin daha önce oluşturduğumuz «secilenmüsteri» tablosunun tüm kayıtlarını silmek için şöyle bir SQL ifadesi yazılacaktır.
DELETE FROM secilenMüsteri
Herhangi bir koşul olmadığı için bütün kayıtlar silinecektir.
Şimdi de belli bir şarta sahip kayıtları silmek için bir örnek verelim. Müşteriler tablosunda “Ali Arslan” isimli müşteri ile artık çalışmadığımızı düşünerek bu müşteriyi tamamen silelim. SQL ifademiz şöyle olacaktır.
DELETE FROM musteriler
WHERE (adi='Ali' AND soyadi='Arslan')
Aynı şekilde bir tabloda istenilen şartı sağlayan birden fazla kayıtta silinebilmektedir. Örneğin Müşteriler tablosunda Ankara ‘da oturan bütün müşterileri silmek istersek SQL ifademiz aşağıdaki gibi olacaktır.
DELETE FROM musteriler
WHERE il ='Ankara'
DELETE komutunda da tıpkı INSERT INTO ve UPDATE komutlarında olduğu gibi alt sorgular kullanılarak da kayıtlar silinebilmektedir. Bu noktada yine SELECT ifadesinden yararlanılmaktadır.
Örneğin; personel tablosunda İMALAT bölümüne ait bütün kayıtları silmek istiyoruz. Bu işlemi gerçekleştiren SQL ifadesi şöyle olacaktır:
DELETE FROM personel
WHERE bolumID = (SELECT bolumID
FROM bolum
WHERE bolumAdi = 'İMALAT')
Bir tabloda bulunan bir yada daha fazla satır silinebilmektedir. Silme işlemi için DELETE deyimi kullanılmaktadır. Bu deyimin genel yapısı şu şekildedir.
DELETE FROM tablo_adı
WHERE koşul
Bir tabloda bütün kayıtlar silinebileceği gibi belli bir şartı sağlayan herhangi bir kayıtta silinebilmektedir. Örneğin daha önce oluşturduğumuz «secilenmüsteri» tablosunun tüm kayıtlarını silmek için şöyle bir SQL ifadesi yazılacaktır.
DELETE FROM secilenMüsteri
Herhangi bir koşul olmadığı için bütün kayıtlar silinecektir.
Şimdi de belli bir şarta sahip kayıtları silmek için bir örnek verelim. Müşteriler tablosunda “Ali Arslan” isimli müşteri ile artık çalışmadığımızı düşünerek bu müşteriyi tamamen silelim. SQL ifademiz şöyle olacaktır.
DELETE FROM musteriler
WHERE (adi='Ali' AND soyadi='Arslan')
Aynı şekilde bir tabloda istenilen şartı sağlayan birden fazla kayıtta silinebilmektedir. Örneğin Müşteriler tablosunda Ankara ‘da oturan bütün müşterileri silmek istersek SQL ifademiz aşağıdaki gibi olacaktır.
DELETE FROM musteriler
WHERE il ='Ankara'
DELETE komutunda da tıpkı INSERT INTO ve UPDATE komutlarında olduğu gibi alt sorgular kullanılarak da kayıtlar silinebilmektedir. Bu noktada yine SELECT ifadesinden yararlanılmaktadır.
Örneğin; personel tablosunda İMALAT bölümüne ait bütün kayıtları silmek istiyoruz. Bu işlemi gerçekleştiren SQL ifadesi şöyle olacaktır:
DELETE FROM personel
WHERE bolumID = (SELECT bolumID
FROM bolum
WHERE bolumAdi = 'İMALAT')
UPDATE
Kayıt Güncelleme
Bir tabloya eklenen bilgiler gerektiğinde değiştirilebilmelidir. Bu amaçla UPDATE komutu kullanılmaktadır. UPDATE komutunun genel kullanıl biçimi şöyledir.
UPDATE tablo_adı
SET sütun1=değer1, sütun2=değer2, …
[WHERE koşul]
Bu tanımda kullanılan WHERE deyimi değişikliğin hangi kayıt üzerinde yapılacağının bulunmasına yardımcı olmaktadır. Bu tanım yapılmadığında söz konusu tablonun tüm satırlarında değişiklikler meydana gelecektir.
Bahçe işleri veritabanında müşteriler tablosunda isim bilgisi “Ali Arslan” olan kişinin Ankara’dan İstanbul Üsküdar’a iş yerini taşıdığını düşünerek gerekli değişiklikleri yapmak için aşağıdaki SQL sorgusunu yazmak gerekir.
UPDATE musteriler
SET il='İstanbul', ilce = 'Üsküdar'
WHERE (adi='Ali' AND soyadi='Arslan')
UPDATE komutu ile matematiksel işlemler de gerçekleştirilebilmektedir. Tüm personelin ücretine %20 zam yapılacağını düşünerek tablo üzerinde değişiklikleri gerçekleştiren SQL ifadesi aşağıdaki gibi olacaktır.
UPDATE personel SET ucret = ucret*1.20
Bu komut çalıştırıldığında bütün kayıtlar bu değişiklikten etkilenecektir. Çünkü herhangi bir koşula bağlı bir işlem gerçekleştirilmemiştir.
UPDATE işlemi tıpkı INSERT INTO deyiminde olduğu gibi alt sorgularla da çalışabilmektedir. Yani bilgi güncelleştirme işlemi bir tablodan okunan bilgilerin güncellenerek başka bir tabloya eklenmesi ile de gerçekleşebilmektedir.
Yine burada alt sorgular yazılırken SELECT deyiminden faydalanılmaktadır.
UPDATE komutunda alt sorgulara şöyle bir örnek verebiliriz. BolumID’si 200 olan personel ile aynı göreve sahip tüm personelin bolumID’sini 100 olarak değiştirmek istersek şöyle bir SQL ifadesi yazabiliriz.
UPDATE personel SET bolumID = 100
WHERE gorevi = (SELECT gorevi
FROM personel
WHERE bolumID=200)
UPDATE personel SET bolumID = 100
WHERE gorevi = (SELECT gorevi
FROM personel
WHERE bolumID=200)
Bu sorguda öncelikle alt sorguda bolumID’si 200 olan personelin görevinin ne olduğu tespit edilmektedir. Daha sonra tespit edilen bu görevle aynı görevi icra eden personel kayıtlarında bolumID’leri 100 olarak değiştirilmektedir.
INSERT INTO
Tabloya Kayıt Ekleme
Bir tabloya kayıt eklemek için INSERT INTO deyimi kullanılmaktadır. Bazı durumlarda SQL ifadeleri kullanarak bir tabloya kayıt eklemek durumunda kalabilirsiniz. Bu gibi durumlarda bu deyimi kullanmak yerinde olacaktır. Bu deyimin genel kullanım biçimi şöyledir.
INSERT INTO tablo_adı (sütunlar) VALUES (değerler)
Burada, tablo_adı; verilerin kaydedileceği tablonun adıdır.
Sütunlar, tablo içinde verilerin kaydedileceği alanlardır.
Değerler ise tabloya kaydedilecek olan verileri göstermektedir.
Bu SQL deyimi her çalıştırıldığında tabloya yeni bir kayıt eklenecektir.
Örnek için yine bahçe işleri veritabanında "kategoriler" tablosuna çeşitli kayıtlar ekleyelim. Bunun için SQL ifademiz şöyle olacaktır:
INSERT INTO kategoriler (kategoriID, kategoriAdi)
VALUES (5, 'Bahçe Çiçekleri')
INSERT INTO kategoriler (kategoriID, kategoriAdi)
VALUES (5, 'Bahçe Çiçekleri')
Sorgusunda eğer tablodaki bütün alanlara kayıt yapılacaksa sütun adlarını kullanmadan da kayıt ekleme işlemi yapılabilmektedir.
INSERT INTO kategoriler
VALUES (5, 'Bahçe Çiçekleri')
INSERT INTO deyimi ile çeşitli fonksiyonları da kullanmak mümkündür. Bir tarih bilgisi eklenmek istenildiğinde bunu doğrudan elle değil de bir fonksiyon aracılığı ile gerçekleştirebilirsiniz.
Örneğin, “siparisler” tablosunu göz önüne alalım. Bir sipariş verildiğinde bu siparişin verilme tarihini sistemden alarak tabloya kaydedelim.
INSERT INTO siparisler (siparisID, müsteriID, calısanID, siparisTarihi) VALUES (16, 7, 4, GETDATE())
Dikkat edilecek olursa sipariş tarihi bilgisi eklenmek istenildiğinde bu tarih bilgisi GETDATE ( ) fonksiyonu kullanılarak sistemden otomatik olarak alınmaktadır.
Alınan bu sistem bilgisi, siparisTarihi niteliğinin giriş değeri olmaktadır. Sorgu çalıştırıldığında ilgili kaydın eklendiği görülür.
INSERT INTO deyimi ile bir tabloya başka bir tablodan belirlenen bir satır bilgi eklenebilmektedir. Yani INSERT INTO deyimi ile birlikte alt sorgularda kullanılabilmektedir.
Alt sorgulama işlemleri için SELECT ifadesi kullanılmaktadır. Böyle bir alt sorgulama kullanılacağı zaman VALUES sözcüğü kullanılmaz.
Soru: Müşteriler tablosunda ilçesi ‘Çankaya’ olan müşterilerin musteriID, adi ve soyadi bilgilerini «secilenMüsteri» tablosuna kaydeden SQL ifadesi nedir?
Soruya dikkat edilirse soru iki bölümden oluşmaktadır. İlçesi Çankaya olanlar bulunacak ve ikinci olarak «secilenMusteri» tablosuna kayıt edilecek. Bu işlemler için SQL ifademiz şöyle olacaktır:
INSERT INTO secilenMusteri (musteriID, adi, soyadi)
SELECT musteriID, adi, soyadi
FROM musteriler
WHERE ilce ='Çankaya'
Bir tabloya kayıt eklemek için INSERT INTO deyimi kullanılmaktadır. Bazı durumlarda SQL ifadeleri kullanarak bir tabloya kayıt eklemek durumunda kalabilirsiniz. Bu gibi durumlarda bu deyimi kullanmak yerinde olacaktır. Bu deyimin genel kullanım biçimi şöyledir.
INSERT INTO tablo_adı (sütunlar) VALUES (değerler)
Burada, tablo_adı; verilerin kaydedileceği tablonun adıdır.
Sütunlar, tablo içinde verilerin kaydedileceği alanlardır.
Değerler ise tabloya kaydedilecek olan verileri göstermektedir.
Bu SQL deyimi her çalıştırıldığında tabloya yeni bir kayıt eklenecektir.
Örnek için yine bahçe işleri veritabanında "kategoriler" tablosuna çeşitli kayıtlar ekleyelim. Bunun için SQL ifademiz şöyle olacaktır:
INSERT INTO kategoriler (kategoriID, kategoriAdi)
VALUES (5, 'Bahçe Çiçekleri')
INSERT INTO kategoriler (kategoriID, kategoriAdi)
VALUES (5, 'Bahçe Çiçekleri')
Sorgusunda eğer tablodaki bütün alanlara kayıt yapılacaksa sütun adlarını kullanmadan da kayıt ekleme işlemi yapılabilmektedir.
INSERT INTO kategoriler
VALUES (5, 'Bahçe Çiçekleri')
INSERT INTO deyimi ile çeşitli fonksiyonları da kullanmak mümkündür. Bir tarih bilgisi eklenmek istenildiğinde bunu doğrudan elle değil de bir fonksiyon aracılığı ile gerçekleştirebilirsiniz.
Örneğin, “siparisler” tablosunu göz önüne alalım. Bir sipariş verildiğinde bu siparişin verilme tarihini sistemden alarak tabloya kaydedelim.
INSERT INTO siparisler (siparisID, müsteriID, calısanID, siparisTarihi) VALUES (16, 7, 4, GETDATE())
Dikkat edilecek olursa sipariş tarihi bilgisi eklenmek istenildiğinde bu tarih bilgisi GETDATE ( ) fonksiyonu kullanılarak sistemden otomatik olarak alınmaktadır.
Alınan bu sistem bilgisi, siparisTarihi niteliğinin giriş değeri olmaktadır. Sorgu çalıştırıldığında ilgili kaydın eklendiği görülür.
INSERT INTO deyimi ile bir tabloya başka bir tablodan belirlenen bir satır bilgi eklenebilmektedir. Yani INSERT INTO deyimi ile birlikte alt sorgularda kullanılabilmektedir.
Alt sorgulama işlemleri için SELECT ifadesi kullanılmaktadır. Böyle bir alt sorgulama kullanılacağı zaman VALUES sözcüğü kullanılmaz.
Soru: Müşteriler tablosunda ilçesi ‘Çankaya’ olan müşterilerin musteriID, adi ve soyadi bilgilerini «secilenMüsteri» tablosuna kaydeden SQL ifadesi nedir?
Soruya dikkat edilirse soru iki bölümden oluşmaktadır. İlçesi Çankaya olanlar bulunacak ve ikinci olarak «secilenMusteri» tablosuna kayıt edilecek. Bu işlemler için SQL ifademiz şöyle olacaktır:
INSERT INTO secilenMusteri (musteriID, adi, soyadi)
SELECT musteriID, adi, soyadi
FROM musteriler
WHERE ilce ='Çankaya'
HAVING
Belli bir guruba yönelik sorgular yazılırken gruplandırarak kümeleme fonksiyonlarından yaralanılır.
HAVING deyimi sorguda bir koşul belirtilmesi gerekirse kullanılmaktadır. Daha önceki slayttan hatırlayacağınız gibi gruplandırma işlemini gerçekleştirmek için GROUP BY fonksiyonunu kullanmıştık.
GROUP BY fonksiyonunda bir koşula ihtiyaç var ise HAVING deyimi kullanılmaktadır.
HAVING deyiminin genel kullanım biçimi aşağıdaki gibidir.
SELECT Alan_Adları
FROM Tablo/Tablolar
[WHERE Şart/Şartlar]
[GROUP BY Sütunlar]
[HAVING Grup_Kısıtlaması]
HAVING deyimi, GROUP BY fonksiyonu olmadan kullanılamaz.
HAVING deyiminin ardından SUM, COUNT, MAX, MIN ve AVG gibi fonksiyonlar gelmelidir. Çünkü HAVING deyimi sadece gruplanmış veriler üzerindeki işlemlerde geçerlidir.
WHERE komutu ise, tablonun tek satırı üzerinde işlem yapıldığında kullanılabilmektedir. Bazı durumlarda bir SQL sorgusunda WHERE ve HAVING deyimleri birlikte kullanılabilmektedir.
HAVING deyiminin kullanımına bir örnek verelim.
Sipariş detayları tablosunda 1 den fazla sipariş edilen ürünlerin, ürün numaraları ve sayısını gösteren SQL ifadesi şöyle olacaktır:
SELECT urunID, COUNT (*) AS 'Sipariş Sayısı'
FROM siparisDetay
GROUP BY urunID
HAVING COUNT(*) > 1
Bu sorgu, öncelikle siparisDetay tablosunun urunID’lerine göre gruplandırır. Daha sonra gruplamış olduğu bu urunID’lerini COUNT(*) fonksiyonunu kullanarak sayar. Eğer 1’den büyük ise 'urunID' ve verilen sipariş sayısını kullanıcıya gösterir.
Başka bir örnek verelim. Bu örneğimizde birden fazla tablo kullanılacaktır.
Toplam sipariş tutarı 100 TL’ nin üzerinde olan müşterilerin vermiş oldukları toplam sipariş sayısını, müşteri numaralarını ve toplam sipariş tutarlarını görüntüleyen SQL ifadesi şöyle olacaktır:
SELECT musteriID, COUNT (*) AS 'Toplam Sipariş Sayısı',
SUM (siparisDetay.birimFiyat*siparisDetay.miktar)
AS 'Toplam Sipariş Tutarı'
FROM siparisler INNER JOIN siparisDetay
ON siparisler.siparisID = siparisDetay.siparisID
GROUP BY siparisler.musteriID
HAVING SUM (siparisDetay.birimFiyat*siparisDetay.miktar) > 100
Ortalama sipariş tutarı 50 TL nin üzerinde olan tüm müşterilerin vermiş oldukları toplam sipariş sayısı, toplam sipariş tutarı ve ortalama sipariş tutarını gösteren SQL ifadesi şöyle olacaktır.
SELECT musteriID, COUNT(*) AS 'Toplam Sipariş Sayısı',
SUM (siparisDetay.birimFiyat*siparisDetay.miktar)
AS 'Toplam Sipariş Tutarı',
AVG (siparisDetay.birimFiyat*siparisDetay.miktar)
AS 'Ortalama Sipariş Tutarı'
FROM siparisler INNER JOIN siparisDetay ON
siparisler.siparisID = siparisDetay.siparisID
GROUP BY siparisler.musteriID
HAVING AVG (siparisDetay.birimFiyat*siparisDetay.miktar) > 50
NOT: Bu sorgular yazılırken satici veritabanında Siparişler ve Sipariş Detayları tablolarını kullanınız.
Bu sorguda “siparisler” ve “siparişDetay” tabloları birleştirilerek, müsteriID’lerine göre gruplanmıştır. Daha sonra HAVING kısmında AVG ile ortalama sipariş tutarları hesaplanarak 50 TL den büyük ise listelenmesi sağlanmıştır.
HAVING ve diğer gruplama fonksiyonlarının kullanımına dikkat etmek gerekir. Grup koşulları WHERE ifadesi ile birlikte kullanılamazlar.
Örneğin bir bölüm bazında yapılacak olan bir işlemde bölümdeki personelin ücret ortalaması 1000 TL den büyük olanları listelemek istersek aşağıdaki kullanım yanlış olacaktır.
SELECT bolumNo, AVG(ucret)
FROM personel
WHERE AVG(ucret) > 1000
GROUP BY bolumNo
Bu SQL cümlesi istenildiği gibi çalışmayacaktır. Çünkü grup koşulları WHERE ifadesi ile birlikte çalışmazlar. Bunun doğru kullanımı şöyle olacaktır.
SELECT bolumNo, AVG(ucret)
FROM personel
GROUP BY bolumNo
HAVING AVG(ucret) > 1000
Gruplandırma Fonksiyonları
Bazı durumlarda belli bir koşula sahip bilgileri sorgulamak için SQL ifadeleri kullanılabilir. Bu gibi durumlarda gruplama fonksiyonlarından yararlanılmaktadır.
Örneğin bir ürünü, ürün kategorilerine göre gruplayıp ardından bu gruplar içerisinde sorgu yapmak isteyebiliriz. Bu işlemi gerçekleştirmek için GROUP BY fonksiyonu kullanılmaktadır.
GROUP BY fonksiyonu belli bir alana göre gruplama işlemi yapmak için kullanılmaktadır. Genel kullanımı şu şekildedir.
SELECT Alanlar
FROM Tablo_Adı
WHERE Şart_İfadeleri
GROUP BY Sütun/Sütunlar
Bu fonksiyonun kullanımına örnek verelim.
"siparisler" tablosunu göz önüne alarak her bir nakliye firmasının kaç kere nakliye yaptığını bulmak için SQL ifademiz şöyle olacaktır:
SELECT nakliyeciFirmaID, COUNT (*) AS 'Nakliye Sayısı'
FROM siparisler
GROUP BY nakliyeciFirmaID
Örneğin bir ürünü, ürün kategorilerine göre gruplayıp ardından bu gruplar içerisinde sorgu yapmak isteyebiliriz. Bu işlemi gerçekleştirmek için GROUP BY fonksiyonu kullanılmaktadır.
GROUP BY fonksiyonu belli bir alana göre gruplama işlemi yapmak için kullanılmaktadır. Genel kullanımı şu şekildedir.
SELECT Alanlar
FROM Tablo_Adı
WHERE Şart_İfadeleri
GROUP BY Sütun/Sütunlar
Bu fonksiyonun kullanımına örnek verelim.
"siparisler" tablosunu göz önüne alarak her bir nakliye firmasının kaç kere nakliye yaptığını bulmak için SQL ifademiz şöyle olacaktır:
SELECT nakliyeciFirmaID, COUNT (*) AS 'Nakliye Sayısı'
FROM siparisler
GROUP BY nakliyeciFirmaID
JOIN Komutu
Şu ana kadar anlatmış olduğumuz sorgular sadece tek tablo kullanılarak gerçekleştirildi. Bazı durumlarda tek bir tablo ile çalışmak yeterli olmayacaktır.
Böyle bir durumda birleştirme/eşleştirme adını verdiğimiz bir yapı kullanılmak zorundadır. Bu işlemin gerçekleştirilmesi için JOIN komutu kullanılmaktadır.
JOIN işlemini anlatmak için "kategoriler" ve "urunler" tablolarını göz önüne alalım. Bu tablolarda yer alan kayıtlar aşağıda görüldüğü şekildedir.
Dikkat edilirse, "kategoriler" tablosunda ilgili ürünün bir kategori numarası ve ait olduğu kategori adı bulunmaktadır.
Bir ürüne ilişkin detaylar bu tabloda verilmemiş olup, gerekli diğer detaylar "urunler" tablosunda verilmiştir. Bu iki tablo birbirlerine 'kategoriID' ile bağlıdır.
Şimdi bu iki tabloyu kullanarak iki tablo arasındaki bağlantıyı da gösteren SQL ifadesini şöyle yazabiliriz.
SELECT K.kategoriID, K.kategoriAdi, U.urunAd
FROM kategoriler K, urunler U
WHERE K.kategoriID = U.kategoriID
SELECT K.kategoriID, K.kategoriAdi,U.urunAd
FROM kategoriler K, urunler U
WHERE K.kategoriID = U.kategoriID
Bu SQL cümlesinde tablolara bir takma ad verilmiştir.
Buradaki “WHERE K.kategoriID = U.kategoriID” cümlesi ile bir birleştirme işlemi gerçekleştirilmiştir. Yani "kategoriler" tablosundaki 'kategoriID' ile "urunler" tablosundaki 'kategoriID' eşit ise kayıtlar listelenecektir.
SELECT K.kategoriID, K.kategoriAdi, U.urunAd
FROM kategoriler K, urunler U
WHERE K.kategoriID = U.kategoriID
Bu işlemi INNER JOIN komutu ile gerçekleştirmek istersek SQL cümlemiz aşağıdaki gibi olacaktır.
SELECT urunAd, kategoriAdi
FROM kategoriler
INNER JOIN urunler
ON kategoriler.kategoriID = urunler.kategoriID
Burada INNER JOIN ifadesi her iki tabloda da ortak olan değerlere bakarak eşit olanları ekrana listeleyecektir.
INNER JOIN işlemi her türlü FROM yan cümlesi ile kullanılabilir. En sık kullanılan birleştirme türüdür.
Her iki tabloda eşleşen değerler var ise birleştirme işlemi gerçekleştirilir ve kayıtlar ekrana listelenir.
INNER JOIN işlemini daha iyi anlatabilmek için daha karmaşık bir örnek yapalım. Aşağıdaki ilişkiyi göz önüne alalım.
Dikkat edilirse, birden fazla tablo birbirlerine farklı anahtarlar kullanılarak bağlanmış durumdadırlar. INNER JOIN komutu bu tablolarda ortak olan değerler kullanılarak birleştirme işlemini çok kolay bir şekilde yerine getirmektedir.
Bu dört tablonun INNER JOIN komutu kullanılarak yazılan SQL cümlesi şöyle olacaktır:
SELECT * FROM (kategoriler INNER JOIN urunler ON kategoriler.kategoriID = urunler.kategoriID) INNER JOIN (siparisler INNER JOIN siparisDetay ON siparisler.siparisID = siparisDetay.siparisID) ON urunler.urunID = siparisDetay.urunID
Aşağıdaki söz dizimi kullanılarak INNER JOIN ifadesi içerisinde ON yan cümleleri de yazabilirsiniz.
SELECT alanlar
FROM tablo1 INNER JOIN tablo2
ON tablo1.alan1 karşılaştırma tablo2.alan1 AND
ON tablo1.alan2 karşılaştırma tablo2.alan2) OR
ON tablo1.alan3 karşılaştırma tablo2.alan3)
DISTINCT Komutu
SQL içerisinde bir tabloda birden fazla kayıt olabilmektedir.
Eğer aynı satırların listelenmesi gerekirse bu satırların bir defa yazılması gerekmektedir. Böyle bir durumda DISTINCT komutu kullanılmak zorundadır.
Siparişleri hangi Nakliye firmalarının taşıdığını ekrana listeleyen SQL ifadesi şöyle olacaktır:
SELECT nakliyeciFirmaAdi FROM siparisler, nakliyeciler
Dikkat edilecek olursa nakliyeci firma adları tekrar etmiştir. Bunu engellemek için şöyle bir SQL ifadesi yazılması gerekmektedir.
SELECT DISTINCT nakliyeciFirmaAdi
FROM siparisler, nakliyeciler
VERİLERİ GRUPLAYARAK ANALİZ ETMEK
Grup fonksiyonlarının tanımlanması,
Gruplama işlemlerini,
Gruplama işlemlerinde dikkat edilecek noktalar,
Birden fazla sütuna göre gruplama yapmak,
Grup koşullarının tanımlanması.
Önceki bölümde SQL'in bize sunduğu hazır fonksiyonların tek satırla ifade edilebilen tiplerini öğrenmiştik. Bu bölümde ise, SQL yapısal sorgulama dilinde bulunan çok satırlı fonksiyonları ele alacağız.
Bu bölümde, grup fonksiyonlarının nasıl tanımlanacağını, gruplama işlemlerini, gruplama işlemlerinde dikkat edilecek noktaları, birden fazla sütuna göre gruplama yapmayı ve grup koşullarının tanımlanmasını öğreneceğiz.
Gruplama işlemlerini,
Gruplama işlemlerinde dikkat edilecek noktalar,
Birden fazla sütuna göre gruplama yapmak,
Grup koşullarının tanımlanması.
Önceki bölümde SQL'in bize sunduğu hazır fonksiyonların tek satırla ifade edilebilen tiplerini öğrenmiştik. Bu bölümde ise, SQL yapısal sorgulama dilinde bulunan çok satırlı fonksiyonları ele alacağız.
Bu bölümde, grup fonksiyonlarının nasıl tanımlanacağını, gruplama işlemlerini, gruplama işlemlerinde dikkat edilecek noktaları, birden fazla sütuna göre gruplama yapmayı ve grup koşullarının tanımlanmasını öğreneceğiz.
12 Ocak 2017 Perşembe
Static & Dinamik Testler
Sadece kod çalıştırmadan koda bakılarak yapılacağı gibi(statik test). Yazılım kodu çalıştırılarakta yapılabilir(dinamik.
Yazılım kodu çalıştırılmadan yapılan testlere statik, Kod çalıştırılarak yapılan testlere ise dinamik testler diye adlandırılır.
Veri Akış Test Adımları
Seçilen yollara öncelik ata.
Yol üzerinde belirlenmiş bütün seçilen objeleri en az bir kere çalıştır.
Data Object Kategorileri
(d) Tanımlanmış, Oluşturulmuş, İlklendirilmiş
(k) Tanımlanmamış,
(u) Kullanılan:
(c) Hesaplamada kullanılmış
(p) Tahminde kullanılmış
Data Objelerinin Tanımlanması
Program içerisinde çağrıldığında.
Yeni bir değer barındırdığında.
Bir file tarafından veri geldiğinde
Dinamik olarak yapıdan çıktığında
Tanımlama ve Kullanım Örneği
1. read (x, y);
2. z = x + 2;
3. if (z < y)
4 w = x + 1;
else
5. y = y + 1;
6. print (x, y, w, z);
Veri Akış Testi İpuçları
Veri akışı ile ilgili tüm anormallikleri incele.
Verileri aşağıdan yukarı ve yukarıdan aşağı olarak incele.
Olabilecek farklı veriler ile veri akışını gerçekleştir.
Veri Akış Testi
Algoritma içerisinde verinin ne şekilde değiştiğini anlamak için yapılan testtir.
Veri ile ilgili anormallikleri ortaya çıkartmak kullanılmaktadır.
Algoritma üzerinde farklı yollar ve farklı dataların seçilmesine dayanır.
Veri testtinin asıl Amacı path, branch ve statment testlerinde eksik kalan kısımları tamamlamaktır.
Veri kod karar önemlidir.
Veri testti veri ile ilgili anormalliklerini tanımlamak için kullanılır.
Veri akış testi paths ve branch testleri arasındaki açıkları kapatmak için yapılmaktadır.
VARIANCE ( ) Fonksiyonu
Varyans, sayısal değerler arasındaki değişkenliği ölçen bir kavramdır. İstatistiksel veri analizlerinde yaygın biçimde kullanılmaktadır. Standart sapmanın karesi olarak bilinmektedir. Bir dizi sayısal değerin varyansını hesaplamak için VARIANCE ( ) fonksiyonu kullanılır.
Örnek-1: Personel maaş bilgilerinin ne ölçüde değişken olduğunu belirlemek istiyoruz;
SELECT VARIANCE (maasi) AS "Varyans"
FROM personel
MS Access'de bu fonksiyon yerine; VARP() fonksiyonu kullanılır.
SQRT ( ) Fonksiyonu
Parametre olarak verilen sayısal veri türündeki değerin karekökünün hesaplanmasını sağlamaktadır.
SELECT maasi, SQRT (maasi) AS "Karekökü"
FROM personel
Kaydol:
Yorumlar (Atom)







