chap003-Data Modeling

26
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Oleh: Deviansah Said Ristati

Transcript of chap003-Data Modeling

Page 1: chap003-Data Modeling

Chapter 3

Data Modeling

Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.

Oleh:Deviansah Said

Ristati

Page 2: chap003-Data Modeling

Learning Objectives

• Understand the purpose of structure models (Memahami tujuan dari model struktur)

• Understand and apply the building blocks for UML class or structure Diagrams. (Memahami dan menerapkan standart diagram struktur dariUML Kelas atau struktur Diagram)

• Describe multiplicities for a UML Class Diagram (menjelaskan multiplikasi untuk UML kelas Diagram)

• Understand how to implement a relational database from a UML Class Diagram (Memahami bagaimana menerapkan hubungan database dariUML kelas Diagram)

• Describe business rules and various forms of rules (menjelaskan aturan bisnis dan berbagai bentuk aturan)

3-2

Page 3: chap003-Data Modeling

Types of Business Models(Jenis Model Bisnis)

3-3

LO# 1

Page 4: chap003-Data Modeling

Structure Models

• Describe the data and information structures inherent in a business process(Menggambarkan data dan struktur informasi yang melekatdalam proses bisnis)

• Create a blueprint for the development of a relational database to support the collection, aggregation, and communication of process information (Membuat rancangan dari data untuk pengembanganhubungan database untuk mendukung pengumpulan, agregasi, dan proses komunikasi informasi)

• Facilitate the use of databases after they are implemented (Memfasilitasi penggunaan database setelah merekadilaksanakan)

3-4

LO# 1

Page 5: chap003-Data Modeling

Unified Modeling Language (UML)

• UML class diagram notation for structure models(notasi diagram kelas UML untuk model struktur)

• Specifications for UML maintained by the Object Management Group, a not-for-profit consortium of computer industry members(Spesifikasi untuk UML dikelola oleh Object Management Group, tidak-untuk-profit konsorsium anggota industri komputer)

• UML also includes notation for several other types of diagrams, including several structure diagrams, behavior diagrams, and interaction diagrams(UML juga termasuk notasi untuk beberapa jenis lain dari diagram, termasukbeberapa diagram struktur, diagram perilaku, dan diagram interaksi)

• Class diagrams describe the logical structure of a database system(diagram kelas menggambarkan struktur logis dari sistem database)

3-5

LO# 2

Page 6: chap003-Data Modeling

UML Class Diagram – Building Blocks

• Classes are separately identifiable collections of things about which the organization wants to collect and store information(Kelas adalah pemisahan koleksi yang diidentifikasi dari suatu halyang mana organisasi ingin mengumpulkan dan menyimpaninformasi)

• Associations depict the relationship between two classes(Asosiasi menggambarkan hubungan antara dua kelas)

• Multiplicities describe the minimum and maximum number of times instances of one class can be associated with instances in another class(Multiplikasi menggambarkan banyaknya jumlah minimum dan maksimumcontoh satu kelas dapat dikaitkan dengan contoh di kelas lain)

3-6

LO# 2

Page 7: chap003-Data Modeling

UML Class Diagram - Classes• Classes can represent

