Sistem Basis Data (IF230283) Pertemuan ke - Perancangan Basis Data Relasional Menggunakan ERD Rifki Indra Perwira http://learning.upnyk.ac.id Teknik Informatika - UP[V]Yk
Deskripsi Cara merancang basis data relasional menggunakan ERD dengan contoh kasus Langkah-langkah perancangan basis data relasional Teknik Informatika - UP[V]Yk 2
Tujuan Instruksional Khusus (TIK) Mahasiswa dapat menguasai dan mengimplementasikan teknik perancangan basis data relasional menggunakan ERD dengan langkah-langkah yang benar. Teknik Informatika - UP[V]Yk 3
Perancangan Menggunakan ERD Untuk lebih memudahkan kita untuk memahami proses perancangan basis data relasional menggunakan ERD digunakan contoh kasus berikut ini: Contoh kasus : perpustakaan Perpustakaan jurusan IF memiliki koleksi buku sebanyak 250 judul. Setiap anggota (mahasiswa) diperbolehkan meminjam maksimal 3 judul buku dan paling lama minggu. Rancanglah sebuah basis data untuk mengolah data anggota, buku dan transaksi peminjaman maupun pengembalian buku!. Mari kita selesaikan kasus tersebut di atas hingga menjadi sebuah basis data relasional, dengan langkah-langkah sbb: Teknik Informatika - UP[V]Yk 4
. Kenali Entitas Kenali entias, peran, kejadian, sesuatu yang dapat diukur atau sebuah konsep yang terlibat dalam proses. Pada contoh kasus terdapat dua entitas: Anggota dan Buku. AGGOTA BUKU 2. Temukan Relasi Temukan relasi untuk masing-masing pasangan entitas. Meminjam AGGOTA BUKU Mengembalikan Teknik Informatika - UP[V]Yk 5
3. Tentukan Kardinalitas Tentukan kardinalitas untuk masing-masing relasi antar entitas. AGGOTA Meminjam Mengembalikan M M BUKU Karena ada relasai :M maka akan terbentuk entitas komposit sehingga relasinya aka menjadi. AGGOTA PEMIJAMA PEGEMBALIA BUKU Teknik Informatika - UP[V]Yk 6
4. Tentukan Primary Key Tentukan primary key untuk masing-masing entitas yaitu sebuah atribut yang dapat membedakan setiap entitas secara unik, biasanya dituliskan menggunakan garis bawah tunggal ( ) Untuk contoh kasus, maka: AGGOTA : omor anggota (oang) BUKU : Kode Buku (KodeBuku) oang KodeBuku AGGOTA PEMIJAMA PEGEMBALIA BUKU Teknik Informatika - UP[V]Yk 7
5. Lengkapi Atribut Entitas Lengkapi semua atribut untuk masing-masing entitas sesuai dengan kebutuhan data yang akan diolah. Sebagai catatan, untuk entitas yang memiliki kardinalitas pasti akan memuat primary key entitas lawannya yang berfungsi sebagai penghubung yang disebut dengan foreign key. Untuk memudahkan mengenalinya pada contoh kasus, foreign key diberi garis bawah ganda ( = ). Daftar atribut untuk masing-masing entitas pada contoh kasus adalah sebagai berikut: AGGOTA : (oang, omhs, ama, Alamat) BUKU : (KodeBuku, Pengarang, Judul, Penerbit, Tahun, Stok) PEMIJAMA : (oang, KodeBuku, TglPinjam, Petugas) PEGEMBALIA : (oang, KodeBuku, TglKembali, Petugas) Teknik Informatika - UP[V]Yk 8
TglPinjam Petugas omhs Alamat oang KodeBuku Judul Pengarang oang ama KodeBuku Penerbit PEMIJAMA AGGOTA BUKU PEGEMBALIA Tahun Stok oang KodeBuku TglKembali Petugas Teknik Informatika - UP[V]Yk 9
Konversi ERD Menjadi Tabel-tabel Berdasarkan ERD yang terbentuk kemudian dikonversi menjadi tabel-tabel relasional dengan ketentuan sebagai berikut: Setiap entitas akan menjadi tabel Semua atribut pada entitas akan menjadi field/kolom pada tabel Berikut ini perintah-perintah SQL untuk membentuk tabeltabel relasionalnya: Teknik Informatika - UP[V]Yk 0
Membuat Tabel AGGOTA: CREATE TABEL Anggota( noang char(6) OT ULL UIQUE, nomhs char(9) OT ULL, nama varchar(25) OT ULL, alamat varchar(20), PRIMARY KEY (noang)); Membuat Tabel BUKU: CREATE TABEL Buku( kodebuku char(7) OT ULL UIQUE, judul varchar(20) OT ULL, pengarang varchar(8), penerbit varchar(8), tahun char(4), stok tinyint, PRIMARY KEY (kodebuku)); Teknik Informatika - UP[V]Yk
Membuat Tabel PEMIJAMA: CREATE TABEL Pinjam( noang char(6) OT ULL, kodebuku char(7) OT ULL, tglpinjam date OT ULL, petugas varchar(8), FOREIG KEY (noang) REFERECES Anggota(noang), (kodebuku) REFERECES Buku(kodebuku),); Membuat Tabel PEGEMBALIA: CREATE TABEL Kembali( noang char(6) OT ULL, kodebuku char(7) OT ULL, tglkembali date OT ULL, petugas varchar(8), FOREIG KEY (noang) REFERECES Anggota(noang), (kodebuku) REFERECES Buku(kodebuku), Teknik Informatika - UP[V]Yk 2
Tabel 0.. Tabel Anggota Field Tipe Constraint Key Keterangan oang char(6) ot ull Unique Primary omor anggota omhs char(9) ot ull omor mahasiswa ama varchar(25) ot ull ama mahasiswa Alamat Varchar(20) Alamat mahasiswa Teknik Informatika - UP[V]Yk 3
Tabel 0.2. Tabel Buku Field Tipe Constraint Key Keterangan KodeBuku char(7) ot ull Unique Primary Kode buku Judul varchar(20) ot ull Judul buku Pengarang varchar(8) ama pengarang Penerbit varchar(8) ama penerbit Tahun char(4) Tahun terbit Stok tinyint Jumlah buku Teknik Informatika - UP[V]Yk 4
Tabel 0.3. Tabel Pinjam Field Tipe Constraint Key Keterangan oang char(6) ot ull Foreign omor anggota KodeBuku char(7) ot ull Foreign Kode buku TglPinjam date ot ull Tanggal pinjam Petugas varchar(8) Petugas perpus Tabel 0.4. Tabel Kembali Field Tipe Constraint Key Keterangan oang char(6) ot ull Foreign omor anggota KodeBuku char(7) ot ull Foreign Kode buku TglKembali date ot ull Tanggal kembali Petugas varchar(8) Petugas perpus Teknik Informatika - UP[V]Yk 5
Relasi Antar Tabel (RAT) Relasi antar tabel menggambarkan secara skematis hubungan antar tabel berdasarkan atribut kunci. ** ** * * ** ** Teknik Informatika - UP[V]Yk 6
Ringkasan Materi Proses perancangan basis data relasional menggunakan ERD memiliki tahapan sebagai berikut:. Kenali entitas 2. Temukan relasi 3. Tentukan kardinalitas 4. Tentukan primary key 5. Lengkapi atribut entitas Konversi ERD menjadi tabel dengan cara: Setiap entitas akan mejadi tabel Semua atribut entitas akan menjadi field pada tabel. Teknik Informatika - UP[V]Yk 7
Referensi Buku Teks (Textbook). Date, C.J. 2000, An Introduction to Database System, Addison Wesley Publishing Company, Vol. 7, ew York. 2. Fathansyah, 999, Basis Data, Informatika, Bandung. Referensi 3. Elmasri, Ramez; avathe, Shamkant B., 200, Fundamentals of Database Systems, The Benjamin/ Cummings Publishing Company, Inc., California. Teknik Informatika - UP[V]Yk 8