Indah Dwi Mumpuni, S.Kom, MM Indah Dwi Mumpuni, S.Kom, MM Indah Dwi Mumpuni, S.Kom, MM Indah Dwi Mumpuni, S.Kom, MM
Salah satu tujuan penerapan Sistem Basis DataSistem Basis DataSistem Basis DataSistem 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 DataSistem Basis DataSistem Basis Data secara umum adalah awam Sistem Basis Data Pengguna Sistem Basis DataSistem Basis DataSistem Basis Data secara umum adalah awam Sistem Basis Data
di bidang komputer, oleh karena itu pengembang
seharusnya menyembunyikan kompleksitas sistem dari pengguna dengan meyediakan beberapa peringkat
External View External View
EXTERNAL LEVEL
USER
Pemetaan Secara Internal/ Phisik Pandangan Konseptual/Logika DATABASE CONCEPTUAL LEVEL INTERNAL LEVEL
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 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
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
◦ 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)
struktur yang sederhana (mudah dipahami)
◦ Tingkat konseptual menyatakan
Entitas, atribut dan terhubungannya
Konstrain (batasan) terhadap 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 penyimpanan yang optimal
◦ Tingkat fisik ini berurusan dengan
Alokasi ruang penyimpanan
Deskripsi rekord untuk kebutuhan penyimpanan (ukuran simpanan untuk tiap item data)
Sasaran utama arsitektur 3 tingkat adalah Ketidakbergantungan Data
Ketidakbergantungan Data Ketidakbergantungan Data
Ketidakbergantungan Data pada setiap levelnya
Ketidatbergantungan DataKetidatbergantungan DataKetidatbergantungan DataKetidatbergantungan Data merupakan kemampuan memodifikasi skema di satu tingkat, dengan tidak mempengaruhi definisi skema di tingkat lainnya.
Ketidakbergantungan DataKetidakbergantungan DataKetidakbergantungan DataKetidakbergantungan Data dapat dipandang sebagai;
◦ Ketidakbergantungan secara logik (logical data
◦ 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 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
◦ 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
Model-model data tersebut secara umum
dikategorikan menjadi
◦ Model data berbasis Rekord (ER, Relasional, Jaringan dan Hierarki)
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 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 : Contoh model data jaringan : Contoh model data jaringan : Contoh model data jaringan :
R1 R2
R4 R3
R5
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.
Ketentuan KetentuanKetentuan
Ketentuan----ketentuanketentuanketentuan dalamketentuan dalamdalamdalam modelmodel datamodelmodel datadatadata hirarkihirarkihirarkihirarki adalahadalahadalahadalah ::::
Terdiri dari kumpulan record (R1,R2,R3,...Rn) yang
masing- Terdiri dari kumpulan record (R1,R2,R3,...Rn) yang
masing-masing 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 D G B H I F E DEPARTEMEN PROJECT EMPLOYE DNAME PNAME NAME DNUMBER PNUMM SSN MGRNAME PLOCATION BDATE MGRSTARDATE ADRESS DEPENDENT BRITHDATE DEPNAME SEX SUVERVISE NAME SSN WORKER NAME SSN HOURS
EntityEntityEntityEntity adalah obyek pada dunia nyata yang dapat dibedakan
satu dengan lainnya, yang bermanfaat bagi aplikasi yang sedang dikembangkan
RelationshipRelationshipRelationshipRelationship adalah hubungan antara beberap entitas
Model EntityModel EntityModel EntityModel Entity----RelationshipRelationshipRelationshipRelationship adalah suatu representasi logika
dari data pada suatu organisasi atau area bisnis tertentu dengan menggunakan Entity dan Relationship.
dengan menggunakan Entity dan Relationship.
Mahasiswa Mengambil Matakuliah
Nim Nama Nilai No_Mk
Nama_MK
Atribute
Model Model Model Model Data RData RData RData Relasionalelasionalelasionalelasional 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 atribut-atribut entitas yang bersangkutan seperti pada model Entity Relationship
Entity Relationship
Model Model Model Model Data RData RData RData Relasionalelasionalelasionalelasional 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
Bedjoe 0002.51.2007 Paijoe 0001.52.2007 Nama Nim 2 Delphi 222 3 Basis Data 111 SKS Nama_MK No_Mk
Contoh Model Relasional
Tabel Mahasiswa Tabel Matakuliah
Bedjoe 0002.51.2007 2 Delphi 222 B 222 0001.52.2007 A 111 0002.51.2007 A 111 0001.52.2007 Nilai No_MK NIM Tabel Nilai
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 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 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 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
untuk melakukan suatu aksi/pekerjaan tertentu.
Komponen Bahasa Basis Data
◦ Data Definition Language (DDL)
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
Digunakan untuk memanipulasi basis data
Bentuk manipulasi
◦ Pencarian kembali data lama
◦ Penyisipan data baru
◦ Penghapusan data
◦ Penghapusan data
Saat ini Model Relasional adalah dominan.
Karena itu hampir semua penjual perangkat lunak database menawarkan produk
perangkat lunak Relational Database Management Systems (RDBMS).
Management Systems (RDBMS).
RDBMS dibuat dengan struktur tiga skema, yaitu : Eksternal Konseptual Internal Internal
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 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.
Skema Konseptual yang mendefinisikan
model database relasional terdiri dari
sekumpulan tabel yang dinormalisasi. Skema konseptual adalah rancangan dari database
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.
operasi komputer.
Basis Data relasional menggunakan tabel dua Basis Data relasional menggunakan tabel dua Basis Data relasional menggunakan tabel dua Basis Data relasional menggunakan tabel dua
dimensi yang terdiri atas baris dan kolom dimensi yang terdiri atas baris dan kolom dimensi yang terdiri atas baris dan kolom dimensi yang terdiri atas baris dan kolom untuk memberi gambaran sebuah berkas untuk memberi gambaran sebuah berkas untuk memberi gambaran sebuah berkas untuk memberi gambaran sebuah berkas data.
data. data. data.
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.
pada suatu basis data.
Model Data Relasional menggambarkan data
dalam bentuk tabel-tabel.
Model Data Relasional mengandung 3
komponen inti :
◦ Struktur data, data diorganisasi dalam bentuk
◦ Struktur data, data diorganisasi dalam bentuk tabel-tabel
◦ Manipulasi data, menggunakan SQL
◦ Integritas data, untuk spesifikasi aturan bisnis
Struktur data dasar untuk menyimpan
informasi.
Digunakan untuk menyimpan entities,
attributes, relationships, juga weak entities.
Strukturnya sebagai tabel (kumpulan
tabel- Strukturnya sebagai tabel (kumpulan
tabel-tabel).
Setiap relasi memiliki
schema
yangmendeskripsikan nama relasi dan atribut beserta tipenya. Contoh :
mahasiswa = (nim : string, nama_mhs : string).
keterangan : keterangan :
mahasiswa adalah nama relasi.
nim dan nama_mhs adalah nama atribut. string adalah tipe dari atribut.
Terdiri dari baris-baris yang memuat
data-data yang berhubungan satu sama lain.
Terdiri dari kolom-kolom yang memuat
data-data dari tipe yang sama.
Bentuknya sederhana
Mudah melakukan berbagai operasi
data (query, update/edit, delete).
Relasi:
Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
Atribut:
Kolom pada sebuah relasi Kolom pada sebuah relasi
Tupel
Baris pada sebuah relasi
Domain
Kumpulan nilai yang valid untuk satu atau lebih atribut
Derajat (degree)
Jumlah atribut dalam sebuah relasi Jumlah atribut dalam sebuah relasi
Cardinality
Jumlah tupel dalam sebuah relasi
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
◦ 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
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 Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena hanya terdiri dari 1 field saja)
Primary key
Candidate key yang dipilih untuk
mengidentifikasikan tupel secara unik dalam relasi
Maka, primary key yang dipilih adalah NPM Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama).
Alternate key
Candidate key yang tidak dipilih sebagai primary key
Maka, candidate key-nya NAMA dan ALAMAT
Foreign key
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi
tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
sebagai atribut biasa
1. Null
Nilai suatu atribut yang tidak
diketahui dan tidak cocok untuk baris (tuple) tersebut
(tuple) tersebut 2. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null
3. Referential Integrity
Suatu domain dapat dipakai
sebagai kunci primer bila merupakan
sebagai kunci primer bila merupakan
atribut tunggal pada domain yang
bersangkutan
Nama tabel SISWA Primary key NOMHS Foreign key KODE_WALI
Basis Data Relasional
Contoh Sederhana Basis Data Relasional Hubungan
Menggunakan bahasa query pernyataan
yang diajukan untuk mengambil informasi
Bahasa pada basis data relasional terbagi
menjadi 2 yaitu:
Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis Contoh:
Aljabar relasional Kalkulus relasional
Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
QUEL
Berbasis pada bahasa kalkulus relasional
QBE
Berbasis pada bahasa kalkulus relasional
SQL
SQL
Berbasis pada bahasa kalkulus relasional dan
aljabar relasional
Relasi yang mengandung redundansi yang
minimal dan mengijinkan pengguna untuk
menyisipkan, memodifikasi, serta menghapus baris-baris tanpa menimbulkan kesalahan.
Derajat kesempurnaan relasi dapat diukur dengan seberapa luas dukungan aljabar relasionalnya.
Aljabar relasional mendefinisikan secara teoritis cara
memanipulasi isi tabel dengan menggunakan delapan fungsi relasional: SELECT, PROJECT, JOIN, INTERSECT,
Operator Basis Data Relasional Operator Basis Data Relasional
fungsi relasional: SELECT, PROJECT, JOIN, INTERSECT, UNION, DIFFERENCE, PRODUCT dan DIVIDE.
UNION menggabungkan semua baris dari dua buah tabel
dan kedua tabel tersebut harus sesuai.
Operator Basis Data Relasional Operator Basis Data Relasional
NIP UNION NIP Hasil NIP
NIP NIP NIP
090710100 090710120 090710100 090710103 090710123 090710103 090710109 090710109 090710112 090710112 090710120 090710123 UNION Hasil
INTERSECT menghasilkan sebuah daftar yang berisi
hanya record-record yang ter-dapat pada kedua tabel dan kedua tabel tersebut harus sesuai.
Operator Basis Data Relasional Operator Basis Data Relasional
Nama Nama Nama
Nico Sandy Sandy
Sandy Rudi Heni
Surya Heni
Heni Santi
DIFFERENCE menghasilkan semua record yang terdapat
pada satu tabel tetapi tidak terdapat pada tabel lainnya dan kedua tabel tersebut harus sesuai.
Operator Basis Data Relasional Operator Basis Data Relasional
Nama Nama Nama
Nico Sandy Nico
Sandy Heni Surya
Surya Heni
PRODUCT menghasilkan sebuah daftar semua pasangan
record dua buah tabel.
Operator Basis Data Relasional Operator Basis Data Relasional
Wali PRODUCT Mhs SKS IPK Hasil Wali Mhs SKS IPK
Wali Mhs SKS IPK Wali Mhs SKS IPK
Winata Susi 18 2.03 Winata Susi 18 2.03 Adelia 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 Adelia Wandi 21 2.75
SELECT menghasilkan nilai untuk semua atribut yang
ditemukan dalam tabel.
Operator Basis Data Relasional Operator Basis Data Relasional
Mhs SKS IPK Mhs SKS IPK Susi 18 2.03 Susi 18 2.03 Toni 20 3.42 Toni 20 3.42 Toni 20 3.42 Toni 20 3.42 Wandi 21 2.75 Wandi 21 2.75 Mhs SKS IPK Toni 20 3.42 Wandi 21 2.75
SELECT ALL Hasilnya
PROJECT menghasilkan daftar semua nilai untuk atribut
yang dipilih.
Operator Basis Data Relasional Operator Basis Data Relasional
Mhs SKS IPK Mhs Susi 18 2.03 Susi Toni 20 3.42 Toni Toni 20 3.42 Toni W andi 21 2.75 W andi Mhs IPK Susi 2.03 Toni 3.42 W andi 2.75 PROJECT MHS Hasilnya
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 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
Operator Basis Data Relasional Operator Basis Data Relasional
• PRODUCT
• SELECT
Operator Basis Data Relasional Operator Basis Data Relasional
Contoh dua tabel yang akan digunakan untuk ilustrasi
JOIN:
Nama Tabel : SISWA Nama Tabel : WALI Mhs SKS IPK Kode_Wali Kode_Wali Wali Mhs SKS IPK Kode_Wali Kode_Wali Wali Wandi 21 2.75 1 1 Suminto
Toni 20 3.42 1 2 Farid
Rudi 18 2.45 2 3 Ganjar Susi 18 2.03 2
Natural JOIN, Tahap 1: PRODUCT
Mhs SKS IPK Kode_Wali Kode_Wali Wali Wandi 21 2.75 1 1 Suminto Toni 20 3.42 1 1 Suminto Rudi 18 2.45 2 1 Suminto Susi 18 2.03 2 1 Suminto Tatik 22 3.68 3 1 Suminto Wandi 21 2.75 1 2 Farid Toni 20 3.42 1 2 Farid Toni 20 3.42 1 2 Farid Rudi 18 2.45 2 2 Farid Susi 18 2.03 2 2 Farid Tatik 22 3.68 3 2 Farid Wandi 21 2.75 1 3 Ganjar Toni 20 3.42 1 3 Ganjar Rudi 18 2.45 2 3 Ganjar Susi 18 2.03 2 3 Ganjar Tatik 22 3.68 3 3 Ganjar
Natural JOIN, Tahap 2: SELECT
Mhs SKS IPK Kode_W ali Kode_W ali W ali
W andi 21 2.75 1 1 Suminto
Toni 20 3.42 1 1 Suminto
Rudi 18 2.45 2 2 Farid
Natural JOIN, Tahap 3: PROJECT
Mhs SKS IPK Kode_Wali Wali Wandi 21 2.75 1 Suminto
Toni 20 3.42 1 Suminto Rudi 18 2.45 2 Farid Susi 18 2.03 2 Farid Susi 18 2.03 2 Farid
Operator Basis Data Relasional Operator Basis Data Relasional
DIVIDE memerlukan dua buah tabel yang masing-masing
terdiri dari satu dan dua kolom. Perhatikan ilustrasi berikut ini:
Tabel 1 Tabel 2 Tabel 3
Kode Lok DEVIDE Kode Hasil Lok
Kode Lok Kode Lok
A 5 A 5 B 5 B C 6 D 7 D 8 E 8 A 9 A 4 B 3 DEVIDE Hasil
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
tabel-tabelnya menyimpan isi dan sifat-sifat basis data.
♦ Tabel-tabelnya dapat diproses seperti tabel-tabel
Kamus Data dan Katalog Sistem Kamus Data dan Katalog Sistem
♦ Tabel-tabelnya dapat diproses seperti tabel-tabel
lainnya.
♦ Secara otomatis menghasilkan dokumentasi basis
Tabel 2.4. Contoh Kamus Data Tabel 2.4. Contoh Kamus Data
Nama Tabel
Nama Atribut
Uraian Tipe Format Range PK/ FK
Tabel Referensi
Siswa Nomhs Nomor mhs Char(9) 999999999 PK Nama Nama mhs Varchar(18) Xxxxxxxxx
SKS Jumlah SKS Byte 99 2-24 SKS Jumlah SKS Byte 99 2-24 IPK IP.Kumulatif Number(4,2) 9.99 0.00-4.00
Kd_Wali Kode wali Number(2) 99 1-99 FK Wali Wali Kd_Wali Kode wali Number(2) 99 1-99 PK
NIP No. Pegawai Char(9) 999999999 Nama Nama wali Varchar(18) Xxxxxxxxx Jbt_Fng Fungsional Varchar(15) Xxxxxxxxx
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.
Relasi pada Basis Data Relasional Relasi pada Basis Data Relasional
relasi.
♦ Huruf M digunakan untuk mewakili “many” (banyak) data
Relasi Antara Wali dan Mahasiswa Relasi Antara Wali dan Mahasiswa
WALI Membimbing 1 Membimbing MAHASISWA M
Cara Lain Untuk Menyatakan Relasi Antara Wali dan Mahasiswa
Cara Lain Untuk Menyatakan Relasi Antara Wali dan Mahasiswa
1 M
Hubungan
Relasi 1: M : Basis Data Perwalian Relasi 1: M : Basis Data Perwalian
Tabel : WALI PK : KODE_WALI FK :
-Gambar 2.19.Relasi 1: M untuk basis data perwalian
Tabel : SISWA PK : NOMHS FK : KODE_WALI
1 M
Relasi 1:M Antara Kursus dan Kelas Relasi 1:M Antara Kursus dan Kelas
SISWA Mengambil MKA
M N
Relasi M:N Antara Mahasiswa dan MKA Relasi M:N Antara Mahasiswa dan MKA
Tabel 2.5. Contoh Data Pengambilan MKA Tabel 2.5. Contoh Data Pengambilan MKA
Mengambil MKA M N MAHASISWA PESERTA MKA 1 M M 1 MAHASISWA
Relasi “Many to Many” Antara Mahasiswa dan MKA Relasi “Many to Many” Antara Mahasiswa dan MKA
Tabel MAHASISWA
Basis Data KRS
Konversi Relasi M:N Menjadi Dua Relasi 1:M Konversi Relasi M:N Menjadi Dua Relasi 1:M
Tabel KULIAH
Primary key KODE_MKA+NOMHS Foreign key KODE_MKA,NOMHS
Tabel MAHASISWA Primary key NOMHS
Tabel MKA
MAHASISWA Mengambil MKA
M N
Perubahan Relasi M:N Menjadi Dua Relasi 1:M Perubahan Relasi M:N Menjadi Dua Relasi 1:M
Revisi E-R Diagram : Dua set relasi 1:M
KULIAH MKA
1 M M 1
Revisi E-R Diagram : Dua set relasi 1:M
Skema Basis Data Relasional : KULIAH Skema Basis Data Relasional : KULIAH