Basis Data I (DDL)



BAB I
TUJUAN DAN LANDASAN TEORI

1.        Tujuan Praktikum
1.1     Membuat dan menghapus database melalui sintak DDL
1.2     Membuat, mengubah dan menghapus tabel dengan sintak DDL
1.3     Mengganti nama tabel dengan sintak DDL

2.        Landasan Teori
Menurut Connoly dan Begg (2005, p40), definisi Data Definition Language (DDL) adalah suatu bahasa dalam basisdata yang  memungkinkan manusia untuk mendefinisikan dan memberi nama suatu entity, atribut dan relasi yang dibutuhkan dengan kesatuan integrasi dan batas security. DDL atau Data Definition Language bisa diartikan sebagai kumpulan perintah pada sql yang berfungsi atau digunakan digunakan untuk membuat, mengubah dan menghapus struktur atau definisi tipe data dari objek-objek yang ada pada database. DDL memungkinkan pembuatan dan penghancuran objek-objek yang ada dalam basisdata seperti skema, domain, table, view dan indeks. DLL yang utama dalam SQL yaitu:

-   CREATE    :  digunakan untuk membuat objek dalam basisdata
-   ALTER      :  digunakan  untuk  mengubah  objek  dalam  basisdata. ALTER
   hanya dapat digunakan pada domain dan tabel saja
-   DROP        : digunakan untuk menghancurkan objek pada dalam basis data

Saya akan mencoba menjelaskan satu persatu tentang perintah utama pada Data Defination Language :

2.1  Create
Perintah CREATE bisa digunakan untuk CREATE DATABASE dan CREATE TABLE. Pada dasarnya perintah CREATE digunakan untuk membuat/menciptakan sebuah database ataupun table baru. Pertama-tama kita akan membahas tentang perintah CREATE DATABASE karena table berada dalam suatu database. Bisa juga dibilang bahwa di dalam sebuah database terdapat banyak table. Jika database-nya belum ada, maka kita tidak bisa membuat table bukan..?? Mari kita lanjutkan belajarnya.

CREATE DATABASE

 Untuk perintah CREATE DATABASE tidaklah sesulit perintah CREATE TABLE. Aturan penamaan sebuah database sama seperti aturan penamaan sebuah variabel, dimana secara umum nama database boleh terdiri dari huruf, angka dan underscore (_). Jika database yang akan dibuat sudah ada, maka akan muncul pesan error. Bentuk umumnya adalah sebagai berikut

CREATE DATABASE nama_database;

Misalkan kita ingin membuat database dengan nama “universitas Palangkaraya”, contoh perintahnya adalah sebagai berikut :

CREATE DATABASE universitas_palangkaraya;

Setelah pembuatan database, kita coba cek apakah benar sudah ada atau belum. Perintahnya adalah :

SHOW DATABASES;

Maka akan muncul semua databases yang ada.


CREATE TABLE

    Database sudah dibuat. Saatnya kita membuat table-table yang berada di dalam database. Jadi kita harus memilih salah satu database yang ada. Caranya adalah dengan perintah USE nama_database. Tadi kita sudah membuat database dengan nama universitas_palangkaraya. Maka perintah untuk menggunakan database tersebut adalah :uk umumnya adalah sebagai berikut :

USE universitas_palangkaraya;

Untuk melihat daftar table yang ada dalam database tersebut, bisa menggunakan perintah yang mirip dengan SHOW DATABASES;. Syntax-nya adalah sebagai berikut ini :

SHOW TABLES;

Bentuk umum perintah CREATE TABLES adalah sebagai berikut :

CREATE TABLE nama_tabel (
kolom1 tipe_data(panjang),kolom2 tipe_data(panjang),...kolom_n tipe_data(panjang),
PRIMARY KEY (nama_kolom)
);

Penamaan kolom/field mempunyai aturan yang sama dengan penamaan database, yaitu secara umum nama database boleh terdiri dari huruf, angka dan underscore (_). Sedangkan jenis/tipe data untuk sebuah kolom sudah diposting sebelumnya, dapat dilihat di sini. Misalkan kita ingin membuat table mahasiswa dengan susunan seperti berikut ini :





Maka perintahnya adalah sebagai berikut :

CREATE TABLE mahasiswa (
nim int(5) NOT NULL AUTO_INCREMENT,
nama varchar(30) NOT NULL,
alamat varchar(50) NOT NULL,
nomor_tlp varchar(12) NOT NULL,
primary key (nim));

Yang perlu diingat adalah, nama lain dari kolom/coloumn dalam MySql adalah Field. Setelah table berhasil dibuat, untuk mengetahui detail dari table tersebut, ketik perintah DESC nama_table. Contohnya adalah sebagai berikut ini :

DESC mahasiswa;

