Selasa, 20 September 2011

Stored Procedurs, Function, dan Triggers

  Nim/Nama : 10410100214/candra dwi w.p.
  Dosen          : Tan Amelia
  Tugas          : Resume Stored Procedurs, Function, and Triggers
 


Stored Procedurs merupakan program yang disimpan dalam data base seperti halnya data. Hal ini sebenanya cukup tidak umum, karena kita mengharapkan yang disimpan dlam data base adalah data bukan nya program.

Kemampuan utama SQL Server berada pada Store Procedure dan Fungsi (Fungsi hanya terdapat pada SQL Server 2000)
Dengan adanya Store Procedure, maka program SQL yang telah kita buat : 
  •  dapat digunakan kapanpun
  • lebih cepat dan efisien karena bersifat Server Side 
  • mudah dibuat dan dirawat karena kecil tapi ‘Power Full’ 
MENDEFINISIKAN PROSEDUR EKSTERNAL
  1. Pernyataan CREATE PROCEDURE untuk prosedur eksternal terdiri dari : Nama Prosedur
  2. Definisi parameter dan atribut-atributnya
  3. Pemberian informasi lain tentang prosedur yang akan digunakan system ketika prosedur dipanggil
Perhatikan contoh berikut :
EXEC SQL CREATE PROCEDURE P1
(INOUT PARM1 CHAR(10))
EXTERNAL NAME MYLIB.PROC1
LANGUAGE C
GENERAL WITH NULLS ;

Pernyataan CREATE PROCEDURE di atas maksudnya adalah sebagai berikut:
- Nama prosedur P1
* Mendefinisikan sebuah parameter yang digunakan baik sebagai parameter input dan output. Parameter tersebut adalah sebuah field character dengan panjang 10. Parameter dapat didefinisikan bertipe IN, OUT atau INOUT. Tipe parameter menentukan nilai untuk parameter ketika dimasukkan ke dan dari prosedur.
*Mendefinisikan nama program yang berhubungan dengan prosedur tersebut, yaitu PROC1 dalam MYLIB. MYLIB.PROC1 adalah program yang dipanggil ketika prosedur dipanggil dengan pernyataan CALL.
*Menunjukkan bahwa prosedur P1 (Program MYLIB.PROC1) ditulis dalam bahasa C. Bahasa pemrograman sangat penting jika ia memberi dampak terhadap tipe parameter yang dilewatkan. Hal ini juga memberi dampak bagaimana parameter dilewatkan ke prosedur (contoh, untuk prosedur ILE C, sebuah terminator NUL dilewatkan dalam bentuk parameter character, graphic, date, time dan timestamp).
*GENERAL WITH NULLS menunjukkan bahwa parameter untuk prosedur boleh berisi nilai NULL.


 FUNCTION

Function adalah suatu blok PL/SQL yang memiliki konsep sama dengan procedure, hanya saja pada function terdapat pengembalian nilai (return value)
Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabel biasa.


contoh bentuk function :
Bentuk Umum :
CREATE OR REPLACE FUNCTION nama_function (parameter_1, …)
RETURN tipe_data AS
  variabel_1 tipe_data;
  …
BEGIN
  statemen_1;
  …
  RETURN nilai_yang_dikembalikan;
END;


 Dasar pembuatan Function

Statemen RETURN tipe_data diatas menunjukkan bahwa function akan mengembalikan nilai dengan tipe data tertentu
Statemen RETURN nilai_yang_dikembalikan berfungsi untuk mengembalikan nilai yang telah diproses dalam function



 TRIGGER
 Trigger adalah sebuah teknik untuk menentukan jenis-jenis active rule tertentu yang ada di versi awal SQL pada database relasional.

 
Model untuk menentukan rule active database didasarkan pada model ECA (Event Condition Action) mempunyai 3 komponen :
Event Trigger rule : Event adalah Operasi update database yang secara eksplisit digunakan ke database. Pada model yang umum bisa juga event temporal atau jenis  external event yang lain.
Condition untuk menentukan apakah rule action dapat dijalankan : Sekali event trigger terjadi, kondisi optional akan di evaluasi. Jika tidak ada kondisi yang ditentukan, action akan dijalankan sekali pada event yang terjadi. Jika kondisi ditentukan, maka kondisi dievaluasi pertama dan jika dievaluasi benar maka rule action dijalankan.
Action dapat diambil : Action adalah sebuah urutan statemen SQL, tetapi dapat juga sebuah transaksi database atau sebuah program external yang otomatis dijalankan.
Berikut contoh syntax trigger
 
<trigger>::= CREATE TRIGGER <trigger name>
   (AFTER|BEFORE) <triggering events> ON <tablename>
   {FOR EACH ROW}
   {WHEN <condition>}
   <trigger actions> ;
<triggering events> ::= <trigger event> {OR <trigger event>}
<trigger event> ::=  INSERT | DELETE | UPDATE {OF <column name> {,<column name>}}
<trigger action> ::= <PL/SQL block>





Selasa, 13 September 2011

TUTORIAL SQL SERVER

 Nim / Nama : 10.41010.0214 / Candra Dwi Wicaksono P.
 Dosen            : Tan Amelia

 Judul tugas   :TUTORIAL SQL


   SQL SERVER merupakan produk RDBMS (Relational Database Management System) yang dibuat oleh Microsoft.Microsoft SQL Server juga mendukung SQL sebagai bahasa untuk memproses query ke dalam database dan kita tahu bahwa SQL ini sudah digunakan secara umum pada semua produk database server yang ada di pasaran saat ini. Microsoft SQL Server banyak digunakan pada dunia bisnis, pendidikan atau juga pemerintahan sebagai solusi database atau penyimpanan data. Berbagai macam skala bisnis mulai yang kecil sampai skala enterprise bisa menggunakan Microsoft SQL Server sebagai database servernya.


