Contoh Relasi
Struktur Dasar
Definisi Formal Dari himpunan D1, D2, . Dn sebuah relasi r adalah subset dari D1 x D2 x x Dn. Sehingga, sebuah relasi adalah himpunan n-tuple (a1, a2, , an) di mana untuk setiap ai Di 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
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
Skema Relasi
A1, A2, , An adalah atribut R = (A1, A2, , An ) adalah skema relasi
Contoh Customer-schema =
(customer-name, customer-street, customer-city) r(R) adalah sebuah relasi pada skema relasi R . Contoh : customer (Customerschema)
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
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, customername, ..) menyebabkan :
Pengulangan informasi Penggunaan null values
Relasi Customer
Relasi Depositor
Bahasa Query
Bahasa yang digunakan user untuk melakukan request informasi dari basis data Kategori Bahasa :
Prosedural Non-prosedural
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.
Di mana p adalah sebuah formula dalam kalkulus proposisi yang terdiri atas term yang dihubungkan dengan Setiap term adalah satu dari : <attribute> op <attribute> or <constant> di mana op adalah salah satu dari : =, , >, . <. Contoh selection: branch-name=Perryridge(account)
Contoh : untuk mencari semua customer yang mempunyai account atau pinjaman : customer-name (depositor) U customer-name (borrower)
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 (A1, A2, , An) (E) mengembalikan hasil ekspresi E dengan nama X, dan atributnya direname menjadi A1, A2, ., An.
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))
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)
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)
Contoh Query
Cari nama semua customer yang mempunyai loan di branch Perryridge.
Query 1
Contoh Query
Cari nilai balance account yang paling besar
Rename relasi account sebagai d Query :
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.