Anda di halaman 1dari 27

Suheri S.

T
chinsuvent@yahoo.com

MODEL RELASIONAL

Model 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.

Relasi

Struktur data dasar untuk menyimpan informasi.


Digunakan untuk menyimpan entities, attributes,
relationships, juga weak entities.
Strukturnya sebagai tabel (kumpulan tabel-tabel).
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.

Contoh Relasi
Mahasiswa
nim

nama_mh
s

jurusan

0100 Andy
1

Teknik
Informatika

0100 Budi
2

Teknik
Informatika

0100 Rahmat
3

Teknik Industri

0100 Budi
4

Teknik Mesin

0100 Sartika
5

Teknik Mesin

0100 Iwan
6

Teknik Elektro

Tabel

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.

Basis Data Relasional

BARIS disebut TUPLE


KOLOM disebut ATTRIBUTE
TABEL disebut RELATION
DOMAIN : kumpulan dari harga
atomik yang dapat dimiliki oleh
suatu kolom/atribut.

Perbedaan Istilah
ER Model

Relational
Model

Databas
e

Traditional
Programmer

Entity

Relation

Table

File

Entity
Instance

Tuple

Row

Record

Attribute

Attribute

Column

Field

Identifier

Key

Key

Key (link)

Mendefinisikan
Domain

Memberi nama domain yang


sesuai dengan harga/nilai yang
akan dimiliki domain tersebut.
Menentukan tipe data dari nilai
yang akan membentuk domain.
Menentukan format dari domain.

Harga/Nilai dari suatu


Tuple

Harus atomik : first normal form


(normalisasi)
Multivalued attribute : harus
direpresentasikan pada relasi yang lain
Composite attribute : harus dinyatakan
dalam atribut sederhana
Null value :
Nilainya tidak diketahui
Merupakan nilai default dari setiap
tipe data untuk atribut.

Atribut Kunci dari


Relasi

SUPERKEY : satu atau lebih atribut


(kumpulan atribut) yang dapat
membedakan setiap baris data dalam
tabel secara unik.
Berdasarkan contoh relasi sebelumnya,
maka SUPERKEY-nya adalah : {nim,
nama_mhs} dan {nim}.
CANDIDATE KEY : relasi mungkin
mempunyai lebih dari satu key. Masingmasing disebut CANDIDATE KEY.

Atribut Kunci dari


Relasi (lanj)

PRIMARY KEY (PK) : CANDIDATE KEY yang


digunakan untuk mengidentifikasikan
tuple yang unik pada suatu relasi.
Berdasarkan contoh sebelumnya, maka
PRIMARY KEY-nya adalah nim.
FOREIGN KEY (FK) : suatu schema relasi
dapat memiliki atribut yang menunjuk ke
PRIMARY KEY dari relasi lain. Atribut ini
disebut FOREIGN KEY.

Batasan-Batasan
Integritas (Integrity
Constraints)

Suatu batasan-batasan yang diberikan


terhadap suatu relasi.
Ditetapkan ketika schema
didefinisikan.
Dicek ketika relasi-relasi dimodifikasi
atau dimanipulasi (penambahan,
pengubahan, penghapusan dan
pencarian/menampilkan data).

Primary Key
Constraints

Mempunyai sifat dimana suatu


kolom tidak boleh bernilai NULL
dan harus unik (tidak memiliki
nilai yang sama dalam satu
kolom).

Referential Integrity

Satu baris pada satu relasi


menjadi referensi dari
sekumpulan baris dari relasi lain.
Hal ini bisa terjadi karena ada
FOREIGN KEY.

Transformasi E-R Diagram ke


Basis Data Relational
Tahap-Tahap Transformasi :
1. Entity-Relationship Diagram menjadi basis data.
2. Entity menjadi tabel dan atribut menjadi kolom/field dari tabel.
3. Entitas lemah key dari owner (entitas kuat) ke tabel entitas
lemah.
4. Setiap tipe entity dibuat suatu tabel yang memuat semua atribut
simple, sedangkan untuk atribut komposit hanya dimuat komponenkomponennya saja. Contoh city
:
state
street

name
id

zip_code

address
customer

Tabel Customer
i
d

nam stree
e
t

cit
y

stat
e

zip_cod
e

Transformasi E-R Diagram ke


Basis Data Relational (lanj)
5.

Setiap tabel yang mempunyai atribut multivalue,


buatlah tabel baru dimana primary key-nya
merupakan gabungan dari primary key dari tabel
tersebut dengan atribut multivalue.
Tabel Proyek

nama_proyek
no_proyek

lokasi
i

no_proye
k

nama_proy
ek

Tabel Lokasi_Proyek
proyek

no_proye
k

loka
si

Transformasi E-R Diagram ke


Basis Data Relational (lanj)
6.

Setiap unary relationship 1:N, selain membuat tabel


baru berdasarkan entity, buat juga tabel baru
berdasarkan relationship-nya dengan atribut kunci
tamu (foreign key) berdasarkan atribut kunci dari
entity tersebut dan atribut kunci alternatif sebagai
primary key-nya.
Tabel Employee
employee_name
employee_id

