Sistem Basis Data Pertemuan 3 : Modeling Data in Organization Andronicus Riyono, M.T.
Pemodelan data adalah kegiatan analisis Project Identification and Selection Project Initiation and Planning Purpose thorough analysis Deliverable functional system specifications Analysis Logical Design Physical Design Database activity conceptual data modeling Implementation Maintenance
Business Rules Pernyataan yang mendefinisikan atau membatasi beberapa aspek bisnis Menjelaskan mengenai struktur bisnis Mengatur atau mempengaruhi perilaku bisnis Dijelaskan dalam kosakata yang sesuai dengan lingkungan pengguna Difasilitasi oleh DBMS software
Contoh Aturan Bisnis Sebuah Perusahaan memiliki beberapa Departemen Setiap Departemen memiliki seorang Supervisor Setiap Departemen memiliki minimum satu orang Pegawai Pegawai bekerja untuk minimal satu Departemen Pegawai dapat bekerja untuk beberapa Departemen
Aturan bisnis yang baik Declarative what, not how Precise clear, agreed-upon meaning Atomic one statement Consistent internally and externally Expressible structured, natural language Distinct non-redundant Business-oriented understood by business people
E-R Model Constructs Entity instance - orang, tempat, benda, kejadian, konsep (biasanya merupakan suatu baris dalam tabel) Entity type - sekumpulan entities (biasanya merupakan suatu tabel) Attribute - sifat/karakteristik suatu entity (jenis data yang disimpan, suatu kolom dalam tabel) Relationship instance - keterkaitan antar entity (primary key-foreign key dalam tabel-tabel) Relationship type - kategori dari suatu relasi.. keterkaitan antar entity types
Contoh diagram E-R
Basic E-R Notation Entity symbols A special entity that is also a relationship Relationship symbols Attribute symbols
Entity adalah Entity adalah? Suatu obyek yang akan memiliki banyak instances dalam database Obyek yang memiliki berbagai attribute Obyek yang dimodelkan Entity bukanlah Pengguna sistem basis data Output dari sistem (misal: laporan)
Inappropriate entities System user System output Appropriate entities
Attribute Attribute - sifat/karakteristik suatu entity Pengelompokan attribute Simple vs Composite Attributes Stored vs Derived Attributes Identifier Attributes Single-valued vs Multivalued Attribute
Identifiers (Keys) Identifier (Key) - Suatu attribute (atau kombinasi beberapa attribute) yang mengidentifikasi secara unik suatu entity instance Simple Key vs Composite Key Candidate Key - attribute yang bisa menjadi sebuah Key, memenuhi syarat sebuah Key
Karakteristik Identifier Tidak akan berubah nilainya Natural vs Sy Tidak akan berupa NULL (kosong)
Composite Attribute
Simple Key Attribute
Composite Key Attribute
Multivalued & Derived attribute What s wrong with this? Derived from date employed and current date Multivalued: an employee can have more than one skill
Multivalued Composite This is an example of time-stamping
More on Relationships Relationship Types vs. Relationship Instances relationship type is modeled as the diamond and lines between entity types the instance is between specific entity instances Relationships can have attributes These describe features pertaining to the association between the entities in the relationship Two entities can have more than one type of relationship between them (multiple relationships) Associative Entity = combination of relationship and entity
Degree of Relationships Degree of a relationship: jumlah entity type yang terkait dalam sebuah relationship Unary Relationship Binary Relationship Ternary Relationship
Contoh relationship degrees One entity related to another of the same entity type Entities of two different types related to each other Entities of three different types related to each other
Cardinality of Relationships One to One Setiap entity instance akan terkait dengan satu entity instance lain dalam one-to-one relationship One to Many Setiap entity instance dari sisi one dapat terkait dengan banyak entity instance di sisi many. Namun setiap entity instance yang berada di sisi many akan terkait dengan satu entity saja Many to Many Entity instance dari kedua sisi dapat terkait dengan banyak entity instance di sisi lain
Cardinality Constraints Cardinality Constraints - jumlah entity instance dari suatu entity yang dapat atau harus terkait dengan entity instance dari entity type lain. Minimum Cardinality (jumlah minimum) Jika 0, berarti tidak harus (optional) Jika 1 atau lebih, berarti harus (mandatory) Maximum Cardinality (jumlah maksimum) Jumlah maksimum yang diperbolehkan
Relationship Cardinality
Unary Relationships
Binary Relationships
Ternary Relationships
Basic relationship with only maximum cardinalities showing Mandatory minimum cardinalities
Optional cardinalities with unary degree, one-to-one relationship
Relationship type Entity and Relationship instances
A binary relationship with an attribute Relationship dapat memiliki attribute. Dalam contoh ini, tanggal selesai kursus (Date_Completed) terkait dengan Pegawai mengikuti Kursus... Tanggal tersebut adalah attribute dari sebuah relationship.
A ternary relationship with attributes
A unary relationship with an attribute. This has a manyto-many relationship Representing a bill-of -materials structure
Examples of multiple relationships entities can be related to one another in more than one way Employees and departments o
Professors and courses (fixed upon constraint) Max cardinality constraint = 4 Profesor hanya boleh mengajar maksimum 4 matakuliah
Multivalued attribute dan bagaimana mengubahnya menjadi relationship.
Strong vs. Weak Entities, and Identifying Relationships Strong entities Tidak tergantung dengan keberadaan entity lainnya. Dapat berdiri sendiri. Memiliki identitas uniknya sendiri Digambarkan dengan persegi panjang dengan satu garis Weak entity Tergantung terhadap suatu strong entity... Tidak dapat berdiri sendiri. (Tidak mungkin ada tanpa strong entity) Tidak memiliki identitas unik sendiri (sebagian dari identitasnya berasal dari strong entity) Digambarkan dnengan persegi panjang dengan garis ganda Identifying relationship Relationship yang menghubungkan strong dan weak entity Digambarkan dengan belahketupat dengan garis ganda
Figure 3-5: Strong and weak entities Strong entity Identifying relationship Weak entity
Associative Entities Merupakan sebuah entity memiliki attributes Dan juga sebuah relationship menghubungkan entities Kapan digunakan relationship dengan attributes dan kapan digunakan associative entity? Semua relationships associative entity pasti many Associative entity dapat memiliki makna yang tersendiri. (misal, sertifikat sebagai associative entity antara peserta dan pelatihan) Associative entity akan lebih baik jika memiliki identitas unik dan harus memiliki atribut lain (Nomor_Sertifikat, Tanggal_Sertifikat) Associative entity dapat memiliki relationship ke entity lain yang bukan berasal dari relasi awal yang membentuknya Ternary relationships harus dijadikan associative entities
An associative entity (CERTIFICATE) Associative entity involves a rectangle with a diamond inside. Note that the many-to-many cardinality symbols face toward the associative entity and not toward the other entities
an associative entity bill of materials structure This could just be a relationship with attributes it s a judgment call
Figure 3.18 -- Ternary relationship as an associative entity
Contoh E-R diagram for Pine Valley Furniture dari buku Modern Database Management