Tutorial Belajar MySQL Part 4: Pengertian Relational Database

dokumen-dokumen yang mirip
MATERI TIK KELAS XI TENTANG DBMS dan RDBMS

Otodidak Pemrograman Database dengan Visual Basic

MATERI TIK KELAS XI TENTANG DBMS dan RDBMS

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Relational Database & Pemodelan Data [Review]

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

P7 Perancangan Database

ANALISA & PERANCANGAN SISTEM

NORMALISASI DATA POKOK BAHASAN. Pendahuluan

ENTITY RELATIONSHIP DIAGRAM. SiBaDa Sesi 4

INTERNET PROGRAMMING DATABASE

Pendahuluan. Tujuan MODUL

Pertemuan Transformasi ER-MODEL INDIKATOR. 1. Memahami ER model 2. Menerapkan transformasi ER- Model ke Model Relasional.

MODUL 5. Pemodelan Dan Analisis Database

Sistem Basis Data. Chapter 5: Logical Database Design and the Relational Model Andronicus Riyono, M.T.

MEMAHAMI KONSEP DATABASE. Oleh : Yuhefizar, S.Kom

Demi Masa.. Sesungguhnya Manusia Berada Dalam Kerugian Bila Tidak Memanfaatkan Waktu Dengan Sebaiknya.. (sebuah renungan untuk diri )

Basis Data Relational

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus :

SISTEM BASIS DATA (Lanjutan) :

Tabel dan Key dalam Database Tipe data dan Karakter pada Database. Author : Minarni, S.Kom.,MM

Desain Sistem Basis Data. 1. Struktur Basis Data 2. Normalisasi Data 3. ERD (entity relationship diagram)

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

Database Systems: Ch. 3: The Relational Model. History of The Relational Model. Learning Objectives

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1

BAB IV Normalisasi Data

SQL Server merupakan program yang dirancang khusus untuk berkomunikasi dengan database relasional guna mendukung aplikasi dengan arsitektur

MODEL DATA RELASIONAL

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya.

DESAIN DATABASE. Pertemuan 06 3 SKS

PERANCANGAN SISTEM DATABASE

OVERVIEW BASIS DATA RELASIONAL. Oleh: Ir. M. Ramadhan, MT

SOAL KUIS. 3. Data aktual yang disimpan pada tiap elemen atau atribute: a. Atribute d. Enterprise b. Data Value e. Tuple c. File

NORMAL FORM. Normalisasi Table sendiri terbagi atas bentuk normal ke 1 sampai bentuk normal ke 5. lebih jelasnya

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

SISTEM BASIS DATA Imam Asrowardi, S.Kom.

SISTEM BASIS DATA II S A N T I W I D I A N T I

Abstrak BAB I PENDAHULUAN

SISTEM BASIS DATA. Pertemuan 3. Nizar Rabbi Radliya 3 SKS Semester 2 S1 Sistem Informasi

Basis Data. Normalisasi dan Anomali pada tabel MODUL PERKULIAHAN. Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

Pertemuan 5 TEHNIK NORMALISASI

BAB 2 LANDASAN TEORI

BAB III LANDASAN TEORI. 3.1 Pengertian Pengabdian kepada Masyarakat. kepada masyarakat adalah kegiatan yang mencakup upaya-upaya peningkatan

PERANCANGAN DATABASE 04/07/ :53

Model Data. Universitas Darwan Ali Kalimantan Tengah. Author : Minarni, S.Kom.,MM

Modul Praktikum Basis Data 4 Relasi Table

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

Konsep Normalisasi dan Anomali Tabel

RENCANA PEMBELAJARAN

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

SISTEM BASIS DATA 3 SKS

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 2

Aplikasi Relasi dalam Pengelolaan Basis Data

Database Design I. TPI4210 Sistem dan Teknologi Informasi

Contoh SQL Constraint

Pendekatan Normalisasi

PENERAPAN CONSTRINE TABLE PADA DATABASE

KURSUS ONLINE JASA WEBMASTERS

Pemodelan Data (1) Week 2

PERANCANGAN SISTEM TERINCI DATABASE

System Technology Database 1. 2 Model Relational. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

TUTORIAL MEMBUAT DATABASE DENGAN MICROSOFT ACCESS BAGIAN 3

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

