data modelling using the entity relationship model

68
Data Modelling Using the Entity Relationship Model Minggu 3 dan 4 Rusydi Umar, S.T. M.T. Teknik Informatika UAD

Upload: raden-sapujagat

Post on 30-Jun-2015

1.149 views

Category:

Documents


19 download

TRANSCRIPT

Page 1: Data Modelling Using the Entity Relationship Model

Data Modelling Using the Entity Relationship Model

Minggu 3 dan 4

Rusydi Umar, S.T. M.T.

Teknik Informatika UAD

Page 2: Data Modelling Using the Entity Relationship Model

Tujuan dan manfaat

Menjelaskan konsep pemodelan dari Entity-Relatinoship (ER) Model

ER Model sering disebut juga konseptual data model tingkat tinggi

Digunakan untuk merancang konsep aplikasi basis data

Banyak tools perancangan basis data menggunakan konsep ini

Page 3: Data Modelling Using the Entity Relationship Model

Perancangan Basis Data menggunakan Konsep Model Data Tingkat Tinggi

Mengumpulkan dan menganalisa kebutuhanWawancara dengan pengguna untuk mengetahui mendokumentasikan kebutuhan data penggunaDiusahakan selengkap mungkin dan sedetil mungkinDisamping itu juga penting untuk diketahui kebutuhan fungsional pengguna yang berisi operasi-operasi yang di akan diterapkan pada basis data, termasuk membaca, dan menulis basis data

Page 4: Data Modelling Using the Entity Relationship Model
Page 5: Data Modelling Using the Entity Relationship Model

Data Flow Diagram (DFD)

Untuk menspesifikasikan kebutuhan fungsional pengguna, digunakan data flow diagram.

Lebih lanjut tentang data flow diagram dapat dilihat di mata kuliah rekayasa Perangkat Lunak

Page 6: Data Modelling Using the Entity Relationship Model

Perancangan Basis Data menggunakan Konsep Model Data Tingkat Tinggi

Langkah berikutnya adalah Merancang Basis Data KonseptualYaitu membuat Skema Konseptual untuk Basis Data menggunakan Konsep Model Data Tingkat TinggiSkema ini berisi penjelasan tentang kebutuhan data dan tipe data, hubungan dan batasanKarena tidak berhubungan dengan media penyimpanan maka mudah dikomunikasikan dengan pengguna non teknis

Page 7: Data Modelling Using the Entity Relationship Model

Perancangan Basis Data Lojik/Pemetaan Model Data

Langkah berikutnya adalah implementasi dari basis data.Kebanyakan DBMS menggunakan data model, maka langkah selanjutnya mengubah skema konseptual menjadi model data implementasiLangkah terakhir Merancang Basis Data Fisik

Page 8: Data Modelling Using the Entity Relationship Model

Contoh Kasus : Basis Data Perusahaaan (Company)

Mengumpulkan kebutuhan data

Membuat Skema Konseptual langkah demi langkah sekaligus memperkenalkan konsep pemodelan dari model ER

Hasil Dari pengumpulan kebutuhan pengguna adalah sebagai berikut

Page 9: Data Modelling Using the Entity Relationship Model

Basis Data Perusahaan

Perusahaan terdiri dari departemen-departemen. Departemen mempunyai nama yang unik, nomor yang unik, manager, mulai-kerja dari manager, departemen mungkin berada di beberapa lokasi

Departemen mengontrol beberapa proyek, masing-masing mempunyai nama yang unik, nomer yang unik, dan menempati satu lokasi terntentu

Page 10: Data Modelling Using the Entity Relationship Model

Basis Data Perusahaan

