Minggu, 27 Januari 2013



Tugas kapita selekta

Data Mart 
--Data mart adalah suatu bagian pada data warehouse yang mendukung pembuatan laporan dan analisa data pada suatu unit, bagian atau operasi pada suatu perusahaan. Dalam beberapa implementasi data warehouse, data mart adalah miniature data warehouse. Data mart sering digunakan untuk memberikan informasi kepada segmen fungsional organisasi.
Data mart kadang-kadang dirancang sebagai gudang data individu dan memberikan kontribusi pada organisasi secara keseluruhan sebagai anggota dari sebuah gudang data terdistribusi. Dalam desain yang lain, data mart menerima data dari sebuah gudang master data melalui update berkala, dalam hal ini fungsionalitas data mart sering terbatas pada layanan presentasi untuk klien
Data mart memfokuskan hanya pada kebutuhan-kebutuhan pemakai yang terkait dalam sebuah departemen atau fungsi bisnis.
Data mart biasanya tidak mengandung data operasional yang rinci seperti pada data warehouse.
Data mart hanya mengandung sedikit informasi dibandingkan dengan data warehouse. Data mart lebih mudah dipahami

Data Mining
Data mining adalah teknik yang merupakan gabungan metode-metode analisis data secara statistik dengan algoritma-algoritma untuk memproses data berukuran besar.  Data mining merupakan proses menemukan informasi atau pola yang penting dalam basis data berukuran besar.  Adalah usaha untuk penggalian data yang tidak dapat diperoleh melalui pelaporan dan OLAP karena pola dan hubungannya tersembunyi.

Data Ware House
warehouse adalah "Sebuah skema database relasional yang menyimpan data historis dan metadata dari sistem operasi atau sistem, sedemikian rupa untuk memudahkan pelaporan dan analisis data, dikumpulkan untuk berbagai tingkatan." Definisi ini adalah penggabungan dari berbagai definisi yang saya temui.
Ada beberapa poin penting di sini. Pertama, gudang data jarang berisi informasi yang ada tidak ada tempat lain dalam suatu organisasi. Tujuan dari data warehousing adalah untuk mengumpulkan dan membuat catatan sejarah dari informasi dari sistem lain. Ini mungkin sebuah aplikasi ERP, log dari aplikasi web, data dari sistem manufaktur atau bahkan data dari teleskop radio. Data ini diambil dari sistem sumber (s) dan kemudian dibersihkan dan dimasukkan ke dalam gudang data dengan alat ETL. Proses ini biasanya disebut "sesuai" sumber data ke dalam skema gudang. Aspek penting lain dari definisi adalah agregasi. Sebuah data warehouse biasanya digunakan untuk meringkas data yang selama bertahun-tahun, bulan, triwulan, atau atribut lain waktu dimensi. Hal ini membantu dalam mengidentifikasi tren historis dan membuat prediksi tentang tren masa depan. Data sering dikumpulkan dalam berbagai cara. Data agregat dapat disimpan dalam tabel agregat sehingga dapat diakses dengan cepat. Hal ini sangat penting karena tabel fakta mencapai ke miliaran baris dan ratusan gigabyte informasi yang dikumpulkan. Mengakses data ini di luar bentuk diringkas sering membutuhkan waktu yang sangat lama.

perbedaan data mart dan warehouse
on covering the following topics: Introduction to OLAP and business intelligence. (this post) Identifying the differences between a data warehouse, and a data mart. Introduction to MDX queries and the kind of SQL which a ROLAP… next? Next we’ll talk about the difference between data marts and data warehouses. The former are usually used for OLAP analysis, but they can be fundamentally related to a warehouse.

OLAP
OLAP atau yang disebut online analytical Processing yaitu Suatu jenis pemrosesan yang memanipulasi dan menganalisa data bervolume besar dari berbagai perspektif (multidimensi). OLAP seringkali disebut analisis data multidimensi. Kemampuan OLAP ada beberapa yang sering diketahui yaitu:
nKonsolidasi melibatkan pengelompokan data. Sebagai contoh kantor-kantor cabang dapat dikelompokkan menurut kota atau bahkan propinsi. Transaksi penjualan dapat ditinjau menurut tahun, triwulan, bulan, dan sebagainya. Kadangkala istilah rollup digunakan untuk menyatakan konsolidasi
nDrill-down adalah suatu bentuk yang merupakan kebalikan dari konsolidasi, yang memungkinkan data yang ringkas dijabarkan menjadi data yang lebih detail
nSlicing and dicing (atau dikenal dengan istilah pivoting) menjabarkan pada kemampuan untuk melihat data dari berbagai sudut pandang


contoh software dari OLAP adalah 
nExpress Server (Oracle)
nPowerPlay (Cognos Software)
nMetacube (Informix/Stanford Technology Group)
nHighGate Project (Sybase)

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'