Model Relasional. Mata Ajar Basis Data 1

dokumen-dokumen yang mirip
System Technology Database 1. 2 Model Relational. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1

Pendahuluan. Tujuan MODUL

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

PERTEMUAN 4 Model Data Relational

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Pemetaan Diagram (E)ER ke Skema Relasional. Mata Ajar Basis Data 1

Basis Data I. Pertemuan Ke-4 & ke-5 (Model Relasional Part 1) Noor Ifada.

Konsep model relasional

Database Systems: Ch. 3: The Relational Model. History of The Relational Model. Learning Objectives

PERTEMUAN 5. Model Data Relational (Lanjut)

Bab 2 Pemodelan Data Menggunakan

C H A P T E R. Copyright 2005 PENS-ITS

Pemetaan Diagram (E)ER ke Skema Relasional

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

PERTEMUAN 3. Model E-R (Lanjutan)

Laboratorium Database PENS C H A P T E R. Arif Basofi, S.Kom, MT. Teknik Informatika - PENS

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

BAB 3 MODEL RELASIONAL

Minggu ke - 5 Basis Data 1. ER-D mapping to Model Relasional dan 1NF Normalisasi Database

Basis Data. Pemetaan ER Diagram ke Bentuk Skema Relasi Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

MODEL RELASIONAL. Alif Finandhita, S.Kom

BAB 1 PENDAHULUAN. Oracle Form Badriyah

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

Model Relasional. Basis Data. Pengertian

MODEL DATA RELASIONAL

Model Relasional Basis Data

Database Design I. TPI4210 Sistem dan Teknologi Informasi

PERTEMUAN 2 MODEL DATA MODEL ENTITY RELATIONSHIP ( MODEL E-R)

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Basis Data (2) Model Data & Skema

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

SISTEM BASIS DATA II S A N T I W I D I A N T I

PERANCANGAN BASIS DATA

KETERAMPILAN KOMPUTER 2B** (IT :S1-SA) Pertemuan 7. Database Dbase IV AHMAD HIDAYAT

Review Basis Data 1. by: Ahmad Syauqi Ahsan

Sistem Basis Data. Chapter 5: Logical Database Design and the Relational Model Andronicus Riyono, M.T.

INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA 1 (MI) KODE / SKS KK / 2 SKS

Enhanced Entity Relationship. Mata Ajar Basis Data 1

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

BAB III PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

BAB 3 MEMBUAT MASTER-DETAIL FORM

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus :

MODEL DATA RELASIONAL

di definisikan hanya dengan memperhatikan functional dependencies dan key constrains

INTERNET PROGRAMMING DATABASE

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

STRUCTURE QUERY LANGUAGE DDL & DML

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Pengenalan Basis Data

INTEGRITAS DAN KEAMANAN BASIS DATA. Alif Finandhita, S.Kom, M.T

P7 Perancangan Database

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

BASIS DATA MODEL RELASIONAL

-DATABASE (BASIS DATA)- Nama : Novriansyah Kelas : 2.DB.10 NPM : Dosen : Leli Safitri

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

SISTEM BASIS DATA Imam Asrowardi, S.Kom.

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

Modul Praktikum Basis Data 4 Relasi Table

SISTEM BASIS DATA. Pertemuan 3. Nizar Rabbi Radliya 3 SKS Semester 2 S1 Sistem Informasi

MUHAMMAD ZEN S. HADI, ST. MSC.

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Basis Data. Model E R (Lanjutan)

BASISDATA. Basis Data Secara Umum

MEMAHAMI KONSEP DATABASE. Oleh : Yuhefizar, S.Kom

BAB 3 ANALISIS DAN PERANCANGAN. Dalam kasus generalisasi/spesialisasi atau yang biasa disebut dengan

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Praktikum Basis Data 14 Structure Query Language 2

ANALISA & PERANCANGAN SISTEM

DESAIN DATABASE. Pertemuan 06 3 SKS

SQL (Structured Query Language)

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

Pertemuan 5 TEHNIK NORMALISASI

Tabel dan Key dalam Database Tipe data dan Karakter pada Database. Author : Minarni, S.Kom.,MM

BASIS DATA SKEMA BASIS DATA

Relational Database & Pemodelan Data [Review]

PENERAPAN CONSTRINE TABLE PADA DATABASE

