Basis Data 3 DDL - hanungnindito.files.wordpress.com · datanya di hardisk, tetapi menyimpan di RAM...

27
HanungNP/Basis Data/Politel/2012

Transcript of Basis Data 3 DDL - hanungnindito.files.wordpress.com · datanya di hardisk, tetapi menyimpan di RAM...

HanungNP/Basis Data/Politel/2012

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

Model ERD

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

Latihan 1

• Buatlah struktur tabel dengan sintax MySQL

HanungNP/Basis Data/Politel/2012

Model Class Diagram transaksi

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

Contoh Foreign Key

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

• Create table nama (

• Id_nama INT auto_increment,

• Nama VARCHAR(20),

• Primary key(Id_nama)• Primary key(Id_nama)

• )

HanungNP/Basis Data/Politel/2012