Kamis, 30 Juni 2011

tugas basdat procedure dll



Basis Data VIEW

SQL View adalah tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau
view lain. SQL View tidak memiliki data sendiri, tetapi data‑ datanya berasal dari tabel-tabel atau view lain.SQL View dibuat atau dibangun dengan SELECT statement.
Di dalam query SELECT tersebut kita bisa menambahkan ORDER BY statement untuk mengurutkan data atau tidak sama sekali.SQL View dapat digunakan untuk memudahkan atau menyederhanakan data yang ditampilkan, mencegah menampilkan data yang penting dengan menyembunyikan nama kolomnya.
Kegunaan View
  1. Hide Columns or rows
  2. Display results ofcomputations
  3. Hide complicated SQL Sintax
  4. Layer Built - in functions
  5. Provide level of isolation betwen table data and user
  6. Assign different processing permisions  to different views of the same table
Membuat View
CREATE VIEW [nama_ view] AS
[select _sta tem en t]

Contoh :Create view costumer name view as select [name] as costumer name from costumer;
Menggunakan VIEW :
Select * from customername


VIEW UNTUK MENYEMBUNYIKAN COLUMN DAN BARIS
Contoh, misalkan pengguna aplikasi View Ridge ingin menyederhanakan daftar customer, sehingga yang tampil hanya nama dan nomor telepon saja.
Create view basic customerdata as select [name], areacode,phonenumber from customer;
Contoh lain, jika pihak manajemen ingin menyembunyikan kolom AcquisitionPrice dan Sales Price maka dapat membuat View dengan tanpa mengikutsertakan kolom-kolom tersebut. View juga dapat digunakan untuk menyembunyikan baris data tertentu. Yaitu dengan menambahkan klausa WHERE pada query-nya. View untuk sql yang complex dengan menggunakan views, programmer (developer) tidak perlu memasukan sql statement yang kompleksketika mereka membutuhkan suatu data.
Contoh Modify View :
ALTER VIEW "Alphabetical list of products" AS
SELECT Products.*, Categories.CategoryName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE (((Products.Discontinued)=0))


Menggunakan TRIGGER
Trigger adalah program yang dieksekusi oleh DBMS ketika suatu event terjadi.
Trigger diaplikasikan pada tabel atau view. Sebuah tabel atau view dapat memiliki lebih dari 1 trigger. Tetapi sebuah trigger hanya digunakan pada 1 tabel atau view.
Trigger dijalankan karena request insert, update, atau delete pada suatu tabel
atau view.
         Berikut ini merupakan 3 Tipe trigger:
1.BEFORE (insert, update, delete)
2.INSTEAD OF (insert, update, delete)
3.AFTER (insert, update, delete)

Kegunaan Memakai Trigger
  1. Vropvide default values
  2. Enforce data constraints
  3. Update Views

Create trigger [nama_trigger] on [    t a b  l  e      a  t  a  u      v   i    e  w  ]
{ FOR | AFTER | INSTEAD OF }
{ [DELETE] [,] [INSERT] [,] [UPDATE] }
AS
[sql_statement]

Contoh study kasus TRIGGER
Database KAM PUS memiliki table MHS, MK, dan NILAIMHS, dengan data sbb:
-- CREATE OUR TEST DATABASE
CREATE DATABASE Test
 
-- USE TEST DATABASE
USE Test
1
 
Next, we create our Test Tables:
1
--- CREATE TEST TABLES
---Table1
CREATE TABLE [dbo].[Table1](
[Field1] [VARCHAR] (50) NULL,
[Field2] [VARCHAR] (50)NULL)
---Table InsertedTable
CREATE TABLE [dbo].[InsertedTable](
[DATE] SMALLDATETIME,
[Field1] [VARCHAR] (50) NULL,
[Field2] [VARCHAR] (50) NULL)
---Table DeletedTable
CREATE TABLE [dbo].[DeletedTable](
[DATE] SMALLDATETIME,
[Field1] [VARCHAR] (50) NULL,
[Field2] [VARCHAR] (50) NULL)
 
--- CREATE TRIGGER
CREATE TRIGGER CatchInsertDelete
ON Table1
FOR INSERT, DELETE
AS
INSERT INTO InsertedTable (DATE,Field1, Field2)
SELECT GETDATE(), Field1, Field2 FROM Inserted
INSERT INTO DeletedTable (DATE, Field1, Field2)
SELECT GETDATE(), Field1, Field2 FROM Deleted
Go
 
---Insert New Records To Table1
INSERT INTO Table1 VALUES ('Mike', 'Hotek')
INSERT INTO Table1 VALUES ('Paul','Nielsen')
INSERT INTO Table1 VALUES ('Denny','Cherry')
INSERT INTO Table1 VALUES ('Bill','Gates')
INSERT INTO Table1 VALUES ('John','Doe')
INSERT INTO Table1 VALUES ('Jane','Doe')
Syntax
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}

syntac trigger untuk menambah stock di tabel barang adalah sebagai berikut
create trigger tambahStockbarang on pembelian
for insert
as
update b set b.bar_stock = b.bar_stock + i.pem_jumlah
from barang b join inserted i on b.bar_id = i.bar_id
arti dari kode tersebut adalah sebagai berikut
create trigger tambahStockbarang on pembelian
membuat trigger dengan nama tambahStockBarang dimana trigger tersebut akan terpicu jika ada perubahan di tabel pembelian
for insert
as

perubahan tersebut adalah penambahan(insert) di tabel pembelian , selain penambahan bisa juga diisi dengan perubahan(update) atau penghapusan(delete)
for disini juga bisa rubah isinya jadi after atau instead of . perbedaanya adalah waktu trigger dikerjakan, biasaya yg sering digunakan adalah for
update b set b.bar_stock = b.bar_stock + i.pem_jumlah
from barang b join inserted i on b.bar_id = i.bar_id

ini adalah kode yg dikerjakan ketika kejadian trigger terpicu, kode diatas bertujuan merubah nilai bar_stock pada tabel barang dengan menambahkan nilai bar_stock yg sekarang dengan jumlah barang yg dibeli (pem_jumlah). perhatikan disini ada tabel yang bernama inserted, tabel tersebut merupakan tabel logika yg digunakan untuk menyimpan data yang memicu terjadinya trigger, dalam hal ini nilai data yg dimasukkan(insert) kedalam tabel pembelian, selain inserted, tabel logika lainnya adalah deleted, tabel logika ini digunakan untuk trigger yg terpicu dengan kejadian delete.





STORED PROCEDURE

Stored procedure adalah sebuah program yang disimpan di database dan digunakan pada saat dibutuhkan.
Bahasa yang digunakan untuk membuat stored procedure di SQL Server adalah TRANSACT-SQL.Stored procedure dapat menerima input parameter dan mengembalikan suatu result output. Security atau keamanan data dan kode yang lebih baik,karena disimpan di database server. Mengurangi lalu lintas jaringan, sehingga beban jaringan lebih ringan.
Adanya sharing kode sehingga:
1.Pekerjaan lebih sedikit
2.Metode proses yang terstandarisasi
3.Adanya spesialisasi pekerjaan diantara developer(programmer)


Sintax menggunakan stored procedure
Tambah data
create procedure [dbo].[tambah_data_lokasi]
as
insert into lokasi values('403','Tasik')

hapus data


create procedure [dbo].[hapus_data_lokasi]
as
delete erik_tb_lokasi where kd_lokasi= '403'

merubah data

create procedure [dbo].[ubah_data_barang]
as
update erik_tb_barang set nama_barang='Komic' where kd_barang='B2'








Tidak ada komentar:

Posting Komentar