Bais Data 2
Ilham Rizky Almahdi UMSIDA
fst.umsida.ac.id
BASIS DATA, MODEL DATA, DIAGRAM E-R
1. Konsep
Sistem Basis Data
Basis
data adalah kumpulan data yang disimpan secara sistematis di dalam 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, tetepi secara keseluruhan mempunyai hubungan
sebagai sebuah sistem yang didukung oleh komponen lain.
Komponen
Sisten 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 antara data tersebut untuk para
pengguna (user) secara logika. Secara garis besar model data dapat
dikelompokan menjadi 3 macam yaitu:
1) Model
Basis Data Objek (Object based data model)
Merupakan himpunan data dan relasi yang menjelaskan hubungan
logik antar data dalamsuatu basis data berdasarkan pada objek datanya. Salah
satunya adalah Entity Relationship Model. Model Entity
Relationship Diagram (ERD) atau Conceptual Data Model (CMD).
Merupakan suatu modul untuk menjelaskan hubungan
antar data dalam basis data berdasarkan suatu persepsi bahwa dunia
nyata terdiri dari objek-objek dasar (entitas) yang mempunyai
hubungan atau relasi antar objek-objek dasar (entitas) tersebut yang dilukiskan
dengan mengunakan 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 Relation 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 menunjukkan record dan kolom
yang menunjukkan 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 komplksitasnya yang tinggi.
3. Bahasa Basis
Data
Bahasan yang digunakan untuk mendefinisikan,
mengelolah dan memanipulasi basis data dikelompokkan 3 macam yaitu:
1) DDL
(Data Definition Language) yang digunakan untuk mendefinisikan struktur dan
kerangaka dari basis data yang meliputi:
a. Membentuk
baris data, tabel, indeks.
b. Mengubah
struktur table.
c. Menghapus
basis data, tabel atau indeks.
2) DML(
Data Manipulation Language) digunakan untuk menjabarkan pemrosesan data pada
basis data yang meliputi:
a. Menambahkan
atau menyisipkan data baru ke basis 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
objek atau entitas. ER-D berguna membantu perancang atau
analis sistem pada saat melakulan analis dan perancangan basis data karena
model ini dapat menunjukkan macam data yang dibutuhkan dan direlasikan data di
dalamnya.
1. Komponen
ER_Diagram
Sebuah diagram ER tersusun atas tiga komponen, yaitu
entitas yang brupa objek dasar yang terlibat dalam sistem, atribut yang
berperan sebagai penjelas entitas, kerelasian antar entitas menunjukkan
hubungan yang terjadi diantara dua entitas,
a. Entitas
(Entity)
Ntitas menunjukkan objek-objek dasar yang terkait
dalam sistem. Objek 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 /
indpenden atau entitas lemah (weak entity) atau entitas subordinat. Entitas ini
dapat muncul jika ada ntitas 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 atau 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-keteranagan yang terkain pada sebuah
entitas yang perlu disimpan kedalam database. Atribut berfungsi sebagai
penjelas pada sebuah entitas. Contoh:mahasiswa mempunyai atribut nim, nama,
jurusan, kelamin, tempat_lahir, tanggal_lahir, dsb.
Atribut pada sebuah entitasdibagi menjadi 2 yaitu:
· Atribut
sederhana (simple attribute), yaitu jika atribut berisi sebuah komponen
/nilai/elmenter.
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 terdiri atas
komponen nilai tanggal, bulan, tahun.
c. Kerelasian
antar entitas (Entity Relationship)
Mendefinisikan hubungan antara 2 buah entitas. Jenis
kerelasian antar entitas dibagi menjadi 3 sebagai berikut:
1) Kerelasian
jenis satu ke satu (one to one), kerelasian terjadi jika kejadian atau
transaksi di antara dua entitas yang berhubungan hanya mungkin 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 ke banyak (one to many), kerelasian ini
terjadi atau transaksi di antara dua entitas yang berhubungan hanya
memungkinkan trjadi satu kali dalam entitas pertama dan dapat trjadi 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 padaentitas 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:
· Indentifikasikan
setiap entitas yang terlibat.
· Lengkapi
masing-masing entitas dengan atribut yang sesuai.
· Tentukan
primari key dari masing-masing entitas.
· Identifikasikan
setiap kerelasian berikut jenisnya yang terjadi di antara entitas dengan
membuat tabel daftar kerelasian antar entitas.
· Gambar
simbol-simbol entitas, atribut, dan kerelasian antar entitas secara jelas dan
tidak bertabrakan.
· Cek
ER_Diagram yang terbentuk, dalam hal: kelengkapan entitas, kelngkapan atribut,
kelengkapan kerelasian antar entitas dan jenis kerelasian antar entitas.
STRUCTURED QUERY LANGUAGE (SQL)
1. 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 ditererapkan pada sistem R (sebuah proyek riset pada laboratorium
riset San Jose, IBM). Kini SQL juga dijumpai pada sebagai 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.
2. Elemen SQL
Elemen dasar SQL mencakup pernyataan, nama, tipe data, konstanta,
ekspresi, operator relasi, operator logika dan fungsi bawaan.
1) 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 penguna atau grup pengguna |
|
REVOKE |
Membatalkan
hak tetrhadap basis data |
Yang semuanya dikelompokkan berdasarkan fungsinya masing-masing yaitu :
a) Data
Definition Language (DLL) : 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.
2) Nama
Nama digunakan sebagai identitas bagi objek-objek pada DBMS ( Database
Management System). Contoh objek pada DBMS adalah tabel,kolom dan pengguna.
3) Tipe Data
Setiap data memiliki tipe data. Berikut ini adalah tipe data dalam MySQL
:
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.220573858507201-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
nilai pada 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 |
2 -1 byte |
|
BLOB |
BLOB
berukuran kecil |
2 -1 byte |
|
MEDIUMBLOB |
BLOB
berukuran sedang |
2 -1 byte |
|
LONGBLOB |
BLOB
berukuran besar |
2 -1 byte |
|
TINYTEXT |
String teks
yang sangat kecil |
2 -1 byte |
|
TEXT |
String teks
berukuran kecil |
2 -1 byte |
|
MEDIUMTEXT |
String teks
berukuran medium(sedang) |
2 -1 byte |
|
LONGTEXT |
String teks
berukuran besar |
2 -1byte |
|
ENUM |
Enumerasi,
kolom dapat diisi dengan satu member enumerasi |
65535 anggota |
|
SET |
Himpunan,
kolom dapat diisi dengan beberapa nilai anggota himpunan |
64 anggota
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” |
4) Konstanta
Konstanta menyatakan nilai yang tetap atau tidak berubah. Konstanta
sering dipakai pada perintah SELECT. Konstanta di bagi menjadi 2 :
I. Konstanta
bertipe numerik : 200, -3, 1500, 3.25
II. 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.
5) 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 |
6) 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 criteria tertentu. Simbol-Simbol yang dapat digunakan pada operator
relasi :
Table Simbol Operator Relasi
|
Simbol |
Keterangan |
|
= |
Sama dengan |
|
> |
Lebih besar |
|
< |
Lebih kecil |
|
>= |
Lebih besar atau sama dengan |
|
<= |
Lebih kecil atau sama dengan |
|
<> |
Tidak sama dengan |
7) Operator Logika
Operator logika ada 3 yaitu OR, AND dan NOT
Table Operator Logika
|
Simbol |
Keterangan |
|
NOT atau ! |
Sebagai negasi atau pembalik nilai |
|
OR atau || |
Atau |
|
AND atau && |
Dan |
8) Operator Pembanding
Table 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 criteria tertentu |
|
NOT LIKE |
Apakah suatu nilai tidak sesuai dengan kriteria tertentu |
9) Anggrate
Function (Fungsi Agregat)
Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika
dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang
digunakan untuk melakukan summary, fungsi statistic standar yang dikenakan pada
suatu table atau query.
a. SUM(ekspresi)
Fungsi ini digunakan untuk mendapat nilai total dari suatu kolom pada
suatu table.
b. AVG(ekspresi)
Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom
dari suatu table atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah nama
kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan tipe data
numeric.
c. COUNT(x)
Fungsi ini digunakan untuk mencari nilai rata-rata dalam suatu kolom
dari suatu table. X adalah nama kolom yang ingin dicari jumlah barisnya.
d. MAX(ekspresi)
Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom dari
suatu table kolom yang dicari nilai terbesarnyamemiliki tipe data numeric
e. MIN(ekspresi)
Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom dari
suatu table kolom yang dicari nilai terkecilnya memiliki tipe data numerik.
3. MySQL (My Structured
Query Languange)
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 Languange)
Kelebihan MySQL dalam mengelolah data adalah :
· Kecepatan,
MySQL mempunyai kecepatan paling baik disbanding RDBMS lainnya.
· Mudah
di gunakan, perintah dalam MySQL dan aturan-aturannya relative mudah diingat
dan diimplementasikan karena MySQL menggunakan SQL sebagai bahasa
standar database.
· Open
source, MySQL sudah menggunakan konsep open source, artinya siapa pun 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 table dan 5.000.000.000 juta baris.
· Biaya
murah, pemakai dapat menggunakan MySQL tanpa harus mengeluarkan biaya yang
cukup mahal selama mengikuti konsep open source.
· Keamanaan,
MySQL menerapkan sistem keamanaan dan hak akses secara bertingkat, termasuk
dukungan dengan keamanan data secara pengacakan lapisan data.
· Lintas
platform, MySQL dapat dijalankan pada beberapa sistem operasi diantaranya yaitu
Linux, Windows, FreeBSD, Novel Netware, Sun Solaris, SCO Open Unix dan IBM’s
AIX.
DATA DEFINITION LANGUAGE (DDL)
Data Definition Language (DLL)
DLL merupakan bagian dari sql yang digunakan untuk
mendefinisikan struktur dan kerangka data dan objek basis data. Bisa juga
dikatakan merupakan kelompok perintah yang berfungsi untuk mendefinisikan
atribut-atribut basis data, tabel, batasan-batsan terhadap suatu atribut, serta
hubungan antar tabel.
Tabel 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 pada tabel |
|
Drop Table |
Menghapus tabel dari basis data |
|
Create Index |
Membuat index |
|
Drop Index |
Menghapus index |
DATA MANIPULATION LANGUAGE (DML)
1. 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 :
a. Prosedural, DML membutuhkan
pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana cara
mendapatkannya, contoh paket bahasa prosedural adalah dBase III, FoxBase.
b. 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).
2. Perintah DML
sebagai berikut :
a.
INSERT,
Perintah INSERT digunakan untuk
menambahkan baris pada suatu tabel.
b.
UPDATE,
Perintah UPDATE digunakan untuk
mengubah isi data pada satu atau beberapa kolom pada suatu tabel.
c.
SELECT,
Perintah SELECT digunakan untuk
menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang
lainnya.
d.
DELETE,
Perintah DELETE digunakan untuk
menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris.
QUERY DAN VIEW
1. 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 (.).
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 perkalian 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 operasi 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, tetap 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
a.
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.
b.
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.
c.
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.
4)
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.
2. 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.
3.
Penggunaan view
1)
View antar 2 tabel
2) View dengan 3 tabel
Data Control
Language (DCL) / Hak Akses
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.
2. Perintah
REVOKE
C. Membatasi
Hak Akses
Hak akses perlu dibatasi untuk memudahkan dalam mengatur
dan mengawasi pemakaian data serta menjaga keamanan data.
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).
E.
Hak Akses kepada Public
Untuk memberikan hak akses kepada banyak user dapat
menggunakan klausa PUBLIC. Bebrapa 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.
2. Perintah
DELETE
Untuk
menghapus user secara permanen
dari basis data.
Komentar
Posting Komentar