Sabtu, 13 Juni 2020

Basis Data (MySQL)

DATA DEFINITION LANGUAGE (DDL)

    DLL merupakan bagian dari sql yang digunakan untuk mendefinisikan struktur dan kerangka data dan obyek basis data. Bisa juga dikatakan merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, batasan-batasan terhadap suatu atribut, serta hubungan antar tabel.

                   

Perintah

Keterangan

Create Database

Membuat basis data

Drop Database

Menghapus basis data

Create Table

Membuat tabel

Alter Table

Mengubah atau menyisipkan kolom ke dalam tabel

Drop Table

Menghapus tabel dari basis data

Create Index

Membuat Index

Drop Index

Menghapus Index



Macam – macam perintah dari DDL beserta contoh pembuatan             

1. Membuat Database

    Nama database yang dibuat tidak boleh mengandung spasi dan tidak boleh memiliki nama                   yang sama dengan database lain di MySQL.

     Syntax :

                Mysql>CREATE DATABASE namadatabase;

      Contoh :         

                Mysql> CREATE DATABASE perpustakaan;


2. Menampilkan Database
    Syntax :
               Mysql>SHOW DATABASES;

3. Menghapus Database
    Database yang akan dihapus harus sesuai dengan nama database.
    Syntax :
                Mysql>DROP DATABASE namadatabase;
    Contoh:  
                Mysql>DROP DATABASE perpustakaan;

4. Mengaktifkan Database
    Sebelum membuat suatu tabel, terlebih dahulu harus mengaktifkan database yang akan digunakan
    Syntax :
                 Mysql>USE namadatabase;
           
    Contoh :
                 Mysql>USE perpustakaan;

5. Membuat Tabel
    Dalam basis data tabel atau field berfungsi untuk menyimpan record atau data.
    Syntax :
               Mysql>CREATE TABLE namatable (
                          Field1 TipeData1 (lebardata),
                          Field2 TipeData2 (lebardata),
                                    .......
                          Field3 TipeData3 (lebardata));
   Nama tabel tidak boleh mengandung spasi (space) tetapi jika menginginkan ada spasi harus menggunakan tanda penghubung ( nama_tabel ). Field1 merupakan atribut pertama dan TipeData1 merupakan tipe data untuk atribut pertama. Jika ingin membuat tabel dengan atribut lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,).
   Contoh :
                Mysql>CREATE TABLE pengarang (
                           kode_pengarang varchar (5),
                           nama_pengarang varchar (35));
   Untuk Melihat Tabel
   Syntax :
               Mysql>SHOW TABLES;
   Untuk Melihat Struktur Tabel
   Syntax :
               Mysql>DESC namatabel;
   Contoh :
               Mysql>DESC pengarang;
    
6. Mendefinisikan Null / Not Null
    Ketika membuat tabel, beberapa field harus diatur agar field tertentu harus diisi. Biasanya field ini adalah sebagai field utama atau kunci, juga sebagai identikasi sehingga tidak boleh kosong.
   Syntax :
               Mysql>CREATE TABLE namatabel (
                            Field1 TipeData1 (lebardata) NOT NULL,
                            Field2 TipeData2 (lebardata) NOT NULL,
                                    ....
                            Field3 TipeData3 (lebardata));
   Contoh :
                Mysql>CREATE TABLE pengarang (
                             kode_pengarang varchar (5) not null,
                             nama_pengarang varchar (35) not null);
7. Mendefinisikan Nilai Bawaan (Default)
    Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu atribut ketika ada penambahan baris baru, sementara nilai pada atribut tersebut tidak diisi oleh pengguna.
   Syntax :
               Mysql>CREATE TABLE namatabel (
                            Field1 TipeData1 (lebardata),
                            Field2 TipeData2 DEFAULT nilai);
Dimana nilai adalah nilai default dari atribut tersebut.
   Contoh :
               Mysql>CREATE TABLE buku (
                            kode_buku varchar (5) NOT NULL,
                            judul_buku varchar (15) NOT NULL,
                            harga integer default 0,
                            tahun_terbit varchar (5),
                            kode_pengarang varchar (5),
                            kode_penerbit varchar (5));

8. Menentukan Primary Key Pada Tabel
    Key adalah satu gabungan dari beberapa atribut yang dapat membedakan semua basis data (row) dalam tabel secara unik. Key di dalam database berfungsi sebagai  suatu cara untuk mengidentifikasi dan menghubungkan satu tabel data dengan tabel yang lain.
    Primary Key adalah suatu atribut atau satu set minimal atribut yang tidak hanya mendefinisikan secara unik suatu kejadian spesifik tetapi juga dapat mewakili setiap kejadian dari suatu kejadian. Terdapat tiga cara untuk membuat primary key.  
    Syntax :
     Cara 1 :
                 Mysql>CREATE TABLE namatabel (
                              Field1 TipeData1(lebardata) NOT NULL PRIMARY KEY,
                              Field2 TipeData2 (lebardata));
     Cara 2 :
                 Mysql>CREATE TABLE namatabel (               
                              Field1 TipeData1(lebardata),
                              Field2 TipeData2 (lebardata)
                              PRIMARY KEY (Field1));
     Cara 3 :
                 Mysql>ALTER TABLE namatabel ADD CONSTRAINT namaconstraint
                              PRIMARY KEY (namakolom);
     Contoh 1 :
                 Mysql>CREATE TABLE pengarang (
                              kode_pengarang varchar (5) NOT NULL PRIMARY KEY,
                              nama_pengarang varchar (35) NOT NULL);
            Contoh 2 :
                        Mysql>CREATE TABLE pengarang (
                                    kode_pengarang varchar (5) NOT NULL,
                                    nama_pengarang varchar (35) NOT NULL);
                        Mysql>ALTER TABLE pengarang ADD CONSTRAINT pk PRIMARY KEY (kode_pengarang);

