Model Relasional

advertisement
Model Data Relasional
3 MODEL DATABASE
Tiga model database yang cukup
dikenal adalah :
• Model Hierarkikal
• Model Jaringan
• Model Relasional
Struktur Hirarki
Model Jaringan
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.
Basis Data Relational (Cont)
• Model basis data relational memiliki struktur lojik
yang disebut dengan relation (relasi).
• Struktur relasi merupakan struktur data
dimensi, pada level fisik berupa table (tabel).
2
• 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.
Basis Data Relational (Cont)
Alternative Terminology
Tableoriented
Table
Setoriented
Relation
Row
Column
Tuple
Attribute
RecordOriented
Recordtype, file
Record
Field
RDBMS dibuat dengan struktur
tiga skema, yaitu :
• Eksternal
• Konseptual
• Internal
Skema Eksternal
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.
Skema Konseptual
Skema Konseptual yang mendefinisikan model
database relasional terdiri dari sekumpulan tabel
yang dinormalisasi. Skema konseptual adalah
rancangan dari database
Skema Internal
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.
Pandangan Logika Data
 Struktur model basis data relasional dan kebebasan
data memungkinkan kita untuk memandang data
secara logika daripada secara fisik.
 Pandangan secara logika membuat konsep file tentang
penyimpanan data menjadi lebih sederhana.
 Penggunaan tabel independen secara logik lebih
mudah dipahami.
 Kesederhanaan logika menghasilkan me-todologi
perancangan basis data lebih sederhana dan lebih
efektif.
Pandangan Logika Data
 Entitas dan Atribut
 Sebuah entitas dapat berupa orang, tempat,
kejadian atau sesuatu yang kita gunakan dalam
mengumpulkan data.
 Universitas - mahasiswa, fakultas, jurusan
 Kantor - pegawai, meja, kursi, aktifitas
 Setiap entitas memiliki sifat-sifat khusus yang
disebut atribut
 Mahasiswa - NIM, nama, tgl. Lahir, alamat, wali,
IPK.
 Mobil - Merek, jenis, bahan bakar, tahun
pembuatan, harga.
Pandangan Logika Data
 Entitas dan Atribut
 Sebuah group entitas yang saling berhubungan
menjadi sebuah himpunan entitas.
 Himpunan entitas MAHASISWA berisi seluruh
entitas mahasiswa.
 Himpunan entitas FAKULTAS berisi seluruh
entitas fakultas.
 Himpunan entitas PEGAWAI berisi seluruh
entitas pegawai.
Pandangan Logika Data
 Entitas dan Atribut
 Tabel dan Sifat-sifatnya.
 Sebuah tabel berisi sebuah group
entitas yang saling berhubungan.
 Istilah himpunan entitas dan tabel
memiliki arti yang hampir sama dan
sering diguna-kan secara bergantian.
 Sebuah tabel disebut juga relasi.
Tabel 2.1. Rangkuman Sifat-sifat Tabel Relasional
1
2
3
4
5
6
7
8
9
Sebuah tabel seolah-olah merupakan struktur dua
dimensi yang terdiri dari baris dan kolom.
Setiap baris (tupel) mewakili sebuah entitas.
Setiap kolom mewakili atribut dan memiliki nama
yang jelas.
Setiap perpotongan baris dan kolom mewakili nilai
sebuah data.
Setiap tabel harus memiliki primary key yang dikenali
secara unik untuk setiap baris.
Semua nilai pada kolom harus sesuai format data.
Setiap kolom memiliki jangkauan nilai tertentu yang
dikenal sebagai domain atribut.
Setiap baris membawa informasi yang menggambarkan satu kejadian entitas.
Urut-urutan baris dan kolom bukan hal yang penting
untuk DBMS.
Nilai Atribut Tabel SISWA
Kunci (Key)
 Redudansi yang terkontrol (penggunaan
atribut secara besama-sama) membuat basis
data relasional berjalan dengan baik.
 Primary key suatu tabel akan muncul lagi pada