Oleh : Rahmady Liyantanto

MUHAMMAD ZEN S. HADI, ST. MSC.

BAB III PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

BAB IV PEMBAHASAN MASALAH

Universitas Syiah Kuala :

Materi 3 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

BAB II LANDASAN TEORI. membentuk satu kesatuan untuk mencapai satu tujuan tertentu. Dapat dilihat dari. menekankan pada komponen atau elemennya.

IMPLEMENTASI INVERTED INDEX DENGAN SISTEM MANAJEMEN BASISDATA UNTUK MENDUKUNG MODEL PEMEROLEHAN BOOLEAN

BAB II LANDASAN TEORI

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Contents. Normalisasi. Bentuk Normalisasi. Dependency. Status Kunci (Key) Dekomposisi

Pendahuluan. Tujuan MODUL

Model Relasional. Basis Data. Pengertian

BAB 2 LANDASAN TEORI

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

BAB III LANDASAN TEORI

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) DAN SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH : MANAJEMEN DATABASE KODE MATA KULIAH : ANI / 3 (3-0)

Model Data Dalam SBD

BAB 7 PENERAPAN BENTUK NORMALISASI

BAB 2 LANDASAN TEORI

Pertemuan 5 TEHNIK NORMALISASI

NORMALISASI PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

PERTEMUAN 4 Model Data Relational

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA 1 (MI) KODE / SKS KK / 2 SKS

Database System 4 Normalization

Pengenalan Basis Data

By Hesti Khuzaimah Nurul Yusufiyah

PART 2: 1. Langkah Langkah Normalisasi 2. Bentuk Bentuk Normal 1 st NF, 2 nd NF, 3 rd NF, BCNF Dan bentuk-bentuk normal lainnya 3.

PERANCANGAN SISTEM TERINCI DATABASE

SATUAN ACARA PERKULIAHAN MATA KULIAH PENGANTAR BASIS DATA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI JURUSAN TEKNIK KOMPUTER (D3) KODE: IT014318

RENCANA PEMBELAJARAN SEMESTER

Modul 4 Microsoft Access 2007

Transkripsi:

Tutorial Belajar MySQL Part 4: Pengertian Relational Database Jika pada tutorial sebelumnya, kita membahas tentang pengertian database secara umum, pada Tutorial Belajar MySQL: Pengertian Relational Database ini kita akan secara khusus membahas tentang relational database, mencakup beberapa istilah seperti primary key, candidate key, foreign key, referential integrity, dan index. Pengertian Database dalam Relational Database Dalam relational database model, sebuah database adalah kumpulan relasi yang saling terhubung satu sama lainnya. Relasi adalah istilah dalam relational database, tapi kita lebih familiar jika menyebutnya sebagai tabel. Selayaknya tabel yang memiliki kolom dan baris, dalam relational database, kolom (column) disebut attribute, sedangkan baris (row) disebut tuple. Hal ini hanya sekedar penamaan, dan agar lebih gampang, kita hanya akan menggunakan istilah tabel, kolom dan baris dalam tutorial ini, namun jika anda menemui istilah relation, attribut dan tuple, itu hanya penamaan lain dari tabel, kolom, dan baris. Candidate Key (Kunci Kandidat) Database dalam relational database dapat diserhanakan sebagai sekumpulan tabel yang saling terhubung. Setiap baris dari dalam tabel setidaknya harus memiliki sebuah kolom yang unik. Unik disini maksudnya tidak boleh sama. Contohnya, dalam tabel 4.1 : tabel data_mahasiswa, kolom NIM (Nomor Induk Mahasiswa) akan menjadi kandidat yang bagus, karena tidak mungkin ada 2 mahasiswa yang memiliki NIM yang sama. NIM disini disebut juga dengan Candidate Key (Kunci Kandidat). Candidate Key adalah satu atau beberapa kolom dalam tabel yang bisa mengidentifikasi tiap baris dari tabel tersebut. NIM Nama Tanggal No KTP 101401030 Alex Ferdinand 29 Juni 1992 1373022906870002 Padang Ilmu Komputer 120502045 Joko Suprianto 4 Maret 1994 3173020403940004 Jakarta Manajemen 110901033 Susi Sulastri 17 September 1273024709930001 Medan Kedokteran