Abstraksi Data (Arsitektur DBMS)

Basis Data. Bagian II Pemahaman Data dan Sistem Basisdata. - team basisdata -

Basis Data. DDL & Aturan Referential

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

Konsep Normalisasi dan Anomali Tabel

Database System 4 Normalization

PERTEMUAN 11 CONSTRAINT. Tujuan Pembelajaran : Memahami definisi Constraint Dapat Membuat Constraint Dapat Melakukan pemeliharaan Constraint

B a s i s D a t a - 1 C H A P T E R. SQL - Basic. Copyright 2005 PENS-ITS

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

Demi Masa.. Sesungguhnya Manusia Berada Dalam Kerugian Bila Tidak Memanfaatkan Waktu Dengan Sebaiknya.. (sebuah renungan untuk diri )

Memahami tujuan penggunaan basis data Memahami elemen-elemen Basis Data Mampu mengidentifikasi tabel dan atribut dalam suatu basis data

BAB 2 LANDASAN TEORI

DATA DEFINITION LANGUAGE

Perancangan Basis Data

Model Relational. S# Nama Status Kota S1 Hanato 20 Bandung S2 Andi 10 Jakarta S3 Shy 25 Surabaya S4 Tina 20 Medan

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System)

Transkripsi:

Model Relasional Mata Ajar Basis Data 1

Tujuan Pemelajaran Setelah mengikuti pemelajaran pada topik ini, Anda diharapkan dapat menjelaskan: konsep-konsep model relasional constraints pada basis data relasional operasi-operasi modifikasi pada relasi Content Development GDLN Batch 2 2

Outline 1. Konsep-Konsep Model Relasional 2. Relational Integrity Constraints 3. Operasi-Operasi untuk Memodifikasi Relasi Content Development GDLN Batch 2 3

Konsep-Konsep Model Relasional Content Development GDLN Batch 2 4

Konsep-Konsep Model Relasional Model relasional berdasarkan pada konsep relasi dalam matematika Model relasional menjadi kokoh karena dukungan fondasi formal tentang teori relasi Model relasional pertama diajukan oleh Dr. E. F. Codd, peneliti IBM, pada tahun 1970 pada paper: A Relational Model for Large Shared Data Banks, Communication of ACM, June 1970 Paper ini menyebabkan revolusi besar pada bidang manajemen basis data; Dr. Codd memenangkan ACM Turing Award Content Development GDLN Batch 2 5

Representasi Entity Type FName SSN BirthDate LName Name EMPLOYEE Sex Address EMPLOYEE SSN FName LName BirthDate Sex Address Content Development GDLN Batch 2 6

Contoh: Tabel, Bukan Relation Content Development GDLN Batch 2 7

Karakteristik Relation SSN FName LName BirthDate Sex Address 0606007800 Ahmad Zakky 10-4-87 M Jakarta 0607001123 Gede Saraswati 19-9-87 F Denpasar 0607330012 Bayu Wirawan 12-12-86 M Jimbaran Karakteristik relation: Tiap baris berisi data tentang sebuah entity Kolom-kolom berisi data tentang attribute dari suatu entity Satu sel pada tabel berisi satu data tunggal Seluruh entry pada satu kolom memiliki domain yang sama Tiap kolom memiliki nama yang unik Urutan kolom tidak penting Urutan baris tidak penting Tidak ada 2 baris yang identik Content Development GDLN Batch 2 8

Terminologi Model Relasional relation name attribute EMPLOYEE SSN FName LName BirthDate Sex Address 0606007800 Ahmad Zakky 10-4-87 M Jakarta 0607001123 Gede Saraswati 19-9-87 F Denpasar tupple 0607330012 Bayu Wirawan 12-12-86 M Jimbaran Domain (FName) = char (10) Domain (Tgl_Lahir) = date Degree (EMPLOYEE) = 6 Cardinality (EMPLOYEE) = 3 Content Development GDLN Batch 2 9

