PRAKTIKUM BASIS DATA SEMESTER 2
BASIS DATA,MODEL DATA,DIAGRAM E-R
1. Konsep
Sistem Basis Data
Basis data adalah kumpulan data yang disimpan secara
sistematis didalam komputer dan dapat diolah atau dimanipulasi serta dapat
diakses dengan mudah dan tepat menggunakan perangkat lunak (program aplikasi)
untuk menghasilkan sebuah informasi.
Sistem basis data merupakan ruang lingkup yang lebih luas
dari basis data.sistem basis data memuat sekumpulan basis data dalam suatu
sistem yang mungkin tidak ada hubungan antara satu dengan yang lain,tetapi
secara keseluruhan mempunyai hubungan sebagai sebuah sistem yang didukung oleh
komponen lainnya.
Komponen sistem basis data: Perangkat keras (Hardware),
Sistem operasi (Operating System), Basis data (Database), DBMS (Database
Management System),Pemakai (User).
DBMS (Database Management System) merupakan basis data
dan set perangkat lunak (Software) untuk pengelolaan basis data.
2. Konsep
Model Data
Model data merupakan suatu cara untuk menjelaskan tentang
data-data yang tersimpan dalam basis data dan bagaimana hubungan antar data
tersebut untuk para pengguna (User) secara logika.secara garis besar model data
dapat dikelompokkan menjadi 3 macam yaitu :
1.
Model
Data Berbasis Objek (Object Based Data Model)
Merupakan himpunan data dan relasi yang menjelaskan
hubungan logik antar data dalam suatu basis data berdasarkan pada obyek
datanya.salah satunya adalah Entity Relationship Model.
Model Entity
Relationship Diagram (ERD) atau Conceptual
Data Model (CDM) merupakan suatu model untuk menjelaskan hubungan antar
data dalam basis data berdasarkan suatu persepsi bahwa dunia nyata terdiri dari
obyek-obyek dasar (entitas) yang mempunyai hubungan atau relasi antar
obyek-obyek dasar (entitas) tersebut yang dilukiskan dengan menggunakan
simbol-simbol grafik tertentu.
2.
Model
Data Berbasis Record (Record Based Data
Model)
Model ini berdasarkan pada record/rekaman untuk
menjelaskan kepada para pemakai tentang logik antar data dalam basis data salah
satunya adalah Relational model.
Model Rasional merupakan model data yang menjelaskan pada
pengguna tentang hubungan logik antar data dalam basis data dengan
mempresentasikannya kedalam bentuk tabel-tabel yang terdiri atas sejumlah baris
yang menunjukan record dan kolom yang menunjukan atribut tertentu.
3.
Physical
Based Data Model
Model ini berdasarkan pada teknis penyimpanan record
dalam basis data.model ini jarang digunakan untuk memodelkan data kepada
pemakai karena kerumitan dan kompleksitasnya yang tinggi.
3. Bahasa
Basis Data
Bahasa yang digunakan untuk mendefinisikan,mengelolah dan
memanipulasi basis data dikelompokkan 3 macam yaitu :
1.
DDL
(Data Definition Language) digunakan
untuk mendefinisikan struktur dan kerangka basis data yang meliputi :
a.
Membentuk
basis data,tabel,indeks
b.
Mengubah
struktur table.
c.
Menghapus
basis data,table atau indeks.
2.
DML
(Data Manipulation Language)
digunakan untuk menjabarkan pemrosesan data pada basis data yang meliputi :
a.
Menambahka
atau menyisipkan data baru kebasis data.
b.
Mengelolah
data yang tersimpan dalam basis data (query)
c.
Mengubah
dan menghapus data dalam basis data.
3.
DCL
(Data Control Language) digunakan
untuk pengaturan hak akses pengguna pada basis data yang meliputi :
a.
Menugaskan
hak akses terhadap basis data kepada pengguna atau grup pengguna.
b.
Membatalkan
hak akses pengguna terhadap basis data.
4. Entity Relationship Diagram (ER-D)
Merupakan model data yang dikembangkan berdasarkan obyek
atau entitas.ER_D berguna membantu perancang atau analis sistem pada saat
melakukan analisis dan perancangan basis data kerena model ini dapat
menunjukkan macam data yang dibutuhkan dan direlasikan antar data didalamnya.
1.
Komponen
ER_Diagram
Sebuah diagram ER tersusun atas tiga komponen,yaitu
entitas yang merupakan obyek dasar yang terlibat dalam sistem,atribut yang
berperan sebagai penjelas entitas,kerelasian antar entitas menunjukan hubungan
yang terjadi diantara dua entitas.
a.
Entitas
(Entity)
Entitas menunjukan obyek-obyek dasar yang terkait didalam
sistem.obyek dasar dapat berupa orang,benda atau hal yang keterangannya perlu
disimpan didalam basis data.macam-macam entitas :
·
Entitas
Reguler
Entitas ini disebut juga entitas dominan (Strong
Entity).keberadaan entitas ini tidak tergantung pada entitas yang lain.
Contoh : Mahasiswa,Matakuliah
·
Entitas
Dependen
Entitas ini disebut juga entitas tidak
bebas/independen atau entitas lemah
(Weak Entity) atau entitas subordinat.entitas ini dapat muncul jika ada entitas
lain sebagai acuannya (entitas reguler).
Contoh : Matakuliah_konsentrasi, bergantung pada entitas
Matakuliah.
·
Entitas
Super Type dan Sub Type
Entitas super type
merupakan entitas yang memiliki tingkatan yang lebih tinggi yaitu membawahi
mempunyai entitas bagian yang lebih rendah.
Contoh : Entitas karyawan.
Entitas Sub Type merupakan
entitas yang lebih rendah yaitu entitas yang menjadi entitas bagian dari
entitas lain.
Contoh : Entitas Karyawan_tetap dan Karyawan_tidak_tetap
b.
Atribut
(Attribute)
Merupakan keterangan-keterangan yang terkait pada sebuah
entitas yang perlu disimpan kedalam database. Atribut berfungsi sebagai
penjelas pada sebuah entitas. Contoh : masiswa mempunyai atribut nim, nama,
jurusan, kelamin, tempat_lahir,t anggal_lahir, dsb.
Atribut pada sebuah entitas dibagi menjadi 2 yaitu :
·
Atribut
Sederhana (Simple Attribute),yaitu jika atribut berisi sebuah
komponen/nilai/elemeter.
Contoh : pada entitas mahasiswa adalah tahun masuk = 2013
·
Atribut
Komposit (Composite Attribute),yaitu jika atribut berisi lebih dari sebuah
komponen nilai.
Contoh : pada entitas mahasiswa adalah tanggal lahir yang
terdiriatas komponen nilai tanggal,bulan,tahun
c.
Kerelesaian
Antar Entitas (Entity Relationship)
Mendefinisikan hubungan antara 2 buah entitas jenis
kerelasian antar entitas dibagi menjadi 3 sebagai berikut :
1.
Kerelasian
jenis satu kesatu (one to one),kerelasian terjadi jika kejadian atau transaksi
diantara dua entitas yang berhubungan hanya memungkinkan terjadi sebuah
kejadian atau transaksi pada kedua entitas.
Dimana setiap tupel (baris) pada entitas A berhubungan
dengan paling banyak satu tupel pada entitas B dan begitu juga sebaliknya
setiap tupel pada entitas B berhubungan dengan paling banyak satu tupel pada
entitas A.
2.
Kerelasian
banyak ke satu (many to one) atau satu kebanyak (one to many) kerelasian ini
terjadi jika kejadian atau transaksi diantara dua entitas yang berhubungan
hanya memungkinkan terjadi satu kali dalam entitas pertama dan dapat terjadi
lebih dari satu kali kejadian atau transaksi pada entitas kedua.
·
Satu
ke banyak (one to many)
Dimana satu tupel pada entitas A dapat berhubungan dengan
banyak tupel pada entitas B,tetapi tidak sebaliknya,dimana setiap tupel pada
entitas B berhubungan dengan paling banyak satu tupel pada entitas A.
·
Banyak
ke satu (many to one)
Dimana setiap tupel pada entitas A dapat berhubungan
dengan paling banyak satu tupel pada entitas B,tetapi tidak sebaliknya,dimana
setiap tupel pada entitas A berhubungan dengan paling banyak satu tupel pada
entitas B.
3.
Kerelasian
jenis banyak ke banyak (many to many) Kerelasian jenis ini
terjadi jika kejadian atau transaksi diantara dua entitas yang berhubungan
memungkinkan terjadi lebih dari satu kali dalam entitas pertama dan kedua
Dimana setiap tupel pada entitas A dapat berhubungan
dengan banyak tupel pada entitas B dan demikian juga sebaliknya,dimana setiap
tupel pada entitas B dapat berhubungan dengan banyak tupel pada entitas A.
2.
Langkah-langkah
Membuat ER_Diagram
Untuk membuat ER_Diagram secara lengkap dapat dilakukan
dengan mengikuti langkah-langkah sebagai berikut :
·
Identifikasikan
setiap entitas yang terlibat.
·
Lengkapi
masing-masing entitas dengan atribut yang sesuai.
·
Tentukan
primary key dari masing-masing entitas.
·
Identifikasikan
setiap kerelasian berikut jenisnya yang terjadi diantara entitas dengan membuat
tabel daftar kerelasian antar entitas.
·
Gambarkan
simbol-simbol entitas,atribut,dan kerelasian antar entitas secara jelas dan
tidak bertabrakan.
·
Cek
ER_Diagram yang terbentuk,dalam hal : kelengkapan entitas,kelengkapan atribut,
kelengkapan kerelasian antar entitas dan jenis kerelasian antar entitas.
STRUCTURED QUERY LANGUAGE (SQL)
A.
SQL
(Structured Query Language)
SQL merupakan suatu bahasa (language) standar menurut
ANSI (American National Standards Institute) yang digunakan untuk mengakses
basis data. SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada
laboratorium riset san jose,IBM). Kini SQl juga dijumpai pada berbagai
platform, dari mikrokomputer hingga mainframe. SQL dapat digunakan baik secara
berdiri sendiri maupun diletakkan pada bahasa-bahasa lain seperti C dann Delphi. SQL juga telah menjadi bagian
dari sejumlah DBMS,seperti Oracle,Sybase,MySQL dan Informix.
B.
Elemen
SQL
Elemen dasar SQL mencakup pernyataan, nama, tipe
data, konstanta, ekspresi, operator relasi, operator logika dan
fungsi bawaan.
- Pernyataan
Merupakan perintah SQL yang meminta sesuatu tindakan
kepada DBMS (database management system). SQL memiliki kira-kira 30 pernyataan
bebrapa pernyataan dasar SQL dapat dilihat pada tabel berikut.
Tabel 2.1 Pernyataan SQL
|
Pernyataan |
Keterangan |
|
CREATE |
Menciptakan basis data,tabel atau indeks |
|
ALTER |
Mengubah struktur tabel |
|
DROP |
Menghapus basis data,tabel atau indeks |
|
COMMIT |
Mengakhiri sebuah eksekusi transaksi data |
|
ROLLBACK |
Mengembalikan ke keadaan semula sekiranya suatu
transaksi gagal dilaksanakan |
|
INSERT |
Menambahkan sebuah baris pada tabel |
|
UPDATE |
Mengubah nilai pada sebuah baris |
|
SELECT |
Memilih baris dan kolom pada tabel |
|
DELETE |
Menhapus baris pada tabel |
|
GRANT |
Menugaskan hak terdapat basis data kepada pengguna atau
grup pengguna |
|
REVOKE |
Membatalkan hak terdapat basis data. |
Yang semuanya dikelompokan berdasarkan fungsinya
masing-masing yaitu :
a.
Data
Definition Language (DDL) : Digunakan untuk mendefinisikan data dengan menggunakan
perintah : CREATE,DROP,ALTER.
b.
Data
Manipulation Language (DML) : Digunakan untuk memanipulasi data dengan menggunakan
perintah : INSERT,SELECT,UPDATE,DELETE.
c.
Data
Control Language (DCL) : Digunakan untuk mengontrol hak para pemakai data dengan
perintah : GRANT,REVOKE.
- Nama
Nama digunakan sebagai identitas bagi objek-objek pada
DBMS (database Management System) cotoh objek pada DBMS adalah tabel,kolom dan
pengguna.
- Tipe Data
Setiap data memiliki tipe data. Berikut ini adalah tipe
data dalam MySQL:
|
Tipe |
Keterangan |
Range Nilai |
|
TINYINT |
Nilai integer yang sangat kecil |
Signed : -128 s.d 127 Unsigned : 0 s.d 255 |
|
SMALLINT |
Nilai integer yang kecil |
Signed : -32768 s.d 32767 Unsigned : 0 s.d 65535 |
|
MEDIUMINT |
Integer dengan nilai medium |
Signed : -8388608 s.d 8388607 Unsigned : 0 s.d 16777215 |
|
INT |
Integer dengan nilai standar |
Signed : -2147483648 s.d 2147483647 Unsigned : 0 s.d 4294967295 |
|
BIGINT |
Integer dengan nilai besar |
Signed : -9223372036854775808 s.d 9223370385477007 Usigned : 0 s.d 184467709551615 |
|
FLOAT |
Bilangan desimal dengan single-precission |
Minimum ± 1.1754931e-38 Maksimum ± 3.4028246e+38 |
|
DOUBLE |
Bilangan desimal dengan double-precission. |
Minimum ± 2.220585072014e-308 Maksimum ± 1.797693136257e+308 |
|
DECIMAL (M,D) |
Bilangan float (desimal) yang dinyatakan sebagai
string. M adalah jumlah digit yang disimpan dalam suatu kolom, N adlah jumlah
digit dibelakang koma. |
Tergantung pada nilai M dan D |
Keterangan :
Signed dan Unsigned adalah atribut untuk tipe data
numerik
-
Signed
: data yang disimpan dalam suatu kolom dapat berupa data negatif dan positif
-
Unsigned
: digunakan agar data yang dimasukkan bukan data negatif (>=0). Tipe data
float tidak dapat dinyatakan dengan unsigned.
Tabel 2.3 Tipe Data String Atau Karakter
|
TIPE |
KETERANGAN |
UKURAN MAKSIMUM |
|
CHAR (n) |
String karakter dengan panjang yang tetap, yaitu n |
1 M byte |
|
VARCHAR (n) |
String karakter dengan panjang yang tidak
tetap,maksimum n |
1 M byte |
|
TINYBLOB |
Blob (Binary Large Object) yang sangat kecil |
28 -1 byte |
|
BLOB |
Blob berukuran kecil |
216-1 byte |
|
MEDIUMBLOB |
Blob berukuran sedang |
224-1 byte |
|
LONGBLOB |
Blob berukuran besar |
232-1 byte |
|
TINYTEXT |
String teks yang sangat kecil |
28-1 byte |
|
TEXT |
String teks berukuran kecil |
216-1 byte |
|
MEDIUMTEXT |
String teks berukuran medium (sedang) |
224-1 byte |
|
LONGTEXT |
String teks berukuran besar |
232-1 byte |
|
ENUM |
Enumerasi,kolom dapat di isi dengan satu member
enumerasi |
65535 anggota |
|
SET |
Himpunan,kolom dapat diisi dengan beberapa nilai
anggota himpunan. |
64 anggota himpunan |
Tabel 2.4 Tipe Data Tanggal Dan Jam
|
TIPE |
RANGE |
FORMAT |
|
DATE |
“1000-01-01” S.D “9999-12-31” |
“0000-00-00” |
|
TIME |
“-832:59:59” S.D “838:59:59” |
“00:00:00” |
|
DATE TIME |
“1000-01-01 00:00:00” S.D “9999-12-31 23:59:59” |
“0000-00-00 00:00:00” |
- Konstanta
Konstanta menyatakan nilai yang tetap atau tidak
berubah.konstanta sering dipakai pada perintah SELECT. Konstanta dibagi menjadi
2.
1.
Konstanta
bertipe numerik : 200,-3,1500,3.25
2.
Konstanta
bertipe karakter : ‘Teknik Informatika’
Keterangan
Konstanta bertipe karakter atau string diapit oleh tanda
petik tunggal.dan konstanta dengan nilai pecahan desimal adalah berupa tanda
titik.
- Operator Aritmatika
Operator Aritmatika adalah ekspresi untuk memperoleh
suatu nilai dari hasil perhitungan nilai pecahan desimal adalah berupa tanda
titik.
Contoh : Harga*Jumlah+2
Simbol-simbol yang dapat digunakan pada ekspresi
aritmatika.
Tabel 2.5 Simbol Ekspresi Aritmatika
|
SIMBOL |
KETERANGAN |
|
* |
Perkalian |
|
/ |
Pembagian |
|
+ |
Penjumlahan |
|
- |
Pengurangan |
|
% |
Sisa Pembagian |
- Operator Relasi
Merupakan operator yang digunakan untuk membandingkan
suatu nilai dengan nilai yang lain. Biasanya operator relasi digunakan
bersamaan dengan operator logika dalam membantu untuk menampilkan informasi
dengan kriteria tertentu.
Tabel 2.6 Simbol Operator Relasi
|
SIMBOL |
KETERANGAN |
|
= |
Sama Dengan |
|
> |
Lebih besar |
|
< |
Lebih kecil |
|
>= |
Lebih besar atau sama dengan |
|
<= |
Lebih kecil atau sama dengan |
|
<> |
Tidak sama dengan |
- Operator Logika
Operator logika ada yaitu OR,AND dan NOT
Tabel 2.7 Operator Logika
|
SIMBOL |
KETERANGAN |
|
NOT atau ! |
Sebagai negasi atau pembalik nilai |
|
OR atau II |
Atau |
|
AND atau && |
Dan |
- Operator Pembanding
Tabel 2.8 Operator Pembanding
|
SIMBOL |
KETERANGAN |
|
IS NOT NULL |
Apakah sebuah nilai adalah tidak kosong (not null) |
|
IS NULL |
Apakah sebuah nilai adalah kosong (null) |
|
BETWEEN |
Apakah suatu nilai diantara dua batasan nilai |
|
IN |
Apakah suatu nilai berada dalam pilihan yang ada |
|
NOT IN |
Apakah suatu nilai tidak berada dalam pilihan yang ada |
|
LIKE |
Apakah suatu nilai sesuai dengan kriteria tertentu |
|
NOT LIKE |
Apakah suatu nilai tidak sesuai dengan kriteria
tertentu |
- Aggregate Functions (Fungsi Agregat)
Fungsi adalah sebuah subprogram yang menghasilkan suatu
nilai jika dipanggil.fungsi agregat adalah fungsi standar didalam SQL,
suatu fungsi yang digunakan untuk
melakukan summary, fungsi statistik standar yang dikenakan pada suatu tabel
atau query.
1.
Sum
(ekspresi) : fungsi ini digunakan untuk mendapatkan nilai total dari suatu
kolom pada suatu tabel.
2.
AVG
(ekspresi) : fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu
kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah
nama kolom. Kolom yang dicari nilai rata-rata adalah kolom dengan tipe data
numerik.
3.
Count
(X) : fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatu
kolom dari suatu tabel. X adalah nama
kolom yang ingin dicari jumlah
barisnya.
4.
Max
(ekspresi) : fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom
dari suatu tabel.kolom yang dicari nilai terbesarnya memiliki tipe data
numerik.
5.
Min
(ekspresi) : fungsi in digunakan untuk mencari nilai terkecil dari suatu kolom dari suatu tabel kolom yang
dicari nilai terkecilnya memiliki tipe data numerik.
C.
MySQL
(My Structured Query Language)
MySQL adalah relational database management system
(RDBMS) yang didistribusikan secara gratis dibawah license GPL (General Public
License) setiap orang bebas menggunakan MySQL tetapi harus bersifat open source
mysql menggunakan bahasa SQL (Structured Query Language)
Kelebihan MySQL dalam mengelolah data adalah :
·
Kecepatan,
MySQL mempunyai kecepatan paling baik dibanding RDBMS lainnya.
·
Mudah
digunakan, perintah dalam MySQL dan aturan-aturannya relatif mudah diingat dan
diimplementasikan karena MySQL menggunakan SQL sebagai bahasa standar database.
·
Open
Source, MySQL sudah menggunakan konsep open source,artinya siapapun dapat ikut
dalam mengembangkan MySQL dan hasil pengembangannya dipublikasikan kepada
pemakai.
·
Kapabilitas,
MySQL mampu memproses data yang tersimpan dalam database dengan jumlah 50 juta
record,60.000 tabel dan 5.000.000.000 juta baris.
·
Keamanan,
MySQL menerapkan sistem keamanan dan hak akses secara bertingkat,termasuk
dukungan dengan keamanan data secara pengacakan lapisan data.
·
Lintas
platform,MySQL dapat dijalankan pada beberapa sistem operasi diantarnya yaitu
Linux,Windows,FreeBSD,Novel Netware,Sun Solaris,SCO open unix dan IBM’s AIX.
1. Instalasi
MySQL-5.0.22-WIN32 :
1.
Jalankan
file setup mysql, yaitu mysql-5.0.22-win32.exe maka akan muncul dialog instalasi sebagai berikut
:
2.
Pilih
tombol Next kemudian muncul
kotak dialog seperti dibawah ini :
3.
Pilih
Custom, kemudian pilih tombol Next. Kemudian tampil dialog fitur
program sebagai berikut :
4.
Klik tanda silang pada Developer Components,
kemudian pilih This feature will be installed on local hard drive
sebagai berikut :
5.
Kemudian
pilih tombol Change..., pada folder name ubah menjadi c:/mysql
sesuai dengan gambar berikut :
6. Pilih OK, kemudian pilih tombol Next, dan pilih tombol Install, maka proses instalasi dimulai.
7.
Berikutnya
muncul dialog account, pilih Skip Sign-Up dan klik tombol Next maka akan muncul kkotak dialog sebagai
berikut :
8.
Klik
tombol Finish dan tombol Next maka akan muncul kotak dialog sebagai berikut :
9.
Pilih
Standard Configuration dan klik tombol Next
10. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password yang diinginkan pada kota isian New root password dan Confirm berikut ini untuk sekuritas, misalnya umsida. Klik tombol Next.
11. Klik tombol Execute
sebagai tahap akhir.
12. Klik Finish.
2.
Melakukan
Koneksi ke MySQL :
Cara 1
1.
Melalui
DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai berikut (yang
diketik hanya yang digaris bawah) :
C:\> cd c:\appserv\mysql\bin
2.
Setelah
itu ketikkan perintah berikut (yang diketik hanya yang digaris bawah) :
C:\appserv\mysql\bin> mysql
–u root –p
3.
Selanjutnya
akan ada respon dari server seperti gambar berikut :
Tampilan tersebut di atas menandakan bahwa telah berhasil
melakukan koneksi ke server.
Cara 2
1.
Dari
menu Start > All Programs > MySQL > MySQL Server 5.0 > MySQL
Command Line Client, maka akan muncul tampilan seperti berikut ini :
2.
Masukkan
password yang telah ditentukan pada saat instalasi, yaitu : umsida, kemudian tekan
enter.
Rubahlah nama prompt mysql dengan nama dan nim
masing-masing mahasiswa.
Sintax :
Mysql> prompt prakDB/nama( 3 nim terakhir ) >
(spasi) (enter)
A. Data Definiton Language (DLL)
DLL merupakan bagian dari sql yang digunakan untuk mendefinisikan struktur dan kerangka data dan obyek
basis data. Bisa juga dikatakan merupakan kelompok perintah yang berfungsi
untuk mendefinisikan atribut-atribut basis data, tabel, batasan-batasan terhadap
suatu atribut, serta hubungan antar tabel.
Tabel 3.1 Perintah-perintah dalam DLL
|
Perintah |
Keterangan |
|
Create Database |
Membuat basis data |
|
Drop Database |
Menghapus basis data |
|
Create Table |
Membuat tabel |
|
Alter Table |
Mengubah atau menyisipkan kolom ke dalam tabel |
|
Drop Table |
Menghapus tabel dari basis data |
|
Create Index |
Membuat Index |
|
Drop Index |
Menghapus Index |
B.
Perintah-perintah DDL
Berikut ini perintah-perintah sql untuk Data Definiton
Language :
a. Membuat
Database
Syntax : CREATE DATABASE namadatabase;
Dimana :
Nama database yang dibuat tidak boleh mengandung spasi
dan tidak boleh memiliki nama yang sama dengan database lain di MySQL. Berikut
ini perintah untuk membuat basis data dengan nama perpustakaan :
mysql> create database perpustakaan;
b.
Menampilkan daftar Database
Untuk menampilkan daftar basis data yang ada di Mysql
dapat menggunakan perintah :
SHOW DATABASES;
Berikut ini perintah untuk menampilkan daftar basis data:
mysql> show databases;
c.
Menghapus
Database
Untuk melakukan penghapusan
terhadap basis data yang sudah dibuat.
Syntax :
DROP DATABASE namadatabase;
Dimana :
Database yang akan dihapus harus sesuai dengan nama
database. Berikut ini perintah untuk menghapus database dengan nama
perpustakaan :
Mysql> drop database perpustakaan;
d.
Mengaktifkan
Database
Sebelum membuat suatu tabel, terlebih dahulu harus
mengaktifkan database yang akan digunakan untuk menyimpan tabel-tabel tersebut
dengan perintah :
USE namadatabase;
karena database yang sudah dibuat telah dihapus maka buat
kembali database perpustakaan.
Kemudian aktifkan database tersebut dengan perintah :
Mysql> use perpustakaan;
e.
Membuat
Tabel
Dalam basis data tabel atau
field berfungsi untuk menyimpan record atau data. Untuk membuat table Syntaxnya adalah :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]),
Field2 TipeData2 ([lebar]),
...
Field3 TipeData3 ([lebar])
);
Keterangan :
Nama tabel tidak boleh mengandung spasi (space) tetapi
jika menginginkan ada spasi harus menggunakan tanda penghubung ( nama_tabel ).
Field1 merupakan atribut pertama dan TipeData1 merupakan tipe data untuk
atribut pertama. Jika ingin membuat tabel dengan atribut lebih dari satu, maka
setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,).
Berikut ini perintah untuk membuat tabel dengan nama pengarang :
mysql> create table pengarang (
kode_pengarang
varchar(5),
nama_pengarang
varchar(35));
Syntax tambahan :
Maka tabel pengarang telah terbentuk, untuk melihat
hasilnya dapat digunakan perintah :
Mysql> SHOW TABLES;
Untuk melihat struktur tabel yang telah dibuat (dalam hal
ini buku) syntaxnya adalah :
DESC namatabel;
Contoh:
Mysql> desc pengarang;
f.
Mendefinisikan
null/not null
Ketika membuat tabel, beberapa field harus diatur agar
field tertentu harus diisi. Biasanya field ini adalah sebagai field utama atau
kunci, juga sebagai identikasi sehingga tidak boleh kosong.
Syntax :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]) NOT NULL,
Field2 TipeData2 ([lebar]) NOT NULL,
...
Field3 TipeData3 ([lebar])
);
Contoh:
mysql> create table pengarang (
kode_pengarang
varchar(5) not null,
nama_pengarang
varchar(35) not null);
a.
Mendefinisikan
Nilai Bawaan (Default)
Nilai default adalah nilai yang otomatis diberikan oleh
sistem untuk suatu atribut ketika ada penambahan baris baru, sementara nilai
pada atribut tersebut tidak diisi oleh pengguna. Syntax :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]),
Field2 TipeData2 DEFAULT nilai
);
Dimana nilai adalah nilai default dari atribut tersebut.
Contoh :
Mysql> create table buku (
Kode_buku
varchar(5) not null,
Judul_buku
varchar(15) not null,
harga
integer default 0,
tahun_terbit
varchar(5),
kode_pengarang
varchar(5),
kode_penerbit
varchar(5));
b.
Menentukan
kunci primer (Primary Key) Pada Tabel
Key adalah satu gabungan dari beberapa atribut yang dapat
membedakan semua basis data (row) dalam tabel secara unik. Key di dalam
database berfungsi sebagai suatu cara
untuk mengidentifikasi dan menghubungkan satu tabel data dengan tabel yang
lain.
Primary Key adalah suatu atribut atau satu set minimal
atribut yang tidak hanya mendefinisikan secara unik suatu kejadian spesifik
tetapi juga dapat mewakili setiap kejadian dari suatu kejadian.
Terdapat tiga cara untuk membuat primary key. Berikut ini
adalah Syntax membuat primary key untuk Field1
Cara
1 :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]) NOT NULL PRIMARY KEY,
Field2 TipeData2 ([lebar])
);
Cara
2 :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]),
Field2 TipeData2 ([lebar]),
PRIMARY KEY(Field1)
);
Cara
3 :
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint
PRIMARY KEY (namakolom);
Berikut ini perintah untuk membuat tabel pengarang dengan
atribut kode_pengarang tipe datanya varchar(5), nama_pengarang tipe datanya varchar(15)
dengan mendefinisikan nilai not null dan primary key untuk atribut
kode_pengarang :
Contoh 1 :
Mysql> create table pengarang (
Kode_pengarang
varchar(5) not null primary key,
Nama_pengarang
varchar(15) not null);
Contoh 2 :
Mysql> create table pengarang (
Kode_pengarang
varchar(5) not null,
Nama_pengarang varchar(35) not null)
Contoh 3 :
Mysql> create table pengarang (
Kode_pengarang
varchar(5) not null,
Nama_pengarang
varchar(15) not null);
penambahan primary key :
Mysql> alter
table pengarang add constraint pk primary key (kode_pengarang);
c.
Menghapus
Primary Key Pada Tabel
Perintah :
Cara 1 :
Jika primary key dibuat dengan menggunakan alter table :
ALTER TABLE
namatabel DROP CONSTRAINT namaconstraint;
Cara 2 : Jika
primary key dibuat melalui create table :
ALTER TABLE namatabel DROP PRIMARY KEY;
Berikut ini perintah yang digunakan untuk menghapus
primary key pada tabel buku :
Mysql> alter table pengarang drop primary key;
d.
Menentukan
Foreign Key Pada Tabel
Foreign Key adalah satu set atribut atau set atribut
sebagai key penghubung kedua tabel dan melengkapi satu relationship (hubungan)
terhadap primary key yang menunjukan keinduknya. Jika sebuah primary key
terhubungan ke table/entity lain, maka keberadaan primary key pada entity
tersebut di sebut sebagai foreign key.
Untuk membuat foreign key, maka harus dipastikan bahwa
tabel dan atribut yang dirujuk (tabel induk dari foreign key) sudah
didefinisikan terlebih dahulu. Perintah yang digunakan sebagai berikut :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]),
Field2 TipeData2 ([lebar]),
FOREIGN KEY (Field2) REFERENCES namatabelinduk
(namafieldinduk)ON UPDATE CASCADE
ON DELETE NO ACTION
)
atau
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint
FOREIGN KEY (namafield) REFERENCES namatabelinduk (namafieldinduk) ON UPDATE
CASCADE ON DELETE NO ACTION;
Berikut ini perintah untuk membuat tabel buku beserta
kolom-kolomnya :
Mysql> create table buku (
kode_buku
varchar(5) not null primary key,
judul_buku
varchar(15) not null,
harga
integer default 0,
tahun_terbit
varchar(5),
kode_pengarang
varchar(5),
kode_penerbit
varchar(5),
foreign key(kode_pengarang) references
pengarang(kode_pengarang) on update cascade
on delete no action);
atau
Mysql> create table buku (
Kode_buku
varchar(5) not null primary key,
Judul_buku
varchar(15) not null,
harga
integer default 0,
tahun_terbit
varchar(5),
kode_pengarang
varchar(5),
kode_penerbit
varchar(5));
mysql> alter table buku add constraint fk foreign key
(kode_pengarang) references pengarang(kode_pengarang) on update cascade on
delete no action;
e.
Menghapus
Foreign Key
Foreign key yang sudah dibuat dapat di hapus dengan
perintah :
ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;
Berikut ini perintah untuk menghapus foreign key pada
tabel buku :
Mysql> alter table buku drop foreign key fk;
f.
Mengubah
Struktur Tabel
Tabel yang sudah dibuat dapat dilakukan perubahan
strukturnya seperti penambahan atribut (field), penghapusan atribut (field)
bahkan mengganti lebar field dari tabel tersebut. Perintah yang digunakan
adalah ALTER TABLE.
·
Menambah
Atribut Baru Pada Tabel
Syntax :
ALTER TABLE namatabel ADD fieldbaru tipe;
Dimana :
namatabel adalah nama tabel yang akan ditambah fieldnya.
Fieldbaru adalah nama atribut yang akan ditambahkan, tipe adalah tipe data dari
atribut yang akan ditambahkan. Berikut ini perintah untuk menambah atribut
keterangan dengan tipe data varchar(25) ke dalam tabel buku :
Mysql> alter table buku add keterangan varchar(25);
·
Mengubah
Tipe Data atau Lebar Atribut Pada Tabel
Syntax :
ALTER TABLE namatabel MODIFY COLUMN field tipe;
Dimana :
namatabel adalah nama tabel yang akan diubah tipe data
atau lebar atributnya. Field adalah atribut yang akan diubah tipe data atau
lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar atribut
yang berbeda. Berikut ini perintah untuk mengubah tipe data untuk atribut
keterangan dengan char(20) :
mysql> alter table buku modify column keterangan
char(20);
·
Mengubah
Nama Atribut (Field) pada Tabel
Syntax :
ALTER TABLE namatabel CHANGE COLUMN namalamafield
namabarufield tipedatanya;
Dimana :
Namatabel
adalah nama tabel yang akan diubah nama atributnya, namalamafield adalah
atribut yang akan diganti namanya, namabarufield adalah nama baru atribut,
tipedatanya adalah tipe data dari atribut tersebut. Berikut ini perintah untuk
mengubah nama atribut keterangan menjadi ket :
mysql> alter table buku change column keterangan ket
char(20);
·
Menghapus
Atribut (Field) Pada Tabel
Syntax :
ALTER TABLE namatabel DROP COLUMN namakolom;
Berikut ini perintah untuk menghapus atribut ket pada
tabel buku :
Mysql> alter table buku drop ket;
g.
Menghapus
Tabel
Tabel sudah di buat dapat di hapus dengan menggunakan
perintah DROP TABLE. Syntax sebagai
berikut:
DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut
ini perintah untuk menghapus tabel dengan nama pengarang :
Mysql> drop table buku;
A.
Data
Manipulation Language (DML)
Data
manipulation language (DML) merupakan perintah-perintah yang berfungsi untuk
melakukan manipulasi data ataupun objek-objek yang ada didalam tabel. Antara
lain : perintah untuk memilih data (query),menyisipkan, mengubah dan menghapus
data dalam basis data.
Bentuk
Manipulasi yang dapat dilakukan oleh DML diantaranya adalah :
1.
Melakukan pencarian kembali data lama.
2.
Penyisipan data
baru kedalam tabel.
3.
Penghapusan
data.
4.
Pengubahan
data.
5.
Menampilkan
data dengan kriteria tertentu.
6.
Menampilkan
data secara terurut.
DML menurut jenisnya dapat dibagi menjadi 2 jenis yaitu :
1.
Prosedural, DML
membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan
bagaimana cara mendapatkannya, contoh paket bahasa prosedural adalah dBase III,
FoxBase.
2.
Non prosedural,
DML membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa
tahu bagaimana cara mendapatkannya. Contoh paket bahasa non prosedural adalah
SQL (Structured Query Language) atau Query By Example (QBE).
B.
Perintah DML
sebagai berikut :
a.
INSERT
Perintah
insert digunakan untuk menambahkan baris pada suatu tabel.
Terdapat
dua cara untuk menambahkan baris, yaitu :
Cara
1 :
Menambahkan
baris dengan mengisi data langsung pada setiap kolom tanpa menyertakan struktur
tabel :
INSERT INTO namatabel VALUES
(nilai1,nilai2,nilai-n);
Cara
2 :
Menambahkan
baris dengan menyertakan struktur tabel dalam mengisi data pada setiap kolom :
INSERT
INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n);
Berikut ini perintah untuk menambahkan baris pada
tabel buku :
Cara 1 :
Mysql > insert into buku values (‘B001’,’Sistem Basis Data’,25000,’2004’,’P001’,’T001’);
Cara
2 :
Mysql
> insert into buku
(kode_buku,judul_buku,harga,tahun_terbit,kode_pengarang,kode_penerbit)
Values
(‘B001’,’Sistem Basis Data’,25000,’2003’,’P001’,’T001’);
Keterangan
:
Jika
data bertipe string, date atau time (contoh : B001,Sistem basis
data,2007-11-10) maka pemberian nilainya diapit dengan tanda petik tunggal
(‘B001’) atau petik ganda (“B001”).
Jika
data bertipe nemerik (2500,400) maka pemberian nilainya tidak diapit tanda
petik tunggal maupun ganda.
b.
UPDATE
Perintah
update digunakan untuk mengubah isi data pada satu atau beberapa kolom pada
suatu tabel.
Syntax
:
Update
namatabel Set kolom1=nilai1,kolom2=nilai2 [WHERE kondisi];
Perintah
dalam tanda []bersifat opsional untuk mengubah suatu baris dengan suatu kondisi
tertentu. Berikut ini perintah untuk mengubah baris pada tabel pengarang dengan
data sebagai berikut :
Mysql
> select * from buku;
Contoh 1 : mengubah semua nilai pada kolom judul_buku menjadi ‘Basis Data’ :
Mysql
> update buku1 set
judul_buku=’Basis Data’;
Contoh 2 : mengubah nilai pada kolom judul_buku menjadi basis data terpadu dimana nilai pada kolom kode_buku adalah B001.
Mysql
> update buku set judul_buku=’Basis
Data Terpadu’ where
kode_buku=’B001’;
c.
SELECT
Perintah
SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan
dengan tabel yang lainnya.
1.
Menampilkan
data untuk semua kolom menggunakan asterisk (*)
Syntax
: SELECT * FROM namatabel;
Berikut ini perintah untu menampilkan semua data pada tabel buku :
Mysql
> select * from buku;
2.
Menampilkan
data untuk kolom tertentu
Syntax
: SELECT kolom1,kolom2,kolom-n From namatabel;
Berikut ini perintah untuk menampilkan data pada tabel buku dengan kolom yang ditampilkan adalah kolom kode_buku.
Mysql
> select kode_buku from buku;
3.
Menampilkan
data dengan kondisi data tertentu dengan klausa WHERE
Syntax
: SELECT * FROM namatabel WHERE kondisi;
Berikut ini perintah untuk menampilkan data pada tabel buku dimana nilai pada kolom kode_buku adalah B001 :
Mysql
> select * from buku where kode_buku=’B001’;
Beberapa
operator perbandingan yang dapat digunakan pada klausa where selain “=” adalah
: > (lebih dari), < (kurang dari), < > (tidak sama dengan), >=
(lebih dari satu sama dengan), <= (kurang dari atau sama dengan). Adapun
operator lain yaitu : AND,OR,NOT,BETWEEN-AND,IN dan LIKE. Berikut ini data yang
ada padatabel pengarang.
Mysql > select * from buku;
Contoh 1 : perintah untuk menampilkan data pada tabel buku dimana nilai harga berkisar dari 25000 hingga 50000 :
Mysql
> Select * from buku where harga >= 25000 and harga <=50000;
Atau
Mysql
> select * from buku where harga between 25000 and 50000;
Contoh 2 : perintah untuk menampilkan data pada tabel buku dimana nilai harga sama dengan 25000 atau 50000 :
Mysql
> select * from buku where harga = 25000 or harga = 50000;
Atau
Mysql
> select * from buku where harga in (25000,50000);
Contoh 3 : perintah untuk menampilkan data pada tabel buku dimana nilai pada kolom judul_buku tidak sama dengan basis data.
Mysql
> select * from buku where not judul_buku=’Basis
Data Terpadu’;
Atau
Mysql
> select * from buku where judul_buku < >’basis data terpadu’;
Contoh
4 : isi tabel buku
Mysql
> select * from buku;
Perintah untuk menampilkan data pada tabel buku dimana data pada
kolom tertentu diawali dengan nilai tertentu, misalnya pada kolom judul_buku
dimana diawali dengan karakter ‘B’ :
Mysql
> select * from buku where judul_buku like ‘B%’;
4.
Memberikan nama
lain pada kolom
Syntax
:
SELECT namakolomlama AS
namakolombaru FROM namatabel;
Berikut
ini perintah untuk memberikan nama lain pada kolom judul_buku menjadi judul
pada tabel pengarang :
Mysql
> select judul_buku as judul from buku;
5.
Menggunakan
alias untuk nama tabel
Syntax
:
SELECT nmalias.jenis,nmalias.harga FROM namatabel nmalias;
Berikut ini perintah untuk memberikan alias pada tabel buku :
Mysql
> select j.judul_buku, j.harga from
buku j;
6.
Menampilkan data lebih dari dua tabel
Syntax
:
SELECT * from namatabel1,namatabel2,namatabel-n;
Isi tabel pengarang :
Mysql
> select *from pengarang ;
Isi tabel buku :
Mysql
> select*from buku;
Berikut ini perintah untuk menampilkan semua data pada tabel pengarang dan buku :
Mysql
> select*from pengarang, buku;
7.
Operator
comparison ANY dan ALL
a.
Operator ANY
digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar)
jika paling tidak salah satu perbandingan denga hasil subquery menghasilkan
nilai TRUE. Ilustrasinya :
Gaji > ANY (S)
Jika
subquery S menghasilkan G1,G2,...,Gn maka kondisi diatas identik dengan :
(gaji > G1) Or (gaji > G2) Or..Or (gaji>Gn)
Contoh : perintah untuk menampilkan semua data pengarang yang harga bukunya bukan yang terkecil :
Mysql > select*from buku where harga > ANY (select
kode_pengarang from pengarang);
b.
Operator ALL
digunakan untuk melakukan perbandingan dengan subquery.kondisi dengan ALL menghasilkan nilai TRUE (benar) jika subquery
tidak menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap
nilai query terhadap hasil subquery.
Contoh : perintah untuk menampilkan data pengarang yang harganya paling tinggi.
Mysql
> select * from buku where harga >= ALL (select kode_pengarang from
pengarang);
8.
Aggregate
Functions (Count,Sum,AVG,Min,Max)
a.
Count
Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel.contoh : perintah untuk menghitung jumlah baris kolom kode_buku pada tabel buku :
Mysql
> select count(kode_buku) from buku;
b. Sum
Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung jumlah nilai kolom harga pada tabel pengarang :
Mysql
> select sum(harga) from buku;
c. AVG
Perintah
yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel.
Contoh : perintah untuk menghitung rata-rata dari kolom harga pada tabel
pengarang :
Mysql
> select avg(harga) from buku;
d. Min
Perintah
yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel.
Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel
buku :
Mysql
> select min(harga) from buku ;
e. Max
Perintah
yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel.
Contoh : perintah untuk menampilkan nilai terbesar dari kolom harga pada tabel
buku :
Mysql
> select max(harga) from buku;
9.
SQL dengan
Group By dan Having
Klausa
Group By digunakan untuk melakukan pengelompokan data. Sebagai contoh terdapat
tabel buku dengan data sebagai berikut :
Mysql
> select * from buku;
Akan
ditampilkan hanya kolom tahun_masuk dan digabungkan dengan Sum(jml_buku) yang
dikelompokan berdasarkan kolom tahun_masuk pada tabel buku :
Mysql
> select sum(tahun_terbit) from buku
group by tahun_terbit;
Klausa Having digunakan untuk menentukan kondisi bagi klausa group
by.kelompok yang memnuhi having saja yang akan dihasilkan. Contoh : perintah
untuk menampilkan data hanya kolom tahun_masuk yang dikelompokkan berdasarkan
kolom tahun_masuk,dimana jumlah buku berdasarkan kelompoknya harus lebih besar
dari satu pada tabel buku :
Mysql
> select kode_pengarang from buku group by kode_pengarang
having count (kode_buku) >1;
10. Order By
Klausa Order By digunakan untuk mengurutkan data berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data buku berdasarkan kolom judul :
Mysql
> select * from buku order by judul_buku;
Atau
tambahkan ASC untuk pengurutan secara ascending (menaik)
Mysql
> select * from buku order by judul asc;
atau
tambahkan Desc untuk pengurutan secara descending (menurun)
Mysql
> select * from buku order by judul desc;
d.
DELETE
Perintah delete digunakan untuk menghapus satu baris,baris dengan kondisi tertentu atau seluruh baris. Syntax :
DELETE FROM namatabel [where kondisi];
Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. Berikut ini perintah untuk menghapus baris pada tabel buku dengan data sebagi berikut :
Mysql
> select * from buku;
Contoh1 : jika ingin menghapus seluruh baris pada tabel pengarang :
Mysql
> delete from buku;
Contoh 2 : jika ingin menghapus baris yang memiliki nilai ‘B001’ pada kolom kode_buku pada tabel buku maka perintahnya sebagai berikut:
Mysql
> delete from buku where kode_buku=’B001’;
Contoh 3 : jika ingin menghapus baris yang memiliki nilai ‘Basis data’ pada kolom judul_buku pada tabel buku maka perintahnya sebagai berikut :
Mysql > delete from buku where judul_pengarang=’Basis Data Terpadu’;
A. Query
Query merupakan suatu proses pengolahan data yang digunakan untuk
memberikan hasil dari basis data berdasarkan kriteria tertentu. Query tidak
hanya membaca atau mengambil data,Query biasanya melibatkan beberapa tabel yang
direlasikan dengan menggunakan field kunci.Namun query juga dapat digunakan
pada satu tabel saja,tetapi hasilnya kurang informatif dan terbatas.
1.
Aturan dalam
melakukan query antar tabel :
a.
Setiap field
disebutkan bersama dengan nama tabelnya,dipisahkan tanda titik (.) Syntax :
Namatabel.namafield.
Contoh :
buku.kode_buku artinya field kode_buku dari tabel buku.
b.
Setiap tabel
yang terlibat dalam proses query harus disebutkan dalam klausa FROM,dengan
pemisah koma (,) dimana urutan tabel tidak mempengaruhi proses query.
Contoh : From
buku, anggota.
c.
Kondisi dalam
klausa Where mempengaruhi jenis join yang tercipta.
2.
Jenis – jenis
join pada query.
a.
Operator Cross
Join
Operator ini
berguna untuk melakukan operasi penggabungan dengan perkalia kartesain.Namun
penggabungan jenis ini jarang digunakan karena tidak menghasilkan nilai
informasi yang efektif.
Contoh :
Select * From
buku Cross Join pengarang Limit 5;
b.
Operator Inner
Join
Inner join digunakan
untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat
dibelakang on (tidak boleh null) dengan kata lain semua data dari tabel kiri
mendapat pasangan data dari tabel sebalah kanan. Berikut ini perintah untuk
menampilkan data dari tabel pengarang
dan buku dengan syarat berdasarkan kolom kode_pengarang :
Mysql > select * from pengarang
join buku on (pengarang.kode_pengarang=buku.kode_pengarang);
c.
Operator
Equijoin
Equijoin adalah
penggabungan antar tabel denga menggunakan operator ‘=’ pada kondisi klausa
Where.
Contoh :
SELECT
buku.kode_buku, buku.judul_buku,
Pengarang.kode_pengarang,
pengarang.nama_pengarang From buku, pengarang WHERE
Buku.kode_pengarang=pengarang.kode_pengarang;
d.
Operator
Self-join
Self-join adalah jenis penggabungan
antar field dari tabel yang sama. Untuk melakukan penggabungan self join
menggunakan alias.
Contoh :
SELECT a.kode_buku, b.judul_buku from buku a, buku
b WHERE a.harga=’25000’ AND a.harga=’25000’;
e.
Operator Natural Join
Operator ini digunakan untuk melakukan equijoin dengan memperlakukan
nama-nama kolom yang sama sebagai kolom penghubung.
Contoh :
SELECT buku.kode_buku, buku.judul_buku,
pengarang.kode_pengarang, pengarang.nama_pengarang FROM buku NATURAL JOIN
pengarang;
Natural join dibedakan menjadi 2
yaitu :
· Natural Left Join
Natural left
join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah
natural left join beserta pasangannya dari tabel sebelah kanan. Meskipun
terdapat data dari sebelah kiri tidak memiliki pasangan, tetapi akan
ditampilkan dengan pasangannya berupa nilai NULL.
Mysql >
select *from pengarang natural left join buku;
· Natural Right Join
Netural right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah natural right join beserta pasangannya dari tabel sebelah kiri.meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.
Mysql >
select * from pengarang natural right join buku;
3.
UNION, INTERSECT
dan EXCEPT
1.
UNION
Union merupakan operator yang digunakan untuk menggabungkan hasil query,dengan ketentuan jumlah,nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Berikut ini perintah untuk memperoleh data pada tabel buku dimana tahun penerbitnya 2003 dan 2004
Mysql >
select tahun_terbit,judul from buku where
tahun_terbit=’2003’
union > select tahun_terbit,judul from
buku where
tahun_terbit=’2004’;
perintah diatas identik dengan :
Mysql >
select tahun_terbit,judul from buku where tahun_terbit=’2003’ or tahun_terbit
=’2004’;
Namun tidak
semua penggabungan dapat dilakukan dengan OR,yaitu jika bekerja pada dua tabel
atau lebih.
2.
INTERSECT
Intersect
merupakan operator yang digunakan untuk
memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang
memenuhi kedua query tersebut dengan ketentuan jumlah,nama dan tipe kolom dari
masing-masing tabel yang akan ditampilkan datanya harus sama.
Syntax :
SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2
Pada MySQL
tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan
operator IN seperti contoh pada bagian
nested queries.
3.
EXCEPT / Set
Difference
Except
merupakan operator yang digunakan untuk memperoleh data dari dua buah query
dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak
terdapat pada data dari hasil query 2 dengan ketentuan jumlah,nama dan tipe
kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
Syntax :
SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2
Pada MYSQL
tidak terdapat operator Except namun sebagai gantinya dapat menggunakan
operator NOT IN seperti contoh 2 pada
bagian Nested Queries.
4.
Nested Queries
/ Subquery (IN,NOT IN,EXISTS,NOT EXIST)
Subquery
berarti query didalam query.dengan menggunakan subquery, hasil dari query akan
menjadi bagian dari query diatasnya.
Subquery terletak didalam klausa WHERE atau HAVING pada klausa WHERE,subquery digunakan untuk memilih baris-baris tertentu yang kemudian digunakan oleh query. Sedangkan pada klausa HAVING,subquery digunakan untuk memilih kelompok baris yang kemudian digunakan oleh query.
Contoh 1 : perintah untuk menampilkan data pada tabel pengarang yang mana data pada kolom kode_pengarang nya tercantum pada tabel buku menggunakan IN :
Mysql >
select * from pengarang where kode_pengarang in (select kode_pengarang from
buku);
Atau menggunakan EXISTS
Mysql >
select * from pengarang where exists (select * from buku where pengarang,kode_pengarang=buku.kode_pengarang);
Pada contoh
diatas :
SELECT
kode_pengarang FROM buku
Disebut
subquery,sedangkan :
SELECT * FROM pengarang
Berkedudukan
sebagai query. Perhatikan,terdapat data jenis dan harga pada tabel pengarang
yang tidak ditampilkan. Hal ini disebabkan data pada kolom jenis tidak terdapat
pada kolom jenis ditabel buku.
Contoh 2 :
perintah untuk menampilkan data pada tabel pengarang yang mana data pada kolom
jenisnya tidak tercantum pada tabel buku menggunakan NOT IN.
Msql
> select * from pengarang where kode_pengarang not in (select kode_pengarang
from buku);
Atau menggunakan NOT EXISTS
Mysql > select*from pengarang where not
exists (select*from buku where pengarang.kode_pengarang=buku.kode_pengarang);
B.
View
View adalah perintah query yang disimpan pada database dengan suatu nama tertentu,sehingga bisa digunakan setiap saat untuk melihat data tanpa menuliskan ulang query tersebut.
Syntax dasar perintah untuk membuat view adalah sebagai berikut :
CREATE
[OR REPLACE]
VIEW view_name [(column_list)]
AS select_statement
Kita menggunakan opsi OR REPLACE jika kita ingin mengganti view dengan nama yang sama dengan perintah tersebut. Jika tidak maka perintah CREATE VIEW akan menghasilkan error jika nama view yang ingin dibuat sudah ada sebelumnya.
C.
Penggunaan View
1.
View antar 2
tabel
Kita akan membuat view dari relasi antara tabel “buku” dan “penerbit” untuk menampilkan data buku dan penerbitnya dari database PERPUSTAKAAN dengan nama ‘view_buku” perintahnya adalah sebagi berikut :
Mysql > CREATE VIEW view_buku As
>SELECT a.kode_buku, judul_buku, tahun_terbit, nama_pengarang
>FROM buku
>JOINpengarang
>ON kode_pengarang=kode_prg;
Eksekusi perintah berikut untuk memastikan view telah dibuat :
SELECT*FROM information_schema.views WHERE table_name = ‘view_buku’;
Lihat hasil query view , view_buku;
SELECT
* FROM view_buku;
Lihat hasil query view
view_buku :
SELECT * from
view_buku;
2.
View dengan 3
tabel
Membuat view
dari relasi antara tabel “buku”,”anggota” dan “peminjaman” untuk menampilkan
data peminjaman buku dari database perpustakaandengan nama
“view_peminjaman”.perintahnya adalah sebagai berikut :
Mysql >
CREATE VIEW view_peminjaman
>AS
>SELECT a id_peminjaman, b.kode_buku,
b.judul_buku,
>c.kode_anggota, c.nama_anggota,
a.tanggal_pinjam,
>a.tanggal_kembali FROM peminjaman a,
buku b,
>anggota c WHERE a.kode_buku=
b.kode_buku AND
>a.kode_anggota=c.kode_anggota;
Eksekusi perintah berikut untuk memastika view telah dibuat :
SELECT * FROM
information_schema.views WHERE table_name = ‘view_peminjaman’;
Lihat hasil
query view view_peminjaman :
SELECT * FROM
view_peminjaman;
A. Pemahaman
Hak Akses
Basis data yang telah dibuat perlu diatur agar data selalu dalam keadaan aman dari pemakai yang tidak berhak. Pengaturan hak akses berguna dalam hal pembatasan pengaksesan suatu data, misalkan hanya pemakai tertentu yang bisa membaca atau pemakai lain yang justru dapat melakukan perubahan dan penghapusan data.
Macam-macam
perintah yang terkait dengan hak akses adalah SELECT , INSERT , UPDATE , DELETE
, REFERENCES , INDEX , CREATE , ALTER dan DROP.
B. Mengatur
Hak Akses
Untuk
MySQL versi 3.22 keatas dalam manajemen user dapat menggunakan perintah GRANT
dan REVOKE untuk mengatur hak akses pemakai (user).
1. Perintah
GRANT
Dipergunakan
untuk membuat user baru dengan izin aksesnya.
Bentuk umum :
GRANT jenis_akses (“nama_kolom) ON nama_database TO nama_user IDENTIFIED BY “nama_password” [WITH GRANT pilihan akses]
Atau
GRANT
hak_akses ON namatabel TO pemakai;
Dimana
:
· Hak_akses
merupakan hak yang diberikan kepada pemakai berupa SELECT,INSERT saja atau
keduanya. Bila hak akses lebih dari satu antar hak akses dipisahkan dengan koma
(,).
· Nama
tabel, menyatakan nama tabel yang akan diakses dan diatur.
· Pemakai,nama
pemakai yang telah didaftarkan pada sistem database. Sejumlah pemakai bisa
disebutkan dengan dipisahkan tanda koma (,).
Contoh
:
Misalkan
kita sebagai administrator basis data yang mempunyai wewenang untuk mengatur
hak akses para pemakai. Kita akan mengatur hak akses pengguna siska dan edi
(sebagai user).
GRANT SELECT ON buku To siska;
Perintah
diatas digunakan untuk memberikan hak akses SELECT terhadap tabel buku kepada
user siska sehingga user siska dapat menggunakan perintah SELECT untuk
melakukan proses query pada tabel buku.
Hak akses lebih dari satu.
GRANT
SELECT, INSERT, UPDATE, DELETE ON buku TO siska, edi;
C. Membatasi
Hak Akses
Hak akses perlu dibatasi untuk memudahkan dalam mengatur dan mengawasi pemakaian data serta menjaga keamanan data.
Contoh
:
Administrator akan memberikan hak akses kepada edi dalam melakukan query tabel buku untuk field tertentu saja. Perintahnya :
GRANT SELECT, UPDATE
(kode_buku,judul_buku,tahun_terbit) On buku TO edi;
Dari
perintah diatas user arif hanya dapat melakukan SELECT dan UPDATE terhadap tiga
field yaitu kode_buku, judul_buku, tahun_terbit).
D. Hak
akses penuh
Untuk
memberikan hak akses penuh kepada pemakai, dapat memakai perintah klausa
ALLPRIVILEGES. Tentunya dengan pemberian hak akses penuh kepada pemakai (user).
Contoh :
GRANT ALL PRIVILEGES ON buku to siska;
Atau menggunakan
GRANT ALL ON buku to siska;
E. Hak
akses kepada public
Untuk
memberikan hak aksess kepada banyak user dapat menggunakan klausa PUBLIC
beberapa DBMS ada yang menggunakan klausa WORLD.
Contoh :
GRANT SELECT, INSERT ON buku;
F. Pencabutan
hak akses
1. Pencabutan
hak akses sementara
Untuk
melakukan pencabutan atau penghapusan hak akses user menggunakan perintah
REVOKE perintah ini juga mampu melakukan pencabutan hak akses sebagian pemakai
atau secara keseluruhan.
Bentuk umum :
REVOKE hak_akses ON nama_database FROM nama_user;
Atau
REVOKE hak_akses ON namatabel FROM nama_user;
Contoh
Administrator ingin mencabut hak akses user siska,maka perintahnya :
REVOKE SELECT ON buku FROM siska;
atau
REVOKE
SELECT, INSERT ON buku FROM edi;
Kunjungi juga :



Tidak ada komentar:
Posting Komentar