NIM Nama Tanggal No KTP 100301021 Suparman 23 Februari 1992 3173022302920006 Jakarta Teknik Elektro 121401074 Tania Mutia 5 Oktober 1373024510930006 Padang Ilmu Komputer 110501023 Aprilia Susanti 7 Oktober 1693024710930002 Pekanbaru Manajemen Tabel 4.1 : Tabel data_mahasiswa Nomor KTP juga merupakan candidate key yang bagus, setidaknya setiap orang akan memiliki Nomor KTP yang berbeda-beda. Namun dalam beberapa kasus, nomor KTP tidak selalu ada, karena bisa saja seseorang belum memiliki KTP karena sesuatu dan lain hal. Beberapa karakteristik Candidate key : unik (tidak boleh berulang), tidak boleh memiliki nilai null (kosong), nilai dari candidate key akan sangat jarang berubah. Primary Key (Kunci Utama) Dalam sebuah tabel, akan terdapat beberapa candidate key, namun hanya ada 1 Primary key (kunci utama). Primary key adalah salah satu candidate key yang kita nobatkan sebagai kolom unik untuk identifikasi baris dalam tabel. Kolom ini tidak boleh berulang, dan tidak boleh kosong (null). Dari tabel data_mahasiswa, NIM dapat kita tetapkan sebagai primary key. Foreign Key (Kunci Tamu) Dalam sebuah database, biasanya akan terdapat beberapa tabel. Tabel-tabel ini dapat dihubungkan satu dengan yang lainnya dengan kolom yang merupakan bagian dari tabel lain. Foreign Key (Kunci Tamu) adalah Primary key dari tabel lainnya yang terdapat di tabel saat ini. Di dalam contoh tabel 4.2 : Tabel data_mahasiswa dapat terlihat bahwa NIM adalah primary key dari tabel data_mahasiswa, dan kode_jurusan adalah primary key pada tabel_jurusan. Kedua tabel tersebut dihubungkan oleh kolom kode jurusan. NIM Nama Tanggal No KTP 101401030 Alex Ferdinand 29 Juni 1992 1373022906870002 Padang 14 120502045 Joko Suprianto 110901033 Susi Sulastri 4 Maret 1994 17 September 3173020403940004 Jakarta 05 1273024709930001 Medan 09

NIM Nama Tanggal No KTP 100301021 Suparman 23 Februari 1992 3173022302920006 Jakarta 03 121401074 Tania Mutia 5 Oktober 1373024510930006 Padang 14 110501023 Aprilia Susanti 7 Oktober 1693024710930002 Pekanbaru 05 Tabel 4.2 : Tabel data_mahasiswa Alamat 01 Teknik Mesin Jl. Teknik No.01 02 Teknik Arsitektur Jl. Teknik No.02 03 Teknik Elektro Jl. Teknik No.03 04 Akuntansi Jl. Ekonomi No. 01 05 Manajemen Jl. Ekonomi No. 02 06 Ekonomi Pembangunan Jl. Ekonomi No. 03 07 Kesehatan Masyarakat Jl. Kesehatan No.01 08 Psikologi Jl. Kesehatan No.02 09 Kedokteran Jl. Kesehatan No.03 10 Matematika Jl. MIPA No. 01 11 Kimia Jl. MIPA No. 02 12 Fisika Jl. MIPA No. 03 13 Farmasi Jl. MIPA No. 04 14 Ilmu Komputer Jl. MIPA No. 05 Tabel 4.3 : Tabel kode_jurusan Dalam tabel_mahasiswa, kolom NIM adalah primary key, dan kolom kode jurusan adalah foreign key. Kenapa tabel tersebut harus dipisah? Jawabanya adalah agar tidak ada data yang redundan(ganda). Redundansi data adalah salah satu kelemahan dari desain database yang kita buat. Seandainya dari contoh tabel, nama Ilmu Komputer berubah menjadi Teknik Informatika, kita hanya tinggal merubah tabel_jurusan.

