Kamis, 30 Juni 2011

view,Trigger dan store procediue

Basis Data VIEW
SQL View adalahtabel virtual (bukantabelsebenarnya) yang dibuatdaribeberapatabelatau
view lain.SQL View tidakmemiliki data sendiri, tetapi data‑datanyaberasaldaritabel-tabelatau view lain.SQL View dibuatataudibangundengan SELECT statement.
Di dalam query SELECT tersebutkitabisamenambahkan ORDER BY statement untukmengurutkandata atautidaksamasekali.SQL View dapatdigunakanuntukmemudahkanataumenyederhanakan data yang ditampilkan, mencegahmenampilkan data yang pentingdenganmenyembunyikannamakolomnya.
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;
MenggunakanVIEW :
Select * from customername
VIEW UNTUK MENYEMBUNYIKAN COLUMN DAN BARIS
Contoh, misalkanpenggunaaplikasi View Ridge inginmenyederhanakandaftar customer, sehingga yangtampilhanyanamadannomorteleponsaja.

Create view basic customerdata as select [name], areacode,phonenumber
FROM CUSTOMER;
Contohlain, jikapihakmanajemeninginmenyembunyikankolomAcquisitionPricedan Sales Pricemakadapatmembuat View dengantanpamengikutsertakankolom-kolomtersebut.
View jugadapatdigunakanuntukmenyembunyikan baris data tertentu. Yaitudenganmenambahkanklausa WHERE pada query-nya.
 VIEW UNTUK SQL yang ComplexDenganmenggunakan views, programmer (developer) tidakperlumemasukan SQL statement yang kompleksketikamerekamembutuhkansuatu data.Misalkan view berikutmenghasilkan data ketertarikancustomer terhadap artist yang ada.
 CREATE VIEW CustomerInterests ASSELECTC.Name as Customer, A.Name as Artist
FROM CUSTOMER CJOIN CUSTOMER _ARTIST _INT CI
ON C.CustomerID = CI.CustomerID
JOIN ARTIST AON CI.ArtistID = A.ArtistID;
Contoh Lain Create View:
CREATE VIEW "Alphabetical list of products" AS
SELECT Products.*, Categories.CategoryName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE (((Products.Discontinued)=0))

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))

Contoh Running View :
SELECT TOP 1000 *  
FROM [AdventureWorks2008].[Sales].[vIndividualCustomer]

Mengubah View
ALTER VIEW [nama_ view] AS
[select _statement]
Contoh:
ALTER VIEW CustomerNameViewAS
SELECT[Name] AS NamaPelangganFROM   CUSTOMER;
MENGHAPUS View
DROP VIEW[nama_ view]
Menggunakan TRIGGER
Triggeradalah program yang dieksekusioleh DBMS ketikasuatu event terjadi.
Trigger diaplikasikanpadatabelatauview. Sebuahtabelatau view dapatmemilikilebihdari 1 trigger. Tetapisebuah trigger hanyadigunakanpada 1tabelatau view.
Trigger dijalankankarena request insert,update, ataudelete padasuatutabel
atau view.
3 Tipe trigger:
1.BEFORE (insert, update, delete)
2.INSTEAD OF (insert,update, delete)
3.AFTER (insert,update, delete) 
Total ada 9 tipe trigger.
SQL Server hanyamensupport 6 tipe
trigger. Hanyatipe AFTER dan INSTEADOF saja.
KegunaanMemakai Trigger
Vropvide default values
Enforce data constraints
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]
Sample 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 ] } }
biarlebihmengerti, kitamulaidengancontoh.. jadikitabutuhmembuat 2 tabeltersebut di SQL server 2005, script sebagaiberikut
create table BARANG ( BAR_ID int not null, BAR_NAMA varchar(255) not null, BAR_STOCK int null default 0, constraint PK_BARANG primary key (BAR_ID) ) go
create table PEMBELIAN ( PEM_ID int not null, BAR_ID int null , PEM_JUMLAH int null , constraint PK_PEMBELIAN primary key (PEM_ID) ) go
create index RELATION_FK on PEMBELIAN (BAR_ID) go
alter table PEMBELIAN add constraint FK_PEMBELIA_RELATION_BARANG foreign key (BAR_ID) references BARANG (BAR_ID) go
INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (1,’AQUA’); INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (2,’TOTAL’); INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (3,’AQUADES’);
setelahandamenjalankan script tersebut, makaandaakanmempunyai 2 tabel, yaitutabelbarangdenganisi 3 buah data, dantabelpembeliandengan data masih kosong.3 data di tabelbarangtersebutsecaradefautstocknyaadalah 0
kemudiansaatnyakitabuat trigger sehinggaketikakitamenambahkan data di tabelpembeliandenganjumlahpembelianbarangtertentu, maka stock di tabelbarangakanbertambahsesuaidenganbarangygdibeli, syntac trigger tersebutadalahsebagaiberikut
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
artidarikodetersebutadalahsebagaiberikut create trigger tambahStockbarang on pembelian membuat trigger dengannamatambahStockBarangdimana trigger tersebutakanterpicujikaadaperubahan di tabelpembelian
for insert as perubahantersebutadalahpenambahan(insert) di tabelpembelian , selainpenambahanbisajugadiisidenganperubahan(update) ataupenghapusan(delete) fordisinijugabisarubahisinyajadiafteratauinstead of . perbedaanyaadalahwaktu trigger dikerjakan, biasayaygseringdigunakanadalahfor
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 iniadalahkodeygdikerjakanketikakejadian trigger terpicu, kodediatasbertujuanmerubahnilaibar_stockpadatabelbarangdenganmenambahkannilaibar_stockygsekarangdenganjumlahbarangygdibeli (pem_jumlah). perhatikandisiniadatabel yang bernamainserted, tabeltersebutmerupakantabellogikaygdigunakanuntukmenyimpan data yang memicuterjadinya trigger, dalamhalininilai data ygdimasukkan(insert) kedalamtabelpembelian, selaininserted, tabellogikalainnyaadalahdeleted, tabellogikainidigunakanuntuk trigger ygterpicudengankejadiandelete
kitacobamasukkankodeberikut
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (1,1,4); INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (2,3,2); INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (3,1,1);
artikodetersebut pem_idharuslahbedakarenamerupakan primary key beli aqua(kodebar_id=1) sebanyak 4 beliaquades (kodebar_id=3) sebanyak 2 beli aqua lagisebanyak 1
sehinggasecarakeseluruhanygdibeli aqua sebanyak 5 danaquadessebanyak 2 karena default nilai stock barangadalah 0, makaseharusnyanilai aqua 5 danaquades 2 adalahjumlah stock barangsekarangini

