Data Definition Language (DDL) – Database & Tabel 1 MODUL I DATA DEFINITION LANGUAGE (DDL) DATABASE & TABEL PDF

Title Data Definition Language (DDL) – Database & Tabel 1 MODUL I DATA DEFINITION LANGUAGE (DDL) DATABASE & TABEL
Author Komank Oshin
Pages 8
File Size 664.6 KB
File Type PDF
Total Downloads 114
Total Views 239

Summary

Data  Definition  Language  (DDL)  –  Database  &  Tabel   MODUL  I   DATA  DEFINITION  LANGUAGE  (DDL)   DATABASE  &  TABEL     A. Tujuan  Praktikum   Mahasiswa   memahami   sintaks   perintah   pada   MySQL   untuk   membuat,   mengubah  dan  menghapus  database  dan  tabel.     B. Indikat...


Description

Accelerat ing t he world's research.

Data Definition Language (DDL) – Database & Tabel 1 MODUL I DATA DEFINITION LANGUAGE (DDL) DATABASE & TABEL Komank Oshin

Related papers MODUL MYSQL Aal Hardiyant o

MySQL 5 Kendak Kabaklah BUKU KOMPUT ER GRAT IS DARI ACHMAT IM.NET Bayuferi Trian

Download a PDF Pack of t he best relat ed papers 

Data Definition Language (DDL) – Database & Tabel  MODUL I  DATA DEFINITION LANGUAGE (DDL)  DATABASE & TABEL    A. Tujuan Praktikum  Mahasiswa  memahami  sintaks  perintah  pada  MySQL  untuk  membuat,  mengubah dan menghapus database dan tabel.    B. Indikator  Mahasiswa  mampu  membuat,  mengubah  dan  menghapus  dabatase  dan  tabel pada MySQL menggunakan perintah yang telah dipelajari.    C. Materi  Data definition language (DDL) adalah perintah‐perintah yang digunakan  untuk  membuat  ataupun  menghapus  database  dan  obyek  database.  Obyek  database  disini  adalah  lain  tabel,  view,  procedure,  trigger.  Sebenarnya  untuk  membuat  database  dan  obyeknya  dapat  dilakukan  melalui  antarmuka  phpMyAdmin,  namun  demikian  pemahaman  tentang  sintaks  perintah  sangatlah  penting.  Pada  modul  ini  akan  dibahas  bagaimana  membuat  database  dan  tabel  menggunakan  perintah  yang  telah disediakan oleh MySQL.  1. CREATE  Merupakan  perintah  yang  digunakan  untuk  membuat  database  dan obyek database.  Sintaks untuk membuat database:      CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ...     create_specification: |   [DEFAULT] CHARACTER SET [=] charset_name [DEFAULT] COLLATE [=] collation_name     Q1.  Pada  sintaks  di  atas  terdapat  pilihan‐pilihan  yang  berada  di  dalam  tanda  {..}  dan  [..].  Apa  maksud  dari  tanda  {..}  dan  [..]  tersebut?    Untuk  membuat  suatu  database  baru  dengan  nama  “db_praktikum” maka perintah yang diketikkan adalah:    CREATE DATABASE db_praktikum;   Ketika  perintah  di  atas  berhasil  dijalankan,  maka  pada  server  akan  muncul suatu database baru dengan nama “db_praktikum”.     Q2.  Adakah kemungkinan perintah tersebut tidak berhasil dijalankan?  Kenapa?   