Definisi Formal Skema Relasi Skema relasi (relation schema) adalah relasi yang memiliki nama, didefinisikan oleh himpunan pasangan attribute dan domainnya. Notasi: Contoh: R(A 1, A 2, A n ) R menyatakan nama relasi, A 1, A 2, A n menyatakan nama attribute EMPLOYEE (SSN, FName, LName, Sex, Salary) menyatakan bahwa relasi bernama EMPLOYEE didefinisikan pada 5 attribute: SSN, FName, LName, Sex, Salary) Domain(SSN) = Number(9), Domain(FName) = Char(10), Domain(LName) = Char(10), Domain(Sex) = Char(1), Domain(Salary) = Currency Content Development GDLN Batch 2 10

Definisi Formal Tuple Tuple adalah barisan (himpunan terurut) dari nilainilai yang masing-masing berada dalam domain tertentu Dinyatakan dalam < > Contoh tuple dari EMPLOYEE: <0606007800, Ahmad, Zakky, 10-4-87, M, Jakarta > Disebut sebagai 6-tuple karena punya enam nilai Relasi adalah himpunan dari tuple Content Development GDLN Batch 2 11

Definisi Formal Domain Suatu domain memiliki definisi lojikal tertentu. Contoh: Nomor Telepon di Indonesia adalah 12 digit nomor telepon yang sah di Indonesia Domain juga merupakan tipe data atau format yang didefinisikan untuk suatu attribute. Nomor telepon di Indonesia memiliki formal xxxx-yyyyyyyy dimana x dan y berupa bilangan desimal, xxxx menyatakan kode area dan yyyyyyyy menyatakan nomor telepon. Domain tanggal (date) memiliki beberapa format. Misal ddmm-yyyy, mm-dd-yyyy, dd-mm-yy, dan sebagainya Nama attribute menyatakan peran yang diperankan oleh domain pada sebuah relasi Contoh: domain date digunakan untuk mendefinisikan 2 attribute bernama invoice-date dan payment-date dengan makna yang berbeda. Content Development GDLN Batch 2 12

Definisi Formal State Relation state adalah subset dari cartesian product dari domain attribute-attributenya. Setiap domain berisi himpunan semua nilai yang mungkin yang dapat diambil oleh attribute. Misal: attribute nama didefinisikan pada domain string (barisan karakter) sepanjang maksimal 20 karakter. Diberikan R(A 1, A 2,, A n ) r(r) dom (A 1 ) X dom (A 2 ) X...X dom(a n ) r(r) menyatakan state (atau nilai atau populasi tertentu) dari R, yakni himpunan tuple dari R. r(r) = {t 1, t 2,, t n } dimana tiap t i merupakan sebuah n-tuple t i = <v 1, v 2,, v n > dimana tiap v j merupakan anggota dom(a j ) Content Development GDLN Batch 2 13

Contoh Diberikan skema relasi R(A 1, A 2 ) dengan dom(a 1 ) = {0,1} dom(a 2 ) = {a,b,c} Maka dom (A 1 ) X dom (A 2 ) adalah semua kombinasi yang mungkin, yakni: {<0,a>, <0,b>, <0,c>, <1,a>, <1,b>, <1,c> } Contoh state dari R: {<0,a>, <1,a>, <1,c> } Content Development GDLN Batch 2 14

Skema Basisdata Skema basis data (database schema) adalah kumpulan skema relasi, masing-masing memiliki nama berbeda. Notasi S = {R 1, R 2, R n } R 1, R 2, R n adalah nama-nama skema relasi dalam basis data S Content Development GDLN Batch 2 15

Skema Basisdata COMPANY Content Development GDLN Batch 2 16

Terminologi yang Ekuivalen Meskipun tidak semua tabel merupakan relation, terminologi ini seringkali dipakai secara bergantian Formal (Relational Model) Relation Tuple Attribute Domain Schema of a relation State of the relation Non Formal Table (File) Row (Record) Column Header (Field) All possible column values Table definition Populated table Content Development GDLN Batch 2 17

Latihan Dari beberapa tabel berikut, mana yang merupakan relation pada basis data relasional? R1 A B C D R2 A B C D a2 {b1, b2} c1 d5 a2 b2 c6 d1 a2 b7 c9 d5 a2 b7 c9 d5 a2 b23... c22 d1 a2 b7 c9 d5... R3 E# Ename AGE ADDRESS E2 Diamond 45 1888 Buford Hyw. E1 Smith 30 3302 Peachtree Rd., Atlanta, GA E3 Evan Baker Ct. Atlanta Content Development GDLN Batch 2 18

Relational Integrity Constraints Content Development GDLN Batch 2 19