Perusahaan mempunyai karyawan-karyawan. Karyawan mempunyai data tentang nama, nomer ID, alamat, gaji, jenis kelamin, tgl lahir. Tiap karyawan berada di bawah satu departemen tapi dapat melaksanakan beberapa proyek yang proyek2 tersebut tidak harus dikontrol oleh departemen yang sama. jam-kerja/minggu/proyek dari karyawan dicatat, tiap karyawan mempunyai supervisor Karyawan mempunyai data tentang tanggungan untuk keperluan asuransi, masing-masing tanggungan memiliki data nama, jenis kelamin, tgl lahir dan hubungannya dengan karyawan

Page 11: Data Modelling Using the Entity Relationship Model

Skema ER diagram untuk Basis Data Perusahaan

Page 12: Data Modelling Using the Entity Relationship Model

Entities and Attributes

Objek dasar dari model ER adalah entitas

Objek riil yang dapat dibedakan satu dengan lainnya dan keberadaanya tidak saling bergantungan

Entitas mungkin berupa objek yang bersifat fisik. Contoh : mobil, pegawai, rumah

Entitas Konseptual, Secara fisik tidak ada, entitas yang bersifat konsep. Contoh : perusahaan, pekerjaan, mata kuliah

Page 13: Data Modelling Using the Entity Relationship Model

Entities and Attributes

Page 14: Data Modelling Using the Entity Relationship Model

Entities and Attributes

Tiap entitas mempunyai karakteristik tertentu yang disebut Attributes, yang menggambarkan entitas.Contoh, Entitas Karyawan dapat digambarkan dengan namanya, umur, alamat, gaji. Entitas tertentu akan mempunyai nilai tertentu dari tiap atributnyaAttribute adalah Sifat yang digunakan untuk membedakan instance entitas dengan instance entitas yang lain

Page 15: Data Modelling Using the Entity Relationship Model

Types of Attrributes

Simple (Sederhana) vs Composite (Komposit)

Single-valued (bernilai tunggal) vs multivalued (bernilai banyak)

Stored (tersimpan) vs derived (turunan)

Page 16: Data Modelling Using the Entity Relationship Model

Simple (Sederhana) vs Composite (Komposit)

Atribut komposit : atribut yang terdiri dari beberapa atribut yang lebih mendasarContoh : Atribut alamat dapat terdiri dari Nama Jalan dan No RumahAtribut sederhana/atomik : atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih lebih mendasarContoh : Atribut umur

Page 17: Data Modelling Using the Entity Relationship Model

Hirarki dari atribut komposit

Page 18: Data Modelling Using the Entity Relationship Model

Single-valued (bernilai tunggal) vs multivalued (bernilai banyak)

Atribut Berharga Tunggal (Single-valued Attribute) : atribut yang hanya mempunyai satu harga untuk suatu entitas tertentu. Contoh : atribut umur hanya mempunyai satu nilai untuk satu entitas, misal 20thAtribut Berharga Ganda (Multi-valued Attribute) : atribut yang dapat terdiri dari sekumpulan harga untuk suatu entitas tertentuContoh : atribut warna dari mobil, mungkin sebuah mobil mempunyai banyak warna yaitu hitam, biru dan merah.

Page 19: Data Modelling Using the Entity Relationship Model

Stored (tersimpan) vs derived (turunan)

Dalam beberapa kasus sebuah atribut berhubungan dengan atribut yang lain.Contoh : atribut umur berhubungan dengan atribut tanggal lahir.Untuk orang tertentu atribut umur dapat dihitung dengan mengurangi tanggal sekarang dengan tanggal lahir.Maka atribut umur disebut dengan atribut turunan, yaitu diturunkan dari tanggal lahir.Atribut tanggal lahir ini maka disebut sebagai atribut tersimpan.

Page 20: Data Modelling Using the Entity Relationship Model

Atribut yang komplek dari AddressPhone

Page 21: Data Modelling Using the Entity Relationship Model

Dua entitas EMPLOYEE dan COMPANY dan anggotanya

Page 22: Data Modelling Using the Entity Relationship Model

Tipe entitas CAR dan atributnya

Page 23: Data Modelling Using the Entity Relationship Model

