Rancangan Basis Data/Pemodelan Data 1. Context Data Model (CDM) Berisikan pemodelan data yang tertuang dalam analisa data beserta relasi yang ada dalam bentuk ERD yang diusulkan Peter P.Chen, CDM hanya memperlihatkan item-item sebagai berikut : - Entiti - Relasi - Kardinalitas Mahaiswa
M
4/4/2012 4:31 PM
N Isi
KRS
Fathur's
M
N Pilih
Matakuliah
1
Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD)/Diagram Hubungan Entitas (DHE) Fungsi : - memodelkan data - melihat data yang akan disimpan Simbol-simbol : : - Entity Set/objek data - Kata benda Contoh : mahasiswa, pelanggan, barang, dan lain-lain : - Relationship/hubungan - Menghubungan entity set - Kata kerja contoh : kerja, ambil, isi, dan lain-lain
Atribut
: Ciri dari sebuah entity
Cardinality : - tingkat hubungan - melihat tingkat hubungan suatu relationship 1 : M (hubungan satu ke banyak) M : N (hubungan banyak ke banyak) 1 : 1 (hubungan satu ke satu) Tidak boleh ada hubungan antar relationship 4/4/2012 4:31 PM
Fathur's
2
The Entity Relationship (ER) Model • ER Modeling is a top-down approach to database design. • Entity Relationship (ER) Diagram – A detailed, logical representation of the entities, associations and data elements for an organization or business • ERD represents the conceptual database as viewed by end user • ERDs depict the ER model’s three main components: – Entities
– Attributes – Relationships 4/4/2012 4:31 PM
Fathur's
3
Entity-Relationship (ER) Modeling. • ER Modeling is a top-down approach to database design. • Entity Relationship (ER) Diagram – A detailed, logical representation of the entities, associations and data elements for an organization or business
• Notation uses three main constructs – Data entities – Relationships – Attributes 4/4/2012 4:31 PM
Chen Model & Crow’s Foot Model
Fathur's
4
Chen Notation
Association between the instances of one or more entity types EntityName
Verb Phrase
AttributeName
named property or characteristic of an entity
Person, place, object, event or concept about which data is to be maintained Represents a set or collection of objects in the real world that share the same properties 4/4/2012 4:31 PM
Fathur's
5
Entities • Refers to the entity set and not to a single entity occurrence • Corresponds to a table and not to a row in the relational environment
• In both the Chen and Crow’s Foot models, an entity is represented by a rectangle containing the entity’s name • Entity name, a noun, is usually written in capital letters 4/4/2012 4:31 PM
Fathur's
6
Entity vs. Entity Set (Entities) Entity Set (Entities) --- Student
John Smith
entity
(999-21-3415, jsmith@, John Smith, 18, 3.5)
Students in ITCS3160
999-21-3415, jsmith@, John Smith, 18, 3.5 999-31-2356, jzhang@, Jie Zhang, 20, 3.0 999-32-1234, ajain@, Anil Jain, 21, 3.8
4/4/2012 4:31 PM
Fathur's
7
Is it an entity? Rules: 1. An entity must be important to the organisation. 2. An entity must have at least one attribute. 3. An entity must occur more than once (there must be more than one customer) 4. Each entity occurrence (record) must be uniquely identifiable (customer id)
4/4/2012 4:31 PM
Fathur's
8
Entities • Examples of entities: – – – – –
Person: EMPLOYEE, STUDENT, PATIENT Place: STORE, WAREHOUSE Object: MACHINE, PRODUCT, CAR Event: SALE,REGISTRATION, RENEWAL Concept: ACCOUNT, COURSE
• Guidelines for naming and defining entity types: – – – –
An entity type name is a singular noun An entity type should be descriptive and specific An entity name should be concise (singkat) Event entity types should be named for the result of the event, not the activity or process of the event.
4/4/2012 4:31 PM
Fathur's
9
Attributes • Characteristics of entities • In Chen model, attributes are represented by ovals and are connected to the entity rectangle with a line
• Each oval contains the name of the attribute it represents • In the Crow’s Foot model, the attributes are simply written in the attribute box below the entity rectangle 4/4/2012 4:31 PM
Fathur's
10
Jenis Attribute • Composite vs Simple(atomic) Attributes • Single-valued vs Multivalued Attributes • Stored vs Derived Attributes • Null values • Complex Attributes • Key Attribute
4/4/2012 4:31 PM
Fathur's
11
Composite vs Simple (Atomic) • Composite attributes dapat dibagi ke subbagian yang lebih kecil dan merepresentasikan attribute yang lebih dasar • Simple attributes tidak dapat dibagi • Contoh: Alamat -> Jalan, Kota, Propinsi,KodePos, Negara; Jalan -> NoRumah, NamaJalan Single-valued vs Multivalued Attributes • umur -> single-valued • noTelpon -> multivalued Store vs Derived Attributes • umur -> derived attribute dari tglLahir • tglLahir -> stored attribute Null values • noTelpon -> null (jika tidak punya telpon) 4/4/2012 4:31 PM
Fathur's
12
Relationship • Manager yang mengelola suatu Department -> hubungan antara Employee dengan Department; manages • Department yang mengontrol suatu Project -> hubungan antara entity Department dengan Project; controls • Employee yang bekerja pada Department tertentu -> hubungan antara entity Employee dengan Department; works_for • Cardinality Ratios untuk relationship biner menggambarkan jumlah instances suatu entity dapat berpartisipasi Contoh: works_for; DEPARTMENT:EMPLOYEE = 1:N Kemungkinan cardinality ratios: 1:1, 1:N, N:1, M:N
4/4/2012 4:31 PM
Fathur's
13
A
M
Id_A(pk) - dt_A
A
1
Id_A(pk) - dt_A
4/4/2012 4:31 PM
1
C Id_A(fk) Id_B(fk)
1
B Id_B(pk) - dt_B
Id_A(fk) Id_B(fk) - Dt_C
Id_A(pk) - dt_A
A
N
C
B Id_B(pk) -dt_B -id_A(FK )
C Id_A(fk) Id_B(fk)
Fathur's
M
B Id_B(pk) dt_B -Id_B(fk)
14
contoh : 1. Dalam sistem perkuliahan, seorang mahasiswa dapat mengambil lebih dari satu mata kuliah, dan 1 mata kuliah dapat diambil oleh lebih 1 mahasiswa. ERD-nya adalah : Mahaiswa NIM (PK) Nama Alamat
M
ambil NIM (FK) KdKul (FK) Nilai
N
Mata kuliah KdKul (PK) NamaKul sks
2. Dalam sistem kepegawaian, jika asumsi seorang pegawai dapat memegang lebih dari satu jabatan dan satu jabatan hanya dapat dipegang oleh satu pegawai, maka ERD-nya adalah ?
4/4/2012 4:31 PM
Fathur's
15
STUDI KASUS 1 Perhatikan contoh 2 formulir masukkan dalam sistem koperasi simpan pinjam berikut : Formulir Anggota Koperasi No. Anggota Nama Alamat Telepon Tempat Lahir Tgl Lahir
: ………… : ………………….. : …………. : …………. : …………. : ……………
Formulir Peminjaman Uang No. Pinjam No. Anggota Nama Jumlah Angsuran/bulan
: ………… : ………… : …… : ……….. : ….
Tanggal : …… Frekuensi : …. Bunga : …..
Dalam sistem koperasi simpan pinjam tsb serorang anggota dapat meminjam lebih satu kali jika pinjaman sebelumnya sudah lunas. Buatkan ERD nya ! 4/4/2012 4:31 PM
Fathur's
16
Jenis-Jenis Entitas : 1. Weak Entity (Entitas lemah) Terjadi bila sebuah entity tidak memiliki primary key bergantung pada strong key Contoh : Pegawai
1
M
Isi
* NIP - Nama - Alamat
Pinjaman * NoPinj - tgl - jum - ferk
4/4/2012 4:31 PM
Absensi - tanggal - jum_masuk - jum_keluar
M
angsu r * NoPinj
Fathur's
N
Angsuran - tglBayar - Jum_Angsur
17
Jenis-Jenis Entitas : 2. Agregation (Agregasi) Terjadi bila dua buah entiti yang berlesai akan direlasikan ke entiti lain. Contoh ; Anggota
M
pinja m * Noang * NoBuku
* Noang - Nama - Alamat
N
Buku * NoBuku - Judul
M * Noang * NoBuku * Kd_Denda - Jumlah
Kembal i N
Denda
4/4/2012 4:31 PM
* Kd_Denda - Jenis
Fathur's
18
Jenis-Jenis Entitas : 3. Spesialisasi dan Generalisasi (Is A) Terjadi bila terdapat beberpa atribut pada beberapa entiti dengan Primary Key (PK) yang sama. Contoh : Koleksi * No_Koleksi - Tgl_Beli Is A Buku - Judul - Pengarang - Harga
Skripsi - Judul - NRP
Pegawai
Majalah - Nama - Edisi - Harga * NIP - Nama
Is A Tetap - GajiPokok - t_anak - t_sehat
4/4/2012 4:31 PM
Honorer - Upah_Hari - UpahLembur Fathur's
19