Demikian sedikit penjelasan saya mengenai perintah CREATE pada MySql. Selanjutnya saya akan mencoba menjelaskan tentang
 
 
               
2.2  Alter
Ada saatnya dimana kita harus mengganti struktur table yang pernah kita buat. Untungnya MySql mendukung/menyediakan perintah untuk melakukan kegiatan tersebut. Perintahnya adalah ALTER TABLE. Penggunaanya sedikit sulit. Mudah-mudahan penjelasan saya bisa menambah pemahaman supaya lebih mudah untuk dipelajari. Bentuk umum perintahnya adalah sebagai berikut :

ALTER TABLE nama_tabel alter_options;

dimana :
-          ALTER TABLE merupakan perintah dasar untuk mengubah tabel.
-          nama_tabel merupakan nama tabel yang akan diubah strukturnya.
-          alter_options merupakan pilihan perubahan tabel. Contoh Option yang bisa digunakan adalah sebagai berikut:


Sekarang saatnya kita bahas satu persatu supaya bisa paham. Sebelumnya, buatlah sebuat table terlebih dahulu untuk percobaan.
Misal di sini kita buat table sederhana dengan nama peserta dan strukturnya sebagai berikut :


Perintahnya adalah sebagai berikut :

CREATE TABLE peserta (
NIP int(5) NOT NULL,
nama varchar(30) NOT NULL);

*sengaja tidak di beri “primary key” dan “auto increment”
seharusnya jika diberi perintah sebagai berikut :

DESC peserta;


maka hasilnya adalah sebagai berikut :


Karena perintah alter table terdapat banyak sekali variasinya, maka saya akan membahas beberapa saja yang sering saya gunakan. Panjang banget dong..?? Betul sekali. Tenang saja, saya sudah membuat link sehingga memudahkan untuk belajar.

2.3  Drop
Perintah DROP biasa digunakan untuk menghapus database,table,kolom/field. Perintah DROP juga bisa di gabungkan dengan perintah lainnya, misalnya digabungkan dengan perintah ALTER TABLE yang nantinya akan bisa menghapus kolom atau sebuah primary key. Untuk lebih jelasnya tentang perintah ALTER TABLE bisa dibaca di sini.

Pada pembahasan kali ini akan kita bahas tentang perintah DROP yang gunanya untuk menghapus database dan table saja. Baiklah kita langsung menuju pokok acara.

Sebelumnya kita buat dulu sebuah database dengan table di dalam database tersebut. Jika anda bingung cara menggunakan perintah CREATE, anda bisa melihatnya di sini. Langsung saja kepada contohnya:



mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> CREATE DATABASE universitas_palangkaraya;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+-------------------------+
| Database                |
+-------------------------+
| information_schema      |
| mysql                   |
| performance_schema      |
| test                    |
| universitas_pasti_lulus |
+-------------------------+
5 rows in set (0.00 sec)

Database universitaas_palangkaraya sudah berhasil dibuat.


Selanjutnya adalah membuat table di dalam database universitas_palangkaraya

mysql> use universitas_palangkaraya;
Database changed
mysql> CREATE TABLE mahasiswa (
    -> nim int(5) NOT NULL AUTO_INCREMENT,
    -> nama varchar(30) NOT NULL,
    -> alamat varchar(50) NOT NULL,
    -> nomor_tlp varchar(12) NOT NULL,
    -> primary key (nim));
Query OK, 0 rows affected (0.07 sec)

mysql> show tables;
+-----------------------------------+
| Tables_in_universitas_palangkaraya
 |
+-----------------------------------+
| mahasiswa                         |
+-----------------------------------+
1 row in set (0.00 sec)

Database dan table sudah berhasil di buat. Selanjutnya adalah menghapus kedua hal tersebut. Capek-capek buat database+table kok cuma dihapus..? Namanya juga belajar. Oke kita lanjutkan menghapus kedua hal tersebut menggunakan perintah DROP. Bentuk perintahnya adalah sebagai berikut:

DROP TABLE nama_tabel;
DROP DATABASE nama_database;

Pasti sudah tahu bedanya kan..?? DROP TABLE nama_tabel; digunakan untuk menghapus table, dan perintah DROP DATABASE nama_database; digunakan untuk menghapus database. Baiklah kita lanjut menghapus database dan table yang sudah kita buat sebelumnya.


mysql> show tables;
+-----------------------------------+
| Tables_in_universitas_palangkaraya |
+-----------------------------------+
| mahasiswa                         |
+-----------------------------------+
1 row in set (0.00 sec)

mysql> drop table mahasiswa;
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
Empty set (0.00 sec)