Null Value

Dalam beberapa kasus mungkin terjadi tidak ada sebuah nilai pun yang dapat dimasukkan kedalam atribut.(bermakna not applicable)Contoh : Jenjang pendidikan, atribut ini hanya mempunyai nilai untuk orang yang pernah bersekolah dan tamatUntuk kasus tersebut dibuatlah nilai nullNilai null juga digunakan bila nilai dari suatu atribut tidak diketahui (bermakna unknown)

Page 24: Data Modelling Using the Entity Relationship Model

Entity Types,

Entity Types (Tipe Entitas) adalah sekumpulan entitas yang mempunyai atribut yang sama

Tipe entitas dalam diagram ER dilambangkan dengan kotak.

Atribut dilambangkan dengan oval dan dihubungkan dengan tipe entitasnya melalui sebuah garis

Extension adalah sebagian dari tipe entitas

Page 25: Data Modelling Using the Entity Relationship Model

Atribut Kunci (Key Attribute) :

identifier unik dari suatu entitas karena nilai dari atribut kunci ini akan berbeda untuk masing-masing entitasdapat terdiri dari atribut sederhana/ komposit Contoh :

NomorMobil dari entitas MOBIL kompositNIM dari entitas mahasiswa sederhana

Dalam diagram ER atribut kunci diberi garis bawah.Atribut kunci tidak boleh mempunyai harga yang sama untuk entitas yang berbeda

Page 26: Data Modelling Using the Entity Relationship Model

Value Sets (Domains) of Attributes

kumpulan harga/nilai yang dapat dimiliki oleh atribut dari suatu entitas

Contoh :Atribut umur karyawan domainnya 16 sampai 70

Atribut nama pada entitas barang domainnya nama barang (sekumpulan karakter.)

Page 27: Data Modelling Using the Entity Relationship Model

Desain Konseptual Awal dari Basis Data Perusahaan (1)

Berdasarkan hasil wawancara dengan pengguna tentang kebutuhan basis data pengguna, maka dapat ditentukan empat tipe entitas

Tipe entitas Department dengan atribut Name, Number, Locations, Manager dan ManagerStartDates. Satu-satunya multivalued attribute adalah Locations. Atribut kuncinya adalah Name dan Number

Page 28: Data Modelling Using the Entity Relationship Model

Desain Konseptual Awal dari Basis Data Perusahaan (2)

1. Tipe entitas Project, dengan atribut Name, Number, Location, dan ControllingDepartment. Atribut kuncinya adalah Name dan Number

2. Tipe entitas Employee, dengan atribut Name, SSN, Sex, Address, Salary, BirthDate, Department, dan Supervisor. Name dan Address mungkin atribut komposit, karena tidak ditentukan saat wawancara pertama, maka temui kembali pengguna untuk menentukannya.

3. Tipe entitas Dependent, dengan atribut Employee, DependentName, Sex, BirthDate, dan Relationship (hubungan dengan karyawan)

Page 29: Data Modelling Using the Entity Relationship Model

Beberapa hal yang tak terlihat adalah

Jumlah jam kerja perminggu karyawan yang bekerja pada proyek tertentu karakteristik ini diperoleh dari wawancara solusinya :

Dibuat menjadi atribut composite multivalued pada Employee yang disebut WorksOn dengan komponen (Project, Hours)

Atau dapat dibuat menjadi atribut composite multivalued dari Project yang disebut Workers dengan komponen (Employee, Hours)

Page 30: Data Modelling Using the Entity Relationship Model

Preliminary DesignDEPARTMENT

Name, Number, {Locations}, Manager, ManagerStartDate

PROJECTName, Number, Location, Controlling Department

EMPLOYEEName(Fname, Minit, Lname), SSN, Sex, Address,

Salary, BirthDate, Department, Supervisor, {WorksOn(Project, Hours)}

DEPENDENTEmployee, DependentName, Sex, BirthDate,

Relationship

