SQL 1
Pert 1
Pengertian
Sql
Structured Query Language (SQL) adalah
sekumpulan perintah khusus yang digunakan untuk mengakses data dalam database
relasional. SQL merupakan sebuah bahasa komputer yang mengikuti standar ANSI
(American Nasional Standard Institute) yang digunakan dalam manajemen database
relasional. Dengan SQL, kita dapat mengakses database, menjalankan query untuk
mengambil data dari database, menambahkan data ke database, menghapus data di
dalam database, dan mengubah data di dalam database. Saat ini hampir semua
server database yang ada mendukung SQL untuk melakukan manajemen datanya.
1. DDL atau Data Definition Language
DDL merupakan perintah SQL yang
berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Perintah SQL yang
termasuk dalam DDL antara lain :
- CREATE
- ALTER
- RENAME
- DROP
2. DML atau Data Manipulation
Language
DML merupakan perintah SQL yang
berhubungan dengan manipulasi atau pengolahan data atau record dalam table.
Perintah SQL yang termasuk dalam DML antara lain :
- SELECT
- INSERT
- UPDATE
- DELETE
3. DCL atau Data Control Language
DCL merupakan perintah SQL yang
berhubungan dengan pengaturan hak akses user, baik terhadap server, database,
table maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
- GRANT
- REVOKE
Beberapa perinyah di Sql
1.
Perintah
Projection
Projection : Perintah SELECT bisa digunakan untuk memilih
kolom apa saja dari tabel yang akan ditampilkan.
Contoh :
Select
nim,nama,alamat
From
Mhs
2.
Perintah
Selection dan Joining
Selection: Perintah SELECT bisa digunakan untuk memilih
baris data mana saja yang akan ditampilkan.
Joining: Perintah SELECT bisa digunakan untuk menampilkan
data atau informasi dari 2 atau lebih tabel yang terhubung.
Contoh :
Menampilkan nama lengkap mahasiswa dan nim dari seluruh
mahasiswa
SELECT
MAHASISWA.NAMA_DEPAN ||' '|| MAHASISWA.NAMA_BELAKANG "NAMA LENGKAP",
KRS.NIM
FROM
MAHASISWA, KRS
WHERE
MAHASISWA.NIM = KRS.NIM;
Tipe-tipe Constraint yang ada didalam dalam tabel
tersebut adalah
·
NOT
NULL : Menentukan sebuah kolom tidak boleh diisi nilai NULL
·
UNIQUE
: Menentukan 1 (satu) atau banyak kolom tidak boleh bernilai kembar antara 1
(baris) dengan yang lain
·
PRIMARY
KEY : Menentukan agar sebuah kolom menjadi dasar identifikasi yang tidak kembar
dari setiap baris dari tabel (NOT NULL + UNIQUE)
·
FOREIGN
KEY : Menghubungkan sebuah kolom dengan kolom dari tabel lain yang direferensi
·
CHECK
: Menentukan kondisi yang harus dipenuhi
Pengertian ERD
ERD merupakan suatu model untuk menjelaskan hubungan
antardata dalam basis data berdasarkan objek-objek dasar data yang mempunyai
hubungan antar relasi. ERD untuk memodelkan struktur data dan hubungan
antardata, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada
dasarnya ada tiga komponen yang digunakan, yaitu :
a. Entiti
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.
b. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendes-kripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
c. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut:
Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu:
o
Satu ke satu
(One to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
o
Satu ke banyak (One to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
o
Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.
PENGERTIAN
PDM
Physical
Data Model atau yang biasa disebut PDM. PDM merupakan representasi fisik dari
database yang akan dibuat dengan mempertimbangkan DBMS yang akan digunakan. PDM
dapat dihasilkan (di-generate) dari CDM yang valid.
PDM dalam penerapannya dapat di samakan
dengan Skema Relasi yang fungsinya adalah memodelkan struktur fisik dari suatu
basis data.
Merupakan gambaran secara detail
suatu basis data dalam bentuk fisik.
PDM memperlihatkan struktur penyimpanan data
yang benar pada basis data yang digunakan sesungguhnya.
LANGKAH – LANGKAH UNTUK MEMBUAT PDM
·
Buka file CDM yang sudah jadi.
·
Dari Tools
pilih Generate Physical Data Model.
Pilih DBMS yang akan digunakan.
·
Setelah klik OK, PDM akan di generate secara otomatis.
·
Tambahkan atribut pada tabel baru yang dihasilkan
(jika ada).
Pert 2
Menyortir Data
Sortir
data dilakukan untuk pengindeksan data/saat data terlalu banyak,apabila data
tidak disortir maka data yang akan ditampilkan akan sesuai dengan apa yang ada
dalam tabel utama, contoh : select nama_produk from produk order by
nama_produk; perintah tersebut akan menyortir data dengan kolom nama_produk.
Adapun
beberapa tipe penyortiran sebagai berikut :
1.
Berdasarkan banyak kolom
contoh
: select id_produk, harga_produk, nama_produk from produk order by
harga_produk, nama_produk;
2.
Berdasarkan letak kolom
contoh
: select id_produk, harga_produk, nama_produk from produk order by 2,3;
3.
Menentukan urutan penyortiran
Terdapat
2 jenis yaitu ascending (A-Z), descending (Z-A)
Contoh : select id_produk, harga_produk, nama_produk from
produk order by harga_produk desc, nama_produk;
Pert 3
Penyaringan data
1.
Menggunakan
operator AND
Untuk
menyaring lebih dari satu kolom maka digunakan operator and.
Contoh
: select nama_produk, harga_produk from produk where id_pemilik = ‘DL001’ and
harga_produk <=4;
2.
Menggunakan
operator OR (antara 2 kondisi)
Contoh
: select nama_produk, harga_produk from produk where id_pemilik = ‘DL001’ or id_pemilik
= ‘BRS01’;
3.
Menggunakan
operator IN
Digunakan
untuk menentukan range kondisi yang dapat disesuaikan.
Contoh
: select nama_produk, harga_produk from produk where id_pemilik in
(‘DL001’,‘BRS01’) order by nama_produk;
4.
Menggunakan
operator NOT
Operator
not dari klausa where mempunyai satu fungsi – not yang meniadakan apapun
kondisi yang datang berikutnya, karena operator not tidak pernah digunakan
sendirian(selalu digunakan bersama dengan operator lain).
Contoh
: select nama_produk from produk where not id)pemilik = ‘DLL01’ order by
nama_produk;
5.
Menggunakan
tanda wildcard % (like)
Memiliki
arti melakukan pencarian dan mencocokkan semua jumlah karakter yang ada.
Contoh
: select id_produk, nama_produk from produk where nama_produk like ‘ikan%’;
6.
Menggunakan
wildcard underscore (_)
Tanda
garis bawah digunakan sama dengan %, tetapi untuk mencocokkan satu karakter
tunggal bukan untuk banyak karakter.
Contoh
: select id_produk, nama_produk from produk where nama_produk like ‘_inch teddy
bear’;
7.
Menggunakan
tanda kurung besar ( [ ] )
Digunakan
untuk menentukan serangkaian karakter, satu diantaranya harus cocok dengan satu
karakter dalam posisi yang ditentukan.
Contoh :
select no_pelanggan from pelanggan where no_pelanggan like ‘[JM]%’ order by
no_pelanggan;
Pert 4
Beberapa Fungsi
Memanipulasi
Data
Berikut
beberapa fungsi SQL :
-
Substr
(mengekstrak bagian dari string)
-
To_char,
to_number (merubah tipe data)
-
Ceil
(mengembalikan batas nomor)
-
Sysdate
(mendapatkan tanggal yang berlaku/hari ini)
-
Next_day
(mengambil tanggal yang lewat/maju satu hari)
Fungsi untuk memanipulasi teks :
-
Left
(mengembalikan karakter dari bagian kiri string)
-
Length
( panjang string)
-
Lower
(Mengubah
/ menganti string ke huruf
kecil)
-
Ltrim
(memotong spasi kosong dari bagian kiri string)
-
Right
(mengembalikan karakter dari bagian kanan string)
-
Rtrim
(memotong spasi kosong dari bagian kanan string)
-
Upper
(mengubah string ke huruf besar)
Pert 5
-
Mengelompokkan
data
-
Pengelompokan
data menggunakan klausa group by pada statement select.
-
contoh
: select id_produk count (*) as nomor_produk from produk group by id_produk;
-
selain
group by untuk menyaring data juga dapat menggunakan having yang mirip dengan
where.
-
Contoh
: select id_pelanggan, count (*) as pesanan from pesanan group by id_pelanggan
having count (*) >=2;
Group by :
mengelompokkan
baris tetapi output mungkin tidak dalam urutan kelompok, kolom yang dipilih atau yang dapat digunakan
dan setiap kolom yang dipilih harus digunakan dan diharuskan jika menggunakan
kolom/ ekspresi harus dengan kolom fungsi agregat.
Pert
6
Subquery
Merupakan istilah dari pengertian select dalam select dan
digunakan untuk mencari sesuatu yang belum diketahui kondisinya.dimana
akan mencari sesuatu yang belum kita cari, bisa juga sebagai perbandingan
nilai perbandingan.
Contoh :
-
Select
nama_pelanggan, no_pelanggan from pelanggan where id_pelanggan in (select
no_pesanan from pesanan where id_produksi in(select no_pesanan from pesananitem
where id_produksi = ‘RGA001’));
Query gabungan yang terdapat pada sql
-
Menggunakan
union
Contoh
: select no_pelanggan, email_pelanggan from pelanggan where alamat_pelanggan in
(‘IL’,’IN’,’MI’) union select nama_pelanggan, email_pelanggan from pelanggan
where nama_pelanggan = ‘Fun4All’;
-
Aturan
Union : setiap query dalam union harus berisi kolom, ekspresi atau fungsi
agregat yang sama, kolom dan agregat harus terjadi dalam urutan yang tepat sama
dalam setiap statemen select dalam union, data tipe kolom harus kompatibel
tidak perlu tipe yang tepat sama, tetapi harus merupakan tipe yang dapat diubah
oleh dbms.
Part 7
JOIN
ANTAR TABEL
Join
merupakan sebuah operasi yang digunakan untuk mendapatkan data
gabungan
dari dua buah tabel atau lebih. Operasi ini digunakan dalam perintah
SELECT
dan biasanya dipakai untuk memperoleh detail data dari tabel – tabel
yang
saling terkait (memiliki relasi). Misalnya karena tabel mahasiswa hanya
memuat
kode_kelas saja tanpa nama kelas maka kita harus melakukan join antara
tabel
mahasiswa dengan tabel kelas yang memuat kolom nama_kelas.
2
JENIS OPERASI JOIN
Secara
umum terdapat tiga jenis operasi join, yaitu: Cross join, Inner join dan
Outer
join.
2.1
Cross Join / Cartesian Join
Join
jenis ini menghasilkan kombinasi semua baris yang terdapat dalam
tabel
– tabel yang digabungkan baik yang berpasangan maupun yang tidak
berpasangan.
Pada kenyataan join jenis ini tidak akan pernah dipakai. Meskipun
begitu
join jenis inilah yang merupakan dasar dari perintah join. Berikut ini
contoh
dari perintah cross join:
SELECT
* FROM Mahasiswa, KRS
SELECT
Mahasiswa.Nama, Mata_Kuliah.Nama_MK FROM
Mahasiswa,
Mata_Kuliah
2.2
Inner Join
Join
jenis ini hanya menghasilkan kombinasi semua baris yang memiliki
pasangan
saja. Baris yang tidak memiliki pasangan tidak akan ditampilkan. Cara
penulisan
perintah inner join ada beberapa cara, yaitu:
1.
SELECT Daftar_Kolom FROM Tabel1, Tabel2 WHERE
Tabel1.Primary_key
= Tabel2.Foreign_key
SELECT
* FROM Mahasiswa, KRS WHERE Mahasiswa.NIM =
KRS.NIM
2.
SELECT Daftar_Kolom FROM Tabel1 INNER JOIN Tabel2 ON
Tabel1.Primary_key
= Tabel2.Foreign_key
SELECT
* FROM Mahasiswa INNER JOIN KRS ON
Mahasiswa.NIM
= KRS.NIM
3.
SELECT Daftar_Kolom FROM Tabel1 JOIN Tabel2 ON
Tabel1.Primary_key
= Tabel2.Foreign_key
SELECT
* FROM Mahasiswa JOIN KRS ON Mahasiswa.NIM =
KRS.NIM
2.3
Outer Join
Hampir
sama denagn inner join, hanya saja baris yang tidak memiliki
pasangan
tetap akan ditampilkan. Join jenis ini di bagi lagi menjadi 3, yaitu:
a.
Left Outer Join
Baris – baris yang tidak memiliki pasangan
pada tabel yang ada
disebelah
kiri kata “JOIN” akan tetap ditampilkan. Contoh:
SELECT * FROM
Mahasiswa LEFT OUTER JOIN KRS ON
Mahasiswa.NIM =
KRS.NIM
SISTEM BASIS DATA
S1 TEKNIK INFORMATIKA
STMIK “AMIKOM”
YOGYAKARTA
2007
b.
Right Outer Join
Baris – baris yang tidak memiliki pasangan
pada tabel yang ada
disebelah
kanan kata “JOIN” akan tetap ditampilkan.
SELECT
* FROM Mahasiswa LEFT OUTER JOIN KRS ON
Mahasiswa.NIM
= KRS.NIM
c.
Full Outer Join
Baris – baris yang tidak memiliki pasangan
pada semua tabelakan
tetap
ditampilkan.
SELECT
* FROM Mahasiswa FULL OUTER JOIN KRS ON
Mahasiswa.NIM
= KRS.NIM