Data Definition Language (DDL) – Database & Tabel  Perintah  IF  NOT  EXISTS  digunakan  untuk  memastikan  bahwa  database  yang  ingin  dibuat  belum  ada  di  server.  Jika  database  dengan nama itu sudah ada,  maka perintah pembuatan database ini  akan diabaikan.    CREATE DATABASE IF NOT EXISTS db_praktikum;   Sintaks untuk membuat table:    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name   (create_definition,...)   [table_options] [partition_options]     create_definition:   col_name column_definition   [CONSTRAINT [symbol]] PRIMARY KEY [index_type] | (index_col_name,...)[index_option] ...   | {INDEX|KEY} [index_name] [index_type]   (index_col_name,...)[index_option] ...   [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] |   [index_name] [index_type] (index_col_name,...) [index_option] ...   | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name]   (index_col_name,...)[index_option] ...   [CONSTRAINT [symbol]] FOREIGN KEY [index_name] | (index_col_name,...) reference_definition   |   CHECK (expr)   column_definition:   data_type   [NOT NULL | NULL]   [DEFAULT default_value] [AUTO_INCREMENT]   [UNIQUE [KEY] | [PRIMARY] KEY]   [COMMENT 'string']   A s 

[COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}] [STORAGE {DISK|MEMORY|DEFAULT}] [reference_definition]

  Q3. Tipe‐tipe data apa saja yang disediakan oleh MySQL?    Dari  sintaks  di  atas  dapat  dilihat  bahwa  terdapat  perintah  CREATE  diikuti  dengan  TABLE  beserta  table_name  yang  merupakan  nama  dari  tabel  yang  diinginkan.  Setelah  nama  tabel  maka diikuti dengan col_name  (nama field/kolom) yang diinginkan  dan column_definition (berisikan tipe data serta beberapa properti  yang  untuk  kolom  tersebut).  Properti  itu  antara  lain:  NOT  NULL/NULL,  DEFAULT,  AUTO_ICREMENT,  UNIQUE  dan  lain  sebagainya.  Contoh  untuk  membuat  suatu  tabel  dengan  nama  tb_baru  dengan  dua  buah  kolom  yaitu  col_id  (tipe  data  INT)  dan  col_name (tipe data VARCHAR) adalah sebagai berikut:   



Data Definition Language (DDL) – Database & Tabel      CREATE TABLE tb_baru ( col_id INT,   col_name VARCHAR(12)   );   Tiap tabel, sesuai dengan kaidah normalisasi, harus memiliki satu  primary  key.  Primary  key  ini  tidak  boleh  bernilai  NULL.  Untuk  membuat  tabel  tb_baru  dengan  col_id  sebagai  primary  key  dapat  digunakan perintah berikut:      CREATE TABLE tb_baru ( col_id INT NOT NULL AUTO_INCREMENT,   col_name VARCHAR(12),   PRIMARY KEY (col_id)   );   Foreign  key  digunakan  untuk  mendefinisikan  suatu  kolom  pada  tabel yang juga merupakan primary key pada tabel lain. Hal ini biasa  ditemui pada hubungan antara dua tabel yang bersifat one‐to‐many  (1‐N).  Sebagai  contoh:  misalkan  pada  tabel  tb_lain,  kolom  lain_col_id merupakan foreign key yang mengacu pada kolom col_id  pada tb_baru. Perintah untuk membuat tabel tb_lain yang berisikan  foreign key ini adalah sebagai berikut:    CREATE TABLE tb_lain (   lain_id INT NOT NULL AUTO_INCREMENT,   lain_uraian VARCHAR(45),              

lain_col_id INT NOT NULL, PRIMARY KEY (lain_id), CONSTRAINT `PK1` FOREIGN KEY (lain_col_id) REFERENCES tb_baru (col_id) ON DELETE NO ACTION ON UPDATE NO ACTION);

Q4.  Apa  guna  perintah  ON  DELETE  NO  ACTION  dan  ON  UPDATE  NO  ACTION?    Kata  kunci  CONSTRAINT  digunakan  untuk  mendefinisikan  aturan‐aturan  yang  melarang/memperbolehkan  nilai  yang  dapat  disimpan  pada  kolom  suatu  tabel.  CONSTRAINT  juga  dapat  digunakan untuk mendefinisikan aturan tipe data apa saja yang bisa  dimasukkan  ke  suatu  tabel.  Oleh  karena  itu  CONSTRAINT  berlaku  pada  tingkat  kolom  dan  tabel.  Pada  tingkat  kolom  maka  aturan  tersebut  hanya  berlaku  untuk  satu  kolom  saja  sedangkan  pada  tingkat  tabel  maka  aturan  akan  berlaku  untuk  seluruh  kolom  pada  tabel tersebut. MySQL menyediakan CONSTRAINT berikut:     



