tabk-08 - sql

59
SQL sebagai Alat Bantu Audit

Upload: anggara-putra

Post on 06-Mar-2016

245 views

Category:

Documents


13 download

DESCRIPTION

 

TRANSCRIPT

Page 1: TABK-08 - SQL

SQL sebagaiAlat Bantu Audit

Page 2: TABK-08 - SQL

Pendahuluan

Database adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dalam suatu cara yang memudahkan pengambilan kembali

Relational Database Management System (RDBMS)adalah perangkat lunak komputer yang digunakan untuk merencanakan, membangun, mengorganisasikan dan mengendalikan kumpulan data di dalam komputer berdasarkan suatu model data relasional.

Page 3: TABK-08 - SQL

PendahuluanSQL dan Audit (?)l Salah satu langkah dalam CAATs adalah data

downloading l SQL dapat digunakan sebagai alat bantu dalam

proses data downloading l Terdapat beberapa feature dalam SQL yang dapat

digunakan sebagai Purpose Written Software l SQL merupakan bahasa standar (ISO/ANSI)

sehingga banyak DBMS yl ang mengadopsinya sebagai bahasa perantara

Page 4: TABK-08 - SQL

Pendahuluan

SQL (Structured Query Language) : Bahasa yang digunakan untuk berinteraksi dengan database (relasional)SQL merupakan standar ISO dan ANSIBahasa non prosedural, lebih mementingkan “apa” yang diinginkan daripada “bagaimana” mendapatkan yang diinginkan

Page 5: TABK-08 - SQL

PendahuluanSejarah Singkat SQL

l IBM's San Jose Research (1970s)l SQL published (1976)l ORACLE announces first commercial RDBMS

based on SQL (1979)l SQL/DS IBM's first RDBMS (1982)l DB2 IBM's second RDBMS (1985)l ANSI makes SQL the industry standard (1986)l Oracle Introduced SQL*Plus (~1983)l Oracle announces ORDBMS (1998)

Page 6: TABK-08 - SQL

PendahuluanBeberapa Produk berbasis SQL

l Oracle (Oracle Database Server)l Microsoft (Microsoft SQL Server/MS Access)l IBM (DB2 Universal Database Server)l Sybase (Sybase SQL Anywhere)l Postgress (PostgreSQL)l mySQL

Page 7: TABK-08 - SQL

Konsep Dasarl Informasi diorganisasikan dalam table.l Table terdiri dari column (field) dan row (record).l Primary Key : satu (atau lebih) field yang menjadikan

satu record dalam unik dalam suatu tablel Foreign Key : satu (atau lebih) field untuk menjaga

integritas suatu record jika direlasikan dengan suatu record di table lain

Page 8: TABK-08 - SQL

Konsep Dasar

Integritas Data l Data Wajib (Required Data)l Pengujian Validitas (Validity Checking)l Integritas Entitas (Entity Integrity)l Integritas Referensial (Referential Integrity)

Page 9: TABK-08 - SQL

Konsep DasarKonsep Dasar

E-R Diagram

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

EMP

DEPTNODNAME LOC

DEPT

CUSTID NAME ADDRESS CITY STATE ZIP AREA PHONE REPID CREDITLIMITCOMMENTS

CUSTOMER

Page 10: TABK-08 - SQL

Konsep Dasar

Tipe Data :l Charl Numberl Varchar2l Datel LOB (Large Object), misal : Gambar,Suara

Nilai NULLl Nilai yang belum diketahui dengan pasti

Page 11: TABK-08 - SQL

Konsep DasarDatabase ManipulationLanguage (DML)

l Menayangkan isi (content) databasel Menambah,mengubah isi databasel Menghapus isi database

Database Definition Language (DDL)l Mendefinisikan database dan objek di dalamnyal Memodifikasi struktur database

Database Control Language (DCL)l Mengatur akses user ke database

Page 12: TABK-08 - SQL

o SQL dan Client/Server Computing Environment

UNIX-Based / Main Frame / Windows Based

PC (Windows Based) PC (Windows Based)

Command

Data

DATABASE

Application Application

Konsep Dasar

Page 13: TABK-08 - SQL

Web BrowserWeb Browser

Thin ClientThin Client

MartsMarts

InformationDelivery

InformationDelivery

WarehouseWarehouseWarehouseWarehouse

CRMCRMAppsApps

Mobile DevicesMobile Devices

ProjectProjectAppsApps

SRPSRPAppsApps

HRMSHRMSAppsApps

ERPERPAppsApps

• On-Line Transaction Processing (OLTP)

• Decision Support (DSS)

• On-Line Analitycal Processing (OLAP)

Konsep Dasar

Page 14: TABK-08 - SQL

Manipulasi Data

SELECT Menampilkan data dari database

INSERT Menambahkan data ke dalam database

DELETE Menghapus data dari database

UPDATE Mengubah data dalam database

Perintah-perintah

Page 15: TABK-08 - SQL

Definisi Data

CREATE TABLE Membuat table baru dalam database

