dbsdnfsdjfbewofbwoifdsnvweo

Upload: kurniawan-utomo

Post on 13-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    1/9

    115

    Lebih SQL: Pertanyaan Complex,

    Pemicu, Views, dan

    Skema odi!kasi

    Tbab menjelaskan ftur yang lebih canggih dariStandar bahasa SQL untuk databases.We relasional

    mulai di Bagian 5.1 dengan menghadirkan ftur yang lebih kompleks uery pencarianSQL!

    seperti uery bersarang! bergabung tabel! luar bergabung! "ungsi agregat! danpengelompokan.

    #alam Bagian 5.$! kita menggambarkan%&'(T')enegasanpernyataan! yangmemungkinkan

    spesifkasi kendala umum lebih pada database.*ami juga memperkenalkan

    konsep pemicu dan%&'(T'T&+,,'&pernyataan! yang akan disajikan dalam

    lebih detail dalam Bagian $-.1 ketika kami menyajikan prinsipprinsip database akti".

    *emudian! di Bagian 5./! kita menggambarkan "asilitas SQL untuk mendefnisikanpandangan tentang database.

    Tampilan juga disebuttabel virtualatauberasalkarena mereka menyajikan penggunadengan

    apa yang tampak sebagai meja0amun! in"ormasi dalam tabel tersebut berasal dari

    sebelumnya didefnisikan tabel.Bagian 5.2 memperkenalkan pernyataanT(BL'SQL(LT'&!

    yang digunakan untuk memodifkasi tabel database dan kendala.Bagian 5.5 adalah

    &ingkasan bab.

    Bab ini merupakan kelanjutan dari Bab 2. instruktur dapat mele3ati bagian ini

    Bab jika pengenalan kurang rinci untuk SQL dimaksudkan.

    5"1 Lebih #ompleks SQL $etrie%al Query

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    2/9

    )ada Bagian 2./! kita menggambarkan beberapa jenis dasar uery pencarian di SQL.*arena

    keumuman dan kekuatan ekspresi" bahasa! ada banyak ftur tambahan

    yang memungkinkan pengguna untuk menentukan retrie4als lebih kompleks daridatabase.We membahas

    beberapa ftur tersebut di bagian ini.

    5bab

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    3/9

    5.$ enentukan *endala sebagai )ernyataan dan (ctions sebagai )emicu1&1

    5"' enentukan #endala seba(ai Pene(asan

    dan )indakan seba(ai Pemicu

    )ada bagian ini! kami memperkenalkan dua ftur tambahan SQL6C$*+)*Pene(asan

    )ernyataan danC$*+)*)$--*$pernyataan.Bagian 5.$.1 membahas

    '%+)T(*( )enegasan!yang dapat digunakan untuk menentukan jenis tambahankendala

    yang berada di luar lingkupbuilt-in kendala model relasional7primer dan

    kunci unik! integritas entitas! dan integritas re"erensial8 yang kita disajikan dalam Bagian

    /.$.+ni builtin kendala dapat ditentukan dalam pernyataanC$*+)*)+.L*

    SQL 7lihat Bagian 2.1 dan 2.$8.

    *emudian dalam )asal 5.$.$ kami memperkenalkanC$*+)* )$--*$,yang dapatdigunakan untuk menentukan

    tindakan otomatis yang sistem database akan tampil ketika peristi3a tertentu dan

    kondisi terjadi.9enis "ungsi umumnya disebutdatabase akti/"

    *ami hanya memperkenalkan dasardasarpemicudalam bab ini! dan menyajikan lebih

    diskusi lengkap database akti" dalam Bagian $-.1.

    5"'"1 #endala enentukan 0mum seba(ai Pene(asan di SQL

    #alam SQL! pengguna dapat menentukan batasanorang umum yang tidak termasukdalam salah satu

    kategori yang dijelaskan dalam Bagian 2.1 dan 2.$melaluipernyataan deklarati/,

    menggunakan

    )ernyataanC$*+)* Pene(asandari ##L tersebut.Setiap pernyataan diberikan kendala

    nama dan ditetapkan melalui kondisi yang mirip dengan klausaW:'&'dari uery SQL.

    isalnya! untuk menentukan kendalabahwa gaji seorang karyawan tidak harus

    lebih besar dari gaji manajer departemen yang karyawan bekerja untukdi

    SQL! kita dapat menulis pernyataan berikut6

    *CP)+#+ Pene(asanS(L(&;

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    4/9

    )+$2 3)4+#ada 3S*L*C)>

    4+$*(&;(W( '!*(&;(W( !

    #')(&T'' #

    ++'.Salary?.Salary

    4+'.#no@#.#number

    4+#.gr

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    5/9

    5.3 Views (Tabel Virtual) di SQL

    Pada bagian ini kami memperkenalkan konsep pandangan di SQL.We menunjukkan

    bagaimana pandangan

    ditentukan dan kemudian kita memba!as masala! memperbarui pandangan dan bagaimana

    pandangan bisa

    dilaksanakan ole! "#$S.

    5.3.% &onsep dari View di SQL

    Pandangan di SQL terminologi adala! satu tabel 'ang berasal dari tables. lainn'a ini

    tabel lain dapat tabel dasar atau pandangan 'ang ditetapkan sebelumn'a. Pandangan tidak

    tentu

    ada dalam bentuk isik* itu dianggap sebua! meja +irtual berbeda dengan tabel dasar

    'ang tupel selalu se,ara isik disimpan dalam database. -al ini membatasi kemungkinan

    operasi update 'ang dapat diterapkan untuk dili!at tetapi tidak memberikan batasan

    pada uer' tampilan.

    &ami bisa memikirkan pandangan sebagai ,ara menentukan tabel 'ang kita perlu reerensisering

    meskipun mungkin tidak ada se,ara isik. $isaln'a menga,u pada

    "atabase P/01S2-22 di 4ambar 3.5 kita mungkin sering mengeluarkan permintaan

    'ang mengambil

    nama pegawai dan namanama pro'ek 'ang kar'awan bekerja pada. "aripada

    !arus menentukan bergabung dari tiga tabel /$PL67// W60&S86 dan P067/&

    setiap kali kita mengeluarkan uer' ini kita dapat mendeinisikan tampilan 'ang ditetapkan

    sebagai !asil dari

    ini bergabung. &emudian kita bisa mengeluarkan permintaan pada tampilan 'ang ditetapkan

    sebagai singletable

    retrie+als bukan sebagai retrie+als melibatkan dua bergabung pada tiga panggilan tables.We

    /$PL67// W60&S86 dan tabel P069/:T tabel mendeinisikan tampilan.

    5.3.; Spesiikasi Views di SQL

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    6/9

    "alam SQL perinta! untuk menentukan pandangan adala! :0/2T/ V

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    7/9

    tabel dasar yang mendasari.isalnya! permintaanQC1akan secara otomatis

    dimodifkasi untuk uery berikut dengan #BS6

    S*L*C)Aname!lname

    4+$*(&;(W(! )&=;'*!W=&*S

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    8/9

    5.A Skema 4anti Laporan di SQL

    Pada bagian ini kami memberikan gambaran tentang e+olusi skema perinta! 'ang tersedia di

    SQL 'ang dapat digunakan untuk menguba! skema dengan menamba!kan atau menjatu!kantabel atribut

    kendala dan elemen skema lainn'a. -al ini dapat dilakukan sambil database

    operasional dan tidak memerlukan kompilasi ulang dari skema database. Tertentu

    pemeriksaan !arus dilakukan ole! "#$S untuk memastikan ba!wa peruba!an tidak

    mempengaru!i sisan'a

    database dan membuatn'a tidak konsisten.

    #ab 5 Lebi! SQL= Pertan'aan :ompleB Pemi,u Views dan Skema $odiikasi

    5.A.% T!e "06P Perinta!

    Perinta! "06P dapat digunakan untuk drop elemen skema bernama seperti tabel

    domain atau kendala. Satu juga bisa drop skema. Sebagai ,onto! jika keseluru!an

    skema tidak lagi diperlukan perinta! "06P skema dapat digunakan. 2da

    dua pili!an perilaku penurunan= :2S:2"/ dan $/$#2T2S

  • 7/26/2019 DBsdnfsdjfbewofbwoifdsnvweo

    9/9

    ingin mela,ak tanggungan kar'awan dalam database P/01S2-22 4ambar

    A.% kita dapat men'ingkirkan !ubungan T/042T14 dengan mengeluarkan perinta!

    berikut=

    "06P T2#L/ :2S:2"/ T/042T14*

    9ika $/$#2T2S< opsi dipili! bukan :2S:2"/ meja dijatu!kan !an'a jika

    tidak dirujuk dalam setiap kendala (misaln'a dengan deinisi kun,i asing di

    !ubungan lain) atau (li!at #agian 5.3) atau dengan unsurunsur lain. "engan

    Pili!an :2S:2"/ semua seperti kendala pandangan dan unsurunsur lain 'ang reerensi

    tabel 'ang dijatu!kan juga turun se,ara otomatis dari skema bersama dengan

    tabel itu sendiri.

    5.A.; T!e 2LT/0 :ommand

    "einisi dari tabel dasar atau unsur skema lain bernama dapat diuba! dengan

    menggunakan perinta! 2LT/0. 1ntuk tabel dasar mungkin tindakan meja alter termasuk

    menamba!kan atau menjatu!kan kolom (atribut) menguba! deinisi kolom dan

    menamba!kan

    atau menjatu!kan kendala meja. $isaln'a untuk menamba!kan atribut untuk mela,ak

    pekerjaan kar'awan untuk basis relasi /$PL67// dalam skema P/01S2-22 (li!at

    4ambar A.%) kita dapat menggunakan perinta!

    2LT/0 T2#L/ 2"" :6$P27./$PL67// &6L6$ Pekerjaan V20:-20 (%;)*

    &ita !arus tetap memasukkan nilai untuk atribut 9ob baru untuk setiap indi+idu &2072W2

    tupel. -al ini dapat dilakukan baik dengan menetapkan klausul standar atau dengan

    menggunakan 1P"2T/