tabel lainnya sebagai penghubung (foreign
key)
 Jika foreign key mengandung suatu nilai atau
nilai kosong yang cocok, maka tabel yang
menggunakan foreign key tersebut dikatakan
menunjukkan integritas refe-rensial.
Contoh Sederhana Basis Data Relasional
Nama tabel SISWA
Primary key NOMHS
Foreign key KODE_WALI
Hubungan
Nama tabel WALI
Primary key KODE_WALI
Tidak ada foreign key
Skema Basis Data Relasional : PERWALIAN
Kunci (Key)
 Sebuah kunci (key) dapat membantu mendefinisikan relasi entitas.
 Aturan kunci didasarkan pada konsep yang
dikenal dengan istilah determinasi, yang
digunakan untuk mendefinisikan ketergantungan fungsional.
Kunci (Key)
 Ketergantungan Fungsional.
 Atribut B bergantung secara fungsional pada A, Jika
A menentukan B.
 Sebuah atribut bagian dari suatu kunci dikenal
sebagai atribut kunci.
 Kunci yang memiliki lebih dari satu atribut disebut
dengan kunci komposit.
 Jika atribut (B) bergantung secara fung-sional pada
kunci komposit (A) tetapi tidak terdapat pada salah
satu kunci komposit tersebut, atribut (B) bergantung
penuh secara fungsional pada (A).
Tabel 2.2. Kunci Basis Data Relasional
Superkey
Sebuah atribut (atau kombinasi atribut) secara unik
mengenali setiap entitas dalam sebuah tabel.
Candidate key
Sebuah superkey minimal, yaitu superkey yang tidak
merupakan bagian atribut dari suatu superkey.
Primary key
Candidate key yang terpilih untuk mengenali secara
unik seluruh nilai atribut pada sebuah baris. Tidak boleh
kosong.
Secondary key
Sebuah atribut (atau kombinasi atribut) secara
digunakan untuk tujuan pengambilan data.
Foreign key
Sebuah atribut (atau kombinasi atribut) dalam sebuah
tabel dimana nilainya cocok dengan primary key pada
tabel lainnya.
paksa
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
• 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)
• 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).
• 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 kun
ci utama pada sebuah relasi tetapi pada relasi lain atr
ibut tersebut hanya sebagai atribut biasa
Ilustrasi
Relational Integrity Rules
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
3. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila
merupakan atribut tunggal pada domain yang
bersangkutan
Ilustrasi Aturan Integritas
Bahasa Pada Basis data Relational
Menggunakan bahasa query  pernyataan yang diajukan
untuk mengambil informasi. Bahasa Query (Query
Language) lebih ditekankan pada aspek pencarian data
dari dalam tabel. Aspek pencarian ini sedemikian penting
karena merupakan inti dari upaya untuk pengelolaan data.
Bahasa query terbagi 2 :
1. Bahasa Formal
Bahasa query yang diterjemahkan dengan menggunakan
simbol-simbol matematis.
Bahasa Pada Basis data Relational
Contoh :
• Aljabar Relasional
Bahasa query prosedural  pemakai menspesifikasikan data
apa yang dibutuhkan dan bagaimana untuk mendapatkannya.
• Kalkulus Relasional
Bahasa query non-prosedural  pemakai menspesifikasikan
data apa yang dibutuhkan tanpa menspesifikasikan
bagaimana untuk mendapatkannya.
Terbagi 2 :
1. Kalkulus Relasional Tupel
2. Kalkulus Relasional Domain
Bahasa Pada Basis data Relational
2. Bahasa Komersial
Bahasa Query yang dirancang sendiri oleh programmer menja
di suatu program aplikasi agar pemakai lebih mudah menggunak
annya (user friendly).
Contoh :
• QUEL
Berbasis pada bahasa kalkulus relasional
• QBE
Berbasis pada bahasa kalkulus relasional
• SQL
Berbasis pada bahasa kalkulus relasional dan aljabar
relasional
Download