Data Definition Language (DDL) – Database & Tabel  CONSTRAINT  NOT NULL  UNIQUE 

PRIMARY KEY 

FOREIGN KEY 

CHECK 

DEFAULT 

DESKRIPSI  NOT  NULL  digunakan  untuk  mendefinisikan  bahwa satu kolom tidak boleh berisi nilai NULL.   UNIQUE  digunakan  untuk  menyatakan  bahwa  pada  satu  kolom  tidak  boleh  ada  nilai  yang  sama (duplikat). Pada satu tabel boleh terdapat  lebih dari satu kolom yang UNIQUE.  PRIMARY  KEY  digunakan  untuk  memastikan  bahwa  data  pada  suatu  kolom  adalah  unik  dan  sekaligus  membuatkan  INDEX  untuk  akses  tabel yang lebih cepat.  FOREIGN  KEY  digunakan  untuk  menghubungkan  dua  buah  tabel  menggunakan  masing‐masing  satu  kolom  pada  kedua  tabel.  Kolom  yang  digunakan  pada  satu  tabel  harus  merupakan  PRIMARY  KEY  dan  diacu  oleh  kolom  pada  tabel  lain  yang  disebut  FOREIGN  KEY.   CHECK digunakan untuk mengontrol nilai pada  suatu  kolom.  CHECK  akan  menentukan  apakah  nilai  pada  kolom  tersebut  valid  atau  tidak  berdasarkan suatu ekspresi logika.  Tiap  tabel  pada  MySQL  harus  memiliki  suatu  nilai (termasuk nilai NULL). Ketika suatu kolom  tidak  diberikan  nilai  pada  proses  INSERT  tabel  maka  kolom  tersebut  akan  disiikan  nilai  yang  dispesifikasikan sebagai DEFAULT.  

  2. ALTER  Tujuan  penggunaan  perintah  ini  pada  tabel  adalah  untuk  mengubah struktur dari tabel tersebut. Sebagai contoh, perintah ini  digunakan untuk menambah atau menghapus kolom, membuat atau  menghapus  index,  mengubah  tip  dari  suatu  kolom,  atau  mengubah  nama kolom atau tabel itu sendiri. Perintah ini juga dapat digunakan  untuk  mengubah  karakteristik  seperti  storage  engine  yang  dipakai  atau komentar pada tabel.      

 

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name [alter_specification [, alter_specification] ...] [partition_options] alter_specification: table_options | ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ] | ADD [COLUMN] (col_name column_definition,...) | ADD {INDEX|KEY} [index_name] [index_type] (index_col_name,...) [index_option] ...



Data Definition Language (DDL) – Database & Tabel   

 

| ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) [index_option] ... | ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name][index_type] (index_col_name,...) [index_option] ... | ADD FULLTEXT [INDEX|KEY][index_name](index_col_name,...) [index_option] ... | ADD SPATIAL [INDEX|KEY][index_name](index_col_name,...) [index_option] ... | ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} | CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name] | MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name] | DROP [COLUMN] col_name | DROP PRIMARY KEY | DROP {INDEX|KEY} index_name | DROP FOREIGN KEY fk_symbol | MAX_ROWS = rows | DISABLE KEYS | ENABLE KEYS | RENAME [TO|AS] new_tbl_name | ORDER BY col_name [, col_name] ... | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name] | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name] | DISCARD TABLESPACE   IMPORT TABLESPACE | |   ADD PARTITION (partition_definition) |   DROP PARTITION partition_names | COALESCE PARTITION number   REORGANIZE PARTITION [partition_names INTO |   (partition_definitions)] |   ANALYZE PARTITION {partition_names | ALL} |   CHECK PARTITION {partition_names | ALL} | OPTIMIZE PARTITION {partition_names | ALL}   REBUILD PARTITION {partition_names | ALL} |   REPAIR PARTITION {partition_names | ALL} | |   PARTITION BY partitioning_expression | REMOVE PARTITIONING   index_col_name: col_name [(length)] [ASC | DESC]   index_type: USING {BTREE | HASH} index_option: KEY_BLOCK_SIZE [=] value | index_type   |   WITH PARSER parser_name table_options: table_option [[,] table_option]

 

  Contoh penggunaan perintah ALTER:  • Untuk mengubah nama tabel dari t1 menjadi t2:   



