Desain Database
SQL
3
Apa itu SQL?
• SQL singkatan dari Structured Query Language
• SQL merupakan bahasa komputer standar ANSI (American National
Standards Institute). Dengan SQL kita dapat
•Membuat basis data dan struktur tabel
•Input, update, dan delete data dari tabel
•Membuat query sederhana dan kompleks SQL
• SQL sering juga disebut query
• SQL tersedia dalam banyak versi Ms.Access, DB2, MS SQL
server, Oracle, MySQL, Sybase, BigQuery, dll.
Jenis Bahasa SQL :
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)
3. Data Control Language (DCL)
4. Transaction Language (TSL)
5
SQL Data Definition Language (DDL)
Digunakan untuk mendefinisikan (membuat,menghapus,mengubah) objek
dalam database.
• CREATE
• DROP
• ALTER
6
1. CREATE
• Digunakan untuk membuat database dan objek-objek di dalam database
Membuat database
Create Database Namadatabase
Contoh
Create Database Kepegawaian
7
Mengaktifkan database yang telah dibuat
Use Namadatabase
Contoh
Use Kepegawaian
Membuat Table
CREATE TABLE Kepegawaian
(
NIP char (4) Primary Key,
Nama varchar(20),
Usia Int(2)
)
8
2. DROP
• Digunakan untuk menghapus database dan objek-objek
di dalam database
Menghapus database dan tabel
Drop Database Namadatabase
Contoh
Drop Database Kepegawaian
Drop Table Namatable
Contoh
Drop Table pegawai
9
3. ALTER
• Berfungsi untuk memodifikasi tabel
- menambah kolom/field
- menghapus kolom/field
- membuat primary key atau foreign key
10
Menambah Kolom/Field
Alter Table NamaTable add Namafield typedata (size)
Contoh
Alter Table Pegawai add status varchar (5)
Merubah Kolom/Field
Alter Table NamaTable Alter Column Namafield typedata (size)
Contoh
Alter Table Pegawai Alter Column status varchar (10)
11
Menghapus Kolom/Field
Alter Table NamaTable drop Namafield
Contoh
Alter Table Pegawai drop status
Menambah Primary Key
Alter Table NamaTable add primary key (namafield)
Contoh
Alter Table departement add primary key (kd_depart)
12
SQL Data Manipulation Language (DML)
Berfungsi untuk memanipulasi data (menampilkan, menambahkan, dan
menghapus data)
• INSERT
• UPDATE
• DELETE
• SELECT
13
1. INSERT
Digunakan untuk Menambah Data dalam satu record
Insert Into NamaTable (namafield1,namafield2,…)
Values (‘nilaifield1’,’nilaifield2’,…)
Contoh
Insert Into pegawai (nip,nama) values (’01’,’andika’)
Atau bisa juga bila kita mengingat seluruh bentuk field dalam tabel
Insert Into namatable values (‘nilaifield1’,’nilaifield2’,…)
14
2. SELECT
Berfungsi untuk Menampilkan record data yang ada dalam table
Select * from namatabel
Contoh
Select * from pegawai
(menampilkan data di semua field yang ada dalam table pegawai)
Simbol * bermaksud ‘all’ atau ‘semua’, dan digunakan untuk mewakili semua atribut dalam satu tabel
15
Select namafield,namafield from namatabel
Contoh
Select nip,alamat from pegawai
Menampilkan sebagian field beserta recordnya yang ada
pada tabel
Select * from namatabel where namafield=‘nilaifield’
Contoh
Select * from pegawai where alamat=‘seutui’
Menampilkan baris record tertentu berdasarkan pilihan field
yang diberikan
16
Select distinct namafield from namatabel
Contoh
Select distinct alamat from pegawai
Menampilkan satu field beserta recordnya yang tidak akan
berulang
Baris-baris berulang (duplicate) tidak akan dipaparkan.
Sekiranya kita memilih lebih dari satu atribut ketika menggunakan
DISTINCT, hasilnya adalah gabungan atribut-atribut yang unik
17
Select distinct namafield1,namafield2 from namatabel
Contoh
Select distinct alamat,status from pegawai
Menampilkan beberapa field beserta recordnya yang sama tidak
akan berulang
satu baris nip [03] tidak dipaparkan kerana berulang
Duda
18
Select namafield ungkapan aritmatik from namatabel
Contoh
Select nama,gaji/2 from pegawai
Menggunakan Ungkapan Aritmatik dalam Pernyataan +, -, /, *
19
• Kita boleh menamakan semula suatu atribut (walaupun telah
mempunyai nama) dengan menggunakan AS
SELECT nama, gaji/2 AS gajisetengah FROM pegawai
20
• Kita dapat membuat dan mengubah judul field yang akan
di tampilkan
Select namafield As namafieldbaru from namatabel
Contoh
Select nama As namalengkap from pegawai
menampilkan nama dari tabel pegawai dimana field nama pada hasil SQL di
ubah menjadi namalengkap
21
Select namafield from namatabel where simbol perbandingan
Contoh
Select nama,gaji from pegawai where gaji > 1000000
Select nama,gaji from pegawai where gaji < 900000
Select nama,gaji from pegawai where gaji = 900000
Menggunakan Simbol perbandingan <, >, = untuk membuat
pemilihan
22
Select namafield1,namafield2 from namatabel where namafield1 operatorboolean
namafield2
Contoh
Select alamat,gaji from pegawai where alamat=‘seutui’ and gaji > 1000000
Select alamat,gaji from pegawai where alamat=‘prada’ Or gaji > 900000
Select * from pegawai where alamat=‘seutui’ Or alamat=‘prada’
Select * from pegawai where Not alamat=‘seutui’
Menggunakan operator Boolean Seperti And OR dan Not
23
Operator Logik Boolean
• Apabila AND digunakan, disemua syarat sebelum dan setelah AND
harus benar untuk suatu tuple dipilih
• Apabila OR digunakan, hanya salah satu syarat sebelum atau
sesudah OR harus benar ataupun keduanya benar untuk suatu
tuple dipilih
• Apabila NOT digunakan, yang bukan syarat yang akan di tampilkan
24
Select namafield from namatabel where namafield between nilai and nilai
Contoh
Select nama,gaji from pegawai where gaji between 850000 and 1000000
Jarak Nilai Sebagai Kriteria
Kita boleh mengunakan pernyataan BETWEEN
25
Select namafield from namatabel where namafield In (nilaifield1,nilaifield2)
Contoh
Select * from pegawai where alamat In (‘seutui’,’prada’)
Select nama,alamat from pegawai where alamat In (‘seutui’,’prada’)
Operator In
Pencocokan data kondisi pencarian dengan salah satu data yang ada pada
suatu daftar nilai
26
Select namafield from namatabel where namafield Like ‘%ekspresi%’
Contoh
Select * from pegawai where nama Like ‘%andi%’
(menampilkan semua kolom dari tabel pegawai yang namanya mengandung kata
andi)
Operator Like
-Untuk pencarian data
-Bekerja pada type data char, varchar, text
27
Fungsi Agregat
fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan
mengembalikan satu nilai sebagai output
SQL menyediakan 5 fungsi
AVG : Rata-rata
MIN : Minimum
MAX : Maksimum
SUM : PenJumlahan isi record
COUNT : menjumlahkan data
Select fungsi agregat SUM/AVG/MIN/MAX/COUNT (namafield) As namafieldbaru
from nama table
28
• Operasi MIN, MAX dan COUNT dapat dilakukan dalam atribut yang
mempunyai jenis data rentetan (string) seperti Char, Text, dan Varchar
• Operasi AVG dan SUM hanya boleh dilakukan keatas atribut-atribut yang
mempunyai jenis data numerik yang berjenis int, bigint, decimal, bit, numeric,
real, smallint, tinyint.
29
a) SUM  Penjumlahan dalam satu kolom
Select sum (tunjangan) As jlh_tunj from pegawai
Menampilkan jumlah keseluruhan dari tunjangan yang diberikan
30
b) Avg  menghitung nilai rata-rata dalam satu kolom
Select Avg (gaji) As rata_gaji from pegawai
31
c) Min  Untuk mencari atau menampilkan
nilai terendah
Select min (gaji) As Gaji_min from pegawai
(Menampilkan gaji terendah dari tabel pegawai)
Select min (gaji) As Gaji_min from pegawai where status=‘nikah’
(Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)
32
d) MAX  Untuk mencari atau menentukan nilai tinggi
Select max (gaji) As Gaji_max from pegawai
(Menampilkan gaji terbesar dari tabel pegawai)
Select max (gaji) As Gaji_max from pegawai where status=‘nikah’
(Menampilkan gaji terbesar dari tabel pegawai yang statusnya telah menikah)
33
e) COUNT  Menghitung jumlah record yang sesuai
dengan kondisi
Select count (nip) As jlh_peg from pegawai
(Menampilkan jumlah seluruh pegawai dari tabel pegawai)
Select count (nip) As jlh_peg from pegawai where status=‘nikah’
(Menampilkan jumlah seluruh pegawai dari tabel pegawai yang statusnya telah
menikah)
34
Select namafield1,namafield2 from namatabel Group by field pengacu
Contoh
Select jeniskelamin,count (*) as jumlah from mahasiswa group by jeniskelamin
Hasil
Pengelompokan Record (Group by)
Pada kondisi tertentu, sekumpulan record dapat dikelompokkan
berdasarkan satu atau lebih field yang terdapat pada sebuah tabel atau
query.
JenisKelamin jumlah
Laki-Laki 5
Perempuan 4
Pengurutan (Order by)
• Hasil dari query dapat di urutkan berdasarkan pada satu atau lebih kolom.
35
Select namafield1 from namatabel where kriteria
order by namafield
Select nim,nama where jeniskelamin=’perempuan’
order by nama
Select nim,nama where jeniskelamin=’perempuan’
order by nama asc
Select nim,nama where jeniskelamin=’perempuan’
order by nama desc
nim nama
2008 Ana
2009 Devi
2010 July
2011 Kiki
36
3. UPDATE
Berfungsi untuk mengubah satu atau lebih data yang terdapat pada
satu atau lebih kolom tabel
Update namatabel set namafield=nilai where kondisi
Contoh
Update pegawai set alamat=‘pango’ where nip=’01’
37
Menukar record dalam Tabel
Update namatabel set namafield=nilai
Contoh
Update pegawai set gaji=gaji+12000
pernyataan diatas akan menambah ‘gaji’ yang awal dengan +12000 dalam tabel
pegawai
38
4. DELETE
Berfungsi untuk menghapus satu atau beberapa record dalam suatu
tabel.
Delete from namatabel where kondisi
Contoh
Delete from pegawai where nip=’01’

