tabk-08 - sql

Post on 06-Mar-2016

245 Views

Category:

Documents

13 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

SQL sebagaiAlat Bantu Audit

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.

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

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

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)

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

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

Konsep Dasar

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

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

Konsep Dasar

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

Nilai NULLl Nilai yang belum diketahui dengan pasti

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

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

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

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

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

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

Metode Akses

Command Line :l SQL Plusl pSQLl mSQL

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

Metode Akses : Protocol

Native Connection

ODBC (Open Database Connectivity)

Metode Akses : Command Line

Metode Akses : Click & Drag

Perintah : DESCRIBEKegunaan :l Menampilkan struktur sebuah table

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

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)

Perintah : SELECTStruktur Perintah :

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

FROM table_name [, table_2][WHERE condition]

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;

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.

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%’

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

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

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;

Perintah : SELECTQuery dengan Fungsi

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

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

from empwhere job=‘CLERK’;

Perintah : SELECTQuery dengan Fungsi

SQL> select count(*),empnofrom emp

group by empnohaving count(*) > 1;

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

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

Perintah : SELECTQuery dengan OUTER-JOIN

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

Perintah : UPDATE

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

Perintah : UPDATE

SQL>UPDATE EMPSET ENAME = ‘Black’,

SAL = 850.00WHERE EMPNO = 7701;

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

Perintah : DELETE

Untuk menghapus data (record) dalam suatu tableStruktur perintah :

DELETE [FROM] table_name[WHERE condition_clause];

Perintah : DELETE

SQL> DELETE empWHERE ename like ‘KING%’;

SQL> DELETE empWHERE comm is null

AND sal is null;

Perintah : CREATE TABLE

Untuk membuat tableStruktur perintah :

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

Perintah : CREATE TABLESQL> CREATE TABLE product

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

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

Perintah : DROP TABLE

Untuk menghapus tableStruktur perintah :

SQL> DROP TABLE table_name

Metode Akses : Click & Drag

Deskripsi Tabel

Table2 yg ada di database ini.

Join beberapa tabel untuk mencari data dalam range waktu tertentu

Garis ini menunjukkan relationyg dibuat antar table

Klik disini untuk menjalankan query

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

Ms Access dapat pula membuat perintah SQL dalam bentuk statement.

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

Jumlah record

Membuat Query Subtotal

Virtual field yg diberi nama sub total

SQL statement dari query subtotal

Output query subtotal

Query Builder

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

Query Builder

Login ke Query Builder

Query BuilderCreate New Query

Query BuilderPilih Field yang akan ditampilkan

Query BuilderPilih Query è Execute

Query BuilderHasil Query

Query BuilderQuery dengan Kondisi

Letakkan kondisi di sini

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

Query BuilderQuery dengan Fungsi Result à Define ColumnTentukan FunctionTentukan ColumnExecute Query

Query BuilderEqui-Join

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

top related