Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehIda Irawan Telah diubah "6 tahun yang lalu
1
Sistem Basis Data Konsep Database Relasional
Ika Menarianti
2
Relational Database Management Systems (RDBMS)
Didefinisikan sebagai suatu himpunan relasi Data secara logika, dianggap sebagai tabel. Tabel adalah struktur data logis yang diasumsikan dengan menyimpan data yang direpresentasikan oleh database. Tabel bukan struktur fisik dan setiap tabel punya nama unik. Tabel memuat sejumlah kolom atau atribut yang sudah ditentukan. Jumlah total kolom disebut derajat (degree). Data dalam tabel disebut himpunan baris atau n-tuple dengan n adalah jumlah atribut tabel.
3
Seluruh baris dalam sebuah tabel memilliki format yang sama dan merepresentasikan beberapa objek tertentu atau hubungan yang ada pada dunia nyata. Jumlah total baris dalam tabel pada suatu waktu tertentu disebut kardinalitas tabel. Kata field dan record digunakan sebagai sinonim untuk kata atribut dan baris. Nama atribut atau Kolom A1 A2 A3 ...An a11 a12 .... a1n an1 an2 ann Nilai baris atau tupel
4
Isi sebuah tabel dalam suatu tertentu adalah snapshot.
Tabel tanpa baris disebut tabel kosong. Proses menyelipkan tupel untuk pertama kalinya disebut mempopulasikan tabel. Setiap kolom dari sebuah tabel terdapat satu himpunan kemungkinan nilai yang disebut domain. Domain memuat seluruh nilai yang diperbolehkan yang dapat muncul didalam kolom. Domain dinotasikan dari setiap kolom tertentu disebut DOM(nama kolom)
5
Contoh 1 Diketahui relasi EMPLOYEE, tentukan derajat dan kardinalitasnya. Untuk atribut tentukan domainnya! Id Last_Name First_Name Department Salary 5552 Martin Nicholas Accounting 55000 3971 Bernad Ben Marketing 33500 9078 Adams Larry Human Resources 37500 Terdapat 5 atribut: Id, Last_Name, First_Name, Department dan Salary. Domain yang mungkin adalah: Dom(Id), Dom(Last_Name), Dom(First_Name), Dom(Department) dan Dom(Salary).
6
Contoh 2 Untuk relasi CUSTOMER ORDER dibawah ini, manakah nilai individual t(A) jika t merupakan sembarang tupel dari A adalah sembarang relasi? ID Date_Ordered Date_Shipped Payment_type 1 08/11/1999 08/12/1999 Cash 2 Purchase order 3 08/14/1999 08/15/1999 credit Jika: t sebagai tupel pertama, maka t(ID)=1, t(Date_Ordered)=08/11/1999, t(Date_Shipped)=08/12/1999 dan t(payement_type)= cash. t sebagai tupel kedua, maka t(ID)=2, t(Date_Ordered)=08/12/1999, t(Date_Shipped)=08/12/1999 dan t(payement_type)= purchase order. Dimana setiap tupel memiliki 4 entri, satu entri untuk setiap kolom.
7
Kesimpulan Bilamana sebuah relasi direpresentasikan ke dalam tabel, maka berlaku kondisi: Tabel memiliki nama yag unik Setiap kolom ditabel memiliki sebuah nama yang unik Urutan kolom dalam tabel boleh menyimpang (irelevan) Seluruh baris di dalam tabel memiliki format dan jumlah entri yang sama Nilai dalam setiap kolom adalah milik domain yang sama Setiap entri disetiap tupel relasi harus berupa satu nilai tunggal (single value) Urutan baris menjadi irelevan karena diidentifikasikan oleh isinya dan bukan oleh posisinya didalam tabel. Tidak ada dua baris atau tupel yang keseluruhan entrinya identik
8
Definisi Matematis dari Relasi
Diketahui sebuah himpunan berhingga dari atribut A1, A2, A3, ... An, disebut skema relasional R yang merupakan himpunan yang terbentuk dari seluruh atribut. Bahwa R={A1, A2, A3, ... An}, terdapat sebuah himpunan yang tidak kosong Di, (1 β€ i β€ n) yang sebut Domain atribut Di dinotasikan sebagai Dom(A). Anggap D sebagai himpunan baru yang didefinisikan sebagai gabungan dari seluruh domain atribut, π·=π· 1 βͺ π· 2 β¦ βͺπ· π . Didefinisikan relasi r dalam skema relasional R untuk pemetaan {t1, t2, ... tk}, maka t π΄ π βπ·ππ(π΄)
9
Operator Relasional Operator relasional sebagai himpunan operator yang memungkinkan untuk memanipulasi database. Operator relasional dikatakan memenuhi sifat penutup (closure property) karena dioperasikan terhadap satu atau lebih relasi untuk menghasilkan relasi-relasi baru.
10
Simbol operator operasional
Untuk menggunakan operator operasional digunakan: Simbol logika: β (π‘πππππππ‘) β (π’ππ‘π’π π πππ’π) β¨ ππ‘ππ’ β§ πππ βΌ(ππ’πππ) Simbol teori himpunan: β ππππππ‘π ππππ , β βππππ’πππ ππππππ ππππ , β
(βππππ’πππ πππ πππ) βππ‘ππ’ / (π πππππππππ π πβπππππ) Simbol negasi: β(ππ’πππ ππππππ‘π ππππ)
11
Operator Selection Anggap r adalah relasi dalam skema R, A adalah atribut tertentu dari r, dan elemen utama a dari Dom(A). Selection dari r dalam atribut A untuk elemen tertentu a adalah himpunan tupel t dari relasi r sehingga t(A)=a. Selection dari r dalam A dinotasikan dengan π π΄ =a r . Secara matematis: π π΄=π π = π‘ β π π‘ =π
12
Contoh π πΈππ_π·πΈππ=10 (πΈπππΏπππΈπΈ)
Diketahui relasi EMPLOYEE , carilah seluruh informasi dari tabel yang bekerja untuk department 10. EMP_ID EMP_NAME EMP_MGR TITLE EMP_DEPT 1234 Green President 40 4567 Gilmore Senior VP 1045 Rose` Director 10 9876 Smith Acountant π πΈππ_π·πΈππ=10 (πΈπππΏπππΈπΈ) EMP_ID EMP_NAME EMP_MGR TITLE EMP_DEPT 1045 Rose` 4567 Director 10 9876 Smith Acountant
13
Operator Projection Projection dari relasi r terhadap suatu himpunan X dari atributnya, dinotasikan dengan π π₯ π , didapatkan dengan cara mengeliminasi kolom r yang tidak ditandai dengan X kemudian membuang setiap tupel yang terduplikasi. Anggaplah r sebagai sebuah relasi dengan skema relasional R dan anggap X= {A1, A2, ... Ak}, sebagai sebuah subhimpunan dari atributnya maka: π π₯ π = π‘(π) π‘ βπ
14
Contoh Dengan tabel DEPARTMENT, dimanakah lokasi department yang berbeda? ID NAME LOCATION 10 Accounting New York 30 Computing 50 Marketing Los Angeles 60 Manufacturing Miami 90 Sales akan menentukan nilai yang berbeda dari kolom LOCATION, maka perlu mencari projection dari tabel DEPARTMENT dalam atribut LOCATION π πΏππΆπ΄ππΌππ (π·πΈππ΄π
πππΈππ) LOCATION New York Los Angeles Miami
15
Dapatkah menyebutkan jumlah lokasi setelah dieliminasi?
Jawab: tidak, karena jumlah lokasi telah dieliminasi Tentukan nama dan lokasi yang berbeda dari tabel DEPARTMENT! NAME LOCATION Accounting New York Computing Marketing Los Angeles Manufacturing Miami Sales
16
Operator Equijoin Operator biner untuk mengkombinasikan dua relasi yang tidak perlu berbeda. Join memuat seluruh tupel yang dihasilkan dari perangkaian tupel relasi pertama dengan tupel relasi kedua yang memiliki nilai identik untuk sebuah himpunan atribut X.
17
π π±πππ π= ππ π βπ π
ππ π π
ππ π πΉβ©πΊ =π(πΉβ©πΊ)
Anggap r adalah sebuah relasi himpunan atribut R dan s adalah relasi lain dari himpunan S. R dan S memiliki beberapa atribut umum dan anggaplah X sebagai himpunan dari atribut umum. π
β©π=π. Join antara r dan s, dinotasikan dengan π π±πππ π. Secara matematis: π π±πππ π= ππ π βπ π
ππ π π
ππ π πΉβ©πΊ =π(πΉβ©πΊ)
18
Contoh Joinkan tabel DEPARTMENT dan tabel EMPLOYEE. Tulis Kemungkinan query user yang dapat dipenuhi! Dapatkah kedua tabel dijoinkan? ID NAME LOCATION 100 Accounting Miami 200 Marketing New York 300 Sales DEPARTMENT ID NAME DEPT TITLE 100 Smith Sales Clerk 200 Jones Marketing 300 Martin Acounting 400 Bell Sr. Accountant EMPLOYEE
19
π·πΈππ΄π
πππΈππ π½πππ πΈπππΏπππΈπΈ.
Jawab Join untuk kedua tabel dinotasikan π·πΈππ΄π
πππΈππ π½πππ πΈπππΏπππΈπΈ. DEPT ID DEPARTMENT NAME LOCATION EMPLOYEE ID EMPLOYEE NAME TITLE 100 Accounting Miami 300 Martin Clerk 400 Bell Sr. Accountant 200 Marketing New York Jones Sales Smith Tidak dapat dijoinkan, karena atribut ID nya berbeda
20
Operasi Himpunan dalam Relasi
Operasinya adalah: Union (gabungan) Intersection (irisan) Difference (selisih) Perkalian Cartesius
21
UNION ( GABUNGAN) Diketahui dua relasi r(R) dan s(S), dinotasikan dengan πβͺπ , adalah himpunan seluruh tupel yang ada di r atau di s. Didefinisikan: πβͺπ = π‘ π‘ βπ β¨π‘ βπ
22
contoh Diketahui relasi-relasi dibawah ini, carilah union dari kedua relasi! C_PROGRAMMER Emp_id Last_Name First_Name Project Department 102 Venable Mark E-Commerce Sales Department 201 Cordani John Firewall Information Tecnology 302 Serrano Areant JAVA_PROGRAMMER Emp_id Last_Name First_Name Project Department 202 Barnes James Web Application Information Tecnology 302 Serrano Areant E-Commerce Sales Department
23
jawab πΆ ππ
ππΊπ
π΄πππΈπ
βͺπ½π΄π π΄ ππ
ππΊπ
π΄πππΈπ
Emp_id Last_Name First_Name
Project Department 102 Venable Mark E-Commerce Sales Department 201 Cordani John Firewall Information Tecnology 202 Barnes James Web Application 302 Serrano Areant
24
INTERSECTION (IRISAN)
Diketahui dua buah relasi r(R) dan s(S), dinotasikan dengan πβ©π , adalah himpunan tupel yang ada dikedua relasi. Didefinisikan: πβ©π = π‘ π‘βπβ§π‘βπ
25
Contoh Diketahui dari tabel sebelumnya, carilah irisan dari relasi yang telah diketahui. Jawab: πΆ ππ
ππΊπ
π΄πππΈπ
β©π½π΄π π΄ ππ
ππΊπ
π΄πππΈπ
Emp_id Last_Name First_Name Project Department 302 Serrano Areant E-Commerce Sales Department
26
DIFFERENCE (SELISIH) Diketahui dua buah relasi r(R) dan s(S), dinotasikan dengan πβπ , adalah himpunan tupel yang ada di r dan tidak ada di s. Didefinisikan: πβπ = π‘ π‘βπβ§π‘βπ
27
Contoh Carilah selisih relasi C_PROGRAMMER β JAVA_PROGRAMMER dan JAVA_PROGRAMMER - C_PROGRAMMER ! a). C_PROGRAMMER β JAVA_PROGRAMMER Emp_id Last_Name First_Name Project Department 102 Venable Mark E-Commerce Sales Department 201 Cordani John Firewall Information Tecnology b). JAVA_PROGRAMMER - C_PROGRAMMER Emp_id Last_Name First_Name Project Department 202 Barnes James Web Application Information Tecnology
28
PERKALIAN CARTESIUS Diketahui dua buah relasi tidak kosong r(R) dan s(S), dinotasikan dengan πβπ , adalah relasi yang tupelnya terbentuk dari perangkaian tupel relasi di r dan di s. Didefinisikan: πβπ = π‘ π‘βπβ§π‘βπ
29
Contoh Hasil relasi memperlihatkan: 5 atribut = 2(BUYER) + 3(PRODUCT)
Diketahui relasi dibawah ini, carilah perkalian cartesius untuk kedua relasi! BUYER PRODUCT Id_Number Item 100 A 234 B 543 C Code Name Price A Bike 250 B Spikes 90 C Goggles 15 D Gloves 35 Hasil relasi memperlihatkan: 5 atribut = 2(BUYER) + 3(PRODUCT) 12 tupel = 3(BUYER) * 4(PRODUCT)
30
jawab Id_Number Item Code Name Price 100 A Bike 250 B Spikes 90 C
Goggles 15 D Gloves 35 234 543
31
Operasi manipulasi dalam relasi
Beberapa operasi umum yang banyak diterapkan terhadap relasi yang memungkinkan operasi-operasi saling bergantian adalah: Insert Update Delete
32
Insert Untuk menyisipkan tupel kedalam tabel. Format operasi INSERT adalah: π°π΅πΊπ¬πΉπ» π°π΅π»πΆ ππππ ππππππ ( π¨ π = π½ π , π¨ π = π½ π , π¨ π = π½ π, β¦ π¨ π = π½ π ) Nilai v adalah kepunyaan domain atribut A. Operasi Insert bisa gagal karena: Nilai yang diberikan bukan kepunyaan domain dari kolom yang berhubunga dengannya. Tupel yang diisikan tidak memiliki jumlah entri yang sesuai Nilai key ada yang duplikasi Nilai yang dimasukkan ke dalam tabel merupakan nilai duplikasi Nama relasinya tidak ada dalam database.
33
delete Untuk menghapus tupel dari dalam tabel. Format delete:
π«π¬π³π¬π»π¬ ππΉπΆπ΄ ππππ_ππππππ πΎπ―π¬πΉπ¬ ππππ
πππ_πππππππππ Operasi delete gagal jika: Tupel yang di indikasikan sudah tidak ada dalam relasi Tupel yang dihapus bersifat foreign key Relasinya tidak ada atau tupel tidak sesuia dengan skema
34
Update Untuk mengubah nilai dari suatu atribut. Format update:
πππ·π΄ππΈ ππππ π‘ππππ ππΈπ ππππ πππππ =πππππ ππππ’ ππ»πΈπ
πΈ ππππππ π πππππππππ
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.