Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Model & Aljabar Relasional CS2343 Perancangan Basis Data Relasional.

Presentasi serupa


Presentasi berjudul: "Model & Aljabar Relasional CS2343 Perancangan Basis Data Relasional."— Transcript presentasi:

1 Model & Aljabar Relasional CS2343 Perancangan Basis Data Relasional

2 Contoh Relasi

3 Struktur Dasar Definisi Formal Dari himpunan D 1, D 2, …. D n sebuah relasi r adalah subset dari D 1 x D 2 x … x D n. Sehingga, sebuah relasi adalah himpunan n-tuple (a 1, a 2, …, a n ) di mana untuk setiap a i ε D i Contoh : jika customer-name = {Jones, Smith, Curry, Lindsay} customer-street = {Main, North, Park} customer-city = {Harrison, Rye, Pittsfield} Maka r = { (Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield)} merupakan sebuah relasi pada customer-name x customer-street x customer-city

4 Tipe Atribut Setiap atribut relasi mempunyai nama –Himpunan nilai yang diijinkan untuk setiap atribut disebut domain –Nilai atribut umumnya harus memenuhi syarat atomic, yaitu tidak dapat dibagi lagi (indivisible). Contoh : Atribut multivalued tidak atomic Atribut komposit tidak atomic Nilai null merupakan anggota dari setiap domain Nilai null menyebabkan definisi pada beberapa operasi menjadi lebih rumit

5 Skema Relasi A 1, A 2, …, A n adalah atribut R = (A 1, A 2, …, A n ) adalah skema relasi – Contoh Customer-schema = (customer-name, customer-street, customer-city) r(R) adalah sebuah relasi pada skema relasi R. Contoh : customer (Customer- schema)

6 Instan Relasi Current values (relation instance) sebuah relasi dispesifikkan dengan sebuah tabel Sebuah elemen t dari r adalah sebuah tuple, yang direpresentasikan dengan sebuah baris pada tabel

7 Tuple pada Relasi Tidak Terurut Urutan tuple pada tabel tidak diperhatikan Contoh relasi account dengan tuple yang tidak terurut :

8 Basis Data Sebuah basis data terdiri atas beberapa relasi Informasi tentang sebuah enterprise dipecah menjadi beberapa bagian, dengan setiap relasi menyimpan satu bagian informasi. Contoh : –relasi account : menyimpan informasi tentang account –relasi depositor : menyimpan informasi tentang customer yang memiliki account –relasi customer : menyimpan informasi tentang customer Menyimpan semua informasi dalam relasi tunggal seperti bank(account-number, balance, customer- name,..) menyebabkan : –Pengulangan informasi –Penggunaan null values

9 Relasi Customer

10 Relasi Depositor

11 Contoh Diagram Skema untuk Kasus Perbankan (Banking Enterprise)

12 Bahasa Query Bahasa yang digunakan user untuk melakukan request informasi dari basis data Kategori Bahasa : –Prosedural –Non-prosedural Bahasa “Murni” (“Pure” languages) : –Aljabar Relasional –Tuple Relational Calculus –Domain Relational Calculus Pure languages membentuk dasar bahasa query yang digunakan user.

13 Aljabar Relasional Merupakan bahasa prosedural Operator dasar : –select –project –union –set difference –Cartesian product –rename Operator yang melibatkan dua atau lebih relasi sebagai input akan menghasilkan satu relasi baru sebagai output.

14 Operasi Select (Contoh)

15 Definisi Operasi Select Notasi : σ p (r) p disebut sebgai predikat selection Definisi selection : σ p (r) = {t | t ε r and p(t)} Di mana p adalah sebuah formula dalam kalkulus proposisi yang terdiri atas term yang dihubungkan dengan Setiap term adalah satu dari : op or di mana op adalah salah satu dari : =, ≠, >, ≥. <. ≤ Contoh selection: σ branch-name=“Perryridge”(account)

16 Contoh Operasi Projection

17 Definisi Operasi Project Notasi : Π A1, A2, …, Ak (r) di mana A 1, A 2 adalah nama atribut, dan r adalah nama relasi. Hasil operasi project didefinisikan sebagai relasi dengan kolom sebanyak k yang diperoleh dengan menghapus kolom yang tidak termasuk dalam kriteria. Duplicate rows dihilangkan dari relasi hasil, karena relasi adalah sebuah himpunan. Contoh : apabila kita ingin memperoleh informasi dari relasi account, tetapi tanpa atribut branch- name : Π account-number, balance (account)

18 Contoh Operasi Union