SQL.pdf

  • 1.
  • 2.
  • 3.
    3 Apa itu SQL? •SQL singkatan dari Structured Query Language • SQL merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat •Membuat basis data dan struktur tabel •Input, update, dan delete data dari tabel •Membuat query sederhana dan kompleks SQL • SQL sering juga disebut query • SQL tersedia dalam banyak versi Ms.Access, DB2, MS SQL server, Oracle, MySQL, Sybase, BigQuery, dll.
  • 4.
    Jenis Bahasa SQL: 1. Data Definition Language (DDL) 2. Data Manipulation Language (DML) 3. Data Control Language (DCL) 4. Transaction Language (TSL)
  • 5.
    5 SQL Data DefinitionLanguage (DDL) Digunakan untuk mendefinisikan (membuat,menghapus,mengubah) objek dalam database. • CREATE • DROP • ALTER
  • 6.
    6 1. CREATE • Digunakanuntuk membuat database dan objek-objek di dalam database Membuat database Create Database Namadatabase Contoh Create Database Kepegawaian
  • 7.
    7 Mengaktifkan database yangtelah dibuat Use Namadatabase Contoh Use Kepegawaian Membuat Table CREATE TABLE Kepegawaian ( NIP char (4) Primary Key, Nama varchar(20), Usia Int(2) )
  • 8.
    8 2. DROP • Digunakanuntuk menghapus database dan objek-objek di dalam database Menghapus database dan tabel Drop Database Namadatabase Contoh Drop Database Kepegawaian Drop Table Namatable Contoh Drop Table pegawai
  • 9.
    9 3. ALTER • Berfungsiuntuk memodifikasi tabel - menambah kolom/field - menghapus kolom/field - membuat primary key atau foreign key
  • 10.
    10 Menambah Kolom/Field Alter TableNamaTable add Namafield typedata (size) Contoh Alter Table Pegawai add status varchar (5) Merubah Kolom/Field Alter Table NamaTable Alter Column Namafield typedata (size) Contoh Alter Table Pegawai Alter Column status varchar (10)
  • 11.
    11 Menghapus Kolom/Field Alter TableNamaTable drop Namafield Contoh Alter Table Pegawai drop status Menambah Primary Key Alter Table NamaTable add primary key (namafield) Contoh Alter Table departement add primary key (kd_depart)
  • 12.
    12 SQL Data ManipulationLanguage (DML) Berfungsi untuk memanipulasi data (menampilkan, menambahkan, dan menghapus data) • INSERT • UPDATE • DELETE • SELECT
  • 13.
    13 1. INSERT Digunakan untukMenambah Data dalam satu record Insert Into NamaTable (namafield1,namafield2,…) Values (‘nilaifield1’,’nilaifield2’,…) Contoh Insert Into pegawai (nip,nama) values (’01’,’andika’) Atau bisa juga bila kita mengingat seluruh bentuk field dalam tabel Insert Into namatable values (‘nilaifield1’,’nilaifield2’,…)
  • 14.
    14 2. SELECT Berfungsi untukMenampilkan record data yang ada dalam table Select * from namatabel Contoh Select * from pegawai (menampilkan data di semua field yang ada dalam table pegawai) Simbol * bermaksud ‘all’ atau ‘semua’, dan digunakan untuk mewakili semua atribut dalam satu tabel
  • 15.
    15 Select namafield,namafield fromnamatabel Contoh Select nip,alamat from pegawai Menampilkan sebagian field beserta recordnya yang ada pada tabel Select * from namatabel where namafield=‘nilaifield’ Contoh Select * from pegawai where alamat=‘seutui’ Menampilkan baris record tertentu berdasarkan pilihan field yang diberikan
  • 16.
    16 Select distinct namafieldfrom namatabel Contoh Select distinct alamat from pegawai Menampilkan satu field beserta recordnya yang tidak akan berulang Baris-baris berulang (duplicate) tidak akan dipaparkan. Sekiranya kita memilih lebih dari satu atribut ketika menggunakan DISTINCT, hasilnya adalah gabungan atribut-atribut yang unik
  • 17.
    17 Select distinct namafield1,namafield2from namatabel Contoh Select distinct alamat,status from pegawai Menampilkan beberapa field beserta recordnya yang sama tidak akan berulang satu baris nip [03] tidak dipaparkan kerana berulang Duda
  • 18.
    18 Select namafield ungkapanaritmatik from namatabel Contoh Select nama,gaji/2 from pegawai Menggunakan Ungkapan Aritmatik dalam Pernyataan +, -, /, *
  • 19.
    19 • Kita bolehmenamakan semula suatu atribut (walaupun telah mempunyai nama) dengan menggunakan AS SELECT nama, gaji/2 AS gajisetengah FROM pegawai
  • 20.
    20 • Kita dapatmembuat dan mengubah judul field yang akan di tampilkan Select namafield As namafieldbaru from namatabel Contoh Select nama As namalengkap from pegawai menampilkan nama dari tabel pegawai dimana field nama pada hasil SQL di ubah menjadi namalengkap
  • 21.
    21 Select namafield fromnamatabel where simbol perbandingan Contoh Select nama,gaji from pegawai where gaji > 1000000 Select nama,gaji from pegawai where gaji < 900000 Select nama,gaji from pegawai where gaji = 900000 Menggunakan Simbol perbandingan <, >, = untuk membuat pemilihan
  • 22.
    22 Select namafield1,namafield2 fromnamatabel where namafield1 operatorboolean namafield2 Contoh Select alamat,gaji from pegawai where alamat=‘seutui’ and gaji > 1000000 Select alamat,gaji from pegawai where alamat=‘prada’ Or gaji > 900000 Select * from pegawai where alamat=‘seutui’ Or alamat=‘prada’ Select * from pegawai where Not alamat=‘seutui’ Menggunakan operator Boolean Seperti And OR dan Not
  • 23.
    23 Operator Logik Boolean •Apabila AND digunakan, disemua syarat sebelum dan setelah AND harus benar untuk suatu tuple dipilih • Apabila OR digunakan, hanya salah satu syarat sebelum atau sesudah OR harus benar ataupun keduanya benar untuk suatu tuple dipilih • Apabila NOT digunakan, yang bukan syarat yang akan di tampilkan
  • 24.
    24 Select namafield fromnamatabel where namafield between nilai and nilai Contoh Select nama,gaji from pegawai where gaji between 850000 and 1000000 Jarak Nilai Sebagai Kriteria Kita boleh mengunakan pernyataan BETWEEN
  • 25.
    25 Select namafield fromnamatabel where namafield In (nilaifield1,nilaifield2) Contoh Select * from pegawai where alamat In (‘seutui’,’prada’) Select nama,alamat from pegawai where alamat In (‘seutui’,’prada’) Operator In Pencocokan data kondisi pencarian dengan salah satu data yang ada pada suatu daftar nilai
  • 26.
    26 Select namafield fromnamatabel where namafield Like ‘%ekspresi%’ Contoh Select * from pegawai where nama Like ‘%andi%’ (menampilkan semua kolom dari tabel pegawai yang namanya mengandung kata andi) Operator Like -Untuk pencarian data -Bekerja pada type data char, varchar, text
  • 27.
    27 Fungsi Agregat fungsi yangmengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output SQL menyediakan 5 fungsi AVG : Rata-rata MIN : Minimum MAX : Maksimum SUM : PenJumlahan isi record COUNT : menjumlahkan data Select fungsi agregat SUM/AVG/MIN/MAX/COUNT (namafield) As namafieldbaru from nama table
  • 28.
    28 • Operasi MIN,MAX dan COUNT dapat dilakukan dalam atribut yang mempunyai jenis data rentetan (string) seperti Char, Text, dan Varchar • Operasi AVG dan SUM hanya boleh dilakukan keatas atribut-atribut yang mempunyai jenis data numerik yang berjenis int, bigint, decimal, bit, numeric, real, smallint, tinyint.
  • 29.
    29 a) SUM Penjumlahan dalam satu kolom Select sum (tunjangan) As jlh_tunj from pegawai Menampilkan jumlah keseluruhan dari tunjangan yang diberikan
  • 30.
    30 b) Avg menghitung nilai rata-rata dalam satu kolom Select Avg (gaji) As rata_gaji from pegawai
  • 31.
    31 c) Min Untuk mencari atau menampilkan nilai terendah Select min (gaji) As Gaji_min from pegawai (Menampilkan gaji terendah dari tabel pegawai) Select min (gaji) As Gaji_min from pegawai where status=‘nikah’ (Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)
  • 32.
    32 d) MAX Untuk mencari atau menentukan nilai tinggi Select max (gaji) As Gaji_max from pegawai (Menampilkan gaji terbesar dari tabel pegawai) Select max (gaji) As Gaji_max from pegawai where status=‘nikah’ (Menampilkan gaji terbesar dari tabel pegawai yang statusnya telah menikah)
  • 33.
    33 e) COUNT Menghitung jumlah record yang sesuai dengan kondisi Select count (nip) As jlh_peg from pegawai (Menampilkan jumlah seluruh pegawai dari tabel pegawai) Select count (nip) As jlh_peg from pegawai where status=‘nikah’ (Menampilkan jumlah seluruh pegawai dari tabel pegawai yang statusnya telah menikah)
  • 34.
    34 Select namafield1,namafield2 fromnamatabel Group by field pengacu Contoh Select jeniskelamin,count (*) as jumlah from mahasiswa group by jeniskelamin Hasil Pengelompokan Record (Group by) Pada kondisi tertentu, sekumpulan record dapat dikelompokkan berdasarkan satu atau lebih field yang terdapat pada sebuah tabel atau query. JenisKelamin jumlah Laki-Laki 5 Perempuan 4
  • 35.
    Pengurutan (Order by) •Hasil dari query dapat di urutkan berdasarkan pada satu atau lebih kolom. 35 Select namafield1 from namatabel where kriteria order by namafield Select nim,nama where jeniskelamin=’perempuan’ order by nama Select nim,nama where jeniskelamin=’perempuan’ order by nama asc Select nim,nama where jeniskelamin=’perempuan’ order by nama desc nim nama 2008 Ana 2009 Devi 2010 July 2011 Kiki
  • 36.
    36 3. UPDATE Berfungsi untukmengubah satu atau lebih data yang terdapat pada satu atau lebih kolom tabel Update namatabel set namafield=nilai where kondisi Contoh Update pegawai set alamat=‘pango’ where nip=’01’
  • 37.
    37 Menukar record dalamTabel Update namatabel set namafield=nilai Contoh Update pegawai set gaji=gaji+12000 pernyataan diatas akan menambah ‘gaji’ yang awal dengan +12000 dalam tabel pegawai
  • 38.
    38 4. DELETE Berfungsi untukmenghapus satu atau beberapa record dalam suatu tabel. Delete from namatabel where kondisi Contoh Delete from pegawai where nip=’01’