Page 31: Data Modelling Using the Entity Relationship Model

Implicit Relationship

Jika atribut dari salah satu entitas merujuk pada entitas yang lain maka, muncul relationship.Atribut Manager dari entitas Department merujuk pada karyawan yang memimin DepartemenAtribut ControllingDepartment dari Project merujuk pada departemen yang mengontrol ProjectAtribut Supervisor dari entitas Employee merujuk pada Employee (yang berperan sebagai supervisee dari karyawan ini)Atribut Department dari Empolyee merujuk pada Departement dimana Employee bekerja Dll

Page 32: Data Modelling Using the Entity Relationship Model

Implicit Relationship

Dalam model ER, rujukan ini tidak di wakili oleh atribut tetapi oleh relationship.

Dalam desain awal relationship pada umumnya tetangkap sebagai atribut

Dengan perbaikan desain maka atribut tersebut diubah menjadi relationship

Page 33: Data Modelling Using the Entity Relationship Model

Relationships

Relationship Types R diantara n entitas E1, E2, ….En mendefinisikan sekumpulan asosiasi diantara entitas dari tipe tersebut

R adalah sekumpulan relationship instance ri

Lihat contoh berikut :

Page 34: Data Modelling Using the Entity Relationship Model

Relationships

Page 35: Data Modelling Using the Entity Relationship Model

Degree of relationship type

Derajat relasi adalah jumlah tipe entitas yang berpartisipasi dalam relasi.Derajat relasi WORKS_FOR adalah 2.Relasi yang berderajat 2 disebut binary relationships.Relasi yang berderajat 3 disebut ternary relationships.

Page 36: Data Modelling Using the Entity Relationship Model

Ternary relationship

Page 37: Data Modelling Using the Entity Relationship Model

Role names and recursive relationships

Masing-masing tipe entitas memegang peranan dalam hubungan antar tipe entitas (relationship). Nama peran menjadi penting bila tipe entitas yang sama terlibat lebih dari satu kali pada satu relationship dengan peran yang berbeda. Relationship seperti ini dikenal dengan sebutan recursive relationship. Nama peran TIDAK PENTING bila semua tipe entitas yang terlibat tidak ada yang sama, karena nama entitas bisa mewakili menjadi peran sekaligus

Page 38: Data Modelling Using the Entity Relationship Model

Role names and recursive relationships

Page 39: Data Modelling Using the Entity Relationship Model

Constraints on relationship types

TOTAL semua karyawan HARUS bekerja pada suatu departemen (harus)

PARTIAL beberapa dari karyawan memimpin suatu departemen (tidak semua)

Page 40: Data Modelling Using the Entity Relationship Model

Cardinality Ratio

Adalah jumlah dari relationship instance yang dapat diikuti oleh entitas1 : 1 : satu entitas pada tipe entitas A berhubungan dengan satu entitas pada tipe entitas B dan juga sebaliknya, seorang manager hanya memimpin satu departemen 1 : N : suatu entitas di A dihubungkan dengan sejumlah entitas di B, satu departemen memiliki banyak karyawan M : N : sejumlah entitas di A dihubungkan dengan sejumlah entitas di B,satu proyek mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek

Page 41: Data Modelling Using the Entity Relationship Model
Page 42: Data Modelling Using the Entity Relationship Model
Page 43: Data Modelling Using the Entity Relationship Model

M:N Relationships

Page 44: Data Modelling Using the Entity Relationship Model
Page 45: Data Modelling Using the Entity Relationship Model

Attribut of Relationship Types

Tipe relasi juga bisa mempunyai atribut.

Contoh, untuk mencatat jumlah jam perminggu dari karyawan yang mengerjakan proyek, dapat ditambahkan atribut Hours pada relasi WORKS_ON

Page 46: Data Modelling Using the Entity Relationship Model

Attribut of Relationship Types (1)