– organization resources [e.g., trucks, machines, buildings, cash, investments](Kelas dapat mewakili sumber organisasi (misalnya, truk, mesin, bangunan, uang tunai, investasi)

– persons (e.g., customers, employees) (orang -> misalnya, pelanggan, karyawan)

– events (e.g., sales, purchases, cash disbursements, cash receipts), and conceptual structures (e.g., accounts, product categories, budgets)(peristiwa (misalnya, penjualan, pembelian, pengeluaran kas, penerimaan kas), dan struktur konseptual (misalnya, akun, kategori produk, anggaran)

3-7

LO# 2

Page 8: chap003-Data Modeling

UML Class Diagram - Associations

• Associations depict the (business) relationship between two classes

3-8

LO# 2

Page 9: chap003-Data Modeling

UML Class Diagram - Multiplicities

• Multiplicities describe the minimum and maximum number of times instances in one class can be associated with instances in another class

3-9

Each Person owns a minimum of 0 and a maximum of many Autos. Each Auto is owned by a minimum of 1 and a maximum of 1 Person

LO# 2

Page 10: chap003-Data Modeling

Business Process Pattern

Classes (also called

entities/objects) Associations (relationships)

3-10

LO# 2

Page 11: chap003-Data Modeling

Attributes

• Attributes are data elements that describe the characteristics of instances in a class (or rows in a table)(Atribut adalah elemen data yang menggambarkan karakteristik dari contoh di kelas(atau baris dalam tabel)

• The full specification of attributes, i.e., a data dictionary, would also include data type, default value (if any), constraints on the value (such as minimum and maximum possible values), and other descriptive information)(Spesifikasi lengkap dari atribut, yaitu, kamus data, juga akan termasuk tipe data, nilaidefault (jika ada), kendala pada nilai (seperti minimum dan mungkin nilai maksimum), dan informasi deskriptif lainnya)

• Attributes include the primary keys that uniquely define instances of the class, foreign keys that support the links between classes shown in the associations, and other data elements for each class(Atribut termasuk kunci utama yang unik mendefinisikan contoh kelas, kunci asing yang mendukung hubungan antara kelas ditampilkan dalam asosiasi, dan elemen data lain untuk masing-masing kelas)

• Attributes will be specified in a table listing that accompanies each class diagram(Atribut akan ditentukan dalam tabel daftar yang menyertai setiap diagram kelas)

3-11

LO# 2

Page 12: chap003-Data Modeling

Primary Keys

• “Primary Key” adalah kunci utama dari suatu tabel yangmenunjukkan bahwa yang menjadi kunci tersebut tidak bisadiisi dengan data yang sama, atau dengan kata lain Primarykey menjadikan tiap record memiliki identitas sendiri-sendiriyang membedakan satu sama lainnya (unik).

• Kunci utama tidak boleh kosong

• Kunci utama harus dikontrol oleh organisasi yang memberikan, sehingga tidak akan berubah dari waktu ke waktu

3-12

LO# 2

Page 13: chap003-Data Modeling

Primary KeysContoh yang tepat dalam menggunakan primary keys :1) Apakah Anda menggunakan nomor jaminan sosial sebagai kunci

utama?Tidak , karena ada pembatasan hukum dan tidak semua orang memiliki nomor jaminan sosial

2) Apakah Anda menggunakan nama orang sebagai kunci utama?Tidak , karena nama-nama orang tidak unik

3) Apakah Anda menggunakan nomor telepon sebagai kunci utama?Tidak, karena nomor telepon seseorang dapat berubah dari waktu ke waktu

4) Apakah Anda menetapkan kunci utama menggunakan nomor urut?Ya, karena lebih mudah untuk mengidentifikasi kesenjangan dan Anda dapat mengontrol jumlah

3-13

LO# 2

Page 14: chap003-Data Modeling

Foreign Keys

• Sebuah atribut atau kombinasi atribut yang memungkinkan tabel dihubungkan bersama-sama, Jadi Foreign Key adalahkolom atau field pada suatu tabel yang berfungsi sebagaikunci tamu dari tabel lain. Foreign Key sangat berguna bilakita bekerja dengan banyak tabel yang saling berelasi satusama lain.

• Pengimplementasian hubungan antara kelas (dan tabel yang dihasilkan) ditunjukkan oleh asosiasi

• Dalam model berikut, kunci utama dari kelas PERSON akan menjadi kunci asing di kelas AUTO untuk melaksanakan asosiasi

3-14

LO# 2

Page 15: chap003-Data Modeling

Table Listing - Example

3-15

Customers [Customer_Number (PK), Customer_Name, Customer_City, Customer_State, Customer_Zip, Customer_Phone]

Orders [Order_Number (PK), Order_Date, Delivery_Date, Order_Amount, Shipping_Cost,

Customer_Number (FK)] Order_Items [Order_Number + Product_Number (PK), Quantity_Ordered, Price] Inventory [Product_Number (PK), Product_Description, Quantity_on_Hand (QOH), Unit_of_Issue,

Current_List_Price, Standard_Cost]

