VERĐTABANI YÖNETĐM SĐSTEMLERĐ



Benzer belgeler
Veri Tabanı Yönetim Sistemleri Bölüm - 6

Laboratuvar 2 Tek Kayıt Fonksiyonları

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veritabanı. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language)

SQL Komutları (2) Uzm. Murat YAZICI

IN ve NOT IN Tablodaki alan içeriklerine ulaşmak için IN deyimi kullanılır.

SQL (Structured Query Language)

Veritabanı Tasarımı. Dönüşüm Fonksiyonları

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

Veri Tabanı Tasarım ve Yönetimi

BÖLÜM- 3: TEK SATIR FONKSİYONLARI

Veritabanı Tasarımı. Büyük/Küçük Harf ve Karakter İşleme

6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar

SQL Kod ile Tablo Oluşturma

Fonksiyonlar, Count, Sum, Avg, Max, Mın, Lower, Upper, Length, Round, Mod, Left, Right, Concat, If

Veri Tabanı-I 9.Hafta

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

VERİTABANI ve YÖNETİMİ

Veritabanı Tasarımı COUNT, DISTINCT, NVL

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Like Joker Karakterler, Order By, Group By

ORACLE DERS 1 SQL E GİRİŞ

SQL FONKSİYONLARI SQL lisanında hesaplama ve sayma işlemlerinde kullanılmak üzere bir çok fonksiyon vardır.

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Veri Tabanı Yönetim Sistemleri Bölüm - 5

YAPISAL SORGULAMA DİLİ (SQL)

SQL Query and Table Application

Veri Tabanı Hafta Dersi

SQL (Structured Query Language)

1 ORACLE 11G DATABASE SERVER LE

Emrah UYSAL 1

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

VERİTABANI Veritabanı Sorgulama

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

VERİ TABANI YÖNETİM SİSTEMLERİ I

İNTERNET TABANLI PROGRAMLAMA- 12.ders

Bilgisayar Uygulamaları. MySql

SQL e Giriş. Uzm. Murat YAZICI

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Eki Öğr. Gör. Murat KEÇECĠOĞLU

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Hafta IV. Öğr. Gör. Murat KEÇECĠOĞLU

Veritabanı Tasarımı. SQL Deyimi Anatomisi

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Her bölüm için kısa bazı girişler yapılacak ve bölüm içerisinde anlatılacak olan konuların genel başlıkları belirtilecektir.

BİLİŞİM TEKNOLOJİLERİ

Veritabanı Tasarımı. Alt Sorgu Temelleri

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

Charindex() CHARINDEX

Veri Tabanı-I 12.Hafta

EXCEL de her bir çalışma alanı bir sayfa olarak adlandırılırken, birden fazla sayfa ise kitap olarak adlandırılır.

BİLİŞİM TEKNOLOJİLERİ

Oracle da kullanılan veri tipleri:

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Birden Çok Tabloda Sorgulama (Join)

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

BTP203 VERİTABANI YÖNETİM SİSTEMLERİ

Mysql Veritabanı Komutları

İlişkisel Veri Tabanları I

Veritabanı Tasarımı. Düzenli İfadeler

Veritabanı Tasarımı. Çoklu Satır Alt Sorgular

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

ALGORİTMA VE PROGRAMLAMA I

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME

5 Sorgulama İşlemleri. Veritabanı 1

KISITLAMALAR (CONSTRAINT)

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Veri Tabanı Yönetim Sistemleri Bölüm - 7

SORGULAR. Öğr.Gör.Volkan Altıntaş

Veri Tabanı Yönetim Sistemleri Bölüm - 4

Veri Tabanı II Alt Sorgular

PASCAL PROGRAMLAMA DİLİ YAPISI

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

EXCEL DE ARİTMETİKSEL İŞLEMLER

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

ALGORİTMA VE PROGRAMLAMA I

Bilgisayar Uygulamaları. Excel Notları Oğuzhan ÖZTAŞ

Ġşlem tablosu kavramını tanımlamak ve işlem tablolarının işlevlerini öğrenmek. Ġşlem tablolarının temel kavramlarını tanımlamak.

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Microsoft Office Excel 2007

BĐL378 - VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Microsoft SQL Server Sorgulama

VERİ TABANI YÖNETİM SİSTEMLERİ I

BİLGİSAYAR PROGRAMLAMA

Transkript:

VERĐTABANI YÖNETĐM SĐSTEMLERĐ Öğr.Gör.Sedat Telçeken ANADOLU ÜNĐVERSĐTESĐ FEN FAKÜLTESĐ MATEMATĐK BÖLÜMÜ 2005 2006 Bahar Dönemi SQL Fonksiyonları Fonksiyonlar SQL içinde bazı hesaplamaları yapabilmektedir. Bu fonksiyonları programlama dillerinde varolduğu gibi algılamak mümkündür. Fonksiyonlar; argümanları girdi olarak alır ve bir sonuç üretir. ÖRNEK : A dersinden en yüksek not alan öğrenciyi bulmak gerektiğinde, Sayısal değerlerin toplanması, yuvarlanması, Tarih değerleri üzerine işlem yaparken, num -> char, Char->num yaparken. 1

