tabk-08 - sql
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