Atribut dari relasi 1:1 atau 1:N dapat dipindah-pindahkan dari masing-masing entitas yang berpartisipasi dalam relasi tersebut.Contoh : Atribut StartDate dari relasi MANAGES dapat diletakkan di entitas EMPLOYEE atau DEPARTMENTTapi secara konseptual atribut StartDate adalah miliknya relasi MANAGES

Page 47: Data Modelling Using the Entity Relationship Model

Attribut of Relationship Types (2)

Untuk relasi 1:N atribut relasi hanya dapat dipindahkan ke entitas yang NContoh : dalam relasi WORKS_FOR terdapat relasi StratDate diletakkan dalam entitas EMPLOYEEUntuk relasi N:N atribut relasi ditentukan berdasarkan dari entitas yang berpartisipasi dalam relasi tersebut.

Page 48: Data Modelling Using the Entity Relationship Model

Weak Entity Type

Entitas yang tidak mempunyai atribut kunci Entitas dari WET dapat diidentifikasi dengan entitas lain yang berelasi dengan WET tersebut.Entitas lain tersebut disebut identifying owner.Relasinya disebut identifying relationship

Page 49: Data Modelling Using the Entity Relationship Model

Weak Entity Type (2)

WET selalu mempunyai batasan keikutsertaan TOTAL (existence dependency), karena WET tidak dapat diidentifikasi tanpa entitas pemiliknyaTidak semua existence dependency merupakan WETContoh : Entitas SIM tidak dapat muncul tanpa ada pemiliknya, dan entitas SIM mempunyai kunci, maka entitas SIM bukan WET

Page 50: Data Modelling Using the Entity Relationship Model

Weak Entity Type (3)

Contoh : Entitas DEPENDENT dengan atribut DependentName, BirthDate, Sex, dan Relationship dengan EMPLOYEEDua DEPENDENT dari EMPLOYEE yang berbeda mungkin mempunyai nilai yang sama untuk atribut DependentName, BirthDate, Sex, dan Relationship, tetapi keduanya tetap dianggap sebagai entitas yang berbeda

Page 51: Data Modelling Using the Entity Relationship Model

Weak Entity Type (4)

WET biasanya mempunyai partial key, yaitu sekumpulan atribut yang dapat membedakan entitas yang satu dengan yang lainnya dalam WETDapa juga digambarkan dengan multivalued composite attributPartial key digambarkan dengan garis bawah putus2

Page 52: Data Modelling Using the Entity Relationship Model

Refining ER design

Design pada halaman 25 dapat dihaluskan dengan menambahkan dengan :

Meletakkan atribut milik relasi ke relasiMenentukan cardinality ratio dan participation constrain dari tiap relasiBila cardinality ratio dan participation constrain tidak dapat ditentukan maka desainer dapat kembali ke pengguna untuk menanyakan hal tersebut

Page 53: Data Modelling Using the Entity Relationship Model

Tipe Relationship

MANAGES, Realsi 1:1 dari EMPLOYEE dan DEPARTMENTEMPLOYEE mempunyai batasan keikutsertaan partialDEPARTMENT mempunyai batasan keikutsertaan totalAtribut relasi adalah StartDate

Page 54: Data Modelling Using the Entity Relationship Model

Tipe Relationship

WORKS_FOR, Realsi N:1 dari EMPLOYEE dan DEPARTMENTEMPLOYEE mempunyai batasan keikutsertaan totalDEPARTMENT mempunyai batasan keikutsertaan totalAtribut relasi tidak ada

Page 55: Data Modelling Using the Entity Relationship Model

Tipe Relationship

CONTROLS, Realsi 1:N dari DEPARTMENT dan PROJECTPROJECT mempunyai batasan keikutsertaan totalDEPARTMENT mempunyai batasan keikutsertaan partialAtribut relasi tidak ada

Page 56: Data Modelling Using the Entity Relationship Model

Tipe Relationship