mysql> drop database universitas_pasti_lulus;
Query OK, 0 rows affected (0.06 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

Tabel berada dalam sebuah database, artinya : di dalam sebuah database bisa terdapat banyak tabel. Jadi jika kita menghapus database, maka tabel yang berada di dalamnya akan ikut terhapus semua. Tapi jika kita menghapus table, maka database tidak ikut terhapus.

Perintah DROP bisa di bilang cukup berbahaya. Maka berhati-hatilah dalam menggunakan perintah tersebut. Jangan lupa untuk melakukan Back-up sebelum anda melakukan perintah DROP.

Mari kita pelajari menganai pengertian field, record, table, file, data dan basis data lengkap di artikel yang singkat ini. Pasti kamu yang sering belajar atau yang sudah mengenal database sudah tidak asing lagi dengan istilah-istilah tersebut, untuk kamu yang belum mengetahui definisi dari istilah tersebut, dapat kamu pelajari atau membacanya di bawah ini untuk memahaminya.

Field adalah kumpulan dari karakter yang membentuk satu arti, maka jika terdapat field misalnya seperti NomerBarang atau NamaBarang, maka yang dipaparkan dalam field tersebut harus yang berkaitan dengan nomer barang dan nama barang. Atau definisi field yang lainnya yaitu tempat atau kolom yang terdapat dalam suatu table untuk mengisikan nama-nama (data) field yang akan di isikan.

Record adalah kumpulan field yang sangat lengkap, dan biasanya dihitung dalam satuan baris. Tabel adalah merupakan kumpulan dari beberapa record dan juga field. File adalah terdiri dari record-record yang menggambarkan dari satu kesatuan data yang sejenis. Misalnya seperti file nama barang berisikan data tentang semua nama barang yang ada. Data adalah kumpulan fakta atau kejadian yang digunakan sebagai penyelesaian masalah dalam bentuk informasi. Pengertian basis data (database) adalah basis data yang terdiri dari dua kata, yaitu kata basis dan data. Basis dapat di artikan markas ataupun gudang, maupun tempat berkumpul.
Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai
berikut :
  • Database
  • Table
  • View
  • Index
  • Procedure (Stored Procedure)
  • Function
  • Trigger

 

Daftar Perintah DDL pada MySQL

Berikut adalah contoh perintah DDL yang digunakan pada MySQL.
·         Pembuatan (CREATE)
o    CREATE DATABASE
o    CREATE FUNCTION
o    CREATE INDEX
o    CREATE TABLE
o    CREATE VIEW
  • Perubahan (ALTER & RENAME)
    • ALTER DATABASE
    • ALTER FUNCTION
    • ALTER PROCEDURE
    • ALTER TABLE
    • ALTER VIEW
    • RENAME TABLE

  • Penghapusan (DROP)
    • DROP DATABASE
    • DROP FUNCTION
    • DROP INDEX
    • DROP PROCEDURE
    • DROP TABLE
    • DROP TRIGGER
    • DROP VIEW

Tabel Matrix Perintah DDL MySQL
 OBJECT
CREATE
 ALTER
 DROP
RENAME 
 DATABASE
 Yes
Yes
 Yes

 FUNCTION
 Yes
Yes
 Yes

 INDEX
 Yes

 Yes

 PROCEDURE
 Yes
Yes
 Yes

 TABLE
 Yes
Yes
 Yes
 Yes
 TRIGGER
 Yes

 Yes

 VIEW
 Yes
Yes
 Yes







BAB II
LANGKAH KERJA

2.1    Pelajari bagian ‘BELAJAR DARI CONTOH’ dan jelaskan !
2.2    Buatlah database yang diberikan nama sesuai NIM anda masing-masing yang memiliki struktur sebagai berikut :



Tabel album

Kode_album            varchar(5) PK
Judul                       varchar(50)
Penyanyi                 varchar(50)
Harga                      decimal
Stok                         smallint

 
 



Tabel dtl_penjualan

Kode_Penjualan      varchar(20)              PK
Kode_album            varchar(5)                PK
jumlah                     smallint
Harga                      decimal


 
                                                     0..1       1..n



Tabel penjualan

Kode_penjualan       varchar(20) PK
Tanggal                   datetime

 
 
                                                     1..1       1..n


 


3. Ubah struktur penjualan menjadi :


Tabel penjualan

Kode_penjualan       varchar(20) PK
Tanggal                   datetime
Total                        decimal
 
 





Tabel album

Kode_album            varchar(5) PK
Judul                       varchar(50)
Penyanyi                 varchar(50)
Sampul                    blob
Harga                      decimal
Stok                         smallint

 
4. Ubah struktur tabel album menjadi :









Tabel dtl_penjualan

Kode_Penjualan      varchar(20)              PK
Kode_album            varchar(5)                PK
qty                           smallint
Harga                      decimal


 
5. Ubah struktur tabel dtl_penjualan menjadi :





6. Renamae tabel dtl_penjualan menjadi detail_penjualan.

























BAB III
PEMBAHASAN

3.1    Membuat database dan tabel   
Untuk membuat database dan tabel baru kita menggunakan perintah DDL yaitu “Create”. 

Database yang dibuat adalah database dengan nama “dbc114107”. Kemudian tulislah pada query :

create table album (
kode_album varchar(5),
judul varchar(50),
penyanyi varchar(50),
harga decimal,
stok smallint
);

Penjelasan sintax program :
create table album (

 
 


Create table ini merupakan perintah untuk membuat table album baru. Dimana saat table ini di buat, maka table ini akan masuk dalam sebuah data base.





Untuk membuat tabel dari album dengan field :
 
Karena disini harus ada primary key pada kode_album dengan menuliskan pada query :
alter table album add primary key pk_album (kode_album);

Setelah tabel album selesai dikerjakan dan dibuat tabelnya, buatlah lagi tabel penjualan. Buatlah tabelnya dengan menuliskan pada query :
create table penjualan (
kode_penjualan varchar(20),
tanggal datetime
);
Serta buatlah primary key pada kode_penjualan :
alter table penjualan add primary key pk_penjualan (kode_penjualan);

 

Kemudian tabel album dan tabel penjualan dibuat agar memiliki relasi antara keduanya dengan membuat tabel dtl_penjualan dengan field-field yang saling berhubungan dengan tabel induknya.

create table dtl_penjualan (
kode_penjualan varchar(20),
kode_album varchar(5),
jumlah smallint,
harga decimal
);

Setelah itu agar memiliki relasi dengan tabel-tabel yang ada dalam database tersebut pemberian primary key harus sama dengan variable yang ada pada tabel album dan tabel penjualan. Untuk itulah dengan menggunakan foreign key (fk) pada primary key yang digunakan.





alter table dtl_penjualan add foreign key
fk_kode_album (kode_album) references album (kode_album);
pada bagian ini untuk mengubah primary key “kode_album” menjadi foreign key dengan mereferensi pada “kode_album” dari tabel album.

alter table dtl_penjualan add foreign key
fk_kode_penjualan (kode_penjualan) references penjualan (kode_penjualan);
pada bagian ini untuk mengubah primary key “kode_penjualan” menjadi foreign key dengan mereferensi pada “kode_penjualan” dari tabel penjualan

Tabel penjualan


1.      Mengubah struktur penjualan
Untuk mengubah struktur penjualan kita menggunakan perintah DDL yaitu “Alter” untuk menambahkan field pada tabel dari database.

alter table penjualan
add total decimal after tanggal;
2.      Mengubah struktur album
Untuk mengubah struktur penjualan kita menggunakan perintah DDL yaitu “Alter” untuk menambahkan field pada tabel dari database. Selain itu juga untuk meletakkan field baru dibagian lain selain field yang ada kita gunakan “after” pada query yang kita tuliskan.

alter table album
add sampul blob after penyanyi;



3.      Mengubah struktur dtl_penjualan
Untuk mengubah struktur penjualan kita menggunakan perintah DDL yaitu “Alter” untuk menambahkan field pada tabel dari database.

alter table dtl_penjualan
change jumlah qty smallint;
4.      Rename tabel dtl_penjualan menjadi detail_penjualan
Untuk mengganti nama sebuah tabel kita hanya menggunakan perintah DDL yaitu “Rename” pada query.

rename table dtl_penjualan to detail_penjualan;


maka nama tabel akan berubah, dapat kita lihat dari list tabel pada database tersebut:
 






BAB IV
KESIMPULAN

Dalam perintah DDL ini merupakan bahasa sederhana dari bahasa pemrograman MySQL untuk membuat database awal serta membuat dan mengedit field tabel yang akan digunakan sebelum menggunakan perintah dari bahasa DML. Karena itulah DDL ini merupakan langkah awal yang penting dalam membuat database awal sebelum berlanjut ke langkah selanjutnya.
“Create” perintah untuk membuat database atau tabel baru pada database yang ada. “Alter” perintah untuk mengubah atau menambahkan field ataupun primary key pada tabel. “Rename” perintah untuk mengubah nama tabel tetapi tidak bisa untuk mengubah nama database. “Drop” untuk menghapus tabel ataupun juga database. 



















BAB V
DAFTAR PUSTAKA

Dosen Teknik Informatika, 2012. Modul Pratikum Basis Data I, Palangka Raya : Jurusan Teknik Informatika Fakultas Teknik Universitas Palangka Raya.
Kenzie Alvano, Sarjono. Data Definition Language (DDL) dan Data Manipulation Language (DML), http://sarjonomudo.blogspot.co.id/2013/07/data-definition-language-ddl-dan-data.html (diakses, pada hari Jumat 22 April pukul 20.15 WIB)























BAB VI
LAMPIRAN














                                            








Komentar

Postingan Populer