Data Definition Language (DDL) – Database & Tabel     

ALTER TABLE t1 RENAME t2;

• Untuk  mengubah  tipe  data  kolom  a  dari  INTEGER  menjadi  TINYINT  NOT  NULL  (nama  kolom  tidak  diubah)  dan  kolom  b  dari CHAR(10) ke CHAR(20) sekaligus mengubah namanya dari  b menjadi c:       

ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

• Untuk menghapus kolom c pada tabel t2:       

ALTER TABLE t2 DROP COLUMN c;

• Untuk  menambah  suatu  kolom  c  pada  tabel  t2  dengan  properti  AUTO_INCREMENT:         

ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (c);

Q5.  Kenapa  untuk  menambah  kolom  c  dengan  properti  AUTO_INCREMENT harus ditambahkan NOT NULL dan PRIMARY  KEY?    3. DROP  Perintah  DROP  yang  diikuti  dengan  nama  database  digunakan  untuk  menghapus  semua  tabel  di  database  tersebut  termasuk  menghapus  database  itu  sendiri.  Penghapusan  database  dari  server  juga mengakibatkan semua file (fisik) yang dibuat sebagai hasil dari  perintah  CREATE  database  akan  dihapus.  Contoh  perintah  untuk  menghapus database db_praktikum adalah sebagai berikut:    DROP DATABASE db_praktikum;     Perintah DROP pada tabel digunakan untuk menghapus satu atau  lebih  tabel  pada  database.  Ketika  perintah  DROP  TABLE  dijalankan  maka  semua  data  dan  definis  tabel  akan  dihapus.  Sintaks  dari  perintah DROP TABLE adalah sebagai berikut:    DROP [TEMPORARY] TABLE [IF EXISTS]   tbl_name [, tbl_name] ...   [RESTRICT | CASCADE]     Contoh  perintah  untuk  menghapus  tabel  t1  dan  t2  dari  database  adalah sebagai berikut:     



Data Definition Language (DDL) – Database & Tabel  DROP TABLE t1, t2;  

    D. LATIHAN  Kerjakanlah latihan berikut:  1. Buatlah suatu database baru dengan nama “db_latihan”.  2. Pada  “db_latihan”    tambahkan  tabel  “m_mahasiswa”  dengan  field  sebagai berikut:  a. “mhs_NIM”, CHAR(10)  b. “mhs_Nama”, VARCHAR(50), NOT NULL  c. “mhs_Tanggal_Lahir”, DATE  d. “mhs_Alamat”, VARCHAR(100)  e. “mhs_Jenis_Kelamin”, TINYINT, DEFAULT 1  f. “mhs_Telpon”, VARCHAR(20)  g. “mhs_Asal”, CHAR(5)  3. Buatlah CONSTRAINT PRIMARY KEY pada kolom “mhs_NIM”.  4. Buatlah tabel “m_kota” dengan field sebagai berikut:  a. “kota_id”, CHAR(5)  primary key  b. “kota_nama”, VARCHAR(20)  5. Buatlah  CONSTRAINT  FOREIGN  KEY  dari  tabel  “m_mahasiswa”  kolom “mhs_asal” ke tabel “m_kota” kolom “kota_id”.  6. Cobalah untuk menghapus tabel “m_kota”. Berhasilkah?     E. REFERENSI  1. MySQL Server Documentation, http://dev.mysql.com  2. MySQL Tutorials, http://www.devshed.com      

 

7 ...


Similar Free PDFs