sql (structured query language)

of 60 /60
SQL (Structured Query Language)

Upload: tanner-mcclure

Post on 03-Jan-2016

117 views

Category:

Documents


5 download

DESCRIPTION

SQL (Structured Query Language). Pengantar Database. Data Nilai/ value yang turut merepresentasikan deskripsi dari suatu objek atau kejadian (event) Informasi - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SQL  (Structured Query Language)

SQL (Structured Query

Language)

Page 2: SQL  (Structured Query Language)

Data Nilai/value yang turut merepresentasikan deskripsi dari suatu objek atau kejadian (event)

Informasi Merupakan hasil dari pengolahan data dalam suatu bentuk yang

lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian-kejadian (event) yang nyata (fact) yang digunakan untuk pengambilan keputusan.

Sistem Informasi Suatu sistem dalam suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian untuk mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk pengambilan keputusan

2

Pengantar Database

Page 3: SQL  (Structured Query Language)

Database Kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu.

Mengapa Diperlukan Database ◦ Salah satu komponen penting dalam sistem informasi,

karena merupakan dasar dalam menyediakan informasi ◦ Menentukan kualitas informasi : akurat, tepat pada

waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.

◦ Mengurangi duplikasi data (data redudancy) ◦ Hubungan data dapat ditingkatkan (data relatability) ◦ Mengurangi pemborosan tempat simpanan luar

3

Database

Page 4: SQL  (Structured Query Language)

4

Jenjang Data

Characters : merupakan bagian data yang terkecil

Field : merepresentasikan suatu atribut dari record yang menunjukkan suatu item dari data

Record : Kumpulan dari field membentuk suatu record.

File: File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis

Database : Kumpulan dari file / tabel membentuk suatu database.

Page 5: SQL  (Structured Query Language)

Relational Database Relational DataBase

Bentuk DB yang paling Fleksibel dan terbuka. Biasanya digunakan pada local saja.

Mempunyai 2 karakteristik :◦File dalam bentuk table yang persis dengan

file urut.◦Hubungan antar record didasarkan pada nilai

dari field kunci, bukan berdasarkan alamat didalam record seperti pada model hirarki dan jaringan.

Page 6: SQL  (Structured Query Language)

Sebuah basisdata yang didasarkan pada perubahan-perubahan kecil pada basisdata

Fungsi utama :◦ Tambah data◦ Edit data◦ Hapus data

Basisdata client-server◦ Melayani pemakai dalam perusahaan tunggal.◦ Basis data ini untuk jumlah pemakai dapat diatur.

Basisdata OLTP◦ Jumlah pemakai internet tidak dapat diatur.

BASISDATA TRANSAKSIONAL

Page 7: SQL  (Structured Query Language)

What is SQL?

Pengenalan SQL

– Ketika seorang user menginginkan untuk memperoleh beberapa informasi dari sebuah file database, dia bisa menggunakan sebuah query.

– Sebuah query adalah sebuah permintaan user untuk memperoleh data atau informasi pada kondisi tertentu.

– SQL adalah sebuah bahasa query yang mengijinkan user menetapkan kondisinya.

Page 8: SQL  (Structured Query Language)

Basic structure of an SQL query

GeneralStructure

SELECT, ALL / DISTINCT, *,AS, FROM, WHERE

Comparison IN, BETWEEN, LIKE "% _"

Grouping GROUP BY, HAVING,COUNT( ), SUM( ), AVG( ), MAX( ), MIN( )

Display Order ORDER BY, ASC / DESC

LogicalOperators

AND, OR, NOT

Output INTO TABLE / CURSORTO FILE [ADDITIVE], TO PRINTER, TO SCREEN

Union UNION

Page 9: SQL  (Structured Query Language)

Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pengertian Query

Page 10: SQL  (Structured Query Language)

SQL adalah bahasa query baku untuk DBMS SQL diambil sebagai bakuan sejak tahun 1992 Awalnya diterapkan pada DBMS besar seperti

Oracle dan Informix, sekarang juga pada DBMS berbasis PC seperti dBASE dan FoxPro.

SQL bersifat sebagai bahasa tingkat tinggi (high level). Pemakai hanya menyebutkan hasil yang diinginkan dan optimasi pelaksanaan query dilakukan oleh DBMS.

SQL (1)

Page 11: SQL  (Structured Query Language)

Bahasa SQL terbagi dalam dua bagian besar, yaitu: DDL (Data Definition Language) dan DML (Data Manipulation Language)

DDL mendefinisikan struktur database, seperti pembuatan database, pembuatan tabel dsbnya. Contoh: CREATE DATABASE dan CREATE TABLE.

DML merupakan bagian untuk memanipulasi basis data seperti: pengaksesan data, penghapusan, penambahan dan pengubahan data. DML juga dapat digunakan untuk melakukan komputasi data. Contoh: INSERT, DELETE, dan UPDATE.