SUPERVISION, Realsi 1:N dari EMPLOYEE (sebagai sepervisor) dan EMPLOYEE (sebagai supervisee)EMPLOYEE mempunyai batasan keikutsertaan partialEMPLOYEE mempunyai batasan keikutsertaan partialAtribut relasi tidak ada

Page 57: Data Modelling Using the Entity Relationship Model

Tipe Relationship

WORKS_ON, Realsi M:N dari EMPLOYEE dan PROJECTEMPLOYEE mempunyai batasan keikutsertaan totalPROJECT mempunyai batasan keikutsertaan totalAtribut relasi adalah Hours

Page 58: Data Modelling Using the Entity Relationship Model

Tipe Relationship

DEPENDENT_OF, Realsi 1:N dari EMPLOYEE dan DEPENDENT (identifying relationship)EMPLOYEE mempunyai batasan keikutsertaan partialDPENDENT mempunyai batasan keikutsertaan totalAtribut relasi adalah tidak ada

Page 59: Data Modelling Using the Entity Relationship Model

ER diagram

Page 60: Data Modelling Using the Entity Relationship Model

Notasi Alternatif

Notasi alternatif untuk structural constraint adalah dengan pasangan angka (min, max)angka ini menunjukkan relationship instance dari entitas ybsnilai min dan max adalah 0≤min≤max dan max≥1min = 0 berarti partial participatonmin > 0 berarti total participation

Page 61: Data Modelling Using the Entity Relationship Model

Skema ER diagram untuk Basis Data Perusahaan

Page 62: Data Modelling Using the Entity Relationship Model
Page 63: Data Modelling Using the Entity Relationship Model

Skema konseptual perusahaan dalam class diagram UML

Page 64: Data Modelling Using the Entity Relationship Model

Ternary relationships

Derajat dari relationship yaitu binary dan ternary

Page 65: Data Modelling Using the Entity Relationship Model

65

Ternary Binary Relationships

CAB tidak dapat dipresentasikan sebagai three binary relationships:Alasan : binary relationships tidak dapat menangkap secara tepat informasi yang direpresentasikan oleh ternary relationship.

Customer BranchC2 B1C1 B1C2 B2

branches

accountscustomers CA

ABCB

Customer Branch AccountC2 B1 A1C1 B1 A2C2 B2 A2

??customers accountsCAB

branches

CAB relationships

Branch AccountB1 A1B1 A2B2 A2

Customer AccountC2 A1C1 A2C2 A2

Relationships for the new ER diagram (after projections)

AB CA CB

Page 66: Data Modelling Using the Entity Relationship Model

66

Ternary Binary Relationships

Tapi kumpulan relasi dari diagram asal dapat menghasilkan kumpulan binary relationship yang sama persisDengan menggunakan three binary relationships, bagaimana cara mengetahui bahwa entitas (C2,B1,A2) ada atau tidak? Informasi ini hilang saat translasi.

branches

accountscustomers CA

ABCB??

customers accountsCAB

branches

Customer Branch AccountC2 B1 A1C1 B1 A2C2 B2 A2C2 B1 A2

Customer BranchC2 B1C1 B1C2 B2

Branch AccountB1 A1B1 A2B2 A2

Customer AccountC2 A1C1 A2C2 A2

Relationships for the new ER diagram (after projections)

AB CA CB

Another set of CAB relationships

Page 67: Data Modelling Using the Entity Relationship Model

67

CAB direpresentasikan sebagai weak entity set CAB’ (called “connecting ES”)

Skema menggunakan binary relationships menangkap seluruh informasi yang ada di ternary relationship.

branches accountscustomers

CAB’

Ternary Binary Relationships (cont)

customers accountsCAB

branches

C’ B’ A’

Page 68: Data Modelling Using the Entity Relationship Model

68

Ternary relationship types. (a) The SUPPLY relationship. (b) Three binary relationships not equivalent to SUPPLY. (c) SUPPLY represented as a weak entity type.