activo | asset management system

Friday, December 08, 2006

SQL Server 2005 - Trivia (1)

Suatu hari, DBA tampan dipanggil oleh Marketing Manager dan menanyakan apakah report Sales customer bisa ditingkatkan performancenya. Si Tampan berkata iya tapi butuh waktu 1 hari.
Lalu Si Tampan kembali ke mejanya dan mengecek report Customer sales yang adalah view dari v_customerSales (table Customer join dengan table sales). View ini digunakan untuk membuat(me-aggregate) total sales by customer by month.
Dengan sekali lirik, dia mengerti, lalu membuat clustered index pada view v_customerSales.

Pertanyaannya, KENAPA si Tampan membuat clustered Index ?

Tuliskan jawabanmu di Comment.

SQL Server 2005 - TRIGGER

Trigger dibagi menjadi 2, trigger DML dan DDL.

DML Trigger => Trigger untuk INSERT, UPDATE, or DELETE statement terhadap table atau view

Apa kegunaan DML Trigger ?
Ilustrasi:
Suatu hari kita berencana untuk mengimport data customer dari table customer dan table Country dari db SQL Server 2000 ke db SQL Server 2005. Kita ingin memastikan selama proses impor,setiap value di kolom CountryCode dari table Customer dimiliki record di table Country pada SQL Server 2005. Lalu Kita pasang foreign key antar 2 table tersebut. Alhasil, referential integrity akan menjamin bahwa import akan gagal jika ketahuan ada value CountryCode yang tidak ada di table Country tapi ada di table Customer. Untuk memastikan proses import tidak gagal, maka kita perlu membuat sebuah trigger DML INSTEAD OF yang dapat me-log record yang gagal ke dalam file atau table.

DDL Trigger => Trigger untuk CREATE, ALTER, DROP, GRANT, DENY, REVOKE, atau UPDATE STATISTICS statement

Apa kegunaan DDL Trigger ?
Ilustrasi:
Suatu hari ada seseorang mengubah nama skema database, otomatis aplikasi yang menggunakan skema/table dari skema tersebut tidak bisa jalan. Untuk mencegah hal ini, kita dapat mengimplementasikan DDL AFTER triggers yang dapat menulis informasi user dan schema ke table log(table buatan).

Komentar Terbaru