SQL (2)

Page 12: SQL  (Structured Query Language)

Bentuk Umum

SQL(3)

SELECT [ALL / DISTINCT] expr1 [AS col1], expr2 [AS col2] ;

FROM tablename WHERE condition

SELECT ...... FROM ...... WHERE ......

Page 13: SQL  (Structured Query Language)

SQL(4)

Tabel SUPPLIER Tabel PARTS

Page 14: SQL  (Structured Query Language)

SELECT CITYFROM PARTS

SQL(5) : SELECT

Page 15: SQL  (Structured Query Language)

SELECT DISTINCT CITYFROM PARTS

SQL(6):SELECT

Page 16: SQL  (Structured Query Language)

Klausa WHERE digunakan untuk menentuka predikat atau kriteria yang harus di penuhi suatu relasi sebagai hasil query.

Klausa ini bersifat opsional, yaitu dapat menggunakan klausa WHERE atau tidak.

Jika tidak menggunakan klausa WHERE, maka query dilakukan untuk semua tuples pada tabel yang disebutkan pada klausa FROM.

SQL(7):WHERE

Page 17: SQL  (Structured Query Language)

SELECT * FROM SUPPLIER WHERE STATUS = 20

SQL(8):WHERE

Page 18: SQL  (Structured Query Language)

SELECT * FROM SUPPLIER WHERE CITY = ‘Semarang’

SQL(9):WHERE

Page 19: SQL  (Structured Query Language)

Predikat pada klausa WHERE dapat dikombinasikan dengan operator relasi lainnya, seperti <, <=, >, >=, <>, dan operator logika, seperti AND, OR, NOT

SQL(10):WHERE

SELECT * FROM SUPPLIER WHERE STATUS = 30 AND CITY =

‘Yogyakarta’

Page 20: SQL  (Structured Query Language)

Klausa WHERE dapat digunakan untuk melakukan query dengan predikat yang berbentuk suatu range nilai tertentu, yaitu dengan menambahkan klausa BETWEEN.

SQL(11):WHERE

SELECT * FROM SUPPLIER WHERE STATUS BETWEEN 20

AND 30

Page 21: SQL  (Structured Query Language)

Untuk atribut yang bertipe string dapat dilakukan suatu pencarian dengan pola tertentu, yaitu dengan memanfaatkan karakter ‘%’ atau ‘_’ (underscore) dan menambahkan klausa LIKE pada klausa WHERE :

‘%’ untuk semua substring ‘_’ untuk semua karakter pada posisi yang

sesuai.

SQL(12):WHERE

Page 22: SQL  (Structured Query Language)

SELECT * FROM SUPPLIER WHERE STATUS LIKE ‘S%’

SQL(13):WHERE

Page 23: SQL  (Structured Query Language)

SELECT * FROM SUPPLIER WHERE STATUS LIKE ‘_o%’

SQL(14):WHERE

Page 24: SQL  (Structured Query Language)

Klausa FROM digunakan untuk menentukan tabel yang akan dijadikan sebagai sumber untuk pencarian data.

Dalam melakukan query tidak hanya terbatas pada satu tabel, tetapi sering kali dibutuhkan untuk merelasikan beberapa tabel sekaligus.

FROM(1)

Page 25: SQL  (Structured Query Language)

Menampilkan semua SUPPLIER yang melakukan SHIPMENT dengan jumlah kuantitasnya > 300

FROM(2)

SELECT * FROM SUPPLIER, SHIPMENT WHERE SUPPLIER.SCODE=SHIPMENT.SCODE AND SHIPMENT.QTY > 300

Page 26: SQL  (Structured Query Language)

SELECT SU.SNAME FROM SUPPLIER SU, SHIPMENT SHWHERE SU.SCODE=SH.SCODE AND SH.QTY > 300

FROM(3)

Page 27: SQL  (Structured Query Language)

SELECT SU.SNAME AS NAMA_SUPPLIERFROM SUPPLIER SU, SHIPMENT SHWHERE SU.SCODE=SH.SCODE AND SH.QTY > 300

FROM(4)

Page 28: SQL  (Structured Query Language)

Untuk menampilkan hasil query berdasarkan urutan atribut tertentu, maka dapat dilakukan dengan menambahkan klausa ORDER BY.

Default yang diberikan klausa ORDER BY adalah urutan secara menial (ASC), tetapi untuk merubah menjadi urutan secara menurun, dapat dilakukan dengan menambahkan klausa DESC setelah nama atribut.

Pengurutan Hasil Query(1)

Page 29: SQL  (Structured Query Language)

SELECT *FROM SUPPLIERORDER BY STATUS DESC

Pengurutan Hasil Query(2)

