BASIS DATA
Laporan ini disusun untuk memenuhi salah satu tugas mata kuliah praktikum basis
data
Oleh:
NPM: 207006036
LABORATORIUM INFORMATIKA
TASIKMALAYA
2021
BAB II DATA DEFINITION LANGUAGE (DDL)
1. TUJUAN PRAKTIKUM
Praktikan diharapkan dapat :
2. DASAR TEORI
2.1. BAHASA SQL
SQL memiliki kepanjangan Structured Query Language, digunakan
sebagai antarmuka dalam pengelolaan data. SQL merupakan bahasa komprehensif
untuk basis data sehingga dibuat standar bahasa SQL oleh ANSI (American
National Standard Institute) dan ISO (International Standard Organizatioan). Di
dalamnya terdapat perintah untuk pendefinisian data, melakukan query dan update
terhadap data. Perintah tersebut dikelompokan dalam 2 istilah: DDL (Data
Definition Language) untuk pendefinisian data dan DML (Data Manipulation
Language) untuk melakukan update dan query.
2.2. TIPE DATA
A. TIPE DATA NUMERIK
II-1
II-2
18446744073709551615
FLOAT Bilangan desimal dengan
minimum ± 1.175494351e-38
single- precission maksimum ± 3.402823466e+38
DOUBLE Bilangan desimal dengan
minimum ±
double- 2.2205738585072014e-308
precission maksimum ±
1.7976931348623457e+308
DECIMAL(M,D) Bilangan float Tergantung pada nilai M dan D
(desimal) yang
dinyatakan sebagai
string. M adalah jumlah
digit yang disimpan
dalam suatu kolom, N
adalah jumlah digit
dibelakang koma
Tabel 2.2.1
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.
Gambar 2.3.1
Analisis:
Perintah diatas merupakan perintah untuk membuat database baru dengan nama
yang dapat dengan bebas ditentukan oleh pengguna asalkan tidak menggunakan
spasi atau sama dengan database lain sebagai gantinya pengguna bisa
menggunakan simbol “_” sebagai pengganti dari spasi, dalam kasus kali ini
saya menggunakan “akademik” sebagai nama dari database.
Perintah tambahan : untuk menampilkan daftar nama database yang ada
pada mysql menggunakan perintah : SHOW DATABASES;
Gambar 2.3.2
Analisis:
Perintah ini dapat digunakan untuk menampilkan semua database yang ada di
program mysql.
B. MENGHAPUS DATABASE
Perintah : DROP DATABASE namadatabase;
Gambar 2.3.3
Analisis:
Perintah diatas dapat digunakan untuk menghapus database yang ada di mysql,
dalam kasus kali ini saya menghapus database “akademik” yang sudah saya
buat sebelumnya.
C. MEMBUAT TABEL
Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu
database sebagai database aktif yang akan digunakan untuk menyimpan tabel-
tabel dengan menggunakan perintah : USE namadatabase;
II-5
Gambar 2.3.4
Analisis:
Perintah ini dapat digunakan ketika pengguna ingin memilih salah satu database
di mysql untuk mengubah (edit) atau menambahkan konten ke dalam database,
dalam kasus kali ini saya membuat lagi database akademik dan menggunakan
perintah “use akademik;”.
Field1 TipeData1,
Field2 TipeData2
);
Gambar 2.3.5
Analisis:
Perintah diatas dapat digunakan ketika user ingin menambahkan “Table” yang
mirip dengan “Record” dalam bahasa pascal, cara penggunaanya pertama
pengguna harus mengetik “create table namatabel(“ lalu mysql akan
menanyakan field (konten) dari table tersebut dengan lambang “->”, pengguna
dapat menambahkan berapapun field yang diinginkan, dalam kasus ini saya
menggunakan “mahasiswa” sebagai nama tabel dan field nya diisi oleh :
-“alamat” yang bertipe varchar dengan range 30 yang boleh diisi atau tidak
-“gol_darah” yang bertipe varchar dengan range 2 yang boleh diisi atau tidak
Keterangan : null yaitu field tesebut dapat tidak berisi nilai sedangkan not
null yaitu field harus berisi nilai atau tidak boleh kosong. Primary key untuk
mendefinisikan kata kunci dalam sebuah tabel.
Perintah tambahan :
Untuk menampilkan daftar nama tabel yang ada pada database yang
sedang aktif/digunakan (dalam hal ini database akademik) : SHOW TABLES;
Gambar 2.3.6
Analisis:
Perintah diatas dapat digunakan pengguna untuk melihat semua table dari
database yang sedang digunakan saat ini.
Gambar 2.3.7
Analisis:
Perintah diatas dapat digunakan ketika pengguna ingin melihat field dari table
yang sudah ada di dalam database, dalam kasus ini saya menggunakan
“describe mahasiswa;” untuk menampilkan (mendeskripsikan) field dari
table “mahasiswa”.
D. MENGHAPUS TABEL
II-8
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah
untuk menghapus tabel dengan nama mahasiswa :
Gambar 2.3.8
Analisis:
Program ini dapat digunakan ketika pengguna ingin menghapus tabel yang ada
di dalam database saat ini, dalam kasus ini saya menghapus tabel “ mahasiswa”
yang saya buat sebelumnya.
Gambar 2.3.9
Analisis:
Perintah ini dapat digunakan pengguna untuk menambahkan data secara
otomatis, contohnya dalam kasus ini saya membuat kembali tabel “mahasiswa”
dengan sedikit modifikasi dimana kali ini tipe data dari field “ npm” diubah
menjadi int (yang sebelumnya char) agar dapat menggunakan perintah
“auto_increment”, pada saat dilihat kembali menggunakan perintah “ desc
mahasiswa;” mysql menampilkan bahwa field npm menggunakan
“auto_increment” pada bagian extra.
Berikut ini perintah yang digunakan untuk menghapus primary key pada tabel
mahasiswa :
Gambar 2.3.10
Analisis:
Perintah ini hanya dapat di run apabila primary key tidak memiliki extra apapun
(misalnya auto_increment) apabila perintah dijalankan sedangkan primary key
memiliki extra maka akan muncul error, jadi saya menghapus lalu membuat
kembali tabel “mahasiswa” dengan field npm tanpa extra apapun, kemudian
mencoba kembali perintah “ALTER TABLE namatabel DROP PRIMARY
KEY;” namun kali ini perintah dapat dijalankan tanpa ada error. Perintah ini
lalu menghapus primary key dari field “npm”.
yang akan ditambahkan. Berikut ini perintah untuk menambah kolom tgl_lahir
dengan tipe data date :
mysql> alter table mahasiswa add tgl_lahir date;
Gambar 2.3.11
Analisis:
Perintah ini dapat menambahkan field baru sesuai keinginan pengguna,
contohnya pada kasus ini saya menambahkan field “tgl_lahir” yang bertipe
date, sedangkan untuk null nya, karena default nya null maka secara otomatis
program memasukkan “tgl_lahir” sebagai “yes”.
dapat menghapus tabel dosen terlebih dahulu. Setelah itu buat kembali tabel dosen
dengan tidak mendefinisikan primay key-nya.
Gambar 2.3.12
Analisis:
Perintah ini dapat menambahan primary key ke field manapun yang pengguna
mau, dalam kasus ini saya menambahkan primary key ke field “npm”.
II-13
namatabel adalah nama tabel yang akan diubah tipe data atau lebar
kolomnya. Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe
adalah tipe data baru atau tipe data lama dengan lebar kolom yang berbeda.
Berikut ini perintah untuk mengubah tipe data untuk kolom nama dengan
varchar(25) :
mysql> alter table mahasiswa modify column nama
varchar(25);
Gambar 2.3.13
Analisis:
Perintah ini dapat digunakan apabila pengguna ingin mengubah range dari
suatu field, misalnya kali ini saya mengubah range dari field “ nama” dari 20
menjadi 25.
Gambar 2.3.14
Analisis:
Perintah ini dapat digunakan oleh pengguna apabila ingin mengubah nama dari
suatu field dalam tabel, dalam kasus kali ini saya mengubah nama dari field
“nama” menjadi “nama_lengkap”.
Jika nama tabel yang ada tidak sesuai dengan data, Anda dapat
mengubahnya dengan cara mengganti nama tabel tersebut. Caranya, dengan
menggunakan parameter RENAME. Perintahnya sebagai berikut:
ALTER TABLE nama_lama RENAME [TO] nama_baru
tabel ambil kita ganti namanya menjadi mengambil. Sebelum diganti, Anda dapat
melihat kondisi awal terlebih dahulu di dalam database.
Untuk mengganti nama tabel dari ambil menjadi mengambil, Anda dapat
menjalankan perintah seperti berikut:
Gambar 2.3.15
Analisis:
Jika perintah sebelumnya dapat mengubah nama field, perintah kali ini dapat
mengubah nama dari tabel, dalam kasus ini saya mengubah nama dari tabel
“mahasiswa” menjadi “tab_mhs”.
Gambar 2.3.16
Analisis:
Perintah ini dapat menghapus salah satu field yang pengguna inginkan,
misalnya saya menghapus field “tgl_lahir” dari tabel “mahasiswa”.
Berikut perintah untuk membuat foreign key nip pada tabel mengajar dari
tabel induk dosen :
Gambar 2.3.17
Analisis:
Perintah ini dapat menambahkan foreign key pada field yang diinginkan oleh
pengguna, pada kasus ini saya menambahkan foreign key ke “ nama_lengkap”
dengan kolom induk dari “npm”.
Berikut ini perintah untuk menghapus foreign key pada tabel mengajar :
Gambar 2.3.18
Analisis:
Perintah ini dapat menghapus foreign key yang berada dalam tabel, dalam
kasus ini saya menghapus foreign key yang berada dalam field
“nama_lengkap”. (terlihat di dalam tabel kalau “nama_lengkap masih
II-18
memiliki key, hal ini karena pada saat di deklarasikan tidak menggunakan “on
action” pada perintahnya melainkan menggunakan “no action”).