Veri Tabanı Yönetimi Dersi 7. Laboratuvarı

Slides:



Advertisements
Benzer bir sunumlar
VERİ TABANI YÖNETİMİ Ders 11: PL/SQL’e Giriş
Advertisements

VERİ TABANI ve YÖNETİMİ
T-SQL-2.Konu Akış Kontrolleri.
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
VeriTabanı Uygulama.
SQL Sibel SOMYÜREK.
SQL Komutları (2) Uzm. Murat YAZICI.
FONKSİYONLAR İbrahim Onur Sığırcı.
RAISE RECORD/CURSOR TRIGGER
Bilgisayar Mühendisliği Bölümü
VTYS Öğr. Gör. Engin DUTAR
Veri Tabanı Yönetim Sistemleri 2 Ders 5 PL/SQL'e Giriş
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 2. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetim Sistemleri 2 Ders 5 PL/SQL'e Giriş, Prosedür ve Fonksiyonlar Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
GROUP BY HAVING ORDER BY İbrahim Onur Sığırcı. Ö RNEK 1 – G RUP F ONKSIYONLARı * «Sales» departmanında kaç kişinin çalıştığını, toplam maaşlarını, en.
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama,
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Constraint-View-Sequence Union-Intersection-Except Exısts-In Arş. Gör. Pınar CİHAN.
Saklı Prosedürler (Stored Procedures) kalibi Create Procedure Procedure_Adi [Parametre_Listesi] As Procedure_Bloğu Create Proc Procedure_Adi [Parametre_Listesi]
Bölüm 2 C Dilinin Temelleri
BİLGİSAYAR PROGRAMLAMA DERSİ
Veri Tabanı Yönetimi Dersi 5
Fonksiyonel Programlama
Hız felaket mi? 32-Bit/64-Bit işlemciler üzerine örnek bir çalışma
FONKSİYONLAR.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Bilgisayar Mühendisliği Bölümü
Algoritma ve Programlamaya Giriş
Veri Tabanı Yönetim Sistemleri 2 Ders 6 PL/SQL Ek Bilgiler
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
METOTLAR.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı
MODEL YETERSİZLİKLERİNİ DÜZELTMEK İÇİN DÖNÜŞÜMLER VE AĞIRLIKLANDIRMA
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Transaction ve Örnekler
TETİKLEYİCİLER ve HATA KONTROLÜ
14.DERS Örnekler, Sorular BUKET DOĞAN.
5. HAFTA Öğr. Gör. Yunus KÖKVER
Dersin içeriğinin ve kaynaklarının tanıtılması
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
ARDUİNO Arduino Eğitimleri Bölüm 4 Programlama Dili Temelleri - II
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SQL.
Hız felaket mi? 32-Bit/64-Bit işlemciler üzerine örnek bir çalışma
3.hafta METODLAR.
Company DB / Örnekler İbrahim Onur Sığırcı.
Bölüm 7 İfadeler ve atamalar.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
FONKSİYONLAR İbrahim Onur Sığırcı.
GROUP BY HAVING ORDER BY LIMIT
RAISE RECORD/CURSOR TRIGGER
Bilgisayar Bilimi Koşullu Durumlar.
Stored Procedure Öğr.Gör.Metin Akbulut.
SQL Server - Stored Procedures
Fonksiyonlar ve Alt Programlar
Bilgisayar Bilimi Fonksiyon Yazma.
SQL Server - Views.
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
SQL VIEW.
Bilimsel Araştırma Yöntemleri
Sunum transkripti:

Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN

PostgreSQL PostgreSQL, veritabanları için ilişkisel modeli kullanan ve SQL standart sorgu dilini destekleyen bir veritabanı yönetim sistemidir. PostgreSQL aynı zamanda iyi performans veren, güvenli ve geniş özellikleri olan bir Veri Tabanı Yönetim Sistemi'dir. Hemen hemen tüm UNIX ya da Unix türevi (Linux, FreeBSD gibi) işletim sistemlerinde çalışır. Ayrıca NT çekirdekli tüm Windows sistemlerde de çalıştırılabilir. PostgreSQL ücretsiz ve açık kodludur.

postgreSQL Dilleri Standart postgreSQL'de dört farklı prosedürel dil vardır: PL/pgSQL PL/TcL PL/Perl PL/Phyton