Page 30: SQL  (Structured Query Language)

SELECT SNAMEFROM SUPPLIER WHERE STATUS = 30 ORDER BY SNAME DESC

Pengurutan Hasil Query(3)

Page 31: SQL  (Structured Query Language)

Dalam melakukan suatu query, terkadang dibutuhkan untuk melakukan perhitungan jumlah tuples, total nilai suatu atribut, nilai atribut terbesar atau terkecil, dan menentukan nilai rata-rata suatu atribut.

Untuk memenuhi kondisi-kondisi di atas, SQL sebagai bahasa query menyediakan fungsi-fungsi agregasi.

Fungsi Agregasi(1)

Page 32: SQL  (Structured Query Language)

AVG Untuk memperoleh nilai rata-rata suatu atribut

yang bertipe numerik. MIN Untuk memperoleh nilai terkecil suatu atribut

yang bertipe numerik. MAX Untuk memperoleh nilai terbesar suatu atribut

yang bertipe numerik. SUM Untuk memperoleh nilai total suatu atribut yang

bertipe numerik. COUNT Untuk memperoleh nilai banyaknya tuples.

Fungsi Agregasi(2)

Page 33: SQL  (Structured Query Language)

Menghitung banyaknya tuples pada tabel SHIPMENT

Perintah SQL-nya adalah :SELECT COUNT(*) FROM SHIPMENT

Fungsi Agregasi(3)

Page 34: SQL  (Structured Query Language)

Menampilkan total berat (WEIGHT) untuk semua PARTS

Perintah SQL-nya adalah :SELECT SUM(WEIGHT) FROM PARTS

Fungsi Agregasi(4)

Page 35: SQL  (Structured Query Language)

Menghitung rata-rata kuantitas (QTY) untuk semua SHIPMENT

Perintah SQL-nya adalah :SELECT AVG(QTY) FROM SHIPMENT

Fungsi Agregasi(5)

Page 36: SQL  (Structured Query Language)

Menentukan nilai STATUS yang terbesar untuk SUPPLIER

Perintah SQL-nya adalah :SELECT MAX(STATUS) FROM SUPPLIER

Fungsi Agregasi(6)

Page 37: SQL  (Structured Query Language)

Menentukan nilai kuantitas (QTY) yang terkecil untuk SHIPMENT

Perintah SQL-nya adalah :SELECT MIN(QTY) FROM SHIPMENT

Fungsi Agregasi(7)

Page 38: SQL  (Structured Query Language)

Fungsi agregasi dapat juga dikombinasikan dengan klausa GROUP BY, untuk menyatakan pengelompokan tuple hasil query.

Fungsi Agregasi(8)

Page 39: SQL  (Structured Query Language)

Menampilkan banyaknya tuple dan kuantitas (QTY) untuk SHIPMENT yang dikelompokan berdasarkan PARTS (PCODE) dengan urutan secara menaik:

Fungsi Agregasi(9)

SELECT PCODE, COUNT(*), SUM(QTY)

FROM SHIPMENT GROUP BY PCODE ORDER BY PCODE

Page 40: SQL  (Structured Query Language)

Fungsi Agregasi(10)

Page 41: SQL  (Structured Query Language)

Nilai NULL pada suatu query dapat diperlakukan secara khusus, yaitu dapat juga diperlakukan untuk query menggunakan ekspresi SQL.

Misalkan, menampilkan atribut CITY dari tabel SUPPLIER yang masih kosong :

SELECT DISTINCT SCODE FROM SUPPLIER WHERE CITY is NULL

Nilai NULL (1)

Page 42: SQL  (Structured Query Language)

SELECT COUNT(*) FROM SUPPLIER WHERE STATUS is NOT NULL

Nilai NULL (2)

Page 43: SQL  (Structured Query Language)

Operasi-operasi manipulasi data terdiri dari penambahan tuple baru, pengubahan nilai atribut, dan penghapusan tuple pada suatu tabel.

SQL juga dilengkapi dengan sejumlah ekspresi dan perintah untuk melakukan manipulasi data.

Manipulasi Data (DML)

Page 44: SQL  (Structured Query Language)

Penambahan Tuple (1)

INSERT INTO nAAAt ,...,, 21

VALUES nVVV ,...,, 21

Misalkan, untuk menambahkan tuple pada tabel SUPPLIER

Perintah SQL-nya adalah :INSERT INTO SUPPLIER VALUES ('S6','YOSHINTA',20,'Semarang')

Tuple adalah terminologi relasional formal untuk baris atau record. Satu tuple = satu baris = satu record.

Page 45: SQL  (Structured Query Language)

Penambahan Tuple (2)

Page 46: SQL  (Structured Query Language)

Untuk nama atribut yang tidak disebutkan pada perintah INSERT, atribut-atribut tersebut akan di isi dengan nilai NULL

