Bahasa Basis Data
• Data Definition Language (DDL)
• Interactive Data Manipulation Language(DML)
• Transaction Control• Transaction Control
• Embedded and Dinamic SQL, contohC,C++,Java, Cobol, Pascal, etc.
• Authorization, untuk mendefinisikan hak aksesspesifik terhadap objek-objek basis data.
HanungNP/Basis Data/Politel/2012
Apa itu DDL & DML ?
Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :
• DDL - Data Definition Language
merupakan kumpulan perintah SQL yang digunakanuntuk membuat, mengubah dan menghapus struktur dan definisi metadata dariobjek-objek database.objek-objek database.
• DML - Data Manipulation Language
merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isidata di dalam table seperti memasukkan, merubah dan menghapus isi data - dantidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.
HanungNP/Basis Data/Politel/2012
DDL
Seperti definisi yang telah dijelaskan di atas, DDL adalah kumpulanperintah SQL yang digunakan untuk membuat (create), mengubah(alter) dan menghapus (drop) struktur dan definisi tipe datadari objek-objek database.
Objek-objek database pada yang dimaksud - pada MySQL – adalah sbb:• Database• Database• Table• View• Index• Procedure (Stored Procedure)• Function• Trigger
HanungNP/Basis Data/Politel/2012
Contoh
• Perintah berikut akan membuat table padadatabase kita dengan nama "ms_karyawan"
• CREATE TABLE ms_karyawan (kode_cabang varchar(10) default NULL,
CREATE TABLE ms_karyawan (kode_cabang varchar(10) default NULL,kode_karyawan varchar(10) NOT NULL,nama_depan varchar(8) default NULL,nama_belakang varchar(9) default NULL,jenis_kelamin varchar(1) default NULL,
)
HanungNP/Basis Data/Politel/2012
Daftar Perintah DDLpada MySQL (1)
• Pembuatan (CREATE)
– CREATE DATABASE
– CREATE FUNCTION
– CREATE INDEX– CREATE INDEX
– CREATE PROCEDURE
– CREATE TABLE
– CREATE TRIGGER
– CREATE VIEW
HanungNP/Basis Data/Politel/2012
Daftar Perintah DDLpada MySQL (2)
Perubahan (ALTER & RENAME)
• ALTER DATABASE
• ALTER FUNCTION
• ALTER PROCEDURE• ALTER PROCEDURE
• ALTER TABLE
• ALTER VIEW
• RENAME TABLE
HanungNP/Basis Data/Politel/2012
Daftar Perintah DDLpada MySQL (3)
• Penghapusan (DROP)
– DROP DATABASE
– DROP FUNCTION
– DROP INDEX– DROP INDEX
– DROP PROCEDURE
– DROP TABLE
– DROP TRIGGER
– DROP VIEW
HanungNP/Basis Data/Politel/2012
Tipe-tipe Tabel MySQL
• Salah satu kelebihan dari MySQL adalah Andadapat mendefinisikan tipe untuk tiap tabel.MySQL mendukung beberapa tipe tabel,tergantung konfigurasi saat proses instalasitergantung konfigurasi saat proses instalasiMySQL. MySQL memiliki 3 (tiga) tipe datautama, yaitu MyISAM, InnoDB dan HEAP.
HanungNP/Basis Data/Politel/2012
MyISAM
• Tipe tabel MyISAM merupakan tipe tabel yangsederhana, stabil dan mudah digunakan. Jikakita akan menyimpan data sederhana yangtidak terlalu rumit, maka gunakanlah tipetidak terlalu rumit, maka gunakanlah tipetabel ini. Kelebihan utama MyISAM adalahkecepatan dan kestabilannya
HanungNP/Basis Data/Politel/2012
InnoDB
Tipe tabel InnoDB merupakan tipe tabel MySQLyang mendukung proses transaksi. Tipe inimemiliki beberapa keunggulan, antara lain:
• a. Mendukung transaksi antar tabel.• a. Mendukung transaksi antar tabel.
• b. Mendukung row-level-locking.
• c. Mendukung Foreign-Key Constraints.
• d. Crash recovery.
HanungNP/Basis Data/Politel/2012
HEAP
• Tabel dengan tipe HEAP tidak menyimpandatanya di hardisk, tetapi menyimpan di RAM(memori). Tipe tabel ini biasanya digunakansebagai tabel sementara (temporary). Tabelsebagai tabel sementara (temporary). Tabelsecara otomatis akan dihapus (hilang) dariMySQL saat koneksi ke server diputus atauserver MySQL dimatikan.
HanungNP/Basis Data/Politel/2012
Tipe-tipe Field (Kolom) MySQL
Tipe NumericTINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT,DOUBLE, REAL, DECIMAL, NUMERIC
Tipe Date dan TimeDATE, TIME, DATETIME, YEAR
Tipe String (Text)Tipe String (Text)CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT
Tipe BLOB (Biner)BIT (sejak versi 5.0.3), TINYBLOB, BLOB, MEDIUMBLOB,LONGBLOB
Tipe Data yang LainENUM, SET,
HanungNP/Basis Data/Politel/2012
Implementasi DDL
• Setiap mahasiswa dapat mempelajari banyakmata kuliah dan setiap mata kuliah dapatdipelajari oleh banyak mahasiswa.
• Sebagai catatan penting adalah Penentuan• Sebagai catatan penting adalah Penentuanderajat relasi tergantung dari aturan bisnis(business rule) yang ada ada diperusahaan/instansi.
HanungNP/Basis Data/Politel/2012
Bentuk Tabel
NIM NmMhs Tgl_lhr Almt_Mhs
Tabel Mahasiswa
NIM NmMhs Tgl_lhr Almt_Mhs
HanungNP/Basis Data/Politel/2012
Bentuk Tabel
KdKul NmKul Sks Semester
Tabel Kuliah
KdKul NmKul Sks Semester
HanungNP/Basis Data/Politel/2012
Primary key• Primary key merupakan salah satu dari
candidate key yang terpilih. Alasan pemilihanprimary key :
• Lebih sering di jadikan acuan• Lebih sering di jadikan acuan
• Lebih ringkas
• Jaminan keunikan key lebih baik
• Contoh dari primary key adalah Nim
HanungNP/Basis Data/Politel/2012
Contoh Primary Key
• CREATE TABLE ms_karyawan (kode_cabang varchar(10) default NULL,kode_karyawan varchar(10) NOT NULL,nama_depan varchar(8) default NULL,nama_depan varchar(8) default NULL,nama_belakang varchar(9) default NULL,jenis_kelamin varchar(1) default NULL,PRIMARY KEY (kode_karyawan)
)
HanungNP/Basis Data/Politel/2012
Foreign Key
• Foreign Key adalah satu atau beberapa kolompada table yang merupakan primary key padatable satu namun diletakan pada table dimanatablenya berelasi dengan table dirinya.tablenya berelasi dengan table dirinya.
HanungNP/Basis Data/Politel/2012
Sintax relasi
• CREATE TABLE mhs (nim CHAR(8) NOT NULL,nama VARCHAR(50) NOT NULL,alamat VARCHAR(60) NOT NULL,alamat VARCHAR(60) NOT NULL,id_matkul CHAR(5),FOREIGN KEY(id_matkul) REFERENCESmatkul(id_matkul));
HanungNP/Basis Data/Politel/2012
Latihan 1
• Buatlah tabel berikut dalam format MySQL
Kode Nama Telepon JFA Status
Tabel DosenKeterangan : PK = Kode Dosen;
Tabel Dosen
Dosen
Keterangan : PK = Kode Dosen;
HanungNP/Basis Data/Politel/2012
Latihan 2
Kode
Mata
Kuliah
Nama
Mata
Kuliah
SKS Semester Kode Dosen
Tabel Mata Kuliah
Kuliah Kuliah
Keterangan : PK = Kode Mata Kuliah; FK = Kode Dosen
HanungNP/Basis Data/Politel/2012