9. Menghapus Primary Key Pada Tabel
    Syntax :
    Cara 1 :
                Mysql>ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;
    Jika primary key dibuat dengan alter table.
    Cara 2 :
                Mysql>ALTER TABLE namatabel DROP PRIMARY KEY;
    Jika primary key dibuat melalui create table.
    Contoh :
                 Mysql>ALTER TABLE pengarang DROP PRIMARY KEY;

10. Menentukan Foreign Key Pada Tabel
      Foreign Key adalah satu set atribut atau set atribut sebagai key penghubung kedua tabel dan melengkapi satu relationship (hubungan) terhadap primary key yang menunjukan keinduknya. Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key. Untuk membuat foreign key, maka harus dipastikan bahwa tabel dan atribut yang dirubah (tabel induk dari foreign key) sudah didefinisikan terlebih dahulu.
        Syntax :
                     Mysql>CREATE TABLE  namatabel (
                                  Field1 TipeData1 (lebardata),
                                  Field2 TipeData2 (lebardata),
                                  FOREIGN KEY (Field2) REFERENCES namatabelinduk (namafiletabelinduk) ON UPDATE CASCADE ON DELETE NO ACTION );
           Atau
                     Mysql>ALTER TABLER  namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namafield) REFERENCES namatabelinduk (namafieldinduk) ON UPDATE CASCADE ON DELETE NO ACTION;                                          Contoh :
                      Mysql >CREATE TABLE buku (
                                    kode_buku varchar (5) NOT NULL PRIMARY KEY,
                                    judul_buku varchar (35) NOT NULL,                                  
                                    harga integer default 0,
                                    tahun_terbit varchar (5),
                                    kode_pengarang varchar (5),
                                    kode_penerbit varchar (5),
                                    FOREIGN KEY (kode_pengarang) REFERENCES pengarang (kode_pengarang) ON UPDATE CASCADE ON DELETE NO ACTION;       
 
          Atau
                        Mysql>ALTER TABLE buku ADD CONSTRAINT fk FOREIGN (kode_pengarang) REFERENCES pengarang (kode_pengarang) ON UPDATE CASCADE ON DELETE NO ACTION;

11. Menghapus Foreign Key
      Syntax :
                  Mysql>ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;
      Contoh :                           
                  Mysql >ALTER TABLE buku DROP FOREIGN KEY fk;
          
             
12. Mengubah Struktur Tabel
      Tabel yang sudah dibuat dapat dilakukan perubahan strukturnya seperti penambahan atribut   (field), penghapusan atribut (field) bahkan mengganti lebar field dari tabel tersebut. Perintah yang digunakan adalah ALTER TABLE.
      
        ~ Menambah Atribut Baru Pada Tabel
           Syntax :

          Mysql>ALTER TABLE namatabel ADD fieldbaru tipe;

        namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama atribut       yang akan ditambahkan, tipe adalah tipe data dari atribut yang akan ditambahkan.
           Contoh :

          Mysql>ALTER TABLE  buku ADD keterangan varchar (25);

        ~ Mengubah Tipe Data atau Lebar Atribut Pada Tabel
           Syntax :

         Mysql>ALTER TABLE namatabel MODIFY COLUMN field tipe;

namatabel adalah nama tabel yang akan diubah tipe data atau lebar atributnya. Field adalah    atribut yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar atribut yang berbeda.

Contoh :

             Mysql>ALTER TABLE buku MODIFY COLUMN keterangan char (20);


            ~ Mengubah Nama Atribut (Field) Pada Tabel
               Syntax :

              Mysql>ALTER TABLE namatable CHANGE COLUMN namafield namabarufield                      tipe;


   namatabel adalah nama tabel yang akan diubah nama atributnya, namalamafield adalah       

   atribut yang akan diganti namanya, namabarufield adalah nama baru atribut, tipedatanya

   adalah tipe data dari atribut tersebut.

   Contoh :

                Mysql>ALTER TABLE buku CHANGE COLUMN ket char (20);

            ~ Menghapus Atribut (Fiedl) Pada Tabel
               Syntax :

             Mysql>ALTER TABLE  namatable DROP COLUMN namakolom;

 Contoh:

             Mysql>ALTER TABLE buku DROP ket;


13. Menghapus Tabel
      Syntax :
                  Mysql>DROP TABLE namatabel;
      Contoh :
                  Mysql>DROP TABLE buku;

DATA MANIPULATION LANGUAGE (DML)