Penambahan Tuple (3)

INSERT INTO SUPPLIER (SCODE,SNAME,STATUS)VALUES ('S7','MIRANTHI',20)

Page 47: SQL  (Structured Query Language)

Penambahan Tuple (4)

Page 48: SQL  (Structured Query Language)

Update tSet assignment[Where P]

Pengubahan Tuple(5)

UPDATE SUPPLIER SET CITY = 'Purwodadi'WHERE SCODE = ‘S6’

Page 49: SQL  (Structured Query Language)

Pengubahan Tuple(6)

Page 50: SQL  (Structured Query Language)

Delete From T[Where P]

Penghapusan Tuple(1)

Misalkan, untuk menghapus SUPPLIER dengan nama YOSHINTA :Perintah SQL-nya adalah :

DELETE FROM SUPPLIER WHERE SNAME = ‘YOSHINTA’

Page 51: SQL  (Structured Query Language)

DDL untuk menspesifikasi skema basis data. DDL men-generate table-table yang

tersimpan dalam basis data pada data dictionary.

Data dictionary berisi metadata (data tentang data)◦ Database schema◦ Data storage and definition language◦ Bahasa yang digunakan dalam menspesifikasi

struktur penyimpanan dan metode akses pada sistem basis data

DDL (Data Definition Language)

Page 52: SQL  (Structured Query Language)

DML untuk mengekspresikan query basis data. Bahasa yang digunakan untuk pengaksesan dan

manipulasi data. Disebut juga dengan query basis data

DML terdiri dari 2 jenis :◦ High Level (Non Procedural)

user menentukan data apa yang dibutuhkan namun tanpa menyebutkan bagaimana mendapatkan data tersebut.

◦ Low Level (Procedural)user menentukan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut.

DML (Data Manipulation Language)

Page 53: SQL  (Structured Query Language)

Perintah SQL untuk definisi data:◦ CREATE untuk membentuk basis data, table atau

index◦ ALTER untuk mengubah struktur table◦ DROP untuk menghapus basis data, table atau

index CREATE DATABASE

◦ Untuk membentuk basis data◦ Sintaks: CREATE DATABASE nama_database◦ Contoh: CREATE DATABASE COMPANY

CREATE TABLE◦ Untuk membentuk table dari basis data◦ Untuk menyebutkan spesifikasi dan batasan

atribut

DDL (1)

Page 54: SQL  (Structured Query Language)

Untuk domain tipe data meliputi sebagai berikut : char(n) Tipe string dengan panjang tetap sebesar n karakter (jika

panjang karakter yang diisikan kurang dari n, maka sisanya di isi dengan spasi)

varchar(n) Tipe string dengan panjang fleksibel, tetapi maksimal

sebanyak n karakter. int atau integer Tipe integer 2 byte. Smallint Tipe integer 1 byte. real, double, precision Tipe pecahan decimal floating point. float(n) Tipe pecahan decimal floating point dengan presisi n digit. date Tipe tanggal (terdiri 4 digit tahun, bulan, dan tanggal). time Tipe waktu (terdiri dari jam, menit, dan detik)

DDL(2)

Page 55: SQL  (Structured Query Language)

Misalkan, untuk membuat tabel SUPPLIER : Perintah SQL-nya adalah :

CREATE TABLE SUPPLIER( SCODE char(3), SNAME varchar(20), STATUS int, CITY varchar (15))

DDL(3)

Page 56: SQL  (Structured Query Language)

CREATE TABLE SUPPLIER( SCODE char(3) NOT NULL, SNAME varchar(20), STATUS int, CITY varchar (15), PRIMARY KEY (SCODE))

DDL(4)

Page 57: SQL  (Structured Query Language)

Jika suatu tabel memiliki indek secara komposit (gabungan), maka dilakukan dengan cara menuliskan semua atribut pada kalusa PRIMARY KEY

DDL(5)

CREATE TABLE SUPPLIER( SCODE char(3) NOT NULL, SNAME varchar(20) NOT

NULL, STATUS int, CITY varchar (15),PRIMARY KEY

(SCODE,SNAME))

Page 58: SQL  (Structured Query Language)

Keberadaan tabel yang telah dibuat dapat dibatalkan atau di hapus dengan menggunakan perintah SQL :

DROP TABLE t

DDL(6)

DROP TABLE SUPPLIER

Page 59: SQL  (Structured Query Language)

ARSITEKTUR APLIKASI

Two-tier : client menggunakan sql server untuk komunikasi dengan basisdata.

Three-tier : pada aplikasi web dan aplikasi menggunakan “middleware”

Page 60: SQL  (Structured Query Language)

Contoh Data yang penggunaannya menggunakan sistem model data hirarki, jaringan dan relasional.

Contoh aplikasi yg two tier dan three tier