Pengantar Basis Data
ENTITY RELATIONSHIP DIAGRAM (ERD) Penyusunan basis data (database ( database ) selalu didahului dengan dengan pekerjaan pemodelan data. ERD adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. Model data E-R (Entity (Entity Relationship ) didasarkan pada persepsi terhadap dunia nyata yang tersusun atas kumpulan objek-objek dasar yang disebut entitas dan relasi. relasi. Diagram hubungan entitas (model E-R) tidak menyatakan bagaimana memanfaatkan data, membuat data, menghapus data dan mengubah data.
Elemen-elemen Elemen-elemen ERD: 1. Entity (Entitas) Entity (entitas) adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak di mana data tersimpan atau di mana terdapat data. Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam 4 (empat) kelas, yaitu: role (peran), events (kejadian), locations (lokasi), tangible things / concepts (sesuatu yang tidak nyata / konsep). Contoh: pegawai, pembelian, kampus, buku, pembayaran. Contoh detil dari suatu entity (entitas) entity (entitas) disebut instance . Contoh: pegawai bernama Dodo, Noni, Citra, dll…
2. Relationship Relationship adalah hubungan alamiah yang terjadi antara entitas. Contohnya: Entitas Mahasiswa Mahasiswa dengan NIM = “14534” dan NamaMhs = “Dodo” yang mempunyai relasi dengan Entitas Kuliah dengan KodeKul = “SI“SI-140” 140” dan NamaMK = “Basis Data”, sehingga struktur data dari Relasi ini bahwa mahasiswa tersebut mengambil mata kuliah pada suatu perguruan tinggi. Hubungan antara entitas akan menyangkut dua komponen yang menyatakan jalinan ikatan yang terjadi, yaitu: derajat (kardinalitas) (kar dinalitas) dan partisipasi hubungan.
3. Atribut Deskripsi kelompok data yang mempunyai karakteristik yang sama (data yang mendeksripsikan entity dan relationship), rel ationship), merupakan field yang akan disimpan.
Notasi Entity – Relationship
Notasi
Deskripsi
Entitas
Entity Set
Relasi
Relationship set Penghubung atribut dengan entitas dan relasi dengan entitas
by Paramita Mayadewi
Hal. 1/19
Pengantar Basis Data
Attribute
Attribute
Attribute
Key Attribute
Attribute
Derived Attribute (atribut turunan)
Attribute
Multi-value Attribute
Attribute
Composite Attribute Attribute
Attribute
Attribute
Identifier Attribute (pada weak entity)
Entitas
Weak Entity Set
Relasi
Relationship Set Weak Entity
Contoh: NmMK KdMK
Nama NIM
M a h a s is w a
TgLhr
Hobbi
SKS
Umur
m e n g a m b il
Mata Kuliah
Alamat
J a la n
by Paramita Mayadewi
K ota
Ko de Po s
Hal. 2/19
Pengantar Basis Data
KARDINALITAS & PARTISIPASI 1.
Cardinality
(kardinalitas) menyatakan jumlah anggota entitas yang terlibat di dalam relasi yang terjadi. Dalam hal ini relasi yang terjadi akan membentuk relasi hubungan (relationship ( relationship instances instances ). ). Contoh: Seorang dosen paling banyak mengepalai satu jurusan, tetapi ada dosen yang tidak menjadi ketua jurusan relasi one to one (relasi 1:1) Seorang dosen bisa menerima honor beberapa kali, tetapi mungkin juga tidak menerima honor jika ia tidak mengajar relasi one to many (relasi 1:M) Seorang customer dapat membeli beberapa barang dan sebuah barang dapat dibeli oleh beberapa customer relasi many to many (relasi M:N) Pasangan antara anggota entitas A dan B dapat dilakukan di lakukan sesuai dengan derajat hubungannya, yaitu relasi 1:1, 1:M atau relasi M:N
A. Derajat hubungan 1:1 Derajat hubungan 1:1 terjadi bila setiap anggota entitas A hanya boleh berpasangan dengan satu anggota dari entitas B, dan sebaliknya tiap anggota entitas B hanya boleh berpasangan dengan satu anggota dari entitas A. 1
A
berpasangan
1
B
a1 a2
b1
a3
b3
a4
b4
a5
b5
b2
E-R diagram antara entitas A dan B dengan derajat hubungan 1:1 dilukiskan dengan mencantumkan pada garis hubungan. Sedangkan instance hubungan instance hubungan antar anggota entitas yang terjadi adalah pasangan a2 – b1, a3 – b2 dan a4 – b5. Sedangkan a1, a5, b3 dan b4 masingmasing tidak mempunyai pasangan. Dengan demikian dapat dikatakan bahwa derajat hubungan 1:1 mencakup juga 1:0 dan 0:1
B. Derajat hubungan 1: M Derajat hubungan ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya tiap anggota entitas B hanya boleh berpasangan dengan satu anggota entitas A. 1
A
by Paramita Mayadewi
berpasangan
m
B
a1
b1
a2
b2
a3
b3
a4
b4
a5
b5
a6
b6
Hal. 3/19
Pengantar Basis Data
C.Derajat hubungan M : N Derajat hubungan antar entitas m:n terjadi bila tiap anggota entitas A dapat berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya setiap anggota entitas B juga dapat berpasangan dengan dengan lebih dari satu s atu anggota entitas A. m
A
2.
n
berpasangan
B
a1
b1
a2
b2
a3
b3
a4
b4
a5
b5
a6
b6
Partisipasi hubungan
(participation ) menyatakan sifat keterlibatan tiap anggota entitas dalam relasi terjadinya hubungan. Partisipasi atau keterlibatan tiap anggota entitas dalam membentuk instance hubungan dapat bersifat wajib (mandatory ) dan tidak wajib (non mandatory ). ). Dalam pemodelan data, interpretasi jenis partisipasi hubungan dituliskan dalam aturan data. Contoh misal hubungan antara entitas DOSEN dan MATA KULIAH (MK) dengan aturan data sebagai berikut:
Setiap dosen harus mengajar satu mata kuliah. Tiap mata kuliah harus diajarkan oleh seorang dosen. Diagram instance hubungan antar entitas DOSEN dan MK berdasarkan aturan di atas dapat dilukiskan seperti: Amin
Basis Data
Budi
Algoritma
Maria
Struktur Data
Adi
Sistem Operasi
Jono
Riset & Operasi
Dari diagram di atas dapat dilihat bahwa derajat hubungan antar entitas DOSEN dan MK adalah 1:1. Sedang partisipasi tiap anggota entitas dalam hubungan adalah wajib, baik untuk anggota entitas DOSEN ataupun entitas MK. Gambar digaram E-R nya:
DOSEN
1..1
mengajar
1..1
MK
atau DOSEN
by Paramita Mayadewi
mengajar
MK
Hal. 4/19
Pengantar Basis Data
Setiap dosen harus mengajar satu mata kuliah. Tiap mata kuliah mungkin diajarkan oleh seorang dosen dan mungkin belum ada yang mengajar.
DOSEN
MK
mengajar
atau DOSEN
0..1
mengajar
1 .. 1
MK
Seorang dosen harus boleh mengajar satu mata kuliah dan seorang dosen boleh tidak mengajar. Tiap mata kuliah harus diajarkan oleh seorang dosen.
DOSEN
1..1
mengajar
0 .. 1
MK
atau DOSEN
MK
mengajar
Seorang dosen hanya boleh mengajar satu mata kuliah dan boleh tidak mengajar. Tiap mata kuliah hanya boleh diajarkan oleh seorang dosen dan mungkin belum ada yang mengajar.
DOSEN
MK
mengajar
atau DOSEN
by Paramita Mayadewi
0..1
mengajar
0..1
MK
Hal. 5/19
Pengantar Basis Data
MEMBANGUN DIAGRAM ERD Entity Relationship Diagram merupakan suatu alat utama pemodelan data dan membantu menggambarkan data ke dalam entitas dan hubungan antar entitas. Proses ini telah terbukti memungkinkan seorang analis untuk menghasilkan suatu struktur database yang baik, sehingga data dapat disimpan dan dimunculkan kembali secara efisien.
Cara membuat atau mendesign Entity Relationship Diagram: Identifikasi peran, kejadian/kegiatan, lokasi, hal 1. Identifikasi Entitas abstrak/konsep yang datanya disimpan oleh end-user Tentukan hubungan antara sepasang entitas 2. Tentukan Relationship menggunakan relationship matriks. Gambarkan entitas-entitas dan relationship diantara 3. Gambar “KASAR” ERD entitas untuk menghubungkannya. menghubungkannya. Tentukan kardinalitas (pemunculan sutau entitas di 4. Tentukan kardinalitas entitas lainnya yang berhubungan) Identifikasi atribut data yang secara “unik” 5. Tentukan Primary Key mengidentifikasi setiap entitas 6. Gambar ERD berdasar atribut Sertakan primary key di key di setiap entitas kunci Kumpulkan informasi detil yang penting dalam sistem 7. Identifikasi atribut lainnya yang sedang di kembangkan. Untuk setiap atribut, letakkan dalam satu entitas yang 8. Petakan atribut tepat. Cari juga atribut yang ada dalam relationship . 9. Gambarkan ERD lengkap dengan Sesuaikan ERD hasil langkah 6 dengan entitas atau atribut relationship hasil relationship hasil langkah 8 Apakah Entity Relationship Diagram akhir telah secara 10. Periksa hasil tepat mencerminkan data sistem ? Contoh Kasus:
Sebuah perusahaan memiliki beberapa departemen. Setiap departemen terdiri dari seorang supervisor dan paling sedikit satu orang pegawai. pegawai. Pegawai dapat bekerja paling tidak di satu departemen, tapi mungkin juga lebih dari satu departemen. Sedikitnya satu orang pegawai diikutsertakan dalam sebuah proyek, seorang pegawai mungkin berlibur dan tidak diikutsertakan dalam proyek apapun. Field data yang penting adalah nama departemen, proyek, supervisor, dan pegawai, serta no.supervisor, no.pegawai, dan no.proyek sebagai key.
Langkah penciptaan ERD:
1.
Identifikasi Entitas
Entitas dalam sistem ini adalah Departemen, Pegawai, Supervisor dan Proyek . Seseorang mungkin saja membuat Perusahaan sebagai sebuah entitas, tetapi ini adalah entitas yang salah, karena hannya memiliki satu instance dalam permasalahan ini. Entitas yang benar harus memiliki lebih dari satu instance . by Paramita Mayadewi
Hal. 6/19
Pengantar Basis Data
2.
Tentukan Relationship
Matriks Relasi Entitas:
Departemen Departemen Pegawai Supervisor Proyek
3.
Pegawai
Supervisor
Memiliki
Dipimpin oleh
Bekerja di Memimpin
Proyek Bekerja dalam
Menggunakan
Gambar “KASAR” ERD
Kita menghubungkan entitas yang mempunyai relasi seperti yang ditunjukkan pada matriks relasi entitas.
Departemen
dipimpin oleh
Supervisor
bekerja dalam
Proyek
memiliki
Pegawai
4.
Tentukan Kardinalitas Berdasarkan deskripsi permasalahan, dapat diketahui bahwa: Setiap Departemen dipimpin oleh satu Supervisor Supervisor Seorang Supervisor hanya memimpin satu Departemen Setiap Departemen memiliki paling sedikit satu Pegawai Setiap Pegawai bekerja paling sedikit pada satu Departemen Setiap Proyek paling sedikit melibatkan satu orang Pegawai Pegawai Seorang Pegawai dapat terlibat dalam beberapa Proyek atau bahkan tidak sama sekali.
by Paramita Mayadewi
Hal. 7/19
Pengantar Basis Data
Departemen
dipimpin oleh
Supervisor
bekerja dalam
Proyek
memiliki
Pegawai
5.
Tentukan Kunci utama (Primary-Keys)
Kunci utama (primary (primary keys ) adalah Nama Departemen (NmDept (NmDept), ), Nomor Supervisor (NoSpv (NoSpv), ), Nomor Pegawai (NoPeg (NoPeg)) dan Nomor Proyek Proyek (NoPryk )
6.
Gambar ERD berdasarkan kunci NoSpv
NmDept
Departemen
dipimpin oleh
Supervisor
bekerja dalam
Proyek
memiliki
Pegawai
NoPeg
by Paramita Mayadewi
NoPryk
Hal. 8/19
Pengantar Basis Data
7. Menentukan
Atribut
Atribut yang diperlukan adalah Nama Departemen, Departemen, Nama Proyek , Nama Supervisor, Supervisor, Nama Pegawai selain Primary Keys .
8.
Pemetaan
Atribut Atribut
NmDept NoPryk NmPryk NoPeg
Departemen Departeme n Proyek Proyek Pegawai
Atribut
NmPeg NoSpv NmSpv
Atribut
MasaJab MasaKerja MasaKrjPryk
9.
Entitas
Entitas
Pegawai Supervisor Supervisor Supervi sor
Entitas
Dipimpin oleh Memiliki Bekerja dalam
Gambar ERD dengan Atribut NmSpv NmDept
MasaJab
NoSpv
dipimpin oleh
Departemen
Supervisor
MasaKerja
memiliki MasaKrjPryk
Pegawai
NoPeg
NmPeg
bekerja dalam
Proyek
NoPryk
NmPryk
Jika ada suatu relationship (hubungan antara 2 entitas) yang tidak digambarkan atributnya, hal ini berarti relationship tersebut hanya memiliki atribut minimal, yaitu atribut yang berasal dari key atribut 2 entitas yang dihubungkannya. by Paramita Mayadewi
Hal. 9/19
Pengantar Basis Data
Contoh: NmPeg
TglSK
NIP
NoSK
Pegawai
mendapat
SK Kenaikan Jabatan
Dalam contoh contoh tersebut tidak digambarkan adanya atribut dalam relationship “mendapat”. Hal ini berarti relationship “mendapat” hanya memiliki atribut minimal, yaitu NIP dan NoSK.
10. Periksa Hasil Lakukan pemeriksaan terhadap terhadap ERD, bila tidak ada koreksi maka ERD akhir yang ada telah dapat memodelkan data dalam sistem dengan baik.
by Paramita Mayadewi
Hal. 10/19
Pengantar Basis Data
ENTITY-RELATIONSHIP MODEL (Lanjutan) SINGLE-VALUED ATTRIBUTE (Atribut Bernilai Tunggal) Atribut Bernilai Tunggal ditujukan pada atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data. Contoh: Pada tabel Mahasiswa, NIM, NmMhs (Nama Mahasiswa) dan AlmtMhs (Alamat Mahasiswa), merupakan atribut bernilai tunggal, tunggal, karena atribut-atribut tersebut hanya dapat berisikan satu nilai.
MULTI-VALUED ATTRIBUTE (Atribut Bernilai Banyak) Atribut bernilai banyak ditujukan pada atribut-atribut yang dapat dapat kita isi dengan lebih dari satu nilai, tetapi jenisnya sama. Contoh: Atribut hobby pada tabel Mahasiswa, termasuk atribut bernilai banyak, karena kecenderungan seorang mahasiswa memiliki lebih dari satu hobby. NmMhs AlmtMhs NIM Hobby
Mahasiswa
Atribut Bernilai Banyak
Tabel MAHASISWA NIM
NmMhs
AlmtMhs
3304123
Anindyaswari Pradnya
Jl. Mutiara 1, Bandung 41234
3304124
Duhita Pradnya
Jl. Emas 10, Bandung 42345
3304235
Rafif Pradipta
Jl. Surabaya 123, Jakarta 55123
3304236
Hafiz Wisnupratomo
Jl. Magelang 45, Jakarta 56789
3304240
Annisa
Jl. Susilo 303, Jakarta 55190
by Paramita Mayadewi
Hobby Badminton Berenang Badminton Berenang Sepak Bola Berenang Berenang Membaca
Hal. 11/19
Pengantar Basis Data
DERIVED ATTRIBUTE (Atribut Turunan) Atribut Turunan adalah atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain lai n yang berhubungan. Atribut Turunan
Tabel MAHASISWA NIM
NmMhs
AlmtMhs
Hobby
……
……
……
3304240
Annisa
Jl. Susilo 303, Jakarta 55190
…… Berenang Membaca
Angkatan …… 2004
CATATAN: CATATAN: Angkatan sebenarnya dapat diambil diambil dari NIM, karakter ka rakter ke 3 dan 4. NmMhs NIM
AlmtMhs
Angkatan Hobby
Mahasiswa
SIMPLE ATTRIBUTE (Atribut Sederhana) dan COMPOSITE ATTRIBUTE (Atribut Komposit) Atribut Sederhana adalah atribut atomik yang tidak dapat dipilah lagi, sedangkan atribut komposit merupakan atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing masing-masing memiliki makna. Alamat
Kota
KodePos
NmMhs NIM
AlmtMhs
Angkatan Hobby
Mahasiswa
by Paramita Mayadewi
Hal. 12/19
Pengantar Basis Data
NIM 3304123 …… ……
NmMhs
AlmtMhs
Anindyaswari Pradnya Duhita Pradnya ……
Jl. Mutiara 1 Jl. Emas 10 ……
Hobby
Jl. Mutiara 1, Bandung 41234 Jl. Emas 10, Bandung 42345 ……
Alamat Alama t
…… …… ……
Kota Bandung Bandung ……
KodePos 41234 42345 …….
CATATAN: CATATAN: penggunaan atribut komposit, komposit, biasanya didasarkan pada pengolahan data pada tabel
by Paramita Mayadewi
Hal. 13/19
Pengantar Basis Data
KONVERSI MODEL E-R KE SKEMA RELASI Entitas dalam Model E-R adalah calon tabel (dalam modul ini disebut dengan istilah relasi) pada implementasi desain fisik database. Atribut sama dengan item data/field data/field . Penggunaan tabel bertujuan untuk menyederhanakan logika pandangan terhadap data. Oleh karena itu terdapat beberapa ketentuan dalam penyusunan tabel, yaitu: a. Urutan baris tidak diperhatikan, sehingga pertukaran baris tidak akan berpengaruh terhadap is informasi pada tabel. b. Urutan kolom tidak diperhatikan. Identifikasi kolom dibedakan dibedakan dengan jenis atrib ut. c. Tiap perpotongan baris dan kolom hanya berisi nilai atribut tunggal, sehingga nilai atribut ganda (multi value ) tidak diperbolehkan diperbolehkan d. Tiap baris dalam tabel harus dibedakan, sehingga tidak mungkin ada dua baris dalam tabel mempunyai nilai atribut yang sama secara keseluruhan. e. Dalam penyusunan tabel, hendaknya nilai atribut atri but kosong (Null (Null value ) dihindarkan. Dalam pemodelan data, entitas disajikan dengan tabel entitas yang ada pada diagram E-R dituliskan dengan kerangka tabel yang berisikan atribut-atributnya yang disebut skema relasi. Pembuatan tabel entitas selalu berpedoman pada ketentuan-ketentuan tentang cara penyusunan tabel. Sehingga akan diperoleh susunan tabel entitas yang merupakan tabel yang terbebas dari adanya data rangkap (data (data redudancy ). ). Untuk mencapai tujuan tersebut, dalam penyusunan skema relasi harus memperhatikan hubungan antar entitas yang terjadi. Dalam hal ini berkaitan erat dengan kardinalitas dan partisipasi hubungan.
BINARY RELATIONSHIP 1. Representasi Hubungan 1 : 1 Misal suatu perusahaan menyediakan fasilitas rumah dinas bagi pegawainya. Dalam hubungan ini diberlakukan ketentuan bahwa tidak ada pegawai yang menempati lebih dari satu rumah dinas dan tidak ada rumah dinas yang dihuni oleh lebih dari satu orang pegawai.
a. Partisipasi Wajib pada kedua entitas Terjadi bila setiap pegawai memperoleh rumah dinas dan tidak ada rumah dinas yang tidak dihuni oleh pegawai. Alamat
NmPeg NIP
NoRD
AlmtPeg
PEGAWAI
by Paramita Mayadewi
menghuni
Tipe
Rumah Dinas
Hal. 14/19
Pengantar Basis Data
Skema relasi yang terbentuk terdiri dari 2 relasi yang dihasilkan dari 2 entitas, dimana key atribut key atribut (identitas) entitas pertama harus diletakkan sebagai atribut kunci tamu (foreign ( foreign key ) dari entitas kedua atau sebaliknya. Skema Relasi: Pegawai( Pegawai(NIP, NIP, NmPeg, AlmtPeg, NoRD) RumahDinas( RumahDinas(NoRD, NoRD, Alamat, Tipe) atau Pegawai( Pegawai(NIP, NIP, NmPeg, AlmtPeg) RumahDinas( RumahDinas(NoRD, NoRD, Alamat, Tipe, NIP)
CATATAN: CATATAN: Peletakan key atribut salah satu entitas boleh dibalik, karena tidak akan menghasilkan null value (nilai value (nilai null).
b. Partisipasi tidak wajib pada salah satu sisi Misal persediaan rumah dinas bagi pegawai tidak mencukupi, sehingga terdapat pegawai yang tidak mendapatkan rumah dinas. Alamat
NmPeg NIP
NoRD
AlmtPeg
PEGAWAI
menghuni
Tipe
Rumah Dinas
Skema relasi yang terbentuk terdiri dari 2 relasi r elasi yang dihasilkan dari 2 entitas, dimana key atribut key atribut entitas yang memiliki partisipasi wajib (mandatory ( mandatory ) harus diletakkan sebagai atribut kunci tamu (foreign key ) dari entitas yang memiliki partisipasi tidak wajib (non (non mandatory ). ).
PERHATIKAN !! Dalam kasus ini peletakan key atribut (identitas) yang berfungsi sebagai relasi tidak boleh dibalik karena akan menghasilkan null value . Skema Relasi: Pegawai( Pegawai(NIP, NIP, NmPeg, AlmtPeg) RumahDinas( RumahDinas(NoRD, NoRD, Alamat, Tipe, NIP)
c. Partisipasi tidak wajib pada kedua sisi Terjadi dalam kasus tidak semua pegawai mendapatkan fasilitas rumah dinas, dan tidak semua rumah dinas dihuni oleh karyawan (misal terdapat rumah dinas yang digunakan sebagai guess house ) Skema relasi yang terbentuk terdiri dari 3 relasi yang dihasilkan dari 2 entitas, dimana relasi “menghuni” antara 2 entitas Pegawai dan Rumah Dinas menjadi calon tabel (hal (hal ini dilakukan untuk menghindari adanya null value ). ). Key atribut yang ada pada relasi “menghuni” merupakan key atribut gabungan dari 2 entitas Pegawai Pegawai dan rumah Dinas. by Paramita Mayadewi
Hal. 15/19
Pengantar Basis Data
NmPeg NIP
Alamat
NoRD NoRD
AlmtPeg
Tipe
NIP TgHuni
PEGAWAI
menghuni
Rumah Dinas
Skema Relasi: Pegawai( Pegawai(NIP, NIP, NmPeg, AlmtPeg) RumahDinas( RumahDinas(NoRD, NoRD, Alamat, Tipe) Menghuni( Menghuni(NIP, NIP, NoRD, NoRD, TgHuni)
2. Representasi Hubungan 1 : m Dalam kasus ini diambil contoh hubungan antar karyawan dan ruang kerja pada suatu kantor. Dalam aturan data ditentukan bahwa setiap ruang kerja ditempati oleh lebih dari satu karyawan dan setiap karyawan tidak mungkin menempati menempati lebih dari satu ruang kerja.
a. Partisipasi Wajib pada sisi “m” Misal dalam hubungan antara dosen dan mata kuliah ditentukan bahwa setiap dosen paling tidak mengajar satu atau lebih matakuliah. Dan setiap seti ap mata kuliah diajar oleh seorang dosen. NmMK
NmDosen KdMK
SKS
KdDosen
DOSEN
mengajar
Mata kuliah
Dalam kasus ini, key atribut key atribut (identitas) dari entitas yang berderajat 1 (yang memiliki kardinalitas 1) dijadikan kunci tamu (foreign (foreign key ) pada entitas yang memiliki kardinalitas “m”. PERHATIKAN!!, PERHATIKAN!! , jika dilakukan sebaliknya, yaitu key atribut yang berkardinalitas “m” dijadikan kunci tamu pada entitas yang memiliki kardinalitas “1” akan menyalahi aturan primary key . Skema Relasi: Dosen( Dosen(KdDosen, KdDosen, NmDosen, KdMK) MataKuliah( MataKuliah(KdMK , NmMK, SKS)
by Paramita Mayadewi
Hal. 16/19
Pengantar Basis Data
b. Partisipasi tidak wajib pada sisi “m” Misal, tidak semua mata kuliah di ajar oleh seorang dosen. Dalam hal ini, jika penyajian tabel hubungan entitas dilakukan dengan menempatkan identitas entitas pada sisi “1” sebagai identitas tamu pada entitas entitas sisi “m”, maka akan terjadi atribut dengan nilai kosong. Untuk menyelesaikan masalah ini maka ditempuh dengan membuat tabel hubungan tersendiri, yaitu tabel Menempati yang mempunyai atribut identitas kedua tabel yang dihubungkan. NmMK
NmDosen KdMK
SKS
KdDosen
DOSEN
mengajar
Mata kuliah
Skema Relasi: Dosen( Dosen(KdDosen, KdDosen, NmDosen) MataKuliah( MataKuliah(KdMK , NmMK, SKS) Mengajar( Mengajar(KdDosen, KdDosen, KdMK )
3. Representasi Hubungan M : N Dalam kasus derajat hubungan antar entitas m:n, penyajian tabel entitas tidak memperhatikan jenis partisipasi anggota entitas. Misal: hubungan antara entitas barang dengan entitas pemasok dengan hubungan memasok. Pada hubungan ini ditentukan bahwa setiap pemasok dapat memasok lebih dari satu barang. Dan setiap barang dapat dipasok oleh lebih dari satu pemasok.
NmSupp
NmBrg AlmSupp
KdSupp
PEMASOK
KdBrg
memasok
Warna
BARANG
Penyajian tabel entitas dengan menempatkan identitas suplier (KdSupp) pada tabel entitas Barang sebagai identitas tamu akan menghasilkan nilai data rangkap. Demikian juga bila dilakukan dengan menempatkan identitas barang (KdBrg) sebagai identitas tamu pada tabel Pemasok. Oleh karena itu hubungan kedua tabel tersebut disajikan dengan tabel hubungan Memasok yang mempunyai atribut identitas KdSupp dan KdBrg sebagai identitas bersama.
by Paramita Mayadewi
Hal. 17/19
Pengantar Basis Data
Skema Relasi: Pemasok (KdSupp, KdSupp, NmSupp, AlmSupp) Barang( Barang(KdBrg, KdBrg, NmBrg, Warna) Memasok (KdSupp, KdSupp, KdBrg, KdBrg, JumlahBrg)
UNARY RELATIONSHIP Dalam kasus tertentu pada suatu entitas, terdapat hubungan intern (“recursive (“recursive relations ”) ”) antar anggota entitas.
1. Representasi Hubungan 1 : 1 Misal; dalam satu perusahaan, mungkin saja terdapat dimana seorang pegawai menikah sesama rekan kerjanya (pegawai juga). Dalam kasus tersebut, terdapat hubungan intern dengan derajat 1:1 dan jenis partisipasinya tidak wajib (karena tidak semua pegawai menikah dengan rekan sekerjanya). NmPeg AlmPeg NIP
PEGAWAI
KAWIN
Identitas tabel Pegawai adalah NIP. Sedangkan identitas tabel hubungan Kawin mempunyai atribut dua identitas pegawai suami dan istri, yang tidak lain adalah identitas entitas pegawai. Skema Relasi: Pegawai( Pegawai(NIP, NIP, NmPeg, AlmPeg) Kawin( Kawin(NIPSuami, NIPSuami, NIPIstri, NIPIstri , TgNikah)
2. Representasi Hubungan 1 : M Misal dalam lingkungan kerja suatu perusahaan terdapat daftar karyawan. Dalam pelaksanaan pekerjaan tentunya terdapat karyawan yang menduduki jabatan pimpinan dari sejumlah karyawan. Salah satu tugas pimpinan adalah melakukan supervisi para karyawan yang menjadi anak buahnya. Dalam hal ini terdapat hubungan hubungan 1:m antara pimpinan karyawan dan anak buahnya.
by Paramita Mayadewi
Hal. 18/19
Pengantar Basis Data
NmPeg AlmPeg NIP
PEGAWAI
Supervisi
Dalam kasus ini, penyajian tabel entitas hanya terdapat satu tabel. Hal ini dikarenakan terdapat terdapat jenis partisipasi wajib pada sisi “m” (tiap pegawai harus ada supervisinya, dan pimpinan tertinggi men supervisi dirinya sendiri) Skema Relasi: Pegawai( Pegawai(NIP, NIP, NmPeg, AlmPeg, KdSpv)
3. Representasi Hubungan M : N Misal dalam kemahasiswaan di suatu fakultas akan dibentuk tim olah raga. Ditentukan bahwa setiap mahasiswa boleh menjadi anggota lebih dari satu jenis tim. Dalam satu jenis olah raga harus ada ketua tim, dimana ketua tim hanya boleh dipegang oleh seorang mahasiswa. Seorang mahasiswa yang telah menduduki ketua tim boleh menjadi anggota tim olah raga yang lain. Dalam kasus tersebut, terdapat hubungan intern antara mahasiswa yang tergabung dalam tim olah raga. NmMhs AlmMhs NIM
MAHASISWA
Tim OR
Skema Relasi: Mahasiswa( Mahasiswa(NIM, NIM, NmMhs, AlmMhs) TimOR (NoMhsKetua, NoMhsKetua, NoMhsAngg) NoMhsAngg)
by Paramita Mayadewi
Hal. 19/19