Aljabar Kalkulus - Repository UNIKOM
MODEL RELATIONAL DATABASE
MODEL RELATIONAL DATABASE
Model ini menjelaskan kepada pemakai (user) tentang hubungan logik anatara data dalam basis data dengan cara menvisualisasikannya kedalam bentuk
tabel-tabel 2 dimensi yang terdiri dari
sejumlah baris dan kolom yang menunjukkan atribut-atribut. RELASI :
Semua entry atau elemen data pada suatu baris atau
kolom tertentu harus menpunyai nilai tunggal (singlevalue) atau suatu nilai yang tidak dapat dibagi-bagi lagi
(atomic Value), bukan suatu larik atau grup pengulangan Suatu entry atau elemen data pada suatu kolom tertentudalam dalam relasi yang sama harus mempunyai jenis
yang sama masing-masing kolom dalam suatu relasi mempunyai nama unik (meskipun kolom-kolom dalam relasi yang berbeda diijinkan mempunyai nama yang sama pada suatu relasi atau tabel yang sama tidak ada 2 baris yang identik sama.KOMPONEN-KOMPONEN TABEL RELASIONAL
Intension
Struktur penamaan (naming Structure), menunjukan nama tabel dan nama atribut yang ada, lengkap domain (batasan nilai dan tipe datanya)
Extension
Menunjukan isi dari tabel (nilai-nilai dari atribut yang ada dalam tabel) Batasan Integrity Constrain
dipengaruhi oleh integrity Referensial yang meliputi
Key Constraint : tidak mengijinkan ada nilai null pada atribut yang digunakan sebagai
primary key pada semua record yang ada
dalam tabel.Referensial Constraint : memberikan
aturan-anilai-nilai dalam atribut kunci yang
digunakan untuk mengembnagkan/ menghubungkan kebasis data lain tidak diijinkan memiliki nilai nullATURAN-ATURAN DALAM PRIMARY KEY
Aturan lain yang berhubungan dengan
masalah integritas (Entity Integrity) primary key yang dipilih yaitu : Integrity Entity : bahwa nilai atribut yang dipilih sebagai primary key tidak boleh null dan setiap record yang ada dalam relasi.
integrity Referensial : berhubungan dengan 2 atau lebih tabel relasi dalam suatu sistem basis data yang
mengguanakan primary key yang sama.
KERELASIAN (RELATIONSHIP ) ANTAR ENTITY
Relasi : sebagai saling keterkaitan antara
kesatuan data dalam satu atau beberapa
tabel. Kerelasian antar entitas dalam satu tabelTipe kerelasian paling sederhana, yaitu kerelasian antar entitas (yang berupa record) untuk menyediakan data/informasi dari atribut dalam suatu tabel.
Kerelasian antar entitas dalam banyak tabel Jenis pohon (tree) Jenis jaringan (Network) Query Language / QL
Query Language adalah bahasa yang digunakan oleh
user untuk mendapatkan informasi dari basis data.
Query language terbagi 2 kategori, yaitu : Procedural Language.
User memberikan instruksi pada sistem/DBMS untuk
melaksanakan urutan-urutan operasi/prosedur untuk mendapatkan informasi yang diinginkan.
Pemrogram menjelaskan informasi apa (what) yang diinginkan dan bagaimana cara mendapatkannya, Contoh : Aljabar Relasitional dan SQL Non-Procedural Language.
User menjelaskan informasi yang diharapkan tanpa memberikan prosedur/urutan-urutan operasi tertentu untuk mendapatkan informasi yg di inginkan. Contoh : Relational Calculus dan Query dari DBMS Manaipulasi Data
Merupakan suatu cara untuk menyedaikan data-data bagi para pengguna /pemakai informasi untuk para pembuat keputusan. Ada 2 tipe Manipulasi data yaitu :
1. Aljabar Relational : harus dipikirkan bagaimana relasi dan dikonstruksikan untuk memenuhi kebutuhan data.
2. Kalkulus Relational : hanya memikirkan tentang data apa yang diperlukan pemakai.
Aljabar relational adalah kumpulan
operasi terhadap relasi. Setiap operasimenggunakan satu atau lebih relasi
untuk menghasilkan satu relasi yang
baru.Operasi 2 ALJABAR RELATIONAL
Projection Untuk menciptakan suatu relasi baru dengan menyeleksi atribut
Operasi Deskripsi dari suatu relasiUnion Untuk menciptakan suatu relasi baru dengan mengabungkan
Selection Untuk menciptakan suatu relasi baru dengan menyeleksi record-
record atribut dari suatu relasi
Intersection Untuk menciptakan suatu relasi baru dengan memuat record-
secara vertikal record-record dari dua relasi record yang ada dalam kedua relasi.
Set-Difference Untuk menciptakan suatu relasi baru dengan memuat record-
yang lain record yang ada dalam suatu relasi tetapi tidak ada dalam relasiDivision Untuk menciptakan suatu relasi baru dengan menyeleksi record-
yang sama dalam memisahkan relasi record dari suatu relasi yang didasarkan pada nilai-nilai atributCartesian Product Untuk menciptakan suatu relasi baru yang didasarkan pada
dengan cara mengkombinasikan secara horizontal. kerelasian antar dua atribut dalam relasi-relasi yang berbedaProjection
Contoh
X Y Z
E1 = π X, Z (E1) =
a b c d e f g h i g b c
X Z
a c d f g i g c Selection
Untuk menciptakan suatu relasi baru dengan menyeleksi record-record atribut dari suatu relasi Operator seleksi menyeleksi atribut-atribut di sebuah relasi, yaitu atribut-atribut yang memenuhi syarat/kondisi (p) yang sudah ditentukan sebelumnya.
Dimana syarat/kondisinya (p) adalah ekspresi logika yang terdiri dari : Operand : Konstanta artibut/relasi Operand pembanding : =, <, >, ≤, ≥, ≠ Operand logika : ٨ (and), ٧ (or) dan ~ (not)
( p (E1)) σ Contoh
X Y Z
E1 = π X, Z (E1) =
a b c d e f g h i g b c
X Z
a c d f g i g c Union
Untuk menciptakan suatu relasi baru dengan mengabungkan secara vertikal record-record dari dua relasi Operator Union ini akan membentuk relasi baru
dengan atribut-atribut yang terdapat direlasi E1, E2,
atau atribut-atribut yang terdapat di kedua relasi tersebut. Syarat : - Aritas Sama- Domain atribut sama
(E1 U E2) Contoh
X Y Z
a b c d e f g h i g b c
X Y Z
a b c d e f c b d b g a
X Y Z
E1 = E1 U E2 =
a b c d e f g h i g b c
E2 = Intersection
Untuk menciptakan suatu relasi baru dengan
memuat record-record yang ada dalam kedua relasi.Operator interseksi untuk membentuk sebuah relasi baru dengan record-record yang berasal dari kedua relasi Syarat : - Aritas Sama
- Domain atribut sama
(E1 E2) ∩ Contoh
X Y Z
a b c d e f g h i g b c
X Y Z
a b c
X Y Z
E1 = E1 ∩ E2 =
a b c d e f g h i g b c
E2 = Set Difference
Untuk menciptakan suatu relasi baru dengan
memuat record-record yang ada dalam suatu
relasi tetapi tidak ada dalam relasi yang lainOperator differensi untuk membentuk sebuah
relasi baru dengan record-record yang terdapat di relasi E1 dan tidak terdapat di E2. Syarat : - Aritas Sama- Domain atribut sama
(E1 - E2) Contoh
X Y Z
a b c d e f g h i g b c
X Y Z
d e f c b d
X Y Z
E1 = E1 - E2 =
a b c d e f g h i g b c
E2 = Division
Untuk menciptakan suatu relasi baru dengan menyeleksi record-record dari suatu relasi yang didasarkan pada nilai- nilai atribut yang sama dalam memisahkan relasi
Operator divisi merupakan operasi pembagian record-record dari 2 relasi.
(E1 : E2) Contoh
Nama Cabang Cabang E1
E2 =
X Y Y
=
Z Y S D R F S
Cabang E1 : E2 =
X Z F Cartesian product
Untuk menciptakan suatu relasi baru yang
didasarkan pada kerelasian antar dua atribut dalam
relasi-relasi yang berbeda dengan cara mengkombinasikan secara horizontal.
Operator Cartesian Product akan merangkai setiap
record di E1 dengan setiap E2 sehingga jika E1 terdiri dari n-record dan E2 terdiri dari m-record, maka :Jumlah record = E1 x E2, akan terdiri dari mn record
(E1 x E2) Contoh
X Y Z P Q E1
E2
1 c d
=
a 100
=
5 e f s 200 6 g h
X Y Z P Q E1 X E2 =
1 c d a 100 5 e f a 100 6 g h a 100 1 c d s 200 5 e f s 200 Theta Join/Outer Join
Operator theta join sama dengan cartesian product, tapi recordnya berdasarkan posisi record.
(E1 Xө E2) Contoh
X Y Z P Q E1
E2
1 c d
=
a 100
=
5 e f s 200 6 g h
X Y Z P Q E1 Xө E2 =
1 c d a 100 5 e f s 200 Theta Join/Outer Join
Operator natural join merupakan operator yang menggabungkan operasi cartesian produk dengan operasi seleksi.
(E1 |X| E2) Contoh
X Y Z E1
E1 |X| E2 =
a b c
=
d b c
X Y Z R
c a d a b c d f b h a b c z s b d d b c d d b c z
Y Z R
s b d x
E2
b c d
=
b c z b d x
OPERATOR MENGUBAH
DATABASE ASSIGMENT
DELETE
INSERT
UPDATE
ASSIGMENT
Mengisi sementara relasi variabel dengan relasi atau hasil suatu operasi.
A π (E1)
Contoh : A π Simpan.nama_nas
(nasabah)
DELETE
Menghapus satu atau beberapa record dari relasi.
R R – E
Contoh :
Simpan Simpan - σSimpan.nama_nas = ‘ dani’
(simpan)INSERT
Menyisipkan satu beberapa record kedalam
relasi. Syarat aritas dan domain atribut harus sama.R R U E Contoh : Simpan Simpan U σ pinjam.jumlah < 500 (pinjam)
UPDATE
Mengubah nilai satu atau beberapa
record ke dalam relasi. a δ D(R) a : atribut yang diubah D : ekspresi aritmatik Contoh :δ jumlah jumlah x 10% (σSimpan.jumlah >
(simpan) 1000 )