Perlunya Integrity Constraints Integrity Contraints: kondisi-kondisi yang harus dipenuhi pada semua relation state yang valid DNo menyatakan nomor departemen tempat seorang pegawai bekerja. Apa yang terjadi jika user diperbolehkan menghapus sebuah departemen? EMPLOYEE SSN FName LName BirthDate Sex Address SuperSSN DNo DEPARTMENT DName DNumber Content Development GDLN Batch 2 20

Klasifikasi Relational Integrity Constraints Key Constraints Utama Entity Integrity Constraints Referential Integrity Constraints Domain Constraints Lainnya (Semantik) Transition Constraints Set Constraints DBMS menangani hanya sebagian! Content Development GDLN Batch 2 21

Relational Keys Superkey Candidate key Primary key Alternate key Sebuah attribute, atau kumpulan attribute yang dapat mengidentifikasi tuple dalam sebuah relasi Merupakan superkey minimal, sehingga tidak ada subset dari superkey ini yang dapat mengidentifikasi tuple dalam sebuah relasi Candidate key yang dipilih untuk mengidentifikasi tuple secara unik dalam sebuah relasi (Ditandai dengan garis bawah). Candidate key yang tidak dipilih menjadi primary key Content Development GDLN Batch 2 22

Contoh Relational Key SSN FName LName BirthDate Sex Address 0606007800 Ahmad Zakky 10-4-87 L Jakarta 0607001123 Gede Saraswati 19-9-87 P Denpasar 0607120012 Bayu Wirawan 12-12-86 L Jimbaran 0607121023 Satya Wirawan 12-12-86 L Jimbaran 0607131240 Fira Bahira 1-3-87 P Jakarta 0607132222 Nayla Putri 1-9-86 P Depok Super key: SSN, {SSN, Lname}, {FName, BirthDate}, {FName, Sex}, Primary Key: SSN Candidate key: SSN, FName Alternate Key: FName Content Development GDLN Batch 2 23

Relational Keys Foreign key Satu atau lebih attribute dalam sebuah relasi yang match dengan primary key dari relasi lain yang berhubungan dengannya. (Atau match dengan relasi itu sendiri pada recursive relationship) Content Development GDLN Batch 2 24

Contoh Foreign Key FName SSN BirthDate Address Name Number Name EMPLOYEE WORKS_FOR DEPARTMENT LName Sex Supervisor Supervisee Locations SUPERVISION EMPLOYEE SSN FName LName BirthDate Sex Address SuperSSN DNo DEPARTMENT DName DNumber Content Development GDLN Batch 2 25

Entity Integrity Constraints Setiap relasi harus memiliki primary key Attribute-attribute yang merupakan primary key tidak boleh bernilai NULL Catatan: attribute lain kadang-kadang juga dibatasi agar tidak bernilai NULL, meskipun bukan primary key (sesuai requirement-nya) Content Development GDLN Batch 2 26

Referential Integrity Constraints Merupakan constraints yang melibatkan foreign key / melibatkan 2 buah relasi: Referencing relation (yang memiliki foreign key) Referenced relation Nilai dari foreign key pada referencing relation R 1 berupa salah satu dari 2 nilai berikut: nilai dari primary key yang berkaitan pada referenced relation R 2 atau null. Content Development GDLN Batch 2 27

Contoh Referential Integrity Constraints Content Development GDLN Batch 2 28

Jenis Contraints Lainnya Semantic integrity constraints: Berdasarkan makna dari aplikasi, tidak dapat diekspresikan oleh model data Contoh: jumlah jam maksimal seorang pegawai terlibat di suatu proyek adalah 56 jam per minggu Sebuah constraints specification language digunakan untuk merepresentasian semantic integrity constrains SQL-99 memperbolehkan trigger dan ASSERTIONS untuk mengekpresikan sebagain dari constrains ini. Content Development GDLN Batch 2 29