Referential Integrity Referential Integrity berkaitan erat dengan foreign key. Pada dasarnya Referential Integrity adalah penerapan aturan bahwa untuk setiap foreign key yang terdapat pada suatu tabel, harus ada nilainya di tabel asal kolom tersebut. Dalam contoh kita, pada tabel 4.2 dan 4.3 setiap kode_jurusan dalam tabel data_mahasiswa harus ada nilainya dalam tabel kode_jurusan. Di dalam tabel data_mahasiswa kita tidak bisa memasukkan nilai 20, karena di tabel kode_jurusan, kode jurusan 20 belum diinput. Dan jika kita ingin menghapus suatu jurusan dari tabel_jurusan, semua mahasiswa harus terlebih dahulu sudah tidak ada yang memiliki kode jurusan tersebut. Index Index dalam database adalah sebuah struktur data yang diimplementasikan oleh RDBMS untuk mempercepat proses pembacaan data. Index lebih kepada penerapan algoritma dari masingmasing aplikasi database, dan diterapkan ke dalam kolom dari tabel yang kita inginkan. Mirip Index yang ada di belakang buku, index seolah-olah daftar cepat untuk mencari sesuatu oleh RDBMS. Kita dapat mendeklarikan kolom mana saja yang akan diindex. Untuk MySQL, kolom yang ditetapkan sebagai primary key akan otomatis di-index. Tetapi dalam satu tabel, bisa saja terdapat beberapa kolom yang di index. Pertanyaanya, jika index digunakan untuk mempercepat proses pembacaan, kenapa tidak semua kolom saja kita index? Jawabannya, karena index sendiri juga memiliki kelemahan. Ketika data baru ditambahkan atau terdapat data yang akan dirubah, index yang tersimpan untuk tabel tersebut harus dibuat ulang, sehingga memperlama proses penambahan data. Namun untuk tabel yang jarang bertambah, index menawarkan perfoma yang cepat untuk pembacaan data. Normalisasi Database Normalisasi database (Database normalization) adalah proses penyusunan kolom dan tabel untuk meminimalkan redudansi data (data yang berulang). Normalisasi biasanya akan membagi tabel besar menjadi beberapa tabel kecil yang saling terhubung. Hal ini dilakukan agar mudah dalam mengatur, dan mengorganisasi data yang ada. Contohnya, untuk tabel data_mahasiswa, jika terjadi perubahan nama jurusan, misalnya dari Ilmu Komputer menjadi Teknik Informatika, maka kita harus merubah satu-satu tiap mahasiswa. Namun jika di bagi menjadi 2 tabel, kita hanya tinggal merubah baris no urut 14 dari tabel kode_jurusan menjadi Teknik Informatika. Dan otomatis setiap mahasiswa yang memiliki kode_jurusan 14, adalah mahasiswa Teknik Informatika. Normalisasi database memiliki beberapa tahapan. Dari wikipedia, normalisasi database setidaknya memiliki 9 tahapan. Pada setiap tahapan, ada syarat yang harus dipenuhi, sampai sebuah tabel tidak lagi memiliki kolom yang redundant. Kita tidak harus mengikuti semua tahap, biasanya hanya dibutuhkan 3 tahapan normalisasi untuk membuat sebuah desain database sederhana. Proses normalisasi database tidak akan kita bahas disini, namun setidaknya kita

mengetahui bahwa normalisasi database adalah proses untuk mendesain database agar terorganisir. Entity Relationship Diagram (ERD) Entity Relationship Diagram adalah diagram untuk menggambarkan desain database yang akan dibuat. Didalam ERD akan terlihat semua tabel yang akan dirancang, primary key masingmasing tabel, serta foreign key, dan kolom-kolom apa saja yang nantinya tersedia. ERD memiliki berbagai versi, baik yang berbentuk balon, maupun tabel. ERD inilah sebagai blueprint dari database yang akan dirancang. Itulah beberapa istilah yang sering di temui untuk pembahasan mengenai relational database, yang dapat digunakan sebagai dasar untuk mempelajari MySQL dan memaksimalkan penggunaanya. Selanjutnya kita akan membahas tentang SQL (Structured Query Language), bahasa wajib yang diketahui untuk mempelajari MySQL. Sumber: 1. http://en.wikipedia.org/wiki/relational_database 2. http://en.wikipedia.org/wiki/database_normalization 3. Michael J. Hernandez : Database Design for Mere Mortals, Addison Wesley, 2003 4. Clare Churcher: Beginning Database Design From Novice to Professional, Apress, 2007