employee_
id

employee_na
me

Tabel Supervision
employee

supervision

supervisor_
id

employee_
id

Transformasi E-R Diagram ke


Basis Data Relational (lanj)
7.

Untuk CR 1:1 dengan atau tanpa total participation maka


akan dibuat tabel baru berdasarkan relationship, dimana
kolom-kolomnya terdiri dari alternate key, dan primary
key dari masing-masing entity.
nip

nama_dos

Tabel Dosen
nip

Nama_d
os

Dosen
1

periode

Tabel kaprodi

mengepalai
1
Jurusan
kode_jur

nama_jur

period kode_ju
e
r
Tabel Jurusan
kode_ju
r

nama_j
ur

ni
p

Transformasi E-R Diagram


ke
Basis Data Relational (lanj)
8.

Untuk CR 1:N dengan atau tanpa total participation


maka primary key dari sisi 1 masuk ke sisi N.
nip

nama_dos

Tabel Dosen
nip

Dosen

nama_d
os

1
perwalian
Tabel Mahasiswa

N
mahasiswa
nim

nama_mhs

nim

nama_m
hs

nip

Transformasi E-R Diagram


ke
Basis
Data
Relational
(lanj)
Untuk CR M:N dibuat tabel tersendiri berdasarkan
9.

relationshipnya dengan kolom-kolomnya terdiri dari


alternate key dan primary key dari masing-masing
entity.
Tabel Mahasiswa
nim
nama_mhs
mahasiswa

ni
m

nama_m
hs

semester

Tabel KRS
semester

mengambil

ni
m

kode_m
k

M
matakuliah
kode_mk

nama_mk

Tabel Matakuliah
kode_m nama_m
k
k

Studi Kasus

Transformasikan ER Model dari


studi kasus sebelumnya ke Model
Relasional.

Entity Relationship
Diagram Rental VCD FILM
judul
jenis

harga_sewa

kode_film

jml_keping

dikelompokkan
Kelompokfilm 1

Film

jml_film

N
jenis_identitas
no_identitas

total_film

kode_sewa

Customer

nama

tgl_sewa

alamat

total_harga
menyewa

tgl_kembali

denda

Transformasi ER Model ke
Basis Data Relasional
judul
jenis

harga_sewa

kode_film

jml_keping

dikelompokkan
KelompokFilm1

Film

Tabel KelompokFilm

jeni harga_sew
s
a

Tabel film

kode_fil
m

jeni judu jml_kepin


s
l
g

jml_fil
m

jml_film

Transformasi ERD ke
Basis Data Relasional (lanj)
total_film

no_identitas

total_harga

alamat

Customer

nama

judul

tgl_sewa

jml_keping

Film

jml_film

denda
tgl_kembali

kode_sewa

Tabel customer
no_identita jenis_identit
s
as

menyewa

jenis_identitas

kode_film

nam alama
a
t

Tabel menyewa, karena setiap customer dapat menyewa


lebih dari satu film, maka pada relasi menyewa terdapat
atribut multivalue berupa kode_film, sehingga relasi

Transformasi ERD ke
Basis Data Relasional
(lanj)
Tabel menyewa, penambahan atribut kode_sewa

sebagai atribut alternatif.


kode_sew
a

no_identita
s

tgl_sew
a

Tabel detailmenyewa
kode_sewa

kode_film

tot_fil
m

tgl_kemba
li

tot_hr
g

dend
a

Hasil Akhir (Basis Data


Relational)
kelompokfilm
jenis

harga_sew
a

film
kode_fil
m

jenis

judul

jml_kepin
g

jml_fil
m

actio
n

3000

A01

actio
n

Spiderman

dram
a

3500

A02

actio
n

Spiderman
2

horor

3000

D01

dram
a

Love Story

2 tot_fil
m

tgl_kemba
2
li

tot_hr
g

dend
a

detailmenyewa
kode_sew
a

kode_fil
m

kode_sew
H01
a

no_identit
tgl_sewa
horor Evil Death
as

menyewa

S0001

A01

S0001

001

01/01/2007

02/01/2007

6000

S0001

A02

S0002

002

03/01/2007

03/01/2007

3500

S0002

D01

S0003

001

06/01/2007

08/01/2007

9500

S0003

A02

S0003

D01

S0003

H01

customer
no_identit
as
001

jenis_identit
as

nam
a

alamat

SIM

Andi

pontian
ak

Bahasa Query

Bahasa yang digunakan oleh pemakai untuk


memperoleh informasi dari basis data.
Kategori bahasa query
Prosedural : user menginstruksikan ke sistem agar
membentuk serangkaian operasi dalam basis data
untuk mengeluarkan hasil yang diinginkan
Non-prosedural : user mendeskripsikan informasi
yang diinginkan tanpa memberikan prosedur detail
untuk menghasilkan informasi tersebut.
Bahasa query didasari oleh bahasa murni, yaitu :
Aljabar relasional (Relational Algebra) : query
prosedural.
Kalkulus Relasional (Calculus Relational) : query
non-prosedural.

Anda mungkin juga menyukai