Latihan Basis data yang memproses order (pemesanan) pada sebuah perusahaan memiliki 6 relasi berikut: CUSTOMER (Cust#, Cname, City) ORDER (Order#, Odate, Cust#, Ord_Amt) ORDER_ITEM (Order#, Item#, Qty) ITEM (Item#, Unit_price) SHIPMENT (Order#, Warehouse#, Ship_date) WAREHOUSE (Warehouse#, City) Ord_Amt mengacu pada jumlah harga pada satu kali order. O_date menyatakan tanggal pemesanan dilakukan, Ship_date menyatakan tanggal pengiriman barang yang dipesan customer dari gudang. Asumsikan bahwa suatu order dapat mengambil barang dari beberapa gudang (warehouse). Nyatakan foreign key yang mungkin untuk skema basis data ini. Content Development GDLN Batch 2 30

Operasi-Operasi untuk Memodifikasi Relasi Content Development GDLN Batch 2 31

Operasi-Operasi untuk Memodifikasi Relasi Ada 3 macam operasi yang dapat mengubah relation state: INSERT a tuple DELETE a tuple UPDATE a tuple Proses modifikasi tidak boleh melanggar integrity constraints. Suatu update kadang-kadang menyebabkan update yang lain secara otomatis, untuk menjaga integrity constraints Content Development GDLN Batch 2 32

Pelanggaran Integrity Jika terjadi pelanggaran integrity pada saat relasi akan dimodifikasi, dapat dilakukan beberapa hal: Membatalkan operasi yang menyebabkan pelanggaran integrity (opsi RESTRICT atau REJECT) Melakukan operasi, namun memberi tahu pengguna tentang pelanggaran yang terjadi Men-trigger update yang lain sehingga pelanggaran integrity dapat dikoreksi (opsi CASCADE atau opsi SET NULL) Mengeksekusi error-correction routine yang ditetapkan oleh pengguna Content Development GDLN Batch 2 33

Kemungkinan Pelanggaran Integrity Beberapa pelanggaran constraints pada operasi INSERT Domain constraint: jika ada nilai attribute dalam tuple baru yang tidak sesuai domainnya. Key constraint: jika nilai salah satu key attribute pada tuple baru telah ada pada tuple lain dalam relasi. Referential integrity: jika nilai foreign key pada tuple baru tidak ada pada referenced relation. Entity integrity: jika primary key bernilai null. Content Development GDLN Batch 2 34

Kemungkinan Pelanggaran Integrity Operasi DELETE hanya dapat melanggar referential integrity: Pelanggaran terjadi jika akan menghapus nilai primary key yang direfer relasi lain Opsi yang dapat dipilih RESTRICT: menolak penghapusan CASCADE: memberi primary key baru ke foreign key dari referencing tuple atau menghapus referencing tuple SET NULL: memberi nilai NULL foreign key dari referencing tuple Salah satu dari opsi ini harus ditetapkan pada saat merancang basis data untuk setiap foreign key Content Development GDLN Batch 2 35

Kemungkinan Pelanggaran Integrity Operasi update dapat melanggar domain constraint dan NOT NULL constraint pada attribute yang akan dimodifikasi Contraints lain dapat dilanggar, sesuai jenis attribute yang akan diupdate: Meng-update primary key (PK): Mirip dengan operasi DELETE diikuti INSERT Perlu memilih opsi seperti pada operasi DELETE Meng-update foreign key (FK): Dapat melanggar referential constraints Meng-update attribute lain (selain PK / FK): Hanya dapat melanggar domain constraints Content Development GDLN Batch 2 36

Latihan Apakah ada constraints yang dilanggar pada operasi berikut? 1. Insert < 'ProductA', 4, 'Bellaire', 2 > into PROJECT. 2. Insert < '677678989', null, '40.0' > into WORKS_ON. 3. Delete the WORKS_ON tuples with ESSN= '333445555'. 4. Delete the EMPLOYEE tuple with SSN= '987654321'. 5. Modify the SUPERSSN attribute of the EMPLOYEE tuple with SSN= '999887777' to '943775543'. Content Development GDLN Batch 2 37

Rangkuman Konsep-Konsep Model Relasional : Definitions Characteristics of relations Relational Integrity Constraints: Domain constraints Key constraints Entity integrity Referential integrity Modifikasi pada Relasi dan Cara Menangani Pelanggaran terhadap Constraints Content Development GDLN Batch 2 38

Referensi Elmasri & Navathe, Fundamental of Database Systems, 5 th Edition, Chapter 5, Pearson Education, 2007 Connoly, Database System, 4 th Edition, Chapter 3, Pearson Education Limited, 2005 Content Development GDLN Batch 2 39