DROP TABLE Menghapus table yang sudah ada dalam database

ALTER TABLE Mengubah struktur table yang dalam database

CREATE VIEW Membuat view baru adalam database

DROP VIEW Menghapus view dari database

CREATE INDEX Membuat index terhadap satu atau lebih column darisuatu table

DROP INDEX Menghapus index terhadap satu atau lebih column darisuatu table

CREATE DATABASE Membuat struktur suatu database

ALTER DATABASE Mengubah struktur suatu database

DROP DATABASE Menghapus struktur database beserta isinya

Perintah-perintah

Page 16: TABK-08 - SQL

Perintah-perintahPengendalian Akses

GRANT Memberi ijin akses terhadap user atas suatukegiatan dalam database

REVOKE Mencabut ijin akses terhadap user atas suatukegiatan dalam database

PengendalianTransaksiCOMMIT Menyetujui suatu perubahan/penambahan suatu

dataROLLBACK Membatalkan suatu perubahan/penambahan

suatu dataSET TRANSACTION Memabatasi karateristik suatu transaksi dalam

database

Page 17: TABK-08 - SQL

Metode Akses

Command Line :l SQL Plusl pSQLl mSQL

Click and Dragl MS-Accessl Oracle Browser / Query Builderl MS-Excel

Page 18: TABK-08 - SQL

Metode Akses : Protocol

Native Connection

ODBC (Open Database Connectivity)

Page 19: TABK-08 - SQL

Metode Akses : Command Line

Page 20: TABK-08 - SQL

Metode Akses : Click & Drag

Page 21: TABK-08 - SQL

Perintah : DESCRIBEKegunaan :l Menampilkan struktur sebuah table

Struktur Perintah :SQL> DESC[RIBE] {[schema.]object[@database_link_name]}

Page 22: TABK-08 - SQL

Perintah : DESCRIBEContoh :

SQL> DESC empName Null? Type------------------------------- -------- ----EMPNO NOT NULL NUMBER(4)ENAME VARCHAR2(10)JOB VARCHAR2(9)MGR NUMBER(4)HIREDATE DATESAL NUMBER(7,2)COMM NUMBER(7,2)DEPTNO NUMBER(2)

Page 23: TABK-08 - SQL

Perintah : SELECTStruktur Perintah :

SELECT [ALL | DISTINCT]{ * | [[user.]table.column |expression, ...]}

FROM table_name [, table_2][WHERE condition]

Page 24: TABK-08 - SQL

Perintah : SELECTQuery Sederhana

menampilkan seluruh data dalam table EMP :SQL> select * from emp;menampilkan column NO dan NAMA KARYAWAN :SQL> select empno,ename

from emp;

Page 25: TABK-08 - SQL

Perintah : SELECTQuery dengan operator

l = Equal tol != or <> Not equal tol > Greater than (>= inclusive)l < Less than (<= inclusive)l NOT - Produces the inverse of the operator.l LIKE - Searches for columns which match the specified pattern.

Wild card characters are {%} for any number of characters and {_} (underscore) for any one character.

l IS NULL - Column does not contain a value. l IN (list) - Any member of the value list.l BETWEEN V1 AND V2 - Satisfied if value is greater than or

equal to V1 and less than or equal to V2.

Page 26: TABK-08 - SQL

Perintah : SELECTQuery dengan Kondisi dan Operator

SQL> select * from empwhere empno =‘7369’;

SQL> select * from empwhere ename like ‘SMITH’;

SQL> select * from empwhere ename like ‘KING%’;

SQL> select * from empwhere ename not like ‘KING%’

Page 27: TABK-08 - SQL

Perintah : SELECTQuery dengan Kondisi dan Operator

SQL> select * from empwhere sal is null;

SQL> select * from empwhere job in

(‘CLERK’,’SALESMAN’);SQL> select * from emp

where ename like ‘KING%’SQL> select * from emp

where sal between 1000 and 2000

Page 28: TABK-08 - SQL

Perintah : SELECTQuery dengan Fungsi

l SUM : menghitung jumlah suatu columnl COUNT : menghitung recordl AVG : menghitung nilai rata-ratal MAX : menghitung nilai terbesar suatu columnl MIN : menghitung nilai terkecil suatu columnl STDDEV : menghitung standar deviasil NVL : mengubah nilai NULL menjadi sesuatu

Page 29: TABK-08 - SQL

Perintah : SELECTQuery dengan Fungsi

SQL> select sum(nvl(sal,0))from emp;

SQL> select max(nvl(sal,0)) from emp

SQL> select count(*)from emp;

Page 30: TABK-08 - SQL

Perintah : SELECTQuery dengan Fungsi

SQL> select sum(nvl(sal,0))from emp

where job=‘CLERK’;SQL> select count(*)

from empwhere job=‘CLERK’;

Page 31: TABK-08 - SQL

Perintah : SELECTQuery dengan Fungsi

SQL> select count(*),empnofrom emp

group by empnohaving count(*) > 1;

