RANGKUMAN PRAKTIKUM BASISDATA
1. BASIS DATA, MODEL DATA, DIAGRAM E-R
Langkah-langkah merancang basis data perpustakaan :
1. Identifikasikan setiap entitas yang terlibat dengan membuat tabel daftar entitas.
1. Daftar Entitas
No
|
Nama Entitas
|
1.
|
Anggota
|
2.
|
Buku
|
3.
|
Pengarang
|
4.
|
Penerbit
|
Lengkapi masing-masing entitas dengan atribut yang sesuai.
2. Atribut masing-masing entitas
Entitas
|
Atribut yang diperlukan
|
Anggota
|
Kode_anggota, nama, alamat, email, telpon
|
Buku
|
Kode_buku, judul_buku, harga, tahun_terbit, pengarang, penerbit
|
Pengarang
|
Kode_pengarang, nama_pengarang
|
Penerbit
|
Kode_penerbit, nama_penerbit, nama_perusahaan, alamat, kabupaten, telpon
|
Tentukan primari key dari masing-masing entitas
3. Primary key
Entitas
|
Primary Key
|
Anggota
|
Kode_anggota
|
Buku
|
Kode_buku
|
Pengarang
|
Kode_Pengarang
|
Penerbit
|
Kode_Penerbit
|
Identifikasikan setiap kerelasian berikut jenisnya yag terjadi di antara entitas dengan membuat tabel daftar kerelasian antar entitas.
4. Kerelasian antar entitas
Entitas yang berhubungan
|
Nama
Kerelasian
|
Jenis
Kerelasian
|
Representasi
| |
Entitas I
|
Entitas II
| |||
Anggota
|
Buku
|
Meminjam
|
n-ke-n
|
File Peminjaman :
Id_peminjaman, kode_anggota, kode_buku, tanggal_pinjam, tanggal_kembali
|
Buku
|
Pengarang
|
Mengarang
|
n-ke-n
|
Penghubung :
Kode_pengarang dalam entitas buku
|
Buku
|
Penerbit
|
Menerbitkan
|
n-ke-1
|
Penghubung :
Kode_penerbit dalam entitas buku
|
Gambarkan simbol-simbol entitas, atribut, dan kerelasian antar entitas secara jelas dan tidak bertabrakan.
Hasil ER_Diangram untuk basis data pengolahan data perpustakaan tanpa melibatkan atribut untuk setiap entitas sebagai berikut:
Gambarkan model konseptual dari ER_diagram diatas
Model konseptual digunakan untuk emperjelas relasi antara entitas satu dengan entitas lain menggunakan Primary key dan Foreign Key.
Membuat Kamus Data (Struktur Entitas)
Kamus data digunakan untuk menjabarkan struktur dari tabel atau entitas dan basis data
Tabel Anggota
No
|
Field
|
Type
|
Size
|
Keterangan
|
1.
|
Kode_anggota
|
Varchar
|
5
|
Primary Key
|
2.
|
Nama
|
Varchar
|
25
| |
3.
|
Alamat
|
Varchar
|
50
| |
4.
|
Email
|
Varchar
|
20
| |
5.
|
Telpon
|
Varchar
|
15
|
Tabel Buku
No
|
Field
|
Type
|
Size
|
Keterangan
|
1.
|
Kode_buku
|
Varchar
|
5
|
Primary Key
|
2.
|
Judul_buku
|
Varchar
|
35
| |
3.
|
harga
|
Integer
|
5
|
Default 0
|
4.
|
Tahun_terbit
|
Varchar
|
5
| |
5.
|
Kode_pengarang
|
Varchar
|
5
|
Foreign Key
|
6.
|
Kode_penerbit
|
Varchar
|
5
|
Foreign key
|
Tabel Pengarang
No
|
Field
|
Type
|
Size
|
Keterangan
|
1.
|
Kode_pengarang
|
Varchar
|
5
|
Primary Key
|
2.
|
Nama_pengarang
|
Varchar
|
35
|
Tabel Penerbit
No
|
Field
|
Type
|
Size
|
Keterangan
|
1.
|
Kode_penerbit
|
Varchar
|
5
|
Primary Key
|
2.
|
Nama_penerbit
|
Varchar
|
25
| |
3.
|
Nama_perusahaan
|
Varchar
|
50
| |
4.
|
Alamat
|
Varchar
|
50
| |
5.
|
Kabupaten
|
Varchar
|
25
| |
6.
|
Telpon
|
Varchar
|
15
|
Tabel Peminjaman
No
|
Field
|
Type
|
Size
|
Keterangan
|
1.
|
Id_pinjam
|
number
|
5
|
Auto increment
|
2.
|
Kode_anggota
|
Varchar
|
5
|
Foreign key
|
3.
|
Kode_buku
|
Varchar
|
5
|
Foreign key
|
4.
|
Tanggal_pinjam
|
Date
|
Default
| |
5.
|
Tanggal_kembali
|
Date
|
Default
|
2. STRUCTURED QUERY LANGUAGE (SQL)
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 dilekatkan pada bahasa-bahasa lain seperti C dan Delphi. SQL juga telah menjadi bagian dari sejumlah DBMS, seperti Oracle, Sybase, MySQL dan Informix.
Elemen SQL
Elemen dasar SQL mencakup pernyataan, nama, tipe data, konstanta, ekspresi, operator relasi, operator logika dan fungsi bawaan.
a. Pernyataan
Merupakan perintah SQL yang meminta sesuatu tindakan kepada DBMS (Database Management System). SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL dapat dilihat pada tabel berikut :
Tabel 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
|
Menghapus baris pada tabel
|
GRANT
|
Menugaskan hak terhadap basis data kepada pengguna atau grup pengguna
|
REVOKE
|
Membatalkan hak terhadap basis data
|
Yang semuanya dikelompokkan 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.
Tabel Tipe data untuk numerik
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. 9223372036854775807
Unsigned : 0 s.d. 18446744073709551615
|
FLOAT
|
Bilangan desimal dengan single-precission
|
minimum ± 1.175494351e-38
maksimum ± 3.402823466e+38
|
DOUBLE
|
Bilangan desimal dengan double-precission
|
minimum ± 2.2205738585072014e-308
maksimum ± 1.7976931348623457e+308
|
DECIMAL(M,D)
|
Bilangan float (desimal) yang dinyatakan sebagai string. M adalah jumlah digit yang disimpan dalam suatu kolom, N adalah 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 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 diisi dengan satu member enumerasi
|
65535 anggota
|
SET
|
Himpunan, kolom dapat diisi dengan beberapa nilai anggota himpunan
|
64 nggota himpunan
|
Tabel 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”
|
DATETIME
|
“1000-01-01 00:00:00” s.d. “9999-12-31 23:59:59”
|
“0000-00-00 00:00:00”
|
Operator Aritmatika
Operator Aritmatika adalah ekspresi untuk memperoleh suatu nilai dari hasil perhitungan.
Contoh : harga*jumlah+2
Simbol-simbol yang dapat digunakan pada ekspresi aritmatika :
Tabel 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.Simbol-simbol yang dapat digunakan pada operator relasi :
Tabel 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 3 yaitu OR, AND dan NOT
Tabel Operator Logika
Simbol
|
Keterangan
|
NOT atau !
|
Sebagai negasi atau pembalik nilai
|
OR atau ||
|
Atau
|
AND atau &&
|
Dan
|
Tabel 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 di antara dua batasan nilai
|
IN
|
Apakah suatu nilai berada di 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
|
3. DATA DEFINITION LANGAUAGE (DLL)
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));
x 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 primary key,
Nama_pengarang
varchar(15) not null,
primary key (kode_pengarang));
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 (DDL) 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 ke dalam tabel
3.
Penghapusan
data
4.
Pengubahan
data
5.
Menampilkan
data dengan kreiteria 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 menambah baris, yaitu
:
Cara 1 :
Menambah baris dengan mengisi data langsung
pada setiap kolom tanpa menyertakan struktur tabel :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Cara 2 :
Menambah 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
(‘B002’,’Sistem Informasi’,50000,’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 numerik (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 buku 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 untuk 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 atau sama dengan), <= (kurang dari atau sama dengan).
Adapun operator lain, yaitu : AND, OR, NOT, BETWEEN-AND, IN dan LIKE. Berikut
ini data yang ada pada tabel 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 Bata 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_pengarang, 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 dengan hasil subquery
menghasilkan nilai TRUE. Ilustrasinya :
Gaji
> ANY (S)
Jika subquery S menghasilkan G1, G2,
..., Gn, maka kondisi di atas 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.
AVGPerintah
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 dikelompokkan berdasarkan kolom
tahun_masuk pada tabel buku :
Mysql>select sum(jml_buku) from buku group by tahun_terbit;
Klausa HAVING digunakan untuk menentukan
kondisi bagi klausa GROUP BY. Kelompok yang memenuhi 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_buku asc;
atau tambahkan DESC untuk pengurutan secara descending
(menurun)
Mysql>select *from buku order by judul_buku 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 sebagai berikut :
Mysql>select * from buku;
Contoh 1 : 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 Terpadu’ pada kolom judul_buku pada tabel buku maka
perintahnya sebagai berikut :
Mysql>delete from buku where judul_buku=’Basis Data Terpadu’;
5. QUERY DAN VIEW
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.
- 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.
- Jenis-jenis
join pada query :
a. Operator
Cross Join
Operator
ini berguna untuk melakukan operasi penggabungan dengan perkalian kartesain.
Namun penggabungan jenis ini jarang digunakan karena tidak menghasilkan nilai
informasi yang efektif.
Contoh
:
select *
from buku CROSS JOIN bagian 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 sebelah 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 dengan 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 operasi 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, tetap akan
ditampilkan dengan pasangannya berupa nilai NULL.
Mysql>select
*from pengarang natural left join buku;
·
Natural Right
Join
Natural
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;
- 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 penerbitan2003 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
di atas identik dengan :
Mysql>select
tahun_terbit,judul_buku 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 1 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.
- Nested
Queries / Subquery (IN, NOT IN, EXISTS, NOT EXISTS)
Subquery
berarti query di dalam query. Dengan menggunakan subquery,
hasil dari query akan menjadi bagian dari query di atasnya.
Subquery
terletak di dalam 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 di atas :
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 di tabel buku.
Contoh
2 : perintah untuk menampilkan data pada tabel pengarang yang mana data pada
kolom jenis-nya tidak tercantum pada tabel buku menggunakan NOT IN :
Mysql>
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
[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.
1.
View antar 2 tabel
Kita akan membuat view dari relasi antara tabel "buku"
dan "penerbit" untuk menampilkan data buku dan penerbitnya dari
database perpustakaandengan nama "view_buku". Perintahnya
adalah sebagai berikut :
Mysql > CREATE VIEW view_buku
> AS
>
SELECT a.kode_buku, a.judul_buku,
>a.tahun_terbit, b.nama_penerbit
> FROM
> buku a JOIN penerbitb ON a.buku= b.penerbit;
> buku a JOIN penerbitb ON a.buku= b.penerbit;
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;
2. View
dengan 3 tabel
Membuat
view dari relasi antara tabel“buku”,“angota”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_pemijaman, b.kode_buku, b.judul_buku,
>c.kode_anggota,
c.nama_anggota, a.tanggal_pinjam,
>a.tanggal_kembali
FROM peminjaman a, buku b,
> anggotac WHEREa.kode_buku= b.kode_buku AND
> anggotac WHEREa.kode_buku= b.kode_buku AND
>a.kode_anggota=c.kode_anggota;
Eksekusi perintah berikut untuk memastikan view telah
dibuat :
SELECT * FROM information_schema.views WHERE table_name = 'view_peminjaman';
Lihat hasil query view view_peminjaman:
SELECT * FROM view_peminjaman;
6. DATA CONTROL LANGUAGE (DCL) / HAK AKSES USER
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
Untul 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.
Bentukumum :
GRANTjenis_akses (``nama_kolom) ON nama_database TO nama_user IDENTIFIED
BY ”nama_password”[WITH GRANTpilihan_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 dengann 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;
2.
Perintah REVOKE
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 ALL
PRIVILEGES. Tentunya dengan pemberian hak akses penuh kepada pemakai (user).
Contoh :
GRANT
ALL PRIVILAGE ON buku to siska;
Atau
menggunakan
GRANT
ALL ON buku to siska;
E. Hak
Akses kepada Public
Untuk
memberikan hak akses kepada banyak user dapat menggunakan klausa PUBLIC.
Bebrapa 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 :
REVOKEhak_aksesON
nama_databaseFROM nama_user;
atau
REVOKE hak_akses ON namatabel FROM nama_user;
Contoh :
Admistrator ingin mencabut hak akses user
siska, maka perintahnya :
REVOKE SELECT ON buku FROM siska;
Atau
REVOKE SELECT, INSERT ON buku FROM edi;
2.
Perintah DELETE
Untuk menghapus user secara permanen dari basis data.
UMSIDA WEBSITE
https://umsida.ac.id
https://fst.umsida.ac.id
https://umsida.ac.id
https://fst.umsida.ac.id
Komentar
Posting Komentar