- 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)
2. Model Data berbasis Record
(Record Based Data Model)
3. Physical Based Data Model
B. Bahasa Basis Data
1. DDL (Data Definition
Language)
2. DML (Data Manipulation
Language)
3. DCL (Data Control
Language)
C. 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 pad sistem R (sebuah sisem riset pada laboratorium riset San Jose,
IMB)
Elemen SQL:
1. Pernyataan
perintah
SQL yang meminta suatu tindakan kepada DBMS (Database Management System).
|
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 |
Embatalkan
hak terhadap basis data |
2. Nama
identitas
bagi objek-objek pada DBMS (Database Managemen System).
3. Tipe
Dat
|
Tipe |
Keterangan |
Range Nilai |
|
TINYINT |
Nilai
interger 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-procission |
Minimum
± 1.175494351e-38 Maksimum
±3.40282346e+38 |
|
DOUBLE |
Bilangan
desimal dengan double-procission |
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 |
4. Operator
aritmatika
|
Simbol |
Keterangan |
|
* |
Perkalian |
|
/ |
Pengurangan |
|
+ |
Penjumlahan |
|
- |
Pengurangan |
|
% |
Sisa
pembagian |
5. operator
relasi
|
Simbol |
keterangan |
|
= |
Sama
dengan |
|
> |
Lebih
besar |
|
< |
Lebih
kecil |
|
>= |
Lebih
besar atau sama dengan |
|
<= |
Lebih
kecil atau sama dengan |
|
<> |
Tidak
sama dengan |
6. operator
logika
|
Simbol |
keterangan |
|
NOT
atau ! |
Sebagai negasi
atau pembalik nilai |
|
OR
atau || |
Atau |
|
AND
atau && |
Dan |
7. operator
pembanding
|
Simbol |
Keterangan |
|
IS
NOT NULL |
Apakah
sebuah nilai adalah titik kosong (not null) |
|
IS
NULL |
Apakah
sebuah nilai adalah kosong (null) |
|
BETWEEM |
Apakah
suatu nilai diantara dua batasan nilai |
|
IN |
Apakah
suatu nilai berada didalam 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 |
D. DDL
1. Membuat
database
Syntax :
CREATE DATABASE namadatabase;
2. Menampilkan
daftar database
Syntax:
SHOW
DATABASES;
3. Menghapus
database
Syntax :
DROP DATABASE namadatabase;
4. Mengaktifkan Database
Syntax:
USE namadatabase;
5. Membuat
Tabel
Syntax:
CREATE TABLE namatable
(
Field1 TipeData1 ([lebar]),
Field2 TipeData2 ([lebar]),
. . .
Field3 TipeData3 ([lebar])
);
6. Mendefinisikan
null
Syntax:
CREATE TABLE namatabel
(
Field1 TipeData1 ([lebar]) NOT NULL,
Field2 TipeData2 ([lebar]) NOT NULL,
. . .
Field3 TipeData3 ([lebar])
);
7. Memberi
kunci primer
Syntax:
ALTER TABLE namatabel ADD CONSTRAINT
namaconstraint PRIMARY KEY (namakolom) ;
Atau
CREATE TABLE namatabel
(
Field1 TipedData1 ([lebar]) NOT NULL PRIMARY
KEY,
Field2 TipedData2 ([lebar])
) ;
8. Menghapus
primary key
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 ;
9. Menentukan
foreign key
CREATE TABLE namatabel
(
Field1 TipeData1
([lebar]),
Field2 TipeData2
([lebar]),
FOREIGN KEY (field2)
REFERENCES namatabelinduk
(namafileinduk)
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 ;
E. DML
1. Insert
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Atau
INSERT INTO namatabel
(kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n);
2. Update
UPDATE namatabel SET kolom1 = nilai1, kolom2
= nilai2 [WHERE kondisi];
3. Select
Syntax : SELECT * FROM namatabel;
4. Delete
DELETE FROM namatabel
[WHERE kondisi];
F. QUERY
1. Jenis
– jenis join pada query:
a. Cross
join
select * from namatable CROSS JOIN namatable2 LIMIT (berapa yang mau
dilimit);
b. Operator Inner Join
Mysql> select * from pengarang join buku on (pengarang.kode_pengarang=buku.kode_pengarang);
c. Equijoin
SELECT
buku.kode_buku, buku.judul_buku, pengarang.kode_pengarang,
pengarang.nama_pengarang FROM buku, pengarang WHERE
buku.kode_pengarang=pengarang.kode_pengarang;
d. Self-join
SELECT a.kode_buku, b.judul_buku FROM buku a, buku b
WHERE a.harga=’25000’ AND a.harga=’25000’;
e. Natural
join
SELECT
buku.kode_buku, buku.judul_buku, pengarang.kode_pengarang,
pengarang.nama_pengarang FROM buku NATURAL JOIN pengarang
G. UNION,
INTERSECT, EXCEPT
1. UNION
Mysql>
select tahun_terbit,judul from buku where tahun_terbit=’2003’ union > select
tahun_terbit,judul from buku where tahun_terbit=’2004’;
2. INTERSECT
SELECT * FROM namatabel1 INTERSECT SELECT * FROM
namatabel2
3. EXCEPT
SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2
H. Hak
Akses
1. perintah
grant
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;
2. membatasi
hak akses
GRANT SELECT, UPDATE
(kode_buku,judul_buku,tahun_terbit) ON buku TO edi;
3. memberi
hak akses penuh
GRANT ALL ON buku to pemakai;
4. hak
akses publik
GRANT SELECT, INSERT ON namatable;
5. pencabutan
hak akses
REVOKE hak_akses ON nama_database FROM nama_user;
Atau
REVOKE hak_akses ON namatabel FROM nama_user;