HanungNP/Basis Data/Politel/2012
Basis Data Relational • Kebanyakan model yang digunakan adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). • RDBMS menyediakan layanan pengorganisasian data yang mudah tetapi memiliki kemampuan untuk menangani jumlah data yang sangat besar. • Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms Access.
HanungNP/Basis Data/Politel/2012
Basis Data Relational (Cont) • Model basis data relational memiliki struktur lojik yang disebut dengan relation (relasi). • Struktur relasi merupakan struktur data 2 dimensi, pada level fisik berupa table (tabel). • Attribute merepresentasikan elemen dari data yang berkaitan dengan relasi. Sebagai contoh, relasi Mahasiswa memiliki atribut-atribut seperti nim, nama, tempat lahir. tanggal_ lahir, dan alamat. HanungNP/Basis Data/Politel/2012
Basis Data Relational (Cont)
HanungNP/Basis Data/Politel/2012
Alternative Terminology Tableoriented Table
Setoriented Relation
Row Column
Tuple Attribute HanungNP/Basis Data/Politel/2012
RecordOriented Recordtype, file Record Field
Perancangan Basis Data Relational • Pengertian : Merupakan proses untuk merepresentasikan fakta dunia nyata (real world) yang dikehendaki ke dalam sistem komputer, sehingga mudah dipahami pemakai dengan mempertimbangkan kemudahan implementasi dan pemrosesannya. • Tujuan dari perancangan basis data : – Memenuhi kebutuhan informasi pada saat ini dan akan datang – Kemudahan pengembangan sesuai dengan perkembangan organisasi – Penerapan mekanisme pengamanan data
HanungNP/Basis Data/Politel/2012
Fakta Dunia Nyata / Real world (‘data dalam dunia nyata’) • Istilah ‘dunia nyata’ (real world) bermakna terhadap keseluruhan data yang belum terstruktur yang secara nyata ada/terkait dalam lingkup sistem yag sedang ditinjau. – Contoh : dunia nyata bagi sistem perbankan tidak sama dengan dunia nyata bagi sistem rumah sakit.
HanungNP/Basis Data/Politel/2012
Faktor penting menyangkut pemodelan data dari dunia nyata adalah :
1. Adanya aturan, rule dari proses bisnis yang akan dijadikan model. 2. Ada struktur (keteraturan) data yang akan disimpan dan bagaimana struktur data yang akan diimplementasikan ke dalam sebuah basis data secara fisik. 3. Karakteristik dari data yang akan disimpan sudah jelas. – Contoh : Dalam sistem rumah sakit misalnya ada : dokter, pasien, obat, kamar, dan lain-lain. HanungNP/Basis Data/Politel/2012
Metodologi Perancangan Basis Data •
•
Merupakan cara bagaimana suatu basis data dibuat melalui tahap-tahap tertentu, mulai dari tahap investigasi masalah sampai tahap implementasinya. Secara umum ada dua tahapan proses perancangan basis data, yaitu : – –
perancangan logika basis data perancangan fisik basis data
HanungNP/Basis Data/Politel/2012
Perancangan logika basis data • Merupakan proses pendefinisian entitas dan relasi (relationship) dari dunia nyata yang dirancang, berdasarkan kebutuhan informasi dan pengolahan data dari organisasi yang bersangkutan. – Entity / entitas adalah sekumpulan objek yang dapat diidentifikasi dan dibedakan di lingkungan pemakai – Relasi adalah hubungan yang terjadi antar kelompok entitas. • Sasaran dari perancangan logika basis data adalah fleksibilitas model data yang dihasilkan dan efisiensi pengimplementasiannya dalam komputer.
HanungNP/Basis Data/Politel/2012
Perancangan fisik basis data •
•
Merupakan proses untuk mengimplementasikan hasil perancangan logika ke dalam komputer secara fisik yang bergantung kepada software DBMS yang dipilih. Proses yang dilakukan : – menentukan struktur utk setiap tabel, meliputi nama field, jenis, lebar dan field kuncinya. – Menentukan nama basis data dan nama setiap tabel, serta lokasi tempat penyimpanannya (drive, directory / folder). – Menghitung perkiraan tempat (space) yg dibutuhkan utk seluruh tabel dan utk seluruh index. – Implementasi dengan menggunakan software DBMS.
HanungNP/Basis Data/Politel/2012
Metodologi Perancangan Basis Data Relasional • Terdapat dua pendekatan dalam perancangannya : – Pendekatan konvensional – Pendekatan Entity-Relationship
HanungNP/Basis Data/Politel/2012
Pendekatan Konvensional (1) • Perancangan basis data tanpa melalui tahap perancangan konseptual • Secara umum mempunyai tahapan perancangan sebagi berikut: – pembuatan model relasi – normalisasi – implementasi dengan menggunakan DBMS tertentu (Access, SQL, dsb.). Struktur tabel, atribut kunci, aturan integritas, relasi antar tabel
HanungNP/Basis Data/Politel/2012
Pendekatan Konvensional (2)
Pembuatan
REAL WORLD
Model relasi
Implementasi melalui DBMS
Normalisasi Model Data Relasi
Skema Basis Data
HanungNP/Basis Data/Politel/2012
Basis Data
Pendekatan Entity Entity--Relationship (1) • Menggunakan pendekatan model konseptual • Secara umum, mempunyai tahapan sebagai berikut : – pembuatan model konseptual (model E-R) • • • •
identifikasi entitas dan atributnya pendefinisian relasi antar entitas penentuan atribut relasi antar entitas menggambar diagram E-R
– Transformasi menjadi model relasi – Nomalisasi – Implementasi dengan menggunakan DBMS tertentu (Access, SQL, dsb.). Struktur tabel, atribut kunci, aturan integritas, relasi antar tabel
HanungNP/Basis Data/Politel/2012
Pendekatan Entity Entity--Relationship (2)
Pembuatan
REAL WORLD
Model Konseptual
Implementasi
Normalisasi Model Data E-R
Model Data Relasi
HanungNP/Basis Data/Politel/2012
melalui Skema Basis Data
DBMS
Basis Data
Bahasa Basis Data • Data Definition Language (DDL) • Interactive Data Manipulation Language (DML) • Transaction Control • Embedded and Dinamic SQL, contoh C,C++,Java, Cobol, Pascal, etc. • Authorization, untuk mendefinisikan hak akses spesifik 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 digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.
• DML - Data Manipulation Language merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak 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 kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database. Objek-objek database pada yang dimaksud - pada MySQL – adalah sbb: • Database • Table • View • Index • Procedure (Stored Procedure) • Function • Trigger
HanungNP/Basis Data/Politel/2012
Contoh • Perintah berikut akan membuat table pada database kita dengan nama "ms_karyawan" • 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, PRIMARY KEY (kode_karyawan) ) HanungNP/Basis Data/Politel/2012
Daftar Perintah DDL pada MySQL (1)
• Pembuatan (CREATE) – CREATE DATABASE – CREATE FUNCTION – CREATE INDEX – CREATE PROCEDURE – CREATE TABLE – CREATE TRIGGER – CREATE VIEW HanungNP/Basis Data/Politel/2012
Daftar Perintah DDL pada MySQL (2)
Perubahan (ALTER & RENAME) • ALTER DATABASE • ALTER FUNCTION • ALTER PROCEDURE • ALTER TABLE • ALTER VIEW • RENAME TABLE
HanungNP/Basis Data/Politel/2012
Daftar Perintah DDL pada MySQL (3)
• Penghapusan (DROP) – DROP DATABASE – DROP FUNCTION – DROP INDEX – DROP PROCEDURE – DROP TABLE – DROP TRIGGER – DROP VIEW HanungNP/Basis Data/Politel/2012
DML - Data Manipulation Language • DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database seperti table, column, dan sebagainya.
HanungNP/Basis Data/Politel/2012
Contoh DML Mengambil Seluruh Row Data dari table MS_KARYAWAN SELECT * FROM ms_karyawan
HanungNP/Basis Data/Politel/2012
Contoh DML Memasukkan data ke dalam tabel ms_karyawan
INSERT INTO ms_karyawan( kode_cabang, kode_karyawan, nama_depan, nama_belakang, jenis_kelamin) VALUES ('cab-001','kar-001','Feris','Thia','Lakilaki'); HanungNP/Basis Data/Politel/2012
Beberapa daftar Perintah DML MySQL • • • • • • • • • •
CALL DELETE DO HANDLER INSERT LOAD DATA INFILE REPLACE SELECT TRUNCATE UPDATE
HanungNP/Basis Data/Politel/2012