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

Slides:



Advertisements
Benzer bir sunumlar
Stored Procedure Öğr.Gör.Metin Akbulut.
Advertisements

VERİTABANLARI ÜZERİNDEN ÇOK KULLANICILI YAZILIMLAR İLE TİCARİ VE MÜHENDİSLİK VERİLERİNİN ANALİZLERİNİN GETİRDİĞİ FAYDALAR Dr. YILMAZ YÖRÜ Yük.Mak.Müh.
T sql-diğer komutlar Metin Akbulut.
Hazırlayan : Öğr. Gör. Fahri YILMAZ
VERİ TABANI YÖNETİMİ Ders 11: PL/SQL’e Giriş
SQL’e Giriş.
SQL de Değişken Tanımlama
SQL Komutlar 5 Sibel SOMYÜREK.
VERİ TABANI ve YÖNETİMİ
T-SQL-2.Konu Akış Kontrolleri.
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
SQL (STRUCTURED QUERY LANGUAGE)
Fonksiyonlar.
VIEW (BAKIŞ) OLUŞTURMA
VIEW lerle çalışmak 11.BÖLÜM.
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
SQL de Değişken Tanımlama
VeriTabanı Uygulama.
SQL Sibel SOMYÜREK.
SQL SERVER STORED PROCEDURE
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
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
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Veri Tabanı Yönetim Sistemleri 2 Ders 5 PL/SQL'e Giriş
SQL’ e Giriş Uzm. Murat YAZICI.
Bilgisayar Mühendisliği Bölümü
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
Yeni Veritabanı Oluşturma
C OMPANY DB / Ö RNEKLER İbrahim Onur Sığırcı. İ LIŞKI T ABLOLARı idfnamelnamebdate AhmetDemir MehmetBakır AyşeTunç1994.
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı Arş. Gör. Pınar CİHAN.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
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.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
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.
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
Linux ve Özgür Yazılm Şenliği PostgreSQL'de Veri Kurtarma Teknikleri POSTGRESQL 'de İleri Seviyede Veri Kurtarma ve Yedekleme Devrim Gündüz.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 5
Bilgisayar Mühendisliği Bölümü
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Bilgisayar Mühendisliği Bölümü
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı
© 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ı
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TETİKLEYİCİLER ve HATA KONTROLÜ
14.DERS Örnekler, Sorular BUKET DOĞAN.
SQL SERVER STORED PROCEDURE
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
FONKSİYONLAR İbrahim Onur Sığırcı.
GROUP BY HAVING ORDER BY LIMIT
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
Stored Procedure Öğr.Gör.Metin Akbulut.
SQL Server - Stored Procedures
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.SQLveritabanı yönetim sistemidir  PostgreSQL aynı zamanda iyi performans veren, güvenli ve geniş özellikleri olan bir Veri Tabanı Yönetim Sistemi'dir.Veri Tabanı Yönetim Sistemi  Hemen hemen tüm UNIX ya da Unix türevi (Linux, FreeBSD gibi) işletim sistemlerinde çalışır.UNIXLinuxFreeBSD  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: 1)PL/pgSQL 2)PL/TcL 3)PL/Perl 4)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 ornek1(num1 numeric, num2 numeric, out num3 numeric) AS ' BEGIN num3 :=num1+num2; END ; ' LANGUAGE 'plpgsql';

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

Cevap 3 CREATE OR REPLACE FUNCTION ornek2 (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';

Ö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 ornek3 (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 ornek3(). Düşürme: DROP FUNCTION ornek3 ()

Ö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 ornek4 () 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 ornek4(). Düşürme: DROP FUNCTION ornek4 ()