PL/pgSQL'in Avantajları Fonksiyon ve trigger'lar yaratabiliriz, Döngüsel ve koşula bağlı işlem adımları daha kolay yapılabilir, Karmaşık sorgulamalar ve hesaplamalar yapılabilir, Kullanıcının kendi amacına yönelik fonksiyon yazabilmesi sağlanır, PL/pgSQL, SQL'in tüm veri tipi, operatör ve hazır fonksiyonlarını tanır ve kullanabilir.

Fonksiyon Dönüş Tipleri Bir PL/pgSQL fonksiyonu sonucunda tek bir değer dönmek zorunda değildir. Birden fazla dönüş olacaksa output parametre tanımı kullanılmalıdır. Bunun dışında fonksiyonlar, basit tipte bir veri dönebilir, record tipinde composit bir data dönebilir, bir sonuç tablosunun pointer'ı gibi tek bir instance dönebilir, değer dönmeyebilir(fonksiyonun sonunda "return" ya da "return void" denilebilir) Output parametresi kullanan fonksiyonlar ve hiç bir şey döndürmeyen (void) fonksiyonlar dışında, her fonksiyonun return parametresi olmak zorundadır. Değilse run time hatası alınır.

Fonksiyon Oluşturma Syntax’ı CREATE FUNCTION fonksiyon adı (parametre1 tipi, parametre2 tipi,..., [out] parametreN tipi ) [RETURNS çıktının veri tipi] AS [$$] ['] DECLARE tanımlamalar; BEGIN komutlar; .. [RETURN] [çıktı değeri;] EXCEPTION kural dışı durumlar; END; [$$] ['] LANGUAGE plpgsql; Fonksiyonu çağırmak için: SELECT fonksiyon_adı (parametre değerleri); Fonksiyonu düşürmek için: DROP FUNCTION fonksiyon_adı (parametre1_tipi, parametre2_tipi, ..., parametreN_tipi ); Köşeli parantezler [ ], opsiyonel durumları göstermektedir.

Örnek 1 Girdi olarak verilen 2 sayının toplamını bulan fonksiyonu yazınız ve (22,63) parametreleri için çalıştırınız.

Cevap 1 CREATE OR REPLACE FUNCTION ornek1 (num1 numeric, num2 numeric) RETURNS numeric AS ' DECLARE toplam numeric; BEGIN toplam :=num1+num2; return toplam; END; ' LANGUAGE 'plpgsql'; Çağırılması: select ornek1(22,63);

Örnek 2 Girdi olarak verilen 2 sayının toplamını bulan fonksiyonu yazınız ve (22,63) parametreleri için çalıştırınız. Return olmadan Out ile çözünüz.

Cevap 2 CREATE OR REPLACE FUNCTION ornek2(num1 numeric, num2 numeric, out num3 numeric) AS ' BEGIN num3 :=num1+num2; END; ' LANGUAGE 'plpgsql'; Çağırılması: select ornek2(22,63);

Örnek 3 Adı verilen bir departmandaki çalışanların ortalama maaşını bulan bir fonksiyon yazınız.

Cevap 3 CREATE OR REPLACE FUNCTION ornek3 (depname department.dname%type) RETURNS real AS ' DECLARE maas numeric; BEGIN SELECT AVG(salary) INTO maas FROM employee, department WHERE dno = dnumber AND dname = depname; RETURN maas; END; ' LANGUAGE 'plpgsql'; Çağırılması: select ornek3(‘Sales’);

Örnek 4 Departman tablosundaki minimum ve maksimum departman numarasını bulup min_deptno ve max_deptno değişkenlerine atan fonksiyonu yazınız.

Cevap 4 CREATE OR REPLACE FUNCTION ornek4 (out min_deptno department.dnumber%type, out max_deptno department.dnumber%type) AS ' BEGIN SELECT min(dnumber), max(dnumber) INTO min_deptno, max_deptno from department; END; ' LANGUAGE 'plpgsql'; Çağırılması: select ornek4(). Düşürme: DROP FUNCTION ornek4 ()

Örnek 5 6 no’lu departmanda çalışanların sayısını bulun, çalışan sayısı 10’dan azsa departmandaki tüm çalışanların maaşına %5 zam yapın.

Cevap 5 CREATE OR REPLACE FUNCTION ornek5() returns void AS ' DECLARE num_worker numeric(3) := 0; BEGIN Select count(*) into num_worker from employee where dno=6; IF (num_worker < 10) THEN Update employee SET salary=salary*1.05 where dno=6; END IF; END; ' LANGUAGE 'plpgsql'; Çağırılması: select ornek5(). Düşürme: DROP FUNCTION ornek5 ()