19 Definisi Operasi Union Notasi: r U s Definisi operasi union : r U s = {t | t ε r or t ε s} Kriteria valid r U s : –1. r, s harus mempunyai arity sama (jumlah atributnya sama) –2. Domain atribut harus kompatibel (misal : kolom kedua relasi r mempunyai tipe data yang sama dengan kolom kedua relasi s) Contoh : untuk mencari semua customer yang mempunyai account atau pinjaman : Π customer-name (depositor) U Π customer-name (borrower)

20 Contoh Operasi Set Difference

21 Definisi Operasi Set Difference Notasi : r – s Definisi : r – s = {t | t ε r and t ∉ s} Operasi set difference harus dilakukan pada relasi yang kompatibel : –r dan s harus mempunyai arity sama –Domain atribut r dan s harus kompatibel

22 Contoh Operasi Cartesian-Product

23 Definisi Operasi Cartesian-Product Notasi : r x s Definisi : r x s = {t q | t ε r and q ε s} Asumsi atribut r(R) dan s(S) disjoint. (Yaitu R ∩ S = ∅ ). Jika atribut r(R) dan s(S) tidak disjoint, maka harus dilakukan renaming.

24 Komposisi Beberapa Operasi Contoh: σ A=C (r x s)

25 Operasi Rename Memungkinkan untuk memberi nama dan mengacu hasil dari operasi ekspresi aljabar relasional. Memungkinkan untuk mengacu sebuah relasi dengan lebih dari satu nama. Contoh : ρ x (E) mengembalikan ekspresi E dengan nama Jika ekspresi aljabar relasional E mempunyai arity n, maka ρ x (A 1, A 2, …, A n ) (E) mengembalikan hasil ekspresi E dengan nama X, dan atributnya direname menjadi A 1, A 2, …., A n.

26 Contoh Skema Perbankan branch (branch-name, branch-city, assets) customer (customer-name, customer- street, customer-only) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account- number) borrower (customer-name, loan-number)

27 Contoh Query Cari semua loan yang nilainya lebih dari $1200 σ amount > 1200 (loan) Cari nomor loan untuk semua loan yang nilainya lebih dari $1200 Π loan-number (σ amount > 1200 (loan))

28 Contoh Query Cari nama semua customer yang mempunyai loan, account, atau keduanya. Π customer-name (borrower) U Π customer-name (depositor) Cari nama semua customer yang mempunyai loan dan account. Π customer-name (borrower) ∩ Π customer-name (depositor)

29 Contoh Query Cari nama semua customer yang mempunyai loan di branch Perryridge. Π customer-name (σ branch-name=“Perryridge” (σ borrower.loan-number = loan.loan-number (borrower x loan))) Cari nama semua customer yang mempunyai loan di branch Perryridge, tetapi tidak mempunyai account di branch manapun. Π customer-name (σ branch-name = “Perryridge” (σ borrower.loan-number = loan.loan-number (borrower x loan))) – Π customer-name (depositor)

30 Contoh Query Cari nama semua customer yang mempunyai loan di branch Perryridge. –Query 1 Πcustomer-name(σ branch-name = “Perryridge” ( σ borrower.loan-number = loan.loan-number (borrower x loan))) –Query 2 Πcustomer-name(σ loan.loan-number = borrower.loan- number ((σ branch-name = “Perryridge” (loan)) x borrower))

31 Contoh Query Cari nilai balance account yang paling besar –Rename relasi account sebagai d –Query : Π balance (account) - Π account.balance (σ account.balance < d.balance (account x ρd (account)))

32 Latihan : Diketahui skema basis data sbb: employee (person-name, street, city) works (person-name, company-name, salary) company (company-name, city) manages (person-name, manager-name) a.Cari nama employee yang bekerja pada First Bank Corporation. b.Cari nama dan kota tempat tinggal semua employee yang bekerja di First Bank Corporation. c. Cari nama, alamat dan kota tempat tinggal semua employee yang bekerja di First Bank Corporation dan berpenghasilan lebih dari $10,000. d. Cari nama semua employee yang tinggal di kota yang sama dengan perusahaan dimana mereka bekerja. e. Cari nama semua employee yang tinggal di kota dan jalan yang sama dengan manager mereka. f. Cari nama semua employee yang tidak bekerja di First Bank Corporation. g. Cari semua nama employee yang penghasilannya lebih dari employee di Small Bank Corporation. h. Asumsikan perusahaan berlokasi di beberapa kota. Cari semua perusahaan yang berlokasi di setiap kota dimana Small Bank Corporation berada.


Download ppt "Model & Aljabar Relasional CS2343 Perancangan Basis Data Relasional."

Presentasi serupa


Iklan oleh Google