Indah Dwi Mumpuni, S.Kom, MM
Salah satu tujuan penerapan Sistem Basis Data adalah menyediakan pengguna suatu pandangan abstrak dari data, secara nyata dan sederhana yakni sistem menyembunyikan rincian bagaimana data disimpan dan dipelihara (pengguna tidak dipusingkan dengan rumitnya sistem dalam mengelola data) Pengguna Sistem Basis Data secara umum adalah awam di bidang komputer, oleh karena itu pengembang seharusnya menyembunyikan kompleksitas sistem dari pengguna dengan meyediakan beberapa peringkat abstaksi data three schema Architecture
USER EXTERNAL LEVEL
CONCEPTUAL LEVEL
INTERNAL LEVEL
External View
External View
Pandangan Konseptual/Logika
Pemetaan Secara Internal/ Phisik
DATABASE
External Level / Tingkat Pengguna/Pandangan Pada peringkat ini meyederhanakan interaksi pengguna dengan sistem berupa antarmuka pengguna grafis (GUI-Graphical User Interface) pada perangkat lunak aplikasi sistem basis data. Conceptual Level / Tingkat Konsep Abstraksi yang mendiskripsikan secara menyeluruh tampilan komunitas dari basis data meliputi entity, atribut dan bagaimana hubungan relasi antar data/table yang terjadi. Internal Level / Tingkat Fisik Abstraksi yang mendiskripsikan struktur penyimpanan basis data secara fisik pada system komputer dan organisasi file yang digunakan dalam menyimpan dan mengakses basis data .
Tingkat Pandangan ◦ Banyak pemakai yang tidak berurusan dengan semua informasi yang disimpan dalam basis data ◦ Kebanyakan pemakai hanya memerlukan sebagian informasi yang ada dalam basis data ◦ Tingkat Pandangan (view) memdefinisikan suatu bagian untuk suatu kelompok tertentu ◦ Sistem dapat menyediakan pandangan berbeda pada basis data yang sama
Tingkat Konseptual ◦ Tingkat Konseptual mendeskripsikan data apa yang sesungguhya disimpan dan keterhungan antar data (data relationships) yang ada dalam basis data ◦ Seluruh basis data dinyatakan dengan sejumlah struktur yang sederhana (mudah dipahami) ◦ Tingkat konseptual menyatakan Entitas, atribut dan terhubungannya Konstrain (batasan) terhadap data Informasi keamanan dan integritas data
Tingkat Fisik ◦ Tingkat fisik mendeskripsikan cara penyimpanan fisik data secara rinci (komplek) ◦ Tingkat ini mencakup implementasi fisik basis data untuk memperoleh kinerja dan utilisasi ruang penyimpanan yang optimal ◦ Tingkat fisik ini berurusan dengan Alokasi ruang penyimpanan Deskripsi rekord untuk kebutuhan penyimpanan (ukuran simpanan untuk tiap item data) Teknik-teknik kompresi dan enkripsi data
Sasaran utama arsitektur 3 tingkat adalah Ketidakbergantungan Data pada setiap levelnya Ketidatbergantungan Data merupakan kemampuan memodifikasi skema di satu tingkat, dengan tidak mempengaruhi definisi skema di tingkat lainnya. Ketidakbergantungan Data dapat dipandang sebagai; ◦ Ketidakbergantungan secara logik (logical data independence) perubahan skema konsep tidak mempengaruhi program aplikasi. Modifikasi tingkat konsep diperlukan saat pengubahan struktur logik. ◦ Ketidakbergantungan secara fisik (logical data independence) perubahan skema fisik tidak mempengaruhi skema konseptual. Modifikasi tingkat fisik diperlukan untuk meningkatkan kinerja sistem basis data dan aplikasi pada umumnya
Perubahan pada skema konsep (penambahan/pengurangan entitas, atribut atau relasinya) harus dimungkinkan tanpa mengubah skema eksternal yang telah ada. Perubahan pada skema internal/fisik (perubahan struktur/organisasi file, index/hashing, perangkat penyimpanan) harus dimungkinkan tanpa perlu mengubah skema konseptual
Model Data merupakan kumpulan konsep yang terpadu untuk mendeskripsikan data, keterhubungan antar data (relationship), semantik dan batasan konsistensi data (constrain), yang berguna untuk menyembunyikan kompleksitas/rincian penyimpanan data pada level rendah/fisik Model Data dapat terdiri dari 3 komponen; ◦ Bagian struktur yang berisikan sekumpulan aturan yang berkaitan dengan basis data yang dibangun ◦ Sekumpulan aturan integritas yang menjamin keakuratan data ◦ Bagian manipulasi yang mendefinisikan tipe-tipe operasi yang diijinkan seperti pembaruan dan pengambilan data serta pengubahan struktur basis data
Model data yang umum digunakan adalah ◦ ◦ ◦ ◦
Model Entity Relationship (ER Model) Model Relasional Model Data Berorientasi Objek Model lain seperti Model Data Jaringan dan Model Data Hierarki (keduanya sudah kadaluarsa)
Model-model data tersebut secara umum dikategorikan menjadi ◦ Model data berbasis Rekord (ER, Relasional, Jaringan dan Hierarki) ◦ Model data berbasis Objek (UML)
Mirip dengan hirarkical model, dimana data dan hubungan antar data direpresentasikan dengan record dan links. Perbedaannya terletak pada susunan record dan linknya yaitu network model menyusun record-record dalam bentuk graph. Beberapa ketentuan untuk model data jaringan : Terdapat lebih dari satu edge antara pasangan node Tidak ada konsep root node Suatu node dapat mempunyai lebih dari parent node Contoh model data jaringan :
R1
R2
R5 R3
R4
Menu I Back
Dimana data serta hubungan antar data direpresentasikan dengan record dan link (pointer), dimana record-record tersebut disusun dalam bentuk tree (pohon), dan masing-masing node pada tree tersebut merupakan record/grup data elemen. KetentuanKetentuan-ketentuan dalam model data hirarki adalah : Terdiri dari kumpulan record (R1,R2,R3,...Rn) yang masingmasing mempunyai field pengenal. Terdapat suatu kumpulan kaitan yang berhubungkan semua jenis record sehingga membuat diagram struktur data. Kaitan tersebut membentuk suatu pohon yang semua ujungnya mengarah ke daun. Tidak mungkin ada elemen yang mempunyai parent lebih dari satu. Setiap kaitannya membentuk hubungan tunggal jamak, artinya jika Ri parent dari Rj, maka setiap record Rj tepat hanya mempunyai satu record Ri yang berkaitan.
A
C
B
E
D
F
G
H
I
DEPARTEMEN DNAME
DNUMBER
MGRNAME
MGRSTARDATE
EMPLOYE NAME
SSN
BDATE
PROJECT ADRESS
DEPENDENT DEPNAME
SEX
PNUMM
PNAME
PLOCATION
SUVERVISE BRITHDATE
NAME
WORKER SSN
NAME
SSN
HOURS
Entity adalah obyek pada dunia nyata yang dapat dibedakan satu dengan lainnya, yang bermanfaat bagi aplikasi yang sedang dikembangkan Relationship adalah hubungan antara beberap entitas Model EntityEntity-Relationship adalah suatu representasi logika dari data pada suatu organisasi atau area bisnis tertentu dengan menggunakan Entity dan Relationship.
Nim
Nama
Mahasiswa
Atribute Entity/Entitas
Nilai
No_Mk
Matakuliah
Mengambil
Relasi
Nama_MK
Model Data Relasional Relasional adalah model basis data yang menggunakan sejumlah tabel untuk mengambarkan data serta hubungan antara data-data tersebut Setiap tabel memiliki sejumlah kolom dimana setiap kolom memiliki nama yang unik. Setiap kolom dalam tabel-tabel mencerminkan atributatribut entitas yang bersangkutan seperti pada model Entity Relationship Model Data Relasional Relasional merupakan abstraksi data pada tingkat yang lebih rendah (detil) dari ERD(Entity Relationship Diagram). Oleh karena itu perancang basis data umumnya menggunakan ERD terlebih dahulu kemudian menterjemahkan ke dalam model relasional
Contoh Model Relasional Tabel Mahasiswa
Tabel Matakuliah
Nim
Nama
No_Mk
Nama_MK
SKS
0001.52.2007
Paijoe
111
Basis Data
3
0002.51.2007
Bedjoe
222
Delphi
2
Tabel Nilai NIM
No_MK
Nilai
0001.52.2007
111
A
0001.52.2007
222
B
0002.51.2007
111
A
Model basis data disebut relasional karena basis data dibangun berdasarkan konsep relasi di matematika. Relasi di matematika menyatakan bahwa elemen-elemen dari himpunan yang berbeda dapat saling berhubungan Sasaran/tujuan penerapan model rasional adalah ◦ Memungkinkan derajat ketidakbergantungan data yang tinggi. Program aplikasi tidak dipengaruhi oleh modifikasi representasi internal (perubahan organisasi file & urutan rekord) ◦ Memberikan landasan semantik, konsistensi dan ketiadaan redudansi data dengan proses Normalisasi Relasi (proses penghindaran terhadap kelompok data berulang/RG dan redudansi) ◦ Memungkinkan perluasan bahasa manipulasi data menjadi berorientasi himpunan (Set Oriented Data Manipulation Language)
Merupakan alat komunikasi yang bagus (mudah dipahami) antara pemakai dan perancang basis data Memenuhi kriteria kebutuhan dasar dalam perancangan basis data (adanya mekanisme konsistensi data dan penghilangan redudansi data) Adanya kemandirian antara Data degan Program Aplikasi Struktur data yang dipresentasikan dengan model relasi dapat dikonversi ke RDBMS dan diimplementasikan ke komputer secara langsung Model data relasional yang telah dikonversi & diimplementasikan dengan RDBMS dapat digunakan secara bersama (data sharing)
Pembuatan Basis Data (Create Database) Penghapusan Basis Data (Drop Database) Pembuatan File/Table baru ke suatu basis data (Create Table) Penghapusan File/Table dari suatu basis data (Drop Table) Penambahan data baru ke suatu file/table di sebuah basis data (insert) Pengambilan data dari sebuah file/table (Retrieve/Search) Pengubahan data dari sebuah file/table (Update) Penghapusan data dari sebuah file/table (Delete)
Terdiri dari sejumlah perintah (statement) yang diformulasikan dan dapat diberikan oleh pengguna dan dikenali/diproses oleh DBMS untuk melakukan suatu aksi/pekerjaan tertentu. Komponen Bahasa Basis Data ◦ Data Definition Language (DDL) ◦ Data Manipulation Language (DML)
Digunakan untuk mespesifikasikan struktur/skema basis data yang menggambarkan desain basis data secara keseluruhan. Hasil kompilasi perintah DDL adalah kamus data File yang berisi metadata (data yang mendeskripsikan data sesungguhnya) Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language
Digunakan untuk memanipulasi basis data Bentuk manipulasi ◦ ◦ ◦ ◦
Pencarian kembali data lama Penyisipan data baru Penghapusan data Pengubahan data
Saat ini Model Relasional adalah dominan. Karena itu hampir semua penjual perangkat lunak database menawarkan produk perangkat lunak Relational Database Management Systems (RDBMS).
Basis Data Relasional
RDBMS dibuat dengan struktur tiga skema, yaitu : Eksternal Konseptual Internal
Basis Data Relasional
Skema Eksternal mendefinisikan bagaimana pemakai mengakses dan melihat output dari RDBMS, bebas dari bagaimana data disimpan atau diakses secara fisik. Akses dan manipulasi seperti ini dilaksanakan oleh pemakai dengan memperkerjakan bahasa prosedural, seperti COBOL atau bahasa query, seperti Structured Query Language (SQL), bahasa standar yang diakui untuk RDBMS. Basis Data Relasional
Skema Konseptual yang mendefinisikan model database relasional terdiri dari sekumpulan tabel yang dinormalisasi. Skema konseptual adalah rancangan dari database
Basis Data Relasional
Skema Internal terdiri dari organisasi fisik dari data (mis. sekuensial, indeks sekuensial, langsung) dalam hal struktur fisik data dan metode-metode pengaksesan dari sistem operasi komputer.
Basis Data Relasional
Basis Data relasional menggunakan tabel dua dimensi yang terdiri atas baris dan kolom untuk memberi gambaran sebuah berkas data.
Basis Data Relasional
Model Relasional merupakan kumpulan tabel berdimensi dua (disebut relasi atau tabel) dengan masing-masing relasi (relations) tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data.
Basis Data Relasional
Model Data Relasional menggambarkan data dalam bentuk tabel-tabel. Model Data Relasional mengandung 3 komponen inti : ◦ Struktur data, data diorganisasi dalam bentuk tabel-tabel ◦ Manipulasi data, menggunakan SQL ◦ Integritas data, untuk spesifikasi aturan bisnis
Basis Data Relasional
Struktur data dasar untuk menyimpan informasi. Digunakan untuk menyimpan entities, attributes, relationships, juga weak entities. Strukturnya sebagai tabel (kumpulan tabeltabel).
Basis Data Relasional
Setiap relasi memiliki schema yang mendeskripsikan nama relasi dan atribut beserta tipenya. Contoh : mahasiswa = (nim : string, nama_mhs : string). keterangan : mahasiswa adalah nama relasi. nim dan nama_mhs adalah nama atribut. string adalah tipe dari atribut.
Basis Data Relasional
Terdiri dari baris-baris yang memuat datadata yang berhubungan satu sama lain. Terdiri dari kolom-kolom yang memuat data-data dari tipe yang sama.
Basis Data Relasional
Bentuknya sederhana Mudah melakukan berbagai operasi data (query, update/edit, delete).
Basis Data Relasional
Relasi: Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
Atribut: Kolom pada sebuah relasi
Tupel Baris pada sebuah relasi
Basis Data Relasional
Domain Kumpulan nilai yang valid untuk satu atau lebih atribut
Derajat (degree) Jumlah atribut dalam sebuah relasi
Cardinality Jumlah tupel dalam sebuah relasi
Basis Data Relasional
Basis Data Relasional
Super key Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record lainnya). Contoh: Untuk tabel MHS, super key-nya: ◦ NPM ◦ NAMA (dengan syarat tidak ada nama yang sama) ◦ ALAMAT (dengan syarat tidak ada alamat yang sama) ◦ NPM + NAMA ◦ NPM + ALAMAT ◦ NAMA + ALAMAT ◦ NPM + NAMA + ALAMAT
Basis Data Relasional
Candidate key Atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan jumlah field yang paling sedikit) Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena hanya terdiri dari 1 field saja)
Basis Data Relasional
Primary key Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama).
Basis Data Relasional
Alternate key Candidate key yang tidak dipilih sebagai primary key Maka, candidate key-nya NAMA dan ALAMAT
Basis Data Relasional
Foreign key Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
Basis Data Relasional
Basis Data Relasional
1. Null Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut 2. Entity Integrity Tidak ada satu komponen primary key yang bernilai null
Basis Data Relasional
3. Referential Integrity Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan
Basis Data Relasional
Nama tabel SISWA Primary key NOMHS Foreign key KODE_WALI
Hubungan
Contoh Sederhana Basis Data Relasional
Basis Data Relasional
Menggunakan bahasa query pernyataan yang diajukan untuk mengambil informasi Bahasa pada basis data relasional terbagi menjadi 2 yaitu:
Basis Data Relasional
Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis Contoh: Aljabar relasional Kalkulus relasional
Basis Data Relasional
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
Basis Data Relasional
QUEL Berbasis pada bahasa kalkulus relasional QBE Berbasis pada bahasa kalkulus relasional
SQL Berbasis pada bahasa kalkulus relasional dan aljabar relasional
Basis Data Relasional
Relasi yang mengandung redundansi yang minimal dan mengijinkan pengguna untuk menyisipkan, memodifikasi, serta menghapus baris-baris tanpa menimbulkan kesalahan.
Basis Data Relasional
Operator Basis Data Relasional Derajat kesempurnaan relasi dapat diukur seberapa luas dukungan aljabar relasionalnya.
dengan
Aljabar relasional mendefinisikan secara teoritis cara memanipulasi isi tabel dengan menggunakan delapan fungsi relasional: SELECT, PROJECT, JOIN, INTERSECT, UNION, DIFFERENCE, PRODUCT dan DIVIDE.
Operator Basis Data Relasional UNION menggabungkan semua baris dari dua buah tabel dan kedua tabel tersebut harus sesuai.
NIP 090710100 090710103 090710109 090710112
UNION
NIP 090710120 090710123
Hasil
NIP 090710100 090710103 090710109 090710112 090710120 090710123
Operator Basis Data Relasional INTERSECT menghasilkan sebuah daftar yang berisi hanya record-record yang ter-dapat pada kedua tabel dan kedua tabel tersebut harus sesuai.
Nama Nico Sandy Surya Heni
INTERSECT
Nama Sandy Rudi Heni Santi
Hasil
Nama Sandy Heni
Operator Basis Data Relasional DIFFERENCE menghasilkan semua record yang terdapat pada satu tabel tetapi tidak terdapat pada tabel lainnya dan kedua tabel tersebut harus sesuai.
Nama Nico Sandy Surya Heni
DIFFERENCE
Nama Sandy Heni
Hasil
Nama Nico Surya
Operator Basis Data Relasional PRODUCT menghasilkan sebuah daftar semua pasangan record dua buah tabel.
Wali
PRODUCT
Mhs
SKS IPK
Winata
Susi
Adelia
Hasil
Wali
Mhs
SKS
IPK
18 2.03
Winata
Susi
18
2.03
Toni
20 3.42
Winata
Toni
20
3.42
Wandi
21 2.75
Winata Wandi
21
2.75
Adelia
Susi
18
2.03
Adelia
Toni
20
3.42
21
2.75
Adelia Wandi
Operator Basis Data Relasional SELECT menghasilkan nilai untuk semua atribut yang ditemukan dalam tabel. Mhs
SKS
IPK
Mhs
SKS
IPK
Susi Toni Wandi
18 20 21
2.03 3.42 2.75
Susi Toni Wandi
18 20 21
2.03 3.42 2.75
Mhs
SKS
IPK
Toni Wandi
20 21
3.42 2.75
SELECT ALL Hasilnya SELECT SKS ≥ 20 Hasilnya
Operator Basis Data Relasional PROJECT menghasilkan daftar semua nilai untuk atribut yang dipilih. Mhs
SKS
IPK
Mhs
Susi Toni W andi
18 20 21
2.03 3.42 2.75
Susi Toni W andi
PROJECT MHS Hasilnya
PROJECT MHS and IPK Hasilnya
Mhs
IPK
Susi Toni W andi
2.03 3.42 2.75
Operator Basis Data Relasional JOIN memungkinkan kita untuk mengkom- binasikan informasi dari dua tabel atau lebih. JOIN memiliki kemampuan nyata untuk mendukung basis data relasional, memungkinkan penggunaan tabel inde-penden yang dihubungkan melalui atribut yang sama.
Operator Basis Data Relasional ♦ Natural JOIN menghubungkan tabel dengan memilih hanya record dengan nilai yang digunakan bersama-sama pada atribut yang sama. Operator ini akan menghasilkan tiga tahapan proses:
• PRODUCT • SELECT • PROJECT
Operator Basis Data Relasional Contoh dua tabel yang akan digunakan untuk ilustrasi JOIN: Nama Tabel : SISWA Mhs SKS IPK Kode_Wali Wandi 21 2.75 1 Toni 20 3.42 1 Rudi 18 2.45 2 Susi 18 2.03 2 Tatik 22 3.68 3
Nama Tabel : WALI Kode_Wali 1 2 3
Wali Suminto Farid Ganjar
Natural JOIN, Tahap 1: PRODUCT Mhs SKS IPK Wandi 21 2.75 Toni 20 3.42 Rudi 18 2.45 Susi 18 2.03 Tatik 22 3.68 Wandi 21 2.75 Toni 20 3.42 Rudi 18 2.45 Susi 18 2.03 Tatik 22 3.68 Wandi 21 2.75 Toni 20 3.42 Rudi 18 2.45 Susi 18 2.03 Tatik 22 3.68
Kode_Wali Kode_Wali 1 1 1 1 2 1 2 1 3 1 1 2 1 2 2 2 2 2 3 2 1 3 1 3 2 3 2 3 3 3
Wali Suminto Suminto Suminto Suminto Suminto Farid Farid Farid Farid Farid Ganjar Ganjar Ganjar Ganjar Ganjar
Natural JOIN, Tahap 2: SELECT Mhs W andi Toni Rudi Susi
SKS 21 20 18 18
IPK 2.75 3.42 2.45 2.03
Kode_W ali Kode_W ali 1 1 1 1 2 2 2 2
W ali Suminto Suminto Farid Farid
Natural JOIN, Tahap 3: PROJECT
Mhs Wandi Toni Rudi Susi
SKS 21 20 18 18
IPK 2.75 3.42 2.45 2.03
Kode_Wali 1 1 2 2
Wali Suminto Suminto Farid Farid
Gambar 2.14. Natural join, tahap 3: Project
Operator Basis Data Relasional DIVIDE memerlukan dua buah tabel yang masing-masing terdiri dari satu dan dua kolom. Perhatikan ilustrasi berikut ini: Tabel 1 Kode Lok A 5 B 5 C 6 D 7 D 8 E 8 A 9 A 4 B 3
DEVIDE
Tabel 2 Kode A B
Hasil
Tabel 3 Lok 5
Kamus Data dan Katalog Sistem Kamus data berisi metadata untuk menjelas kan secara detail catatan semua tabel di dalam suatu basis data. Katalog sistem adalah kamus data sistem yang sangat detail yang menggambarkan semua objek di dalam suatu basis data. ♦ Basis
data yang dibentuk sistem dimana tabeltabelnya menyimpan isi dan sifat-sifat basis data.
♦ Tabel-tabelnya
dapat
diproses
seperti
tabel-tabel
lainnya. ♦ Secara otomatis menghasilkan dokumentasi basis
data
Tabel 2.4. Contoh Kamus Data
Nama Tabel
Nama Atribut
Siswa Nomhs Nama SKS IPK Kd_Wali Wali
Kd_Wali NIP Nama Jbt_Fng
Uraian
Tipe
Format
Nomor mhs Nama mhs Jumlah SKS IP.Kumulatif Kode wali
Char(9) Varchar(18) Byte Number(4,2) Number(2)
999999999 Xxxxxxxxx 99 9.99 99
Kode wali No. Pegawai Nama wali Fungsional
Number(2) Char(9) Varchar(18) Varchar(15)
99 999999999 Xxxxxxxxx Xxxxxxxxx
Range PK/ Tabel FK Referensi PK 2-24 0.00-4.00 1-99
FK
1-99
PK
Wali
Relasi pada Basis Data Relasional E-R Diagram (ERD)
♦ Bentuk persegi panjang mewakili entitas. ♦ Nama entitas berupa kata benda dan huruf besar. ♦ Bentuk berlian digunakan untuk mewakili relasi antar entitas. ♦ Angka 1 digunakan untuk mewakili “1” (satu) data pada relasi. ♦ Huruf M digunakan untuk mewakili “many” (banyak) data dari relasi.
Relasi Antara Wali dan Mahasiswa 1
WALI
Membimbing
M
MAHASISWA
Cara Lain Untuk Menyatakan Relasi Antara Wali dan Mahasiswa
1
WALI
M
Membimbing
MAHASISWA
Relasi 1: M : Basis Data Perwalian Tabel : WALI PK : KODE_WALI FK : -
Hubungan Tabel : SISWA PK : NOMHS FK : KODE_WALI
Gambar 2.19. Relasi 1: M untuk basis data perwalian
Relasi 1:M Antara Kursus dan Kelas
1
KURSUS
M
Memiliki
KELAS
Relasi M:N Antara Mahasiswa dan MKA
M
SISWA
N
Mengambil
MKA
Tabel 2.5. Contoh Data Pengambilan MKA
M
N
MAHASISWA
1
MAHASISWA
MKA
Mengambil
M
M
PESERTA
1
MKA
Relasi “Many to Many” Antara Mahasiswa dan MKA
Tabel MAHASISWA
Basis Data KRS
Tabel MKA
Konversi Relasi M:N Menjadi Dua Relasi 1:M Tabel MAHASISWA Primary key NOMHS
Tabel KULIAH Primary key KODE_MKA+NOMHS Foreign key KODE_MKA,NOMHS
Tabel MKA Primary key KODE_MKA
Perubahan Relasi M:N Menjadi Dua Relasi 1:M
M
N
MAHASISWA
MKA
Mengambil
Revisi E-R Diagram : Dua set relasi 1:M
1
MAHASISWA
M
M
KULIAH
1
MKA
Skema Basis Data Relasional : KULIAH
Atas Perhatiaan dan kerjasamanya, saya Ucapkan TERIMA KASIH