Page 32: TABK-08 - SQL

Perintah : SELECTQuery dengan EQUI-JOIN (INNER-JOIN)

SQL>SELECT A.DEPTNO, DNAME, ENAMEFROM DEPT A, EMPWHERE A.DEPTNO = EMP.DEPTNO;

Page 33: TABK-08 - SQL

Perintah : SELECTQuery dengan OUTER-JOIN

SQL>SELECT A.DEPTNO, DNAME, ENAMEFROM DEPT A, EMPWHERE A.DEPTNO(+) = EMP.DEPTNO;

Page 34: TABK-08 - SQL

Perintah : UPDATE

Untuk mengubah data (record) dalam suatu tableStruktur perintah :UPDATE table_name SET column_name = expression[, column_name = expression, ...][WHERE condition_clause];

Page 35: TABK-08 - SQL

Perintah : UPDATE

SQL>UPDATE EMPSET ENAME = ‘Black’,

SAL = 850.00WHERE EMPNO = 7701;

SQL>UPDATE EMPSET MGR = 7654WHERE ENAME LIKE ‘_LA%’;

Page 36: TABK-08 - SQL

Perintah : DELETE

Untuk menghapus data (record) dalam suatu tableStruktur perintah :

DELETE [FROM] table_name[WHERE condition_clause];

Page 37: TABK-08 - SQL

Perintah : DELETE

SQL> DELETE empWHERE ename like ‘KING%’;

SQL> DELETE empWHERE comm is null

AND sal is null;

Page 38: TABK-08 - SQL

Perintah : CREATE TABLE

Untuk membuat tableStruktur perintah :

CREATE TABLE table_name(field_name1 datatype(9),…..field_name1 datatype(9))

Page 39: TABK-08 - SQL

Perintah : CREATE TABLESQL> CREATE TABLE product

(product_id char(3),product_name varchar2(25),product_price number(14))

Page 40: TABK-08 - SQL

Perintah : CREATE TABLESQL> CREATE TABLE origin_table_name

AS SELECT field_nameFROM destination_table_name

SQL> CREATE TABLE product_historyAS SELECT product_id, product_nameFROM product

Page 41: TABK-08 - SQL

Perintah : DROP TABLE

Untuk menghapus tableStruktur perintah :

SQL> DROP TABLE table_name

Page 42: TABK-08 - SQL

Metode Akses : Click & Drag

Deskripsi Tabel

Table2 yg ada di database ini.

Page 43: TABK-08 - SQL

Join beberapa tabel untuk mencari data dalam range waktu tertentu

Garis ini menunjukkan relationyg dibuat antar table

Klik disini untuk menjalankan query

Page 44: TABK-08 - SQL

Tampilan SQL statement: Join beberapa tabel untuk mencari data dalam range waktu tertentu

Ms Access dapat pula membuat perintah SQL dalam bentuk statement.

Page 45: TABK-08 - SQL

Output dari Join beberapa tabel untuk mencari data dalam range waktu tertentu

Jumlah record

Page 46: TABK-08 - SQL

Membuat Query Subtotal

Virtual field yg diberi nama sub total

Page 47: TABK-08 - SQL

SQL statement dari query subtotal

Page 48: TABK-08 - SQL

Output query subtotal

Page 49: TABK-08 - SQL

Query Builder

Login Query SederhanaQuery dengan KondisiQuery dengan FungsiQuery dengan dua atau lebih table

Page 50: TABK-08 - SQL

Query Builder

Login ke Query Builder

Page 51: TABK-08 - SQL

Query BuilderCreate New Query

Page 52: TABK-08 - SQL

Query BuilderPilih Field yang akan ditampilkan

Page 53: TABK-08 - SQL

Query BuilderPilih Query è Execute

Page 54: TABK-08 - SQL

Query BuilderHasil Query

Page 55: TABK-08 - SQL

Query BuilderQuery dengan Kondisi

Letakkan kondisi di sini

Page 56: TABK-08 - SQL

Query BuilderQuery dengan Fungsi

l SUM : menghitung jumlah suatu columnl COUNT : menghitung recordl AVG : menghitung nilai rata-ratal MAX : menghitung nilai terbesar suatu columnl MIN : menghitung nilai terkecil suatu columnl STDDEV : menghitung standar deviasil NVL : mengubah nilai NULL menjadi sesuatul ABS : mencari nilai mutlak

Page 57: TABK-08 - SQL

Query BuilderQuery dengan Fungsi Result à Define ColumnTentukan FunctionTentukan ColumnExecute Query

Page 58: TABK-08 - SQL

Query BuilderEqui-Join

Page 59: TABK-08 - SQL

Penggunaan nama perusahaan dan/atau merk dagang beberapa perusahaan dalam tulisan ini hanyalah untuk kepentingan identifikasi bukan suatu bentukpengabsahan atau pernyataan afiliasi. Semua merk dagang yang disebutkan dalam tulisan ini beserta hak ciptanya adalah milik perusahaan yang Bersangkutan