Rangkuman Basis Data | Gilang Firdaus Pratama
POKOK BAHASAN 1: BASIS DATA, MODEL DATA, DIAGRAM E-R
1. Konsep
Sistem 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 :
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 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.
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, mengelola dan
memanipulasi basis data dikelompokkan 3 macam yaitu :
DDL (Data Definition Language) digunakan untuk
mendefinisikan struktur dan kerangka basis data.
DML (Data Manipulation Language) digunakan untuk menjabarkan
pemrosesan data pada basis data.
DCL (Data Control Language) digunakan untuk pengaturan hak
akses pengguna pada 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 karena model ini dapat
menunjukkan macam data yang dibutuhkan dan direlasikan antar data didalamnya.
1. Komponen
ER_Diagram
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.
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).
Entitas Super Type merupakan entitas yang memiliki tingkatan
yang lebih tinggi yaitu membawahi mempunyai entitas bagian yang lebih rendah..
Entitas Sub Type merupakan entitas yang lebih rendah yaitu
entitas yang menjadi entitas bagian dari entitas lain.
b. Atribut
(Attribute)
Merupakan keterangan- keterangan yang terkait pada sebuah
entitas yang perlu disimpan ke dalam database. Atribut berfungsi sebagai
penjelas pada sebuah entitas.
Atribut pada sebuah entitas dibagi menjadi 2 yaitu :
· Atribut
Sederhana (Simple Attribute),yaitu jika atribut berisi sebuah komponen/ nilai/
elementer.
· Atribut
Komposit (Composite Attribute),yaitu jika atribut berisi lebih dari sebuah
komponen nilai.
c. Kerelesaian
Antar Entitas (Entity Relationship)
Mendefinisikan hubungan antara 2 buah entitas. Jenis
kerelasian antar entitas dibagi menjadi 3:
· Kerelasian
jenis satu ke satu (one to one)
· Kerelasian
banyak ke satu (many to one) atau satu ke banyak (one to many)
· Kerelasian
jenis banyak ke banyak (many to many)
2. Langkah-
langkah Membuat ER_Diagram
·
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.
POKOK BAHASAN 2: STRUCTURE 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.
B. 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 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.
b. Nama
Nama digunakan sebagai identitas bagi objek- objek pada DBMS
(database Management System) contoh objek pada DBMS adalah tabel, kolom dan
pengguna.
c. Tipe Data
Setiap data memiliki tipe data. 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.
d. Konstanta
Konstanta menyatakan nilai yang tetap atau tidak
berubah.konstanta sering dipakai pada perintah SELECT. Konstanta dibagi menjadi
2: Konstanta bertipe numerik dan Konstanta bertipe karakter.
Keterangan:
Konstanta bertipe karakter atau string diapit oleh tanda
petik tunggal.dan konstanta dengan nilai pecahan desimal adalah berupa tanda
titik.
e. Operator
Aritmatika
Operator Aritmatika adalah ekspresi untuk memperoleh suatu
nilai dari hasil perhitungan nilai pecahan desimal adalah berupa tanda titik.
Contoh : Harga*Jumlah+2
f. 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.
g. Operator
Logika
Operator logika ada 3 yaitu OR, AND dan NOT
h. Operator
Pembanding
Antara lain: IS NOT NULL, IS NULL, BETWEEN, IN, NOT IN,
LIKE, NOT LIKE
i. 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 dengan
tipe data numerik dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG
umumnya adalah nama kolom.
3. Count
(namakolom) : fungsi ini digunakan untuk menghitung jumlah record (baris) dari
suatu kolom dari suatu tabel.
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.
MySQL (My Structured Query Language)
MySQL adalah Relational Database Management System (RDBMS)
yang didistribusikan secara gratis dibawah license GPL (General Public
License). MySQL menggunakan bahasa SQL (Structured Query Language)
Kelebihan MySQL dalam mengelolah data adalah :
· Kecepatan.
· Mudah
digunakan.
· Open Source.
· Kapabilitas.
· Keamanan.
· Lintas
platform.
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:\xampp\mysql\bin
2. Setelah itu
ketikkan perintah berikut (yang diketik hanya yang digaris bawah)
C:\xampp\mysql\bin> mysql –u root –p
Maka akan diminta untuk memasukkan password, isikan password
yang digunakan pada saat instalasi,yaitu umsida.
3. Selanjutnya
akan ada respon dari server yang 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.
2. Masukkan
password yang telah ditentukan pada saat instalasi,yaitu: umsida, kemudian
tekan enter.
Merubah Prompt MySQL :
Mysql > prompt teks_prompt > (spasi) (enter)
POKOK BAHASAN 3: DATA DEFINITION LANGUAGE (DDL)
A. Data
Definition Language (DDL)
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.
B. Perintah-
Perintah DDL
Berikut ini perintah-perintah sql untuk data definition
language :
Membuat Database
CREATE DATABASE namadatabase;
Menampilkan daftar Database
SHOW DATABASES;
Menghapus Database
DROP DATABASE namadatabase;
Mengaktifkan Database
Sebelum membuat suatu tabel, terlebih dahulu harus
mengaktifkan database yang akan digunakan untuk menyimpan tabel-tabel tersebut
dengan perintah.
USE namadatabase;
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 (,)
Untuk melihat daftar tabel yang ada/ telah dibuat:
Mysql > SHOW TABLES;
Untuk melihat struktur tabel yang telah dibuat :
DESC namatabel;
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 identifikasi sehingga tidak boleh kosong.
Syntax :
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]) NOT NULL,
Field2 TipeData2 ([lebar]) NOT NULL,
. . .
Field3 TipeData3 ([lebar])
) ;
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.
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 didalam database
berfungsi sebagai suatu cara untuk mengidentifikasi dan menghubungkan satu
tabel data dengan tabel yang lain.
Primary key adalah suatu atribut atau satu sel 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 :
CreateTable namatabel
(
Field1 TipeData1 ([lebar]),
Field2 TipeData2 ([lebar]),
PRIMARY KEY (Field1)
) ;
Cara 3 :
ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY
KEY (namakolom) ;
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 ;
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 terhubung ke
table/ entity lain, maka keberadaan primary pada entity tersebut disebut
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;
Menghapus Foreign Key
ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;
Mengubah struktur tabel
Perintah yang digunakan adalah ALTER TABLE.
ü Menambah Atribut
baru pada tabel
ALTER TABLE namatabel ADD fieldbaru tipe;
ü Mengubah Tipe Data
atau Lebar Atribut Pada Tabel
ALTER TABLE namatabel MODIFY COLUMN field tipe;
ü Mengubah Nama
Atribut (Field) Pada Tabel
ALTER TABLE namatabel CHANGE COLUMN namalamafield
namabarufield tipedatanya;
ü Menghapus Atribut
(Field) Pada Tabel
ALTER TABLE namatabel DROP COLUMN namakolum;
Menghapus Tabel
DROP TABLE namatabel;
POKOK BAHASAN 4: DATA MANIPULATION LANGUAGE (DML)
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.
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 :
INSERT
Perintah insert digunakan untuk menambahkan baris pada suatu
tabel.
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);
Perhatian: 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.
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.
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;
2. Menampilkan
data untuk kolom tertentu
Syntax : SELECT kolom1,kolom2,kolom-n From namatabel;
3. Menampilkan
data dengan kondisi data tertentu dengan klausa WHERE
Syntax : SELECT * FROM namatabel WHERE kondisi;
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.
4. Memberikan
nama lain pada kolom
Syntax :
SELECT namakolomlama AS namakolombaru FROM namatabel;
5. Menggunakan
alias untuk nama tabel
Syntax :
SELECT nmalias.jenis,nmalias.harga FROM namatabel nmalias;
6.
Menampilkan data lebih dari dua
tabel
Syntax :
SELECT * from namatabel1,namatabel2,namatabel-n;
7. Operator
comparison ANY dan ALL
Operator ANY digunakan berkaitan dengan subquery. Operator
ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan
hasil subquery menghasilkan nilai TRUE.
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.
8. Aggregate
Functions (Count,Sum,AVG,Min,Max)
Count : Perintah yang digunakan untuk menghitung jumlah
baris suatu kolom pada tabel.
Sum : Perintah yang digunakan untuk menghitung jumlah nilai
suatu kolom pada tabel.
AVG : Perintah yang digunakan untuk menghitung rata-rata
dari nilai suatu kolom pada tabel.
Min : Perintah yang digunakan untuk menampilkan nilai
terkecil dari suatu kolom pada tabel.
Max : Perintah yang digunakan untuk menampilkan nilai
terbesar dari suatu kolom pada tabel.
9. SQL dengan
Group By dan Having
Klausa Group By digunakan untuk melakukan pengelompokan data.
Klausa Having digunakan untuk menentukan kondisi bagi klausa
group by. Kelompok yang memenuhi having saja yang akan dihasilkan.
10. Order By
Klausa Order By digunakan untuk mengurutkan data berdasarkan
kolom tertentu sesuai dengan tipe data yang dimiliki.
Tambahkan ASC untuk pengurutan secara ascending (menaik)
atau tambahkan Desc untuk pengurutan secara descending (menurun).
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.
POKOK BAHASAN 5: QUERY DAN VIEW
A. Query
Query merupakan suatu proses pengolahan data yang digunakan
untuk memberikan hasil dari basis data berdasarkan kriteria tertentu.
1. Aturan dalam
melakukan query antar tabel :
a. Setiap field
disebutkan bersama dengan nama tabelnya,dipisahkan tanda titik (.)
Syntax : Namatabel.namafield.
b. Setiap tabel
yang terlibat dalam proses query harus disebutkan dalam klausa FROM, dengan
pemisah koma (,) dimana urutan tabel tidak mempengaruhi proses query.
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.
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.
c. Operator
Equijoin
Equijoin adalah penggabungan antar tabel dengan menggunakan
operator ‘=’ pada kondisi klausa Where.
d. Operator
Self-join
Self-join adalah jenis penggabungan antar field dari tabel
yang sama. Untuk melakukan penggabungan self join menggunakan alias.
e. Operator
Natural Join
Operator ini digunakan untuk melakukan equijoin dengan
memperlakukan nama-nama kolom yang sama sebagai kolom penghubung.
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.
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.
3. UNION,
INTERSECT dan EXCEPT
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.
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.
Pada MySQL tidak terdapat operator INTERSECT namun sebagai
gantinya dapat menggunakan operator IN.
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.
Pada MYSQL tidak terdapat operator Except namun sebagai
gantinya dapat menggunakan operator NOT IN.
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.
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. View dapat digunakan untuk menampilkan data antar 2 tabel, 3 tabel,
atau beberapa tabel sekaligus.
POKOK BAHASAN 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
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 (,).
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’@’localhost’;
D. Hak akses penuh
Untuk memberikan hak akses penuh kepada pemakai, dapat
memakai perintah klausa ALL PRIVILEGES.
E. Hak akses
kepada public
Untuk memberikan hak aksess kepada banyak user dapat
menggunakan klausa PUBLIC beberapa DBMS ada yang menggunakan klausa WORLD.
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;
2. Perintah
DELETE
Untuk menghapus user secara permanen dari basis data.
Posting Komentar
0 Komentar