Senin, 27 Juni 2011

Query Tugas Basdat

Menampilkan Stock buku atau majalah yang terbanyak
SELECT MAX(kd_barang) AS Kode_Barang, MAX(kode_tipe_bacaan) AS  tipe_Bacaan,
MAX (jumlah_stok) AS Stok_Terbanyak FROM dbo.[gito_tmbarang]
Menampilkan total belanja masing-masing penerbit

Script Query :
SELECT kd_penerbit, SUM (total_bersih_pembelian) AS TOTAL_Belanja FROM
dbo.[gito_pembelian] GROUP BY kd_penerbit
. Menampilkan jumlah stock masing-masing barang dengan mengkategorikan barang-barang tersebut

Sciprt Query :
SELECT kd_kategori, kd_tipe_bacaan, jumlah_stok FROM dbo.[gito_tmbarang] GROUP BY
jumlah_stok, kd_kategori, kd_tipe_bacaan
 Menampilkan total penjualan barang yang dikategorikan

Script Query :
SELECT dbo.[gito_penjualan_detil].no_penjualan, dbo.[gito_penjualan_detil].kd_barang,
SUM(dbo.[gito_penjualan].total_bersih_penjualan) AS Total_Penjualan FROM
dbo.[gito_penjualan_detil] INNER JOIN dbo.[gito_penjualan] ON
dbo.[gito_penjualan_detil].no_penjualan = dbo.[gito_penjualan].no_penjualan
GROUP BY dbo.[gito_penjualan_detil].kd_barang, dbo.[gito_penjualan_detil].no_penjualan

Kamis, 23 Juni 2011

SQL

Rabu, 22 Juni 2011

Tugas Basdat Zakat




CDM

Saya Dan UKM Seni Tari


Kebersamaan Bersama UKM Seni Tari adalah kebahagiaan tersendiri bagiku,,
yang tidak mungkin di miliki oleh orang lain.
saya sebenarnya masuk UKM ini tidak secara resmi, melakukan pendaftaran seperti saya mendaftar ke UKM lain .
pada waktu CB (Character Building) saya tahu ada UKM ini , tapi saya sebenarnya, lah sudahlah dari SMP, SMA bermain B-boy kemajuan cuma segituh gituh aja , jadi sempat berputus asa,,,
tetapi hati berkata lain ,  gak tahu saya memang udah jodoh masuk UKM ini, saya mengenal teman satu kelas, di waktu itu kita kenalan ngobrol-ngobrol , kita bicara masalah UKM kita bagi informasi , saling memberitahu kamu masuk UKM apa aja dan gimana-gimana ,
ternyata dia masuk UKM seni tari , mulai dari situlah saya bercerita tentang dulu saya juga sempat bergelut di B-boy tetapi di Cirebon saya dan Teman-teman disana berlatih otodidak , kita udah sempat masuk dan ingin gabung bersama anggota B-boy yang memang udah terkenal yaitu dengan nama Famous ngomongnya sih semua anak-anaknya berasal dari bandung semua , tapi gak tahu juga sih ,  pada waktu itu saya hanya pengen gabung dan belajar , pengen tahu basic-basic B-boy , tetapi kita belum sempat masuk, karena Famous terlebih dahulu membubarkan dirinya ,  gak tahu bubar gak tahu kenapa , masalahanya personilnya ngomongnya udah pada kerja, en pada keluar kota, jadi gagal deh kita masuk anggota B-boy , kita latihan otodidak .
nah disitu teman kuliah ini ngajak saya masuk , tetapi waktu itu saya hanya berfikir  "masih bisa gak yah , masalahnya udah lama banget gak maen lg " waktu tiu saya hanya bilang ya udah saya mau lah ikut latihan tapi saya gak masuk UKM , waktu itu gak tahu latihan keberapa saya datang ke UKM tersebut eh malah di anggap anggota,,