Fonksiyon çeşitleri Tek Satır Fonksiyonlar : Tek girdili tek çıktılı fonksiyonlar olarak tanımlanabilir. Tablonun bir satırı için uygulanır. Çok Satır Fonksiyonlar : Çok girdili tek çıktılı fonksiyonlardır. Bir grup satıra uygulanır. Tek Satır Fonksiyonlar Bunlar tablonun her bir satırına uygulanan fonksiyonlardır. Karakter fonk. Sayısal fonk. Tarih fonk. Dönüştürme fonk. Genel fonk. Tanımlanması Fonksiyon adı (sütun ifade, [argümanlar] ) Fonksiyon adı : SQL fonksiyonudur, değiştirilemez. Sütun : Herhangi bir tabloya ilişkin sütun adı. Đfade : herhangi bir karakter dizisi ya da hesaplama ifadesi. Argümanlar : Fonksiyonlar birlikte kullanılacak argümanlar 2

Karakter Fonksiyonları Karakter verilerini girdi, çıktı olarak ise karakter ya da sayısal veri veren fonksiyonlardır. LOWER : Alfebatik karakterleri küçük harfe dönüştürür. SQL> SELECT LOWER(Adı) AS K_Đsimler FROM Öğrenci; UPPER : Lower ın tam tersini yapar. INITCAP : Đlk harfi büyük, diğerlerini küçük yapan fonksiyon. CONCAT : Katarları birleştirmek için kullanılır. ile aynı işi yapar. SUBSTR : (sütun ifade, m, [n]) Bir katarın m. Karakterinden itibaren n karakterlik yeni bir katar oluşturur. LENGTH : Bir sütunun ya da katarın içerdiği karakter sayısını verir. Sayısal Fonksiyonlar ROUND : yuvarlatma. ROUND ( sütun ifade, n) ROUND(MAAŞ,2) TRUNC : Kesmek için kullanılır. TRUNC ( sütun ifade, n) TRUNC(MAAŞ,2) SQL> SELECT Adı, Ücret AS Aylık, Ücret/30 AS Günlük, TRUNC(Ücret/30) AS Budanmış Günlük FROM Personel; MOD : Mod alma işlemidir. MOD(33,4) -> 1 değerini verir. 3

Tarih Fonksiyonları MONTHS_BETWEEN(tarih1,tarih2) iki tarih arasındaki ayın hesabını verir. ADD_MONTHS(tarih,n) Tarih e n ay eklendiğinde hangi tarihe gelineceğini verir. NEXT_DAY(tarih, gün ) haftanın belirli bir gününün bir sonra hangi tarihe karşılık geldiğini bulmak için kullanılır. LAST_DAY(tarih) Belirlenen tarihe ilişkin ayın en son gününü verir. Tarih Fonksiyonları ÖRNEKLER SQL> SELECT Adı, Giriş_Tar, MONTHS_BETWEEN(SYSDATE,Giriş_Tar) AS Ay FROM Personel; SQL> SELECT Adı, Giriş_Tar, MONTHS_BETWEEN(SYSDATE,Giriş_Tar) AS Ay FROM Personel WHERE MONTHS_BETWEEN(SYSDATE,Giriş_Tar)<200; SQL> SELECT Adı,Giriş_Tar,ADD_MONTHS(Giriş_Tar,6) FROM Personel; SQL> SELECT Adı, Giriş_Tar, LAST_DAY(Giriş_Tar) FROM Personel; 4

Dönüştürme Fonksiyonları Karakter, sayısal ve tarih verilerinin birbirlerine dönüştürülmesi ve biçimlendirilmesi işlemlerinde kullanılır. TO_CHAR(Tarih veya sayı, biçimlendirme ifadesi ) TO_NUMBER(katar, biçimlendirme ifadesi ) TO_DATE(katar, biçimlendirme ifadesi ) Biçimlendirme Đfadesi YYYY, YEAR, MM, MONTH, DD, DY, DAY AM,PM, HH, MI, SS 9, 0 $, L, (.), (,) Dönüştürme Fonksiyonları TO_NUMBER: SQL> SELECT 1234 AS KAR 50*TO_NUMBER( 1234 ) AS SAYISAL FROM DUAL; DUAL; varolmayan bir tablo olduğu zaman ORACLE da kullanılır. TO_DATE: SQL> SELECT Adı, Giriş_Tar WHERE Giriş_Tar>TO_DATE( OCAK 1,1995, MONTH DD, YYYY ); 5