Fitur-fitur yang ada di SQL SERVER yaitu : 
- Notification Services 
    Fitur ini digunakan untuk mengirimkan dan menerima pesan atau pemberitahuan (notification) dengan tepat waktu dari database ke ribuan pengguna.
- Reporting Services
    Fitur ini digunakan untuk membuat laporan dari SQL Server 2005.
- Service Broker
    Fitur ini menyediakan infrastruktur yang digunakan untuk membangun keamanan pada aplikasi berkinerja tinggi.

    Beberapa komponen yang disediakan oleh aplikasi program SQL Server 2005 antara lain: 

-Database Engine
    Komponen ini merupakan inti dari SQL Server 2005 yang digunakan untuk menyimpan, memroses dan mengamankan data. Komponen ini meliputi Replication, Full-Text Search dan tools untuk mengatur data relasional dan XML.
-Analysis Services
    Komponen ini meliputi analisis server dan tools yang digunakan untuk membuat dan mengaturonline analytical processing (OLAP) dan aplikasi data mining. Fitur ini juga akan menginstal Data Transformation Services.


      Data Definition Language (DDL)
Data Definition Language (DDL) merupakan sub bahasa SQL yang digunakan untuk membangun kerangka database. Ada tiga perintah yang termasuk dalam DDL, yaitu :

  • CREATE : Perintah ini digunakan untuk membuat, termasuk diantaranya membuat database baru, tabel baru, view baru, dan kolom.
  • ALTER : Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.
  • DROP : Perintah ini digunakan untuk menghapus database dan tabel.

    Statement DDL adalah perintah-perintah yang digunakan untuk menjelaskan objek dari database. Dengan kata lain DDL digunakan untuk mendefinisikan kerangka database.

Statement DDL

Create database drop database
Create table drop table alter table
Create index drop index
Create view drop view
Contoh Penerapan :
Create database : untuk membuat database.
Syntax : CREATE DATABASE nama_db;
Contoh : CREATE DATABASE Perkuliahan;
Create table : untuk membuat table.
Syntax : CREATE TABLE nama_tabel
(nama_kolom1, type_kolom1,
nama_kolom2, type_kolom2,…);
Contoh : CREATE TABLE MHS
(NPM char(8) not null,
Nama char(25) not null,
Alamat char(30) not null);
Ket : Not null bersifat optional.
Create index : untuk membuat index.
Syntax : CREATE [UNIQUE] INDEX nama_index ON
nama_tabel (nama_kolom);
Contoh : CREATE INDEX KRSx ON KRS(Kd_mk);
Ket : Spesifikasi unique akan menolak key yang sama dalam file.
Create view : untuk membuat view.
Syntax : CREATE VIEW view_name [(column1, column2,… )]
AS SELECT statement FROM table_name
[WITH CHECK OPTION];
Contoh : CREATE VIEW MHSv AS SELECT * FROM MHS;
Ket : View_name : nama view yang akan dibuat.
Column : nama atribut untuk view.
Statement : atribut yang akan dipilih dari table basis data.
Table_name : nama table basis data.
Drop database : untuk menghapus database
Syntax : Drop database nama_db;
Contoh : Drop database Perkuliahan;
Drop table : untuk menghapus tabel
Syntax : Drop table nama_table;
Contoh : Drop table MHS;
Drop index : untuk menghapus index
Syntax : Drop index nama_index;
Contoh : Drop index KRSx;
Drop view : untuk menghapus view
Syntax : Drop view nama_view;
Contoh : Drop view MHSv;
Alter table : untuk mengubah table
Syntax : ALTER TABLE nama_table
ADD (nama_kolom_baru type_kolom
[BEFORE nama_kolom])
MODIFY (nama_kolom_lama type_kolom)
DROP (nama_kolom_lama type_kolom);
Contoh : ALTER TABLE MHS ADD (JKEL char(1));
SQL - Data Manipulation Language (DML)
Statement DML adalah perintah-perintah yang digunakan untuk
mengoperasikan atau memanipulasi isi database.
SQL menyediakan 4 perintah DML yaitu Select, insert, update, dan
delete.
INSERT
Syntax : INSERT INTO nama_table [(nama_kolom,..)] VALUES
(data1,...);
Contoh : INSERT INTO MKUL VALUES (”KK222”,”BERKAS
Akses”,2);
Atau
INSERT INTO MKUL (KDMK,MTKUL,SKS) VALUES
(”KK222”,”BERKAS Akses”,2);
UPDATE
Syntax : UPDATE nama_tabel SET nama_kolom=ekspresi
WHERE kondisi;



Data Manipulation Language (DML) 

  Data Manipulation Language (DML) merupakan sub bahasa SQL yang digunakan untuk memanipulasi data dalam database yang telah terbuat. Perintah yang digunakan, diantaranya :
  •  INSERT : perintah ini digunakan untuk menyisipkan atau  memasukkan data baru ke dalam tabel. Penggunaannya setelah database dan tabel selesai dibuat.
  • SELECT : Perintah ini digunakan untuk mengambil data atau  menampilkan data dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita tampilkan dalam layar prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.
  • UPDATE : Perintah ini digunakan untuk memperbaharui data lama menjadi data terkini.
  • DELETE : Perintah ini digunakan untuk menghapus data dari tabel.


    Data Control Language (DCL)

  Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya. Perintah DCL, diantaranya :


  • GRAND : Perintah ini digunakan untuk memberikan hak / izin  akses oleh administrator (pemilik utama) server kepada userpengguna biasa.
  • REVOKE : perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.