LO# 2

Page 16: chap003-Data Modeling

Notasi UML Hubungan Lainnya

• UML menyediakan notasi khusus untuk mendukung jenis hubungan:GeneralisasiPengumpulanKomposisi

• Notasi husus ini merupakan bentuk tangan pendek, tetapi masing-masing juga dapat dimodelkan menggunakan notasi dasar yang dijelaskan sebelumnya

3-16

LO# 2

Page 17: chap003-Data Modeling

Hubungan Notasi Khusus

3-17

LO# 2

Page 18: chap003-Data Modeling

Menerapkan Database dari Diagram Kelas

1. Map classes to tables

2. Map class attributes to table fields and assign primary keys

3. Map associations to foreign keys

4. Create new tables to implement many-to-many relationships

3-18

LO# 4

Page 19: chap003-Data Modeling

1. Map Classes to Tables

3-19

LO# 4

Page 20: chap003-Data Modeling

2. Map Class Attributes to Table Fields and Assign Primary Keys

3-20

LO# 4

Page 21: chap003-Data Modeling

3. Map one-to-many associations to foreign keys

3-21

One-to-many associations are defined by the maximum multiplicity on each end of the association. The rule of thumb is to go toward the * to post the foreign key. So, in the model above, the primary key of STATE would be a foreign key in AUTO; the primary key of PERSON would be also be a foreign key in AUTO. See Table 1 in Chapter 3 for a listing of posting rules based on multiplicities.

LO# 3

Page 22: chap003-Data Modeling

4. Create New Tables to Implement Many-to-Many Relationships

3-22

Many-to-many associations require the creation of a new, linking table to implement the association. So, in the model above, the association between DEALERS and AUTO would be implemented with a new table DEALER-AUTO with a primary key formed as the combination of primary keys from the two classes.

LO# 3

Page 23: chap003-Data Modeling

Aturan Bisnis

• Aturan bisnis adalah mendifinisikan beberapa aspek bisnissebagai batasan yang harus diikuti ketika sistem beroperasi.

• Klasifikasi aturan bisnis:

1. Batasan struktural yaitu aturan-aturan yang mendifinisikanstruktur statis organisasi.

2. Batasan operasional yaitu aturan-aturan yang membatasioperasi yang sedang berjalan.

• Contoh dari aturan bisnis ;

1. Jika berbelanja dengan lebih dari Rp 200,000, makapembeli akan dapat satu buah handuk.

2. Setiap mencuci motor atau mobil lebih dari 3 kali, makapelanggan mendapatkan satu kali cuci gratis.

3-23

LO# 4

Page 24: chap003-Data Modeling

• Schema memberikan deskripsi hubungan logikantar data dalam bisnis data secara lengkap. Didalam schema terdapat nama dan deskripsisemua atribut, record dan batasan nilai untuksemua aplikasi yang menggunakan basis data tersebut.

24

Page 25: chap003-Data Modeling

Jenis Aturan Bisnis

1. Wajib

Formulir Aturan ini menyatakan apa yang harus terjadi.Contoh: pembayaran harus dilakukan dalam U. S. dolar.

2. Dilarang

Bentuk Aturan ini menyatakan apa yang seharusnya

tidak terjadi. Contoh tidak ada pembayaran dengan cek.

3. Diizinkan

Bentuk Aturan ini mengatakan apa yang diperbolehkan

dalam kondisi tersebut. Contoh pembayaran kartu kredit

diperbolehkan jika kartu tersebut American Express.

3-25

LO# 5

Page 26: chap003-Data Modeling

Penegakan Aturan Bisnis

• Aturan harus ditegakkan

• Tingkat penegak adalah:1. Penegakan hukum secara tegas - tidak ada pelanggaran yang diperbolehkan2. Pre-override - pelanggaran diperbolehkan jika resmi di muka3. Post-override - pelanggaran diizinkan jika disahkan setelah pelanggaran4. Guidelines - aturan diikuti tapi tidak ditegakkan

3-26

LO# 5