Lamban waktu , kok jadi ke enakan gituh, inget sama temen-temen di cirebon , mulai dari situ saya berfikir , beberapa UKM yang saya masuki belum ada yang ngerasa cocok , malahan UKM ini yang menjadi sering di hadiri dari pada UKM lain ,
gak tahu kenapa  , saya merasa enak aja gituh seneng .

tetapi sekarang seni tari sedang tertempa berbagai musibah , saya juga sebenarnya merasa bersalah saya sempat gak latihan beberapa pertemuan , saya benar sangat merasa bersalah , terfikirkan satu hal yang ada di benak saya , saya kepikiran gimana jika saya berada di posisi ketua seni tari , pasti itu pikirannya , gak karuan , pasalnya saya sempat merasa seperti itu , gimana rasanya jadi ketua terus anggotanya lagi tertimpa musibah bebagai masalah , ngerasa bersalah ngerasa gak bisa memimpin UKM , pokoknya campur aduk kaya gimana , beberapa personil ada yang keluar , sangat di sesali sekali ,,,,, saya juga ngerasa bersalah kepada ketua , sebenarnya saya sebagai anggota harus bisa membantu jalannya proker-proker ketua seni tari ,
karena dalam sebuah organisasi , seseorang bisa dikatakan pemimpin karena dari pemimpin itu terdapat pemimpin-pemimpin dari masing-masing divisi, jadi sebenarnya kita disini gak ada yang namanya anggota , tetapi semua pemimpin . dan ketua atau pemimpin hanya mengkoordinir semua dari pemimpin.
jadi saya sangat berharap UKM ini selain bisa nge-Dance saya harap UKM ini juga di kenal dengan kekompakannya , tidak pada egois , saling memahami , saling mengerti perasaan ,
memang sesekali UKM ini sering egois , MAAF SEBELUMNYA, ,,, tetapi saya bicara yang ada di hati , mungkin ini juga mewakili perasaan yang lain ,,, tetapi saya bicara seperti ini bukan karena saya tidak suka , tetapi karena saya ingin UKM ini lebih baik lagi ,  jadi bisa di benahi untuk ke depannya , ,,
dan karena saya memang merasa UKM ini sudah di Anggap saya keluarga ,  saya ingin semua itu bisa memahami ,  mengerti , saling membantu ,,,,,
dan karena saya memang tidak cocok dengan UKM - UKM lain,,, hanya UKM ini yang memang saya dekat dengan Anggota-anggotanya , ,, sama kakak tingkatnya ,  bisa becanda ,tanpa pandang status , adik kelas, ,,
karena berorganisasi memang gak selalu mulus dengan apa yang di harapkan ,,

Semoga UKM Seni Tari Ini Bisa Lebih Baik Lagi ,,,
Semuanya Harus Pada Semangat ,,,!!!
Semoga semuanya masih tetap bertahan dan menjaga Nama UKM ini dengan baik ,,,,

Mohon Maaf Sebelumnya Apabila ada kesalahan kata-kata,,,

pokoknya semua pada semangat yah,,,
kita pasti bisa,,

kita bangun UKM ini lebih bagus dari yang sudah bagus,,,
okey,,,,!!!!!!!!!!!!!!

Kamis, 09 Juni 2011

Tugas Basis Data

PDM BANK


Minggu, 08 Mei 2011

Praktikum 6 bab6