Genel Fonksiyonlar NVL fonksiyonu : Sütunlarda Null değerini alan hücrelere istenen bir değeri atayan fonksiyondur. NVL(sütun, NULL yerini alacak değer ) SQL> SELECT Adı, Ücret, Komisyon, Ücret*12+NVL(Komisyon,0) AS TOPLAM ; DECODE fonksiyonu : Programlama dillerinde kullanılan CASE, IF..THEN..ELSE denetim deyimlerinin SQL de karşılığı yoktur! Bunların yerine DECODE dan yararlanılır. DECODE(sütun ifade, koşul1,sonuç1) [,koşul2,sonuç2,...] [varsayılan sonuç]); Genel Fonksiyonlar Personel arasında görevi MEMUR olanlara %10, ŞEF olanlara %15, MÜDÜR olanlara %20 zam yapılacaktır. Diğerlerinde ise herhangi bir değişiklik olmayacaktır. SQL> SELECT Adı,Görevi,Ücret, DECODE(Görevi, MEMUR,Ücret*1.1, ŞEF,Ücret*1.15, MÜDÜR,Ücret*1.2, ÜCRET) AS Yeni Ücret ; 6

Đç içe fonksiyonlar Bazen fonksiyonlar iç içe parantezler içerisinde sıralanabilir. Örneğin DECODE(TRUNC(ROUND(..))) gibi. Böyle durumlarda en içteki fonksiyonun çıktısı bir dıştaki fonksiyonun girdisi olacak şekilde işlem yapılır. VERĐLERĐN GRUPLANMASI VE ANALĐZĐ Tek satır fonksiyonları, tablonun bir satırına uygulanıyordu. Bir grup satıra bir fonksiyon uygulanması durumunda çoklu satır fonksiyonları (grup fonksiyonları) kullanılır. FONKSĐYONLAR Tek satır fonk. Çoklu satır fonk. 7

Grup Fonksiyonları Grup fonksiyonları tablonun tüm satırlarına uygulanabildiği gibi, GROUP BY sözcüğü ile alt gruplara da uygulanabilir. SELECT [sütun,] grup fonksiyonu(sütun) FROM tablo [WHERE koşul]; Grup Fonksiyonları AVG fonksiyonu : Ortalama alır, girdisi sayısal olmalıdır. SQL> SELECT AVG(Not) AS ORTALAMA FROM Öğrenci_Not; SUM fonksiyonu : Sütunların değerlerini toplar, girdisi sayısal olmalıdır. SQL> SELECT SUM(Notlar) / Count(Notlar) AS Dönem_Ort FROM Öğrenci_Not; MAX ve MIN fonksiyonları : sütundaki maksimum ve minimum satır değerlerini döndürür. 8

Gruplama Đşlemleri SELECT [sütun,] grup fonksiyonu(sütun) FROM tablo [WHERE koşul] [GROUP BY sütun] [ORDER BY sütunu]; Örnek : Her bölümde çalışan personel sayısını, ücret toplamını ve ortalama ücretleri hesaplayan SQL deyimi: SQL> SELECT Bölüm_No, COUNT(Adı) AS SAYI SUM(Ücret) AS Toplam, AVG(Ücret) AS Ortalama GROUP BY Bölüm_No; GROUP BY kullanımında Dikkat SELECT deyimi içinde grup fonksiyonları, sütun isimleri ile birlikte kullanılabilirler, Ancak grup fonksiyonları GROUP BY sözcüğü olmadan kullanılamaz. SELECT Bölüm_No, COUNT(*) ; YANLIŞ SELECT Bölüm_No, COUNT(*) DOĞRU GROUP BY Bölüm_No; 9

GROUP BY kullanımında Dikkat GROUP BY ile sütunların takma isimleri kullanılamaz GROUP BY ile tanımlanan grupların, artan sırada olduğu var sayılır, Sırayı ters yönde değiştirmek için ORDER BY kullanılır. GROUP BY içinde belirtilen sütun isimleri grup fonksiyonları içerisinde olmak zorunda değildir. SELECT Bölüm_No, AVG(Ücret) GROUP BY Bölüm_No; GROUP BY içinde belirtilen sütun isimleri SELECT listesinde yer almak zorunda değildir. SELECT AVG(Ücret) GROUP BY Bölüm_No; Birden fazla sütuna göre gruplama GROUP BY ile birden fazla sütuna göre gruplama da yapılabilir. ÖRNEK : Her bölümü ve bölüm içindeki görevlere göre personeli gruplayarak bu bazda ücret toplamları elde etmek için; SQL> SELECT Bölüm_No, Görevi, SUM(Ücret) GROUP BY Bölüm_No, Görevi; 10