ARTIKEL
1.
DDL
DDL
(Data Definition Language) merupakan
kumpulan perintah SQL yang digunakan untuk membuat, mengubah
dan menghapus struktur dan
definisi metadata dari
objek-objek database. Seperti
definisi yang telah dijelaskan di atas, DDL adalah kumpulan perintah SQL yang
digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data
dari objek-objek database.
Secara umum, DDL yang digunakan
meliputi perintah sebagai berikut:
- CREATE : digunakan untuk membuat
objek yang baru;
- ALTER : digunakan untuk mengubah objek yang sudah
ada;
- DROP : digunakan untuk menghapus objek yang
sudah ada.
Objek-objek database pada yang
dimaksud - pada MySQL - adalah sebagai berikut :
- Database
- Table
- View
- Index
- Procedure (Stored Procedure)
- Function
- Trigger
-
CREATE
*Sintaks membuat database :
CREATE DATABASE nama_database;
Contoh :
CREATE DATABASE mahasiswa;
*Sintaks
membuat table :
[ CREATE TABLE nama_tabel (nama_field ke-1 tipe_data ( lebar_field
), ......, nama_field ke-n tipe_data ( lebar_field ) ) ;]
Contoh :
CREATE TABLE mahasiswa(
nim
varchar(10) PRIMARY KEY,
nama
varchar(25) NOT NULL,
jurusan
varchar(30) NOT NULL
);
-
ALTER
Digunakan untuk mengedit tabel yang telah ada. dalam
pengeditan tabel ini ada beberapa kemungkinan, diantaranya adalah mengubah
dalam artian memodifikasi salah satu atau beberapa field pada tabel tersebut
atau dalam artian menambah satu atau beberapa field pada tabel tersebut.
*Sintaks mengubah nama Tabel
ALTER TABLE nama_tabel RENAME TO
nama_tabel;
Contoh :
ALTER TABLE mahasiswa RENAME TO mhs;
*Sintaks menambah kolom
ALTER TABLE nama_tabel ADD COLUMN
nama_tabel;
Contoh :
ALTER TABLE mahasiswa ADD COLUMN
(usia varchar(10) not null);
*Sintaks mengganti kolom
ALTER TABLE nama_tabel MODIFY
nama_tabel;
Contoh :
ALTER TABLE mahasiswa MODIFY usia
int;
*Sintaks menghapus kolom
ALTER TABLE nama_tabel DROP COLUMN
nama_tabel;
Contoh :
ALTER TABLE mahasiswa DROP COLUMN
usia;
-
DROP
Terkadang anda diharuskan menghapus sebuah tabel yang telah
anda buat, hal ini mungkin disebabkan karena tabel yang anda buat salah, atau
tidak diperlukan. untuk itu digunakan perintah Drop.
*Sintaks menghapus table
DROP TABLE nama_tabel;
Contoh:
DROP TABLE mahasiswa;
*Sintaks menghapus database
DROP DATABASE nama_database;
Contoh :
DROP DATABASE kuliah;
Keterangan :
perintah drop tabel ini akan berhasil jika tabel yang dihapus adalah tabel yang tidak ada relasinya ( tabel yang berdiri sendiri ). juga akan berhasil jika yang anda hapus adalah tabel relasi ( tabel yang mengacu pada tabel lain ).
perintah drop tabel ini akan berhasil jika tabel yang dihapus adalah tabel yang tidak ada relasinya ( tabel yang berdiri sendiri ). juga akan berhasil jika yang anda hapus adalah tabel relasi ( tabel yang mengacu pada tabel lain ).
2. ER-D
ER-Diagram
didefinisikan sebagai penerjemahan semesta data yang ada di 'dunia nyata'
dengan memanfaatkan sejumlah perangkat konseptual menjadi sejumlah diagram
data. Sederhananya, ER-D adalah suatu cara memodelkan suatu data di tingkat
konseptual dalam perancangan basis data. Model ini juga merupakan alat
modelling data yang populer dan banyak digunakan oleh para desainer basis data.
Adapun komponen ER-Diagram adalah
sebagai berikut:
1. Entitas
Entitas didefinisikan sebagai
individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang
lain. Sederhananya, entitas dikenal sebagai suatu objek yang dapat dibedakan
dengan objek lainnya di dalam dunia nyata. Entitas di dalam ER-D
direpresentasikan oleh bangun datar persegi panjang. Adapun beberapa contoh
entitas adalah sebagai berikut: siswa, pegawai, guru, mobil, dan seterusnya.
2. Atribut
Atribut merupakan karakteristik
dari entity atau relationship yang menyediakan penjelasan detail tentang entity
atau relationship tersebut. Atribut di dalam ER-D direpresentasikan dalam
bentuk bangun datar oval.
Adapun beberapa contoh atribut
adalah sebagai berikut:
nomor_induk_siswa, nama, alamat,
dan seterusnya.
3. Relasi
Relasi didefinisikan sebagai
hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang
berbeda. Sederhananya, relasi dikenal sebagai hubungan yang terjadi antara satu
atau lebih entitas. Relasi pada ER-D direpresentasikan dalam bentuk bangun
datar belah ketupat. Adapun beberapa contoh relasi adalah sebagai berikut:
mengontrak, transaksi, dan mengepalai.
4. Kardinalitas
Kardinalitas relasi menunjukkan
jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan
entitas lain. Adapun kardinalitas yang terjadi diantara dua himpunan entitas
adalah sebagai berikut:
a. One to One
Kardinalitas ini terjadi apabila
entitas (aku) berhubungan dengan paling banyak satu entitas (kamu), begitu pun
sebaliknya. Sederhananya, relasi tabel one-to-one merupakan relasi 2 tabel
dengan primary key (pk) dan foreign key (fk) dengan meletakkan kolom one-to-one
ke tabel baru. Sebenarnya relasi ini jarang digunakan.
Adapun beberapa alasan relasi ini
digunakan adalah sebagai berikut:
·
Memindahkan
data ke tabel lain memungkinkan untuk membuat query yang lebih cepat;
·
Mengisolasi
dan menghindarkan nilai NULL pada tabel utama;
·
Membuat
sebagian data susah diakses.
Di sini, mari menggunakan entitas
kepala_sekolah, sekolah, dan relasi mengepalai.
Mari kita lihat perancangannya:
ER-D tersebut jika ditransformasikan
ke tabel adalah sebagai berikut:
kepala_sekolah : nip, nama,
alamat
sekolah : npsn, nama, alamat
b. One to Many dan Many to One
Kardinalitas One to Many terjadi
apabila entitas (aku) berhubungan dengan banyak entitas (kamu, dia_1, dia_n), tetapi
tidak berlaku sebaliknya, dalam artian entitas (kamu, dia_1, dia_n) hanya
berhubungan dengan satu entitas (aku). Kardinalitas Many to One terjadi apabila
entitas (saya_1, saya_2, saya_n) berhubungan dengan satu entitas (kamu), tetapi
tidak berlaku sebaliknya, dala artian entitas (kamu) berhubungan dengan banyak
entitas (saya_1, saya_2, saya_n).
Relasi One to Many terjadi
apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang
sama pada tabel kedua. Pada relasi ini hanya diizinkan sebuah data pada tabel
pertama dan tabel kedua boleh memiliki beberapa data yang sama dengan tabel
pertama. Relasi Many to One berlaku sebaliknya. Mari kita simak perancangan
berikut ini dengan menggunakan entitas ibu, anak, dan relasi memiliki.
ER-D tersebut jika
ditransformasikan ke tabel adalah sebagai berikut:
ibu : nik_ibu, nama, alamat
anak : nik_anak, nama,
jenis_kelamin, alamat, nik_ibu
c. Many to many
Kardinalitas Many to Many terjadi
apabila banyak entitas (saya, dia_1, dia_n) berhubungan dengan banyak entitas
(kamu, kamuu, kamuuu). Relasi Many to Many terjadi apabila sebuah data yang ada
pada tabel pertama memiliki beberapa data yang sama pada table kedua, dan
sebuah data yang ada pada tabel kedua juga memiliki beberapa data yang sama
pada tabel pertama. Pada relasi ini, table pertama dan kedua diizinkan memiliki
beberapa data yang sama dengan kedua table tersebut. Mari kita simak
perancangan berikut yang melibakan entitas dosen, mahasiswa, dan relasi
mengajar.
ER-D tersebut jika ditransformasikan
ke tabel adalah sebagai berikut:
dosen : nip, nama, tgl_lahir,
jenis_kelamin, alamat
mahasiswa : nim, nama, tgl_lahir,
jenis_kelamin, alamat
mengajar : id_mengajar, nip, nim
3.
DML
Data Manipulation
Language (DML) adalah bahasa/perintah SQL yang berfungsi untuk memanipulasi
data yang ada di dalam basis data(database), dan digunakan untuk mengambil,
memasukkan, memodifikasi, bahkan menghapus informasi/isi yang ada didalam
database tersebut. Beberapa manfaat atau kegunaan dari DML.
diantaranya adalah sebagai
berikut :
a.
Pengambilan informasi yang disimpan dalam basis data (Select)
b.
Penyisipan informasi baru ke basis data (Insert)
c.
Penghapusan informasi dari basis data (Delete)
d.
Modifikasi informasi yang disimpan dalam basis data (Update)
1.
Perintah DMLdalam SQL
Contoh
kasus : Kontak Mata Kuliah Mahasiswa
-
Kita aplikasikan contoh praktikum yang minggu lalu (DDL).
-
Membuat tabel mahasiswa (dengan nama : mahasiswa)
-
Membuat tabel dosen (dengan nama : dosen)
-
Membuat tabel mata kuliah (dengan nama : matkul)
-
Membut tabel nilai (dengan nama : nilai)
-
INSERT
Insert merupakan perintah yang
berfungsi untuk menyisipkan, memasukkan dan menyimpan data dari luar sistem ke
dalam tabel. Perintah insert memiliki 2 cara yaitu :
a.
Cara Langsung
INSERT
INTO namatabel VALUES (isi1, isi2, isi3, ...);
b.
Cara Tak Langsung
INSERT
INTO namatabel (namafield1, namafield2,...) VALUES (isi1, isi2, isi3, ...);
-
SELECT
Berfungsi untuk
melakukan pengambilan sejumlah data yang ada di dalam tabel untuk ditampilkan
ataupun dimanipulasi. SQL yang digunakan:
a.
Menampilkan seluruh isi tabel
SELECT
* FROM nama_tabel;
Contoh:
SELECT * from dosen;
b.
Menampilkan dengan klausa WHERE
SELECT
* FROM nama_tabel WHERE kondisi;
Contoh:
SELECT nim, nama, FROM mahasiswa WHERE jenis_kelamin =‘perempuan’;
c. Menampilkan field tertentu
SELECT
nama_field1, nama_field2,...... FROM nama_tabel;
Contoh:
SELECT kode_matkul, nama_matkul FROM matkul;
d. Menampilkan data yang diambil dari beberapa tabel
SELECT
tabel1.field, tabel2.field,.... FROM tabel1, tabel2,.... WHERE kondisi;
e. Penggunaan operator AND dan OR
Untuk
mengambil dat tertentu dengan syarat/kondisi lebih dari satu, dan
apabila
semua syarat bernilai benar.
SELECT
* FROM nama_tabel WHERE kondisi1 AND kondisi2 AND kondisi3..;
SELECT
* FROM nama_tabel WHERE kondisi1 OR kondisi2 OR kondisi3...;
Contoh:
SELECT
a.nim, a.nama, b.nama_matkul, b.jumlah_sks
FROM
mahasiswa a, matkul b, kontrak c
WHERE
a.nim=c.nim AND b.kode_matkul=c.kode_matkul;
f. Penggunaan operator BETWEEN dan NOT BETWEEN
Untuk
menyaring data dengan rentang tertentu (memiliki jangkauan).
SELECT
* FROM nama_tabel WHERE field BETWEEN batas_bawah AND
batas_atas
;
SELECT
* FROM nama_tabel WHERE field NOT BETWEEN batas_bawah AND
batas_atas
;
Contoh
1:
SELECT
a.id_kontrak, b.nip, b.nama
FROM
kontrak a, dosen b
WHERE
a.nip=b.nip AND a.id_kontrak BETWEEN 1 AND 3;
Contoh
2:
SELECT
a.id_kontrak, b.nip, b.nama
FROM
kontrak a, dosen b
WHERE
a.nip=b.nip AND a.id_kontrak NOT BETWEEN 4 AND 7;
g. Penggunaan operator LIKE dan NOT LIKE
Untuk
menseleksi data dengan kriteria mengandung kata atau klausa
yang
didefinisikan oleh LIKE.
SELECT
* FROM nama_tabel WHERE field LIKE ‘%....’;
SELECT
* FROM nama_tabel WHERE field LIKE ‘....%’;
SELECT
* FROM nama_tabel WHERE field LIKE ‘%....%’;
Contoh1
:
SELECT
nama_matkul FROM matkul WHERE nama_matkul LIKE '%as%';
Contoh
2:
SELECT
nama_matkul FROM matkul Where nama_matkul NOT LIKE '%an';
h. Penggunaan operator ORDER BY
Digunakan
untuk mengurutkan data
SELECT
* FROM nama_tabel ORDER BY namafield;
Contoh:
SELECT *FROM matkul ORDER BY nama_matkul;
Penggunaan
operator ASC dan DESC
Untuk
mengurutkan data yang ditampilkan secara menaik atau menurun.
SELECT
* FROM nama_tabel ORDER BY namafield ASC;
SELECT
* FROM nama_tabel ORDER BY namafield DESC;
Contoh:
SELECT
* FROM mahasiswa ORDER BY nama DESC;
-
UPDATE
Perintah ini
digunakan untuk memperbarui data lama menjadi data terbaru. Disini perlu
diingat perintah update ini harus dikuti dengan perintah WHERE sebagai kondisi
untuk menentukan data mana yang akan diperbarui.
UPDATE
nama_tabel SET field1=nilai_baru, field2=nilai_baru, …..
WHERE
kondisi;
Contoh:
UPDATE dosen SET nama='Kusnendar Jajang' WHERE nip=’1234’;
-
DELETE
Perintah ini
digunakan untuk menghapus atau menghilangkan baris data (record) dari tabel.
Penggunaan perintah ini juga harus menggunakan WHERE sebagai kondisi untuk
menentukan data mana yang akan dihapus.
*Sintaks menghapus baris data
DELETE
FROM nama_tabel WHERE kondisi;
Contoh:
DELETE FROM kontrak WHERE id_kontrak=3;
4.
AGGREGASI DAN GROUPING
Fungsi aggregasi adalah fungsi
matematika sederhana dalam SQL. Biasanya fungsi aggregasi ini digunakan pada
bagian SELECT untuk melakukan perhitunga dengan melibatkan sekumpulan data atau
nilai.grouping merupakan fungsi untuk mengelompokkan suatu data table
berdasarkan salah satu field yang diperlukan dari tabel tersebut.
-
AGGREGASI
1.
AVG()
Fungsi ini digunakan untuk
menghasilkan nilai rata-rata sekelompok nilai dari sebuah kolom (field)
numerik.
Perintah
umum: SELECT AVG(nama_field) From nama_tabel
Contoh
:
SELECT
AVG(nilai) FROM nilai;
2.
COUNT()
Fungsi ini digunakan untuk
menghasilkan nilai jumlah data (baris/record) dari sekelompok data tabel maupun
view.
Perintah
umum : SELECT COUNT(nama_field) From nama_tabel
Contoh
:
SELECT
COUNT(nama_dosen) FROM dosen;
3. MAX()
Fungsi ini digunakan untuk menghasilkan
nilai tertinggi sekelompok nilai dari sebuah kolom (field) numerik.
Perintah
umum : SELECT MAX(nama_field) From nama_tabel
Contoh:
SELECT
MAX(nilai) FROM nilai;
4.
MIN()
Fungsi
ini digunakan untuk menghasilkan nilai terendah dari sebuah kolom (field) numerik.
Perintah
umum : SELECT MIN(nama_field) From nama_tabel
Contoh
:
SELECT
MIN(nilai) FROM nilai;
5. SUM()
Fungsi ini digunakan untuk
menghasilkan nilai total jumlah sekelompok dari sebuah kolom (field) numerik.
Perintah
umum : SELECT SUM(nama_field) From nama_tabel
Contoh:
SELECT
SUM(usia) FROM mahasiswa;
6.
ROUND()
Fungsi
ini digunakan untuk melengkapi bidang numerik dengan jumlah desimal yang ditentukan.
Perintah:
SELECT ROUND(nama_field,jumlah_decimal) From nama_tabel
Contoh:
SELECT ROUND(nilai,0) FROM nilai;
7. STDDEV_POP()
Fungsi
ini digunakan untuk menghasilkan nilai standart deviasi populasi.
Perintah
umum: SELECT STDDEV_POP(nama_field) From nama_tabel
Contoh
:
SELECT
STDDEV_POP(nilai) FROM nilai;
8. VAR_POP()
Fungsi
ini digunakan untuk menghasilkan nilai standart varian populasi.
Perintah
umum : SELECT VAR_POP(nama_field) From nama_tabel
Contoh:
SELECT
VAR_POP(nilai) FROM nilai;
-
GROUPING
1.
Order By
Order by adalah perintah yang
digunakan untuk menampilkan data secara terurut berdasarkan nilai tertentu.
Order by dikelompok menjadi 2 jenis yaitu ascending (data diurutkan dari yang
terkecil ke terbesar) dan descending(data diurutkan dari yang terbesar ke
terkecil).
Perintah
umum : SELECT *FROM(nama_tabel) ORDER BY atribut ASC/DESC
Contoh
:
SELECT
*FROM matkul ORDER BY matkul DESC;
2. Group By
Group by merupakan perintah yang
digunakan untuk mengelompokan beberapa data pada perintah SELECT;
Perintah
Umum : SELECT *FROM(nama_tabel) GROUP BY atribut;
Contoh:
SELECT
* FROM nilai GROUP BY nim;
3.
Having
Fungsi Having terkait dengan
GROUP BY dan AGREGASI. Biasanya digunakan untuk menentukan kondisi tertentu
pada group by dan kondisi tersebut berkaitan dengan fungsi agrgasi. Fungsi
HAVING sebenarnya memiliki kemiripan dengan WHERE dalam penggunaannya. HAVING
digunakan dalam SQL karena WHERE tidak dapat digunakan dengan fungsi agregasi.
Perintah
Umum: SELECT atribut FROM nama_tabel GROUP BY atribut HAVING fungsi_agregasi:
Contoh:
SELECT
nim, kode_matkul, nilai FROM nilai GROUP BY nim, kode_matkul HAVING
AVG(nilai)>80;
4. View
View dapat disebut sebagai sebuah
table semu/bayangan. Data-data pada table view dapat merupakan gabungan dari
data pada tabe-tabel lain. View dapat digunakan untuk membatasi pengaksesan
atas sebuah table tertentu, jadi user hanya boleh melihat table yang berisi
data-data secara spesifik.
Perintah
umum:CREATE VIEW NAMA_VIEW AS<QUERY>
Contoh:
CREATE
VIEW V_nilaiMHS as Select a.nim, a.nama, b.nama_matkul, c.nama_dosen,
d.nilai
FROM
mahasiswa as a, matkul as b, nilai as d, dosen as c
WHERE
a.nim=d.nim and b.kode_matkul=d.kode_matkul and c.nip=b.nip;
Untuk
Menampilkan :
SELECT
* FROM Nama_Tabel_semu_yg_telah_dibuat;
SELECT
* FROM V_nilaiMHS;

No comments:
Post a Comment