Praktikum 6 Basis Data
TIPE DATA
Praktikum Sistem Basis Data I PostgreSQL 8.X Pertemuan 6 Oleh: Saepudin Nirwan, S.Kom., M.Kom. Purpose of Data Types It is tempting to think that databases would be easier to use if only one data type existed -- a type that could hold any type of information, such as numbers, character strings, or dates. Although a single data type would certainly make table creation simpler, having different data types offers definite advantages: Consistent Results Columns of a uniform type produce consistent results. Displaying, sorting, aggregates, and joins deliver consistent results. No conict arises over how different types are compared or displayed. For example, selecting from an INTEGER column always yields INTEGER values. Data Validation Columns of a uniform type accept only properly formated data; invalid data are rejected. For example, a column of type INTEGER will reject a DATE value. Compact Storage Columns of a uniform type are stored more compactly. Performance Columns of a uniform type are processed more quickly.
POSTGRESQL data types Installed Types
Character String
Character string types are the most commonly used data types. They can hold any sequence of letters, digits, punctuation, and other valid characters. Typical character strings are names, descriptions, and mailing addresses. You can store any value in a character string. Nevertheless, this type should be used only when other data types are inappropriate, as other types provide better data validation, more compact storage, and better performance. Three character string data types exist: TEXT, ARCHAR(length), and CHAR(length). TEXT does not limit the number of characters stored. VARCHAR(length) limits the length of the eld to length characters. Both TEXT and VARCHAR() store only the number of characters in the string. CHAR(length) is similar to VARCHAR(), except it always stores exactly length characters. This type pads the value with trailing spaces to achieve the specied length, and provides slightly faster access than TEXT or VARCHAR().
Number
Number types allow the storage of numbers. The number types are INTEGER, INT2, INT8, OID, NUMERIC(), FLOAT, and FLOAT4. INTEGER, INT2, and INT8 store whole numbers of various ranges. Larger ranges require more storage. For example, INT8 requires twice the storage of INTEGER and is slower that INTEGER. OID is used to store POSTGRESQL object identiers. Although you could use INTEGER for this purpose, OID better documents the meaning of the value stored in the column. NUMERIC(precision, decimal) allows user-dened digits of precision, rounded to decimal places. This type is slower than the other number types.
 Geometric Type: Temporal
Temporal types allow storage of date, time, and time interval information. Although these data can be stored in character strings, it is better to use temporal types. The four temporal types are DATE, TIME, TIMESTAMP, and INTERVAL. DATE allows storage of a single date consisting of a year, month, and day. The format used to input and display dates is controlled by the DATESTYLE setting TIME allows storage of an hour, minute, and second, separated by colons. TIMESTAMP stores both the date and the time.for example, 2000-7-12 17:34:29. INTERVAL represents an interval of time, like 5 hours or 7 days. INTERVAL values are often generated by subtracting two TIMESTAMP values to nd the elapsed time. For example, 1996.12.15 19:00:40 minus 1996.12.8 14:00:10 results in an INTERVAL value of 7 05:00:30, which is 7 days, 5 hours, and 30 seconds. Temporal types can also handle time zone designations. Logical The only logical type is BOOLEAN. A BOOLEAN eld can store only true or false, and of course NULL. You can input true as true, t, yes, y, or 1. False can be input as false, f, no, n, or 0. Although true and false can be input in a variety of ways, true is always output as t and false as f.
Geometric
The geometric types support storage of geometric primitives. They include POINT, LSEG, PATH, BOX, CIRCLE, and POLYGON. Network The network types are INET, CIDR, and MACADDR. INET allows storage of an IP address, with or without a netmask. A typical INET value with a netmask is 172.20.90.150 255.255.255.0. CIDR stores IP network addresses. It allows a subnet mask to specify the size of the network segment. A typical CIDR value is 172.20.90.150/24. MACADDR stores MAC (Media Access Control) addresses, which are assigned to Ethernet network cards at the time of their manufacture. A typical MACADDR value is 0:50:4:1d:f6:db. Internal A variety of types are used internally. Psql's \dT command shows all data types.
Type Conversion Using CAST
In most cases, values of one type are converted to another type automatically. In those rare circumstances where you need to explicitly convert one type to another, you can use CAST to perform the conversion. To convert val to an INTEGER, use CAST(val AS INTEGER). To convert a column date_col of type DATE to type TEXT, use CAST(date_col AS TEXT). You can also perform type casting using double colons.that is, date_col::text or num_val::numeric(10,2).
Support Functions
 Functions enable you to access specialized routines from SQL. They take one or more arguments and return a result. Suppose you want to uppercase a value or column. No command will perform this operation, but a function can handle it. POSTGRESQL has a function called upper that takes a single string argument and returns the argument in uppercase. The function call upper(col) calls the function upper with col as its argument and returns it in uppercase.

Support Operators Operators
are similar to functions Psql's \do command shows all dened operators and their arguments. Example of a function call
Membuat  tabel functest
create  table functest (name varchar (20), date_part date);
Memasukan data  ke dalam tabel functest
Insert into functest values (‘judy’,’02/05/2011’);
Menampilkan semua data yang ada di tabel functest
select * from functest;




 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | free samples without surveys