Pratikum Basis Data Menggunakan DBMS
MySQL Server
MySQL Server
merupakan suatu perangkat lunak DBMS yang digunakan untuk mengelola sistem
database. MySQL server memiliki beberapa kelebihan jika dibandingkan dengan
software DBMS lainnya. Berikut merupakan
beberapa kelebihan dari DBMS MySQL Server
1. Pengaksesan data lebih cepat
2. Kemudahan di dalam menggunakan
software ( user friendly)
3. Mysql Server merupakan software open
source sehingga software ini gratis
4. Mensupport banyak Query ( DDL maupun
DML)
5.
Multi Platfom ( dapat berjalan di berbagai sistem operasi).
Membangun
Database
Ketik query berikut;
Create Database nama
database ;
Ex :
Maka akan terbuat
sebuah database baru dengan nama database perpustakaan. Untuk melihat apakah
query tersebut benar-benar berhasil , gunakan perintah berikut;
Hasil dari query tersebut adalah sebagai berikut ;
Tampak dari hasil eksekusi perintah tersebut terdapat
database-database yang terdapat di dalam sistem MYSQL server termaasuk database
perpustakaan. Gunakan database perpustakaan dengan perintah berikut :
Perintah ini akan
mengarahkan DBMS MYSQL Server untuk mempergunakan database perpustakaan.
Untuk menghapus database gunakan perintah berikut
Lakukan view database, dan lihat kembali list database
Membuat Tabel di dalam sebuah database
Sebelum membuat tabel di dalam DBMS, maka kita harus
memperhatikan type-type data terlebih dahulu. Sebuah sistem database yang baik
harus memakai type data yang sesuai
dengan kebutuhan data – data yang dismpan didalam database.
Tipe –tipe data MSQL Server :
Type data numeris
Tipe data
|
Keterangan
|
Kebutuhan memory
|
BIT
|
Menyatakan tipe bit, satu bit dapat berupa bilangan 0 atau 1.
-
BIT identik dengan BIT(1), yang berarti I buah
bit
-
BIT(2) berarti mengandung 2 bit angka maksimal
di dalam kurung yaitu 64, yang berarti 64 bit
|
8 byte
|
TINYINT[(M)]
|
Menyatakan data bilangan bulat yang berkisar antara -128 sampai 127.
Bila ditambahkan kata UNSIGNED ( bilangan tidak bertanda), jangkauan bilangan
berkisar dari 0 sampai dengan 127
|
1 byte
|
BOOL atu BOOLEAN, atau TINYINT
(1)
|
Untuk menyatakan nilai benar dan salah Nilai nol dianggap salah dan
nilai selain nol dianggap benar
|
1 byte
|
SMALLINT[(M)]
|
Menyatakan data bilangan bulat yang berkisar diantara -32768 sampai
32767. Bila ditambah dengan UNSIGNED maka akan menjadi 0 sampai 65535
|
2 byte
|
MEDIUMINT [(M)]
|
Menyatakan data bilangan bulat yang berkisar antara -8388608 sampai
8388607. Bila ditambahkan kata UNSIGNED maka akan menjadi 0 sampai 16777215
|
3 byte
|
INT [(M)] atau INTEGER [(M)]
|
Menyatakan data bilangan bulat yang berkisar antara -2147683648
sampai 2147683647. Bila ditambah dengan UNSIGNED maka jangkauan datanya
menjadi 0 sampai dengan 4294967295
|
4 byte
|
BIGINT[(M)]
|
Menyatakan data bilangan bulat yang berkisar antara -9223372036854775808
sampai 9223372036854775807. Bila ditambah dengan UNSIGNED jangkauan menjadi 0
sampai 18446744073709551615
|
6 byte
|
FLOAT [(M,D)]
|
Type bilangan pecahan yang dapat menampung bilangan antara
-3.402823466E+38 sampai dengan 1.175494351E-38, 0, dan 1.175494351E-38 sampai
3.402823466E+38.
-
M menyatakan jumlah digit desimal.
-
D menyatakan jumlah digit di belakang.
-
Jika ditambah dngan UNSIGNED maka nilai
negatif tidak diprkenankan.
|
4 byte
|
DOUBLE [(M,D)]
atau DOUBLEPRCISION[(M,D)]
|
Tipe bilangan pecahan yang dapat menampung bilangan antara 1.7976931348623157E+308
sampai dengan – 2.2250738585072014E-308, 0, dan 2.2250738585072014E-308
sampai dengan 1.7976931348623157E+308.
-
M menyatakan jumlah digit desimal
-
D menyatakan jumlah digit diblakang titik
desimal
-
Jika kata UNSIGNED nilai negatif tidak
diperkenankan .
|
8 byte
|
FLOAT(p)
|
Tipe bilangan pecahan. Dalam hal ini
p menyertakan jumlah presisi dalam bit
-
Jika p berkisar antara 0 sampai dengan 24,
tipe data identik FLOAT tanpa nilai M ataupun D
-
Jika p berkisar antara 25 sampai dengan 35,
tipe data identik dengan DOUBLE tanpa nilai M atau D
|
4 byte jika 0<=p
<= 24, 8 byte jika 25 <= p <= 53
|
DEC[(M[D)] atau
DECIMAL [(M[D])]
|
Menyatakan bilangan dengan sejumlah digit dibelakang titik desimal.
-
Niali terbesar untuk M adalah 65
-
Jika D tidak disertakan, dianggap D bernilai 0
-
Cocok untuk menyimpan data yang membutuhkan
keakurtan tinggi seperti uang.
|
|
|
|
|
|
Tipe tanggal dan waktu
Tipe data
|
Keterangan
|
Kebutuhan memory
|
Date
|
Menyatakan tipe untuk data tanggal yang didukung berkisar antara
‘1000-01-01’ sampai dengan ‘9999-12-31’. Format umun tanggal database yaitu
tahun- bulan- tanggal
|
3 byte
|
Time
|
Menyatakan type data untuk waktu yang berformat : jam:menit: detik
|
3 byte
|
DATETIME
|
Menyatakan tipe data yang menggabungkan tanggal dan waktu format :
tahun-bulan-tanngal jam:menit:detik
|
8 byte
|
TIMESTAMP
|
Tpe kolom yang nilainya akan diisi seara otomatis dengan tanggal dan
jam saat ada operasi INSERT atau UPDATE
|
4 byte
|
YEAR (2|4)]
|
Tipe untuk menyatakan tahun. Bila angka tidak disebutkan , tahun
dianggap berformat 4 digit. Angka 2 berarti tahun menggunakan dua digit.
-
Untuk format 4 digit, tahun dapat berkisar
1901 sampai dengan 2155. Bisa juga 0000
-
Untuk frmat 2 digit, tahun berkisar antara 70
sampai dengan 69 . 70 berarti 1970 dan 69 berarti 2069
-
Nilai YEAR94) dapat diisi berupa string
ataupun bilangan
|
1 byte
|
Type string
Tipe data
|
Keterangan
|
Kebutuhan memory
|
CHAR(M)
|
String dengan panjang tetap yaitu M karakter. Bila String yang
panjang kurang dari M maka sisanya diisi dengan spasi. Nilai terbesar untuk M
adalah 255
|
M byte, 0 <= M <=255
|
VARCHAR (M)
|
String dengan panjang variabel M menyatakan jumlah maksimum karakter
yang bisa disimpan. Nilai terbesar untuk untuk M yaitu 65535
|
|
BINARY (M)
|
Serupa dengan CHAR(M) tetapi disimpan dalam bentuk biner
|
|
VARBINARY(M)
|
Serupa dengan varchar(M) tetapi disimpan dalam bentuk biner
|
|
TINYBLOB
|
BLOB dengan ukuran paling kecil
|
|
BLOB [(M)]
|
BLOB denganukuran lebih besar dari TINYBLOB
|
|
MEDIUMBLOB
|
Lebih besar dari BLOB
|
|
LONGBLOB
|
BLOB yang berukuran paling besar
|
|
TINYTEXT
|
String teks dengan ukuran paling kecil
|
|
TEXT [(M)]
|
Stirng text dengan ukuran paling dari TINYBLOB
|
|
MEDIUMTEXT
|
String text berukuran medium
|
|
LONGTEXT
|
String text berukuran paling besar
|
|
ENUM (nilai 1, nilai 2,…)
|
Tipe kolom yang memungkinkan nilai kolom berupa salah satu string
yang disebutkan pada ENUM dapat mencapai 65535
Nilai untuk kolom dapat diisi denga indeks. Daftar berikut
menunjukkan nilai dan indeksnya :
-
NULL ( Indeks NULL)
-
‘ ’ (indeks 0)
-
‘nilai 1’ (indeks 1)
-
‘nilai2’ (indeks2), dan seterusnya.
|
|
SET(‘nilai1’,’nilai2’,….)
|
Merupakan suatu objek string yang bisa berisi nol, satu, atau
beberapa nilai.
Sebuah kolom bertipe SET maksimum berisi 64 elemen yang berbeda.
Nilai antar elemen ditulis dengan pemisah koma
|
|
Buat kembali database perpustakaan dengan menggunakan query
create database, buat sebuah tabel
dengan nama Karyawan_pustaka dengan field –field sebagai berikut :
FIELD
|
TIPE DATA
|
PANJANG DATA
|
Nip
|
Varchar
|
5
|
Nama
|
Varchar
|
25
|
Kota
|
Varchar
|
15
|
Tgl_lahir
|
Date
|
|
Jenis_kelamin
|
Char
|
1
|
Perintah SQL untuk tabel karyawan :
Gunakan perintah “Show tables” untuk melihat tabel –tabel yang terdapat pada database
karyawan
Untuk melihat
deksripsi tabel karyawan maka dapat dilakukan dengan memasukkan perintah
berikut :
Hasil dari eksekusi perintah tersebut adalah
Memasukkan data
Tabel karyawan yang diciptakan tentu saja masih kosong, untuk
itu gunakan perintah INSERT agar tabel yang dibuat dapat di isi oleh data-data
yang bersangkutan dengan tabel tersebut.
Insert Into Karyawan
Values (‘00001’,’Rudi’,’Bukittinggi’,’1994-04-13’,’L’);
Pemasukan data pada Values harus sesuai dengan urutan kolom pada tabel karyawan. Jika tidak terjadi
kesalahan di dalam penulisan maka hasil dari tabel karyawan dapat dilihat
dengan menggunakan perintah
Hasilnya akan terlihat sebagai berikut
Jika di dalam penulisan perintah INSERT terdapat kolom-
kolom yang tidak disebutkan berarti data akan di isi dengan NULL ( Kosong)
Sebagai contoh kita akan memasukkan data baru dengan tidak
menyertakan isi untuk kolom Tgl_lahir
Insert Into Karyawan (Nip,Nama,Kota,Jenis_kelamin)
Values (‘00002’,’Yuna’,’Padang’,’ ’,’W’);
Lakukan pemanggilan data yang disimpan dengan menggunakan
Statement SELECT
Mengganti
Struktur Tabel
Alter Table digunakan untuk melakukan penggantian atau
penambahan struktur tabel di dalam sistem basis data.
Alter Table Karyawan
Change Jenis_kelamin Gender
char (1);
Lakukan view struktur tabel karyawan dengan perintah Desc
Pada contoh diatas, nama kolom (field) Jenis_Kelamin di
dalam tabel karyawan dirubah menjadi Gender dengan type data CHAR dan panjang
data sebesar 1.
Menambah
type data pada tertentu pada suatu field / kolom
Sebagai contoh pada tabel karyawan khususnya pada field
Gender kita hanya mengingikan data tersebut di isi dengan data berupa L untuk
mendefinisikan laki-laki atau W untuk
mendefinisikan wanita, selain dari data tersebut maka tidak akan dientrikan ke
dalam database maka kita bisa menggunakan perintah ENUM.
Perintah SQL
Alter Table Karyawan
Change Gender Gender ENUM (‘L’,’W’);
Coba buktikan query
tersebut dengan memasukkan data baru ke dalam tabel karyawan
Insert Into Karyawan ( Nip,Nama,Kota,Gender)
Values (‘00003’,’Fikri’,’Solok’,’P’);
Data Gender yang dientrikan tidak sesuai dengan Enum ( L
atau W) maka data akan ditolak oleh sistem database.
Menambahkan
field baru pada tabel
Alter Table Karyawan
Add Email Varchar (15);
View tabel Karyawan
Menghapus
Sebuah Field pada Tabel
Alter Table Karyawan
Drop Email;
Menambahkan Field dan menyandingkan dengan field tertentu
pada tabel Karyawan
Contoh query
Alter Table Karyawan
Add Email Varchar (15) After Nama;
Operasi-operasi
pada Database
Setelah melakukan latihan diatas, tentunya kita telah
mengetahui beberapa operasi – operasi didalam sebuah software DBMS MySQL
Server. Untuk lebih memperjelas pemahaman kita maka setiap operasi-operasi
tersebut dikelompokan kedalam beberapa kelompok operasi yang tegabung di dalam
DML ( Database Manipulation Language )
A) INSERT
Perintah Insert merupakan perintah yang
digunakan untuk mengentrikan data kedalam sistem database. Setiap Perintah
Insert selalu diikuti oleh Values yang menyatakan nilai – nilai yang akan
dientrikan kedalam sistem database. Seperti halnya latihan yang sudah kita
lakukan sebelumnya perintah Insert digunakan untuk memasukkan data ke dalam
sistem database perpustakaan yang diletakkan ke dalam tabel karyawan. Untuk
mengingat kembali coba lakukan insert data –data berikut ini kedalam tabel karyawan:
Data data karyawan perpustakaan
Nip
|
Nama
|
Email
|
Kota
|
Tgl_lahir
|
Gender
|
00004
|
Ridho
|
Ridho@yahoo.co.id
|
Padang
|
1993-01-13
|
L
|
00005
|
Kemal
|
K4mal@Gmail.com
|
Sijunjung
|
1991-06-25
|
L
|
00006
|
Lusi
|
Lusi@Yahoo.co.id
|
Pasaman
|
1992-08-14
|
W
|
00007
|
Iwan
|
Iwan@Yahoo.co.id
|
Lubuk alung
|
1994-04-03
|
L
|
00008
|
Sinta
|
Sinta@yahoo.co.id
|
Padang
|
1992-03-16
|
W
|
00009
|
Indra
|
Indra@yahoo.co.id
|
Jambi
|
1991-11-14
|
P
|
Hasil
dari Query
B. PENGUBAHAN DATA ( UPDATE )
Terkadang didalam proses
pengenrtian data bisa saja terjadi kesalahan ataupun kekeliruan
didalam penulisan data. Kesalahan tersebut dapat diperbaiki dengan
menggunakan pernyataan UPDATE.. Sebagai Contoh diatas dari empat data yang di
entrikan terdapat kekeliruan di dalam data tersebut. Karyawan dengan nomor Nip
00006 yang bernama Lusi pada Field Gender tertulis L yang seharusnya adalah W.
Cara merubahnya adalah sebagai berikut :
Update Karyawan
Set Gender=’W’
Where Nip=’00006’;
Perhatikan Gender Lusi berubah
menjadi W
Update dapat dilakukan tidak hanya
pada satu Field saja, akan tetapi dapat dilakukan ke beberapa Field dalam satu
kali pernyataan
Update Karyawan
Kota=’ Pariaman’
Where Nip=’00007’;
Hasil dari pernyataan Update
C. Menghapus Data ( Delete)
Perintah Delete digunakan untuk melakukan penghapusan
struktur database maupun data-data yang terdapat di dalam DBMS.
Menghapus suatu record dari sistem database
Delete From nama_tabel
Where kondisi ;
Ex :
Delete From Karyawan
Where Nip=’00009’;
View hasil dari query tersebut
Membuat Primary Key
Primary key merupakan sebuah attribut dari suatu tabel yang
memiliki values atau nilai yang bernilai unik. Adapun tujuan dari attribut unik
ini yaitu sebagai penginisial atau identitas dari suatu record. Primary Key di
definisikan pada waktu pembuatan struktur tabel.
Create Table nama tabel (
Nama attribut 1 Tipe data (panjang data) Primary Key,
Nama attribut 2 Tipe data (panjang data),
Nama attribut 3 Tipe data (panjang data));
Ex :
Create table Bagian (
Nip Varchar (5),
Id_bagian Varchar (3),
Gaji Pokok Dec (5,2);
Primary Key (Nip,Id_bagian));
Lihat Struktur tabel Bagian dengan Menggunakan Desc
Tampak pada tabel Bagian Nip dan Id_bagian bertindak sebagai
Foreign Key ( Primary Key yang bersumber dari tabel lain ) untuk tabel Bagian.
Pertemuan II
Mengenal Operator In
dan Not In
Operator In berguna untuk menyeleksi data yang terdapat
dalam file database dengan cara mencocokan data dengan salah satu nilai yang
didefinisikan.
Buatlah sebuah database Gudang dan tambahkan tabel Produk
dengan field berikut :
Nama Field
|
Type Data
|
Data Length
|
Id_Produk
Nama_produk
Harga
Type_produk
Nama_pemasok
Tgl_masuk
|
Varchar
Varchar
Dec
Varchar
Varchar
Date
|
8
25
10
15
|
Isikan dengan data-data berikut ini :
Id_produk
|
Nama_produk
|
Harga
|
Type_produk
|
Nama_Pemasok
|
Tgl_masuk
|
EL0001
EL0002
M0001
P0001
M0002
|
Lampu Philips 45 Watt
Kipas Angin Sekai
Meja Komputer
Kompor gas Rinai
Office chair Agita
|
35.000
85.000
165.000
380.000
110.000
|
Elektronik
Elektronik
Meubel
Perkakas
Meubel
|
Bumi Jaya
Bumi Jaya
Cv Laris
Seruni
Adhan
|
2012-11-03
2012-10-16
2012-03-07
2011-06-23
2010-09-12
|
Setelah tabel tersebut dibuat, maka kita akan mencoba
menggunakan operator In
Select
Id_produk,Harga
From Produk
Where Id_produk IN (‘P0001’,’M0001’,EL0002’);
Operator IN akan Menyeleksi data berdasarkan nilai - nilai
yang di definisikan, Sedangkan operator
NOT IN akan bertindak sebaliknya.
Operator Not In akan Menyeleksi data selain nilai- nilai
yang didefinisikan. Umtuk penulisan query nya sebagai berikut :
Select Id_produk, Harga
From Produk
Where Id_produk NOT IN (‘P0001’,’M0001’,’EL0002’);
Dari hasil query tersebut dapat dilihat operator NOT IN
menyeleksi dan menampilkan data yang terdapat di dalam database produk selain
dari nilai – nilai yang didefinisikan di dalam query .
Mengenal Operator BETWEEN
dan NOT BETWEEN
Operator BETWEEN digunakan untuk menyeleski data dengan
menggunakan prinsip range/ atau jangkauan dari niai – nilai yang didefinisikan.
Query operator BETWEEN
Select Id_produk ,
Nama_produk, harga
From produk
Where Tgl_masuk BETWEEN ’2010-01-0’ AND ‘2011-12-31’;
Operator BETWEEN akan menyeleksi data dengan range Tgl_masuk
dari awal tahun 2010 sampai akhir tahun 2011. Begitu juga sebaliknya dengan
operator NOT BETWEEN, operator ini akan menyeleksi data selain dari nilai yang
didefinisikan didalam queri.
Select
Id_produk,Nama_produk,Harga
From Produk
Where Tgl_masuk NOT BETWEEN ‘2010-01-01’ AND ‘2011-12-31’;
Operator LIKE dan NOT LIKE
Operator Like berguna untuk melakukan pecarian data berupa
pencocokan Stirng atau character yang didefinisikan nilainya.
Terdapat beberapa metode di dalam menggunakan operator LIKE
POLA
|
KETERANGAN
|
%a%
|
Cocok dengan apa saja yang mengandung karakter a atau A
|
%a
|
Cocok dengan yang berakhiran a atau A
|
a%
|
Cocok dengan yang berawalan a atau A
|
Sumber : Abdul Kadir, 2008
Tanda % berarti cocok dengan karakter apa saja dan tidak
tergantung berapapun panjang dari data tersebut.
Select Nama_produk
From produk
Where Nama_produk LIKE ‘%a%’;
Coba perintah query Like selanjutnya
Select Nama_produk
From Produk
Where Nama_produk ‘%a’;
Select Nama_produk
From Produk
Where Nama_produk ‘a%’;
Tampak pada hasil query tidak ada data yang ditampilkan, hal
ini disebapkan karena memang tidak ada data pada Field Nama_produk dengan
Caracter yang diawali dengan a.
Operator LIKE juga dapat digunakan untuk melakukan pencarian
dua buah caracter
Select Nama_produk
From Produk
Where Nama_produk LIKE ‘%l%a’;
Menyeleksi Data dan
Mengurutkan data-data yang diseleksi
Normalnya data yang diseleksi oleh sebuah query telah
diurutkan secara ototmatis oleh sistem DBMS. Akan tetapi ada kalanya data –data
yang diseleksi tersebut ingin disusun sesuai dengan keinginan user. Untuk itu
terdapat beberapa Query yang khusus digunakan untuk melakukan pengurutan data
–data yang akan ditampilkan.
a.
Pengurutan berdasarkan sebuah kolom
Select
Id_produk, Harga
From Produk
Order By Harga;
Dari hasil query diatas maka data- data
akan disusun berdasarkan Harga dan akan disusun secara otomatis oleh sistem
dari nilai terendah ke nilai tertinggi.
b.
Pengurutan berdasarkan Descending dan Ascending
Query pengurutan Descending digunakan untuk
melakukan pengurutan data dari nilai besar ke nilai kecil
Select
Id_produk,Harga
From produk
Order By Harga Desc;
Sementara query Ascending akan melakukan
pengurutan dari data bernilai kecil ke data bernilai besar.
c.
Pengurutan menurut beberapa kolom
Select
Id_produk, Type_poduk,Harga
From Produk
Order By Id_produk Desc , Type_produk Desc;
Pengelompokan data
Digunakan untuk melakukan pengelompokan data berdasarkan
nilai yang ditentukan. Query yang digunakan adalah GROUP BY.
Select Type_produk
From produk
Group By Type_produk
Hasil dari Queri pengelompokan data menggunakan perintah
Group By.
Mengenal Fungsi Pada MySQL
Fungsi merupakan
suatu instruksi yang menghasilkan suatu nilai jika di eksekusi.
Fungsi
|
Keterangan
|
AVG()
|
Memperoleh Nilai Rata – rata
|
AVG(DISTINCT)
|
Memperoleh nilai rata – rata khusus untuk nilai yang
berbeda
|
COUNT( )
|
Menghitung cacah data yang tidak bernilai NULL
|
COUNT(DISTINCT)
|
Menghitung cacah data yang tidak bernilai NULL dan
nilainya bernilai berbeda
|
MAX()
|
Menghasilkan nilai terbesar
|
MIN()
|
Menghasilkan nilai terkecil
|
SUM()
|
Memperoleh penjumlahan data
|
SUM(DISTINCT)
|
Memperoleh pejumlahan data khusus untuk nilai yang
berbeda
|
STD(),STDDEV(). atauSTDDEV
POP()
|
Menghasilkan deviasi standar
|
VARIANCE() atau VAR POP()
|
Menghasilkan variasi standar
|
VAR_SAMP()
|
Menghasilkan Variasi sampel
|
|
|
|
FUNGSI AVG
FungsiAVG digunakan untuk mengambil rata- rata dari
keseluruhan data yang terdapat pada suatu Field di dalam suatu database.
Select AVG(Harga)
From produk;
Dari hasil queri diatas dapat disimpulkan bahwa Queri AVG
akan mencari rata – rata harga dari total keseluruhan harga produk yang
adalah 155.000 .
Selain itu pencarian rata-rata juga bisa dilakukan dengan
menghtung rata-rata dari nilai yang berbeda saja.
Select Distinct AVG(Harga)
From produk;
Menghitung rata –rata
berdasarkan ketentuan – ketentuan khusus
Pada percobaan diatas kita telah melakukan pencarian rata
–rata pada suatu field. Akan tetapi kadang kala pada pencarian rata-rata juga
dilakukan pada kondisi tertentu. Sebagai contohnya kita dapat mencari rata –
rata harga produk berdasarkan
type_produk.
Select Type_produk
, AVG (harga )
From produk
Group By Type_produk ;
Fungsi Count
Digunakan untuk melakukan perhitungan data, Fungsi Count
akan menghitung banyaknya data di dalam suatu field.
Select Count (Type_poduk)
From produk;
Bisa juga ditambahkan dengan operator Group By, seperti dibawah ini :
Select Type_produk
, Count(Type_produk)
From Produk
Group By Type_produk;
Pertemuan III
Pada
pertemuan ketiga ini, kita akan membahas mengenai pemanggilan informasi antar tabel. Pada prakteknya metode pemanggilan
data ini merupakan pemanggilan yang paling sering dilakukan ketika database
yang dirancang mengacu kepada database relational.
Dalam
hal ini tabel – tabel yang terdapat di dalam database akan terhubung dengan
adanya hubungan primary key dan foreign
key yang terdapat di masing-masing tabel.
Sebagai
contoh dapat dilihat gambaran dari pemanggilan data antar tabel
*Id_pasien
Nama_pasien
Alamat_pasien
Jenis_kelamin
Umur
|
*Kode_obat
Nama_obat
Type_obat
Harga
|
*Id_pasien
*Kode_obat
Tgl_beli
|
Berdasarkan
tabel – tabel diatas maka kita dapat menghasilkan suatu informasi baru yang
didapatkan dari ketiga tabel tersebut. Berikut merupakan contoh informasi yang
bisa diambil dari tabel- tabel tersebut.
*Id_pasien
Nama_pasien
Nama_obat
Harga
|
Buatlah
sebuah database rumah_sakit sebagai dengan tabel –tabel berikut :
Tabel
Pasien
Field
|
Type
data
|
|
Id_pasien
Nama_pasien
Alamat
Jenis_kelamin
Umur
|
Varchar(10)
Varchar(25)
Varchar(2)
Varcahar(3)
|
Primary
Key
|
Tabel
Obat
Field
|
Type
data
|
|
Kode_obat
Nama_obat
Harga
|
Varchar(10)
Varchar(15)
Dec
|
Primary
Key
|
Tabel
Transaksi
Field
|
Type
data
|
|
Id_pasien
Kode_obat
Tgl_beli
|
Varchar(10)
Varchar(15)
Date
|
Primary
Key
Primary
key
|
Isikan
data- data sebagai berikut :
Tabel
pasien
Id_pasien
|
Nama_pasien
|
Alamat
|
Jenis_kelamin
|
umur
|
P111
P112
P113
|
Ardi
Siska
iman
|
Jl
Nias 3
Jl
kemayoran
Jl
gajah mada
|
L
W
l
|
18
23
45
|
Tabel
obat
Kode_obat
|
Nama_obat
|
Harga
|
Oc001
Ot001
Ot002
Ot003
|
Alkool
15%
Paracetamoll
Antitucin
Aspirin
|
7000
6000
9000
15000
|
Tabel
Transaksi
Id_pasien
|
Kode_obat
|
Tgl_beli
|
P111
P111
P112
P113
|
Oc001
Ot001
Ot002
Ot003
|
2012-05-01
2012-05-01
2012-06-11
2012-06-03
|
Pemanggilan data antara dua
tabel
Pada
bagian ini, kita akan mencoba untuk menpraktekkan pemanggilan dua tabel yang
berbeda di dalam suatu database.
Select
Pasien.Id_pasien,
Pasien.Nama_pasien,
Pasien.Alamat,
Transaksi.Tgl_beli
From
Pasien,Transaksi
Where
Pasien.Id_pasien=Transaksi.Id_pasien;
Pemanggilan data pada tiga
tabel
Hasil
queri adalah sebagai berikut;
Pemanggilan data dari
beberapa tabel dengan ketentuan- ketentuan tertentu
Pada
latihan sebelumnya kita telah mempelajari bagaimana cara menggunakan clausa
where untuk penyeleksian data didalam database. Where berfungsi untuk
menentukan indikator penyeleksian data. Sebagai contoh untuk menyeleksi data
dari suatu database dengan ketentuan tanggal, maka kita akan menggunakan clausa
Where dengan operator Between.
Pada
pemanggilan data lebih dari satu tabel kita juga bisa melakukan hal yang
serupa. Sebagai contoh coba ketikkan perintah berikut ini.
Select
Pasien.Id_pasien,
Pasien.Nama_pasien,
Obat.Nama_obat,
Obat.harga,
Transaksi.Tgl_beli
From
Pasien,Obat,Transaksi
Where
Pasien.Id_pasien=Transaksi.Id_pasien AND Obat.Kode_obat=Transaksi.kode_obat AND
Nama_Pasien Like ‘a%’;
Select
Pasien.Id_pasien,
Pasien.Nama_pasien,
Obat.Nama_obat,
Obat.harga,
Transaksi.Tgl_beli
From
Pasien,Obat,Transaksi
Where
Pasien.Id_pasien=Transaksi.Id_pasien AND Obat.Kode_obat=Transaksi.kode_obat AND
Harga <10000;
Maka
akan didapatkan hasil query sebagai berikut
Penginisialan atau alias
Terkadang
didalam pemanggilan data didalam suatu database relasional yang sangat kompleks
tentunya akan sangat menyulitkan kita didalam penulisan querinya. Hal ini akan
menjadi masalah yang lebih serius lagi apabila didalam penulisan query tersebut
mengalami kesalahan didalam mendefinisikan tabel –tabel yang terlibat langsung
didalam proses pemanggilan data.
Oleh
karna itu, Penggunaan alias sangat dibutuhkan untuk mempersingkat penulisan
query ataupun menghindari terjadinya kesalahan atau kekeliruan.
Select
a.Nama_pasien,
b.Nama_obat,
b.harga,
c.Tgl_beli
From
pasien a, Obat b, Transaksi c
Where
a.Id_pasien=c.Id_pasien AND b.Kode_obat=c.Kode_obat ;