SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Bahan Ajar Sistem Basis Data

                                                      BAB XI
                                       MENGELOLA TRANSAKSI


      Dalam penggunaan database, sering terjadi pengaksesan sebuah database oleh beberapa
user atau beberapa program pada saat yang bersamaan, oleh karena itu dibutuhkan pengaturan
untuk menjaga       konsistensi        pengaksesan     data,   sehingga       tidak   akan      terjadi       katidakko
nsistensian data. Transaksi dapat digunakan untuk menjaga konsistensi dan keakuratan data.
Transaksi digunakan untuk mengatur hak user pada saat mengakses database.
      Transaksi     memastikan          bahwa    suatu    proses   yang       dijalankan      terhadap        database
dilaksanakan seluruhnya atau tidak sama sekali. Jika terjadi suatu kesalahan, maka proses harus
di roll back dan kondisi database            kembali seperti sebelum dimulainya proses tersebut,
sebaliknya jika proses berhasil, maka seluruh data dimasukkan ke dalam database. Selain it u,
transaksi juga memastikan hanya boleh ada satu user yang sedang mengakses penulisan
terhadap database, jika satu user sedang melakukan proses penulisan, maka user lain dibatasi
dalam pengaksesan database, dengan begitu, maka data akan konsisten.
      Hanya saja, tidak semua mesin mendukung proses pengelolaan transaksi. Dua mesin yang
sering digunakan adalah MyISAM dan InnoDB. MyISAM lebih sering digunakan, tapi mesin ini
tidak mendukung pengelolaan transaksi, sehingga untuk menggunakan pengelolaan transaksi,
kita perlu
menggunakan mesin InnoDB. Sebagai contoh:


  CREATE TAB LE nov el
    (
    i dNovel s malli nt unsi gned a uto_i ncrement pri ma ry
    key, j udul Novel va rchar(50) not null ,                             Keteranga n mesin ya ng diguna
    penga ra ngNovel va rcha r(50)                                        ka n, di             leta kka npa da
    )                                                                             akhir pendeskrips ia n ta bel
                                                                          ya ng dibuat dan menggunakan
    ENGINE=INNOD B;
                                                                          mesin tersebut.




Berikut ini merupakan gambar skema pelaksanaan pengelolaan transaksi:

               START TR ANS AC                                            Da ta bas e pa da
               TION                                                       saa t a wal pros es


      INSERT INTO novel VALUES
      (NULL,’ Twi li ght’,’S tepha ni e Ma yer’),
      (NULL,’ New             Moon t’, ’Stepha ni e


       Pros es berha               s        il                            d                il a ksa na ka n
Bahan Ajar Sistem Basis Data
          Pros es
          Ga ga        ROLLBACK;
          l
                                   Da ta bas e s etel a
COMMIT;                            h a khir pros es
XI.1 Statement memulai Transaksi

      Untuk      memulai      sebuah       transaksi,    syntax     yang       digunakan     adalah   START
      TRANSACTION, syntax ini diletakkan pada awal proses yang akan dilaksanakan
      menggunakan Transaksi.


XI.2 Statement COMMIT Transaksi

      Statement COMMIT digunakan untuk mengakhiri suatu proses dan menyimpan
      semua perubahan data yang terjadi dalam proses. Berikut ini merupakan contoh
      penggunaan COMMIT:
       START TR ANS AC TION;                                Statement memula i Tra nsa
       INSERT INTO novel VALUES                             ks i
         (NULL,'Twi li ght','Stepha ni e Ma yer'),          Proses     Pengisia n     data
         (NULL,'New Moon','S tepha ni e Ma                  ke dala m ta bel novel.
         yer');
       COMMIT;                                              Statement        mengcommit
                                                            semua pros es yang terja di
                                                            di dala m Tras aksi.
      Ha sil nya a dal a h:

       s el ect * from novel ;
       +--------- +----- ------- +--------- -------- +
       | i dNovel | j udul Novel | penga ra ngNovel |
       +--------- +----- ------- +--------- -------- +
       |     1 | Twi li ght | Stepha ni e Ma yer |
       |     2 | New Moon | Stepha ni e Ma yer |
       +--------- +----- ------- +--------- -------- +

XI.3 Statement ROLLBACK Transaksi

      Seperti statement COMMIT, statement ROLLBACK juga digunakan untuk mengakhiri suatu
      proses,     hanya saja, jika kita menggunakan ROLLBACK, maka semua proses yang
      dilakukan tidak akan disimpan, dan kondisi di kembalikan seperti pada awal proses.
      Berikut ini adalah contoh penggunaan ROLLBACK:
START TR ANS AC TION;                                    Statement memula i Tra nsa
 INSERT INTO novel VALUES                                 ks i
   (NULL,'Ecl i ps e','Stepha ni e Ma yer'),
                                                          Proses Pengis ia n da ta ke dala
   (NULL,'Brea ki ng        Down','S tepha ni             m tabel novel.
   e
 Ma yer');                                                Statement       mengemba lika
 ROLLBACK ;                                               n semua proses ya ng terjadi
                                                          di dala m Tras aksi ke kondis i a
                                                          wal.
                                                         Isi tabel novel      setela h   pernyataan
 Jika sebelum pernyataan ROLLBACK                        ROLLBACK:
 kita menamplkna isi da ri tabel novel ada la            s el ect * from novel ;
 h s bb:                                                 +--------- +----- ------- +--------- -------- +
 s el ect * from novel ;                                 | i dNovel | j udul Novel | penga ra ngNovel
 +--------- +----- ---------- +------ ----------- +      |
 | i dNovel | j udul Novel | p enga ra ngNovel           +--------- +----- ------- +--------- -------- +
 |                                                       |     1 | Twi li ght | Stepha ni e Ma yer |
 +--------- +----- ---------- +------ ----------- +      |     2 | New Moon | Stepha ni e Ma yer |
 |     1 | Twi li ght | Stepha ni e Ma yer |
                                                         Isi ta bel novel kemba li pada
 |     2 | New Moon              | Stepha ni e Ma yer    kondisi sebelum proses transa ksi.
 |
 |     3 | Ecli ps e | Stepha ni e Ma yer |




XI.4 Statement yang dapat mengakhiri Transaksi

         Terdapat beberapa statement yang jika kita letakkan di dalam proses yang menggunakan
         Transaksi         dapat secara otomatis menghentikan Transaksi, kemudian pernyataan
         tersebut dijalankan. Jika hal ini terjadi, maka semua proses dalam Transaksi akan di
         COMMIT dan tidak akan bisa di ROLLBACK. Pernyataan-pernyataan tersebut antara lain:
              Pernyataan                          Keterangan
              ALTER TABLE                         Mengubah definisi tabel
              CREATE INDEX                        Membuat indeks di dalam tabel
              DROP DATABASE                       Menghapus database dari mysql server
              DROP INDEX                          Menghapus indeks didalam tabel
              DROP TABLE                          Menghapus tabel dari database
              LOCK TABLES                         Menghalangi akses bersamaan pada tabel
              RENAME TABLES                       Mengubah nama tabel
              SET AUTOCOMMIT=1                    Menyetel autocommit ke dalam mode on
              START TRANSACTION                   Memulai Transaksi baru
              TRUNCATE TABLE                      Menghapus data dari tabel
              UNLOCK TABLES                       Menghilangkan LOCK TABLES
XI.5 SAVEPOINT

        Jika dalam sebuah proses yang panjang, kita memerlukan beberapa titik untuk
        melakukan penyimpanan data. Titik itu dapat kita sebut SAVEPOINT. Beriku ini
        merupakan skema peletakkan SAVEPOINT didalam Transaksi:

                         START                                                      Data bas e pa da a
                         TRANSACTION;                                               wa l tra nsa ks i.



               I NSERT I NTO novel VALUES
               (NULL,’Laska r Pelangi ’,’An d rea Hi ra ta’);



              Eks ekus i berha sil       Eks ekus i Ga                  ROLLBACK;
              gal


                               SAVEPOINT sp1;                                       Data bas e SAVEPOINT
                                                                                    s p1


               I NSERT I NTO novel VALUES
               (NULL,’Sang Pe mimpi,’And rea Hi ra ta’);


                                                                ROLLBACK TO SAVEPOINT
              Eks ekus i berha sil       Eks ekus i Ga          sp1; COMMIT;
              gal
                                                                                    Data bas e pa da a
                                                                                    khir tra nsa ks i.
                                 COMMIT;




    XI.5.1 Pernyataan SAVEPOINT

           Untuk menyatakan savepoint, pernyataannya adalah:
           SAVEPOINT <nama savepoint>;
           Dengan menggunakan pernyataan savepoint, maka semua proses yang terjadi
           sebelum pernyataan ini akan di commit, kemudian melanjutkan ke proses
           selanjutnya, tentunya pernyataan ini harus didalam Transaksi.

    XI.5.2 Mengembalikan proses ke titik savepoint

           Untuk mengembalikan kondisi database ke savepoint, maka digunakan
           pernyataan:
           ROLLBACK TO SAVEPOINT <nama savepoint>;
           Dengan ini, maka semua proses setelah savepoint sampai pernyataan ini di remov e
           dan kondisi database kembali seperti pada saat stelah savepoint.
           Berikut ini contoh penggunaan SAVEPOINT dan ROLLBACK TO

    4     Alif Finandhita, S.Kom
SAVEPOINT:




5   Alif Finandhita, S.Kom
START TRANSACTION;                                            Memula i Tra nsa
                                                              ksi
INSERT INTO novel VALUES
  (NULL,'Eclipse','Stephanie Ma yer'),
  (NULL,'Breaking Down','Stephanie Ma                         Mengisi da ta keda lam Da ta base seba nya k 2
  yer');                                                      da ta

SAVEPOINT sa ve1;
                                                              SAVEPOINT dengan nama sa
select * from novel;                                          ve1
+---- ---- -+- ---- ---- --- ---+---- ---- --- ---- --+
| idNovel | judulNovel | pengarangNovel |
+---- ---- -+- ---- ---- --- ---+---- ---- --- ---- --+
| 1 | Twilight | Stepha ni e Ma yer |
| 2 | New Moon | Stepha nie Ma yer |
                                                              Isi databas e setelah
| 3 | Eclips e | Stepha nie Ma yer |
                                                              SAVEPOINT, terda pa t 4 data .
| 4 | Brea king Down | Stephanie Mayer |
+---- ---- -+- ---- ---- --- ---+---- ---- --- ---- --+


INSERT INTO novel VALUES
  (NULL,'Edensor','Andrea Hira ta '),
  (NULL,'Ma ria mah Ka rpov','Andrea Hira                     Mengisi da ta keda lam Da ta base seba nya k 2
  ta ');                                                      da ta

select * from novel;
+---- ---- -+- ---- ---- --- ---- -+-- ---- --- ---- ---- +
| idNovel | judulNovel | pengara ngNovel
|
+---- ---- -+- ---- ---- --- ---- -+-- ---- --- ---- ---- +
| 1 | Twilight              | Stepha nie Ma yer |             Isi da ta base setelah pengisia n, jumla h
| 2 | New Moon                  | Stepha nie Ma yer |         data menja di 6 da ta
| 3 | Eclips e             | Stephanie Ma yer |
| 4 | Brea king Down | Stepha nie Ma yer
|
| 5 | Edensor                | Andrea Hira ta |               Mengembalika n da ta base ke kondis i pa da
| 6 | Ma ria ma h Ka rpov | Andrea Hira ta                    s aat SAVEPOINT, ha sil data base a kan sa ma
|
+---- ---- -+- ---- ---- --- ---- -+-- ---- ---               s eperti pada saa t setela h pernyata an
---- ---- + ROLLBACK TO SAVEPOINT s                           SAVEPOINT, yaitu
ave1;

INSERT INTO novel VALUES
  (NULL,'Las ka r Pelangi','Andrea Hira                       Mengisi da ta keda lam Da ta base seba nya k 2
   ta '), (NULL,'Sang Pemimpi','Andrea                        da ta
                  Hira ta ');
                                                              Seluruh proses Transa ksi di -commit.
COMMIT;                                                       Terja di proses penamba han 2 da ta .
select * from novel;
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+
| idNovel | judulNovel | penga ra ngNovel
|
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+     Data bas e pada a khir Tra nsa ksi. Terda pa t 6
| 1 | Twilight | Stephanie Ma yer |                           data .
| 2 | New Moon | Stephanie Mayer |
| 3 | Eclips e | Stepha nie Ma yer |
| 4 | Brea king Down | Stepha nie Ma
yer |
| 7 | La s kar Pela ngi | Andrea Hirata |
| 8 | Sa ng Pemimpi | Andrea Hirata |
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+
XI.6 Mengatur mode AUTOCOMMIT

     Pada dasarnya, tanpa adanya pernyataan COMMIT, setiap proses yang terjadi langsung di
     tulis ke   dalam tabel. Untuk itu, kita perlu mengatur autocommit untuk tidak
     melakukan penulisan secara otomatis, sehingga proses yang terjadi tidak akan langsung
     ditulis ke tabel hingga ada pernyataan COMMI T. Untuk mengatur autocommit, pernyataan
     yang digunakan adalah:
        Pernyataan                 Keterangan
        SET AUTOCOMMIT=0           Untuk mematikan autocommit(OFF)
        SET AUTOCOMMIT=1           Untuk menyalakan autocommit(ON)
        @@AUTOCOMMIT;              Untuk melihat mode autocommit yang sedang digunakan


     Berikut ini contoh pengaturan autocommit:
SET AUTOCOMMIT=0;                                           AUTOCOMMIT diatur dala m mode 0 ata u OFF

SELECT @@AUTOCOMMIT;
+---- ---- --- ---+
| @@AUTOCOMMIT |                                            Select untuk meliha t mode a utocommit ya
+---- ---- --- ---+                                         ng seda ng diguna kan.
|         0|
+---- ---- --- ---+

INSERT INTO novel VALUES (NULL,'Edensor','Andrea Hira ta
');                                                         Memas ukkan da ta ba ru ke da lam ta bel novel.

select * from novel;
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+
| idNovel | judulNovel | penga ra ngNovel |
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+
| 1 | Twilight | Stephanie Ma yer |                         Data dala m da ta base setela h di
| 2 | New Moon | Stephanie Mayer |                          tamba h. Jumla h a da menja di 7 da ta
| 3 | Eclips e | Stepha nie Ma yer |
| 4 | Brea king Down | Stepha nie Ma yer |
| 7 | La s kar Pela ngi | Andrea Hirata |
| 8 | Sa ng Pemimpi | Andrea Hirata |
| 9 | Edensor               | Andrea Hirata |
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+

exit;                                                       Kelua r da ri mys ql cons ole



use contoh2;
Data bas e cha
nged select * from
novel;
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+      Stela h         kelua r      dari  mysql
| idNovel | judulNovel | penga ra ngNovel                      console, kemudia n buka kembali mys
|                                                              ql console, guna ka n da taba se, dan
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+      liha t isi da ta pada tabel novel.
| 1 | Twilight | Stephanie Ma yer |
| 2 | New Moon | Stephanie Mayer |                             Data pada tabel novel kembali menja di
| 3 | Eclips e | Stepha nie Ma yer |                           6 data , has il eks ekus i dari proses
| 4 | Brea king Down | Stepha nie Ma                           sebelumnya tidak       disimpan   keda
yer |                                                          lam data bas e.
| 7 | La s kar Pela ngi | Andrea Hirata |
| 8 | Sa ng Pemimpi | Andrea Hirata |                          Mode uta ma da ri autocommit a dala
+---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+      h 1 a tau ON, ja di ketika mys ql
                                                               console ba ru dijala nkan, maka mode
select @@a ut ocommi t ;                                       kembali menjadi
+---- ---- --- ---+                                            1/ON
| @@autocommi t |
+---- ---- --- ---+
|         1|
+---- ---- --- ---+
XI.7 Mengatur Pemisahan Level Transaksi

         Selain dapat mengatur autocommit, mysql juga mengizinkan pengaturan pemisahan level
         Transaksi dengan menggunakan perintah sebagai berikut:


          SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
          {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE}


                         Minima l ya ng harus dia tur adala h keyword SET TRANSACTION ISOLATION LEVEL da n salah sa tu
                         da ri 4 level pemisa han (yang terda pa t dala m kurung kura wal)

                         Jika keywords ya ng dipilih a da lah GLOBAL, ma ka pernya taan transaksi a ka n diaplikas ikan pa da
                         semua koneks i ba ru terha dap data base, teta pi tida k berla ku pa da koneksi yang seda ng diguna ka
                         n.

                         Jika keywords SESSION ya ng dipilih, ma ka pernyata an tra nsa ks i dila ksa na kan pada s emua tra
                         nsa ks i ba ru ya ng terjadi pa da koneks i da ta base ya ng sedang diguna ka n, teta pi tida k berlaku
                         untuk koneks i da ta base lain.

                         Jika keyword tida k dia tur, ma ka pernyataa n transa ksi ha nya berla ku pa da transa ks i
                         berikutnya .



         4 Level Pemisahan Transaksi:
          Level Pemisahan Transaksi                Keterangan
          REA D UNCO MMITED                        Mengi zi nka n di rty rea ds , nonrepea ta bl e rea ds da n pha
                                                    ntom rea d. Lev el i ni l ebi h bai k ha nya di guna ka n pa da
                                                    da ta bas e denga n da ta ya ng umum.
          REA D COMMITED                           Ha nya mengi zi nka n nonrepea ta bl e rea d da n pha ntom
                                                    rea d, teta pi ti da k untuk dirty rea d.
          REP EATA BLE REA D                       Ha nya      mengi zi nka n pha ntom          rea d,, merupa ka n l evel
                                                    pemi s a ha n tra ns a ksi uta ma pa da mesi n InnoDB.
          SERIALIZABLE                             Ti da k mengi zi nka n a da nya dirty rea d, nonrepea ta bl e rea d
                                                    da n pha ntom rea d. Ji ka l evel i ni di guna ka n, ma ka da ta bas
                                                    e di kunci da ri tra nsa ksi lai n da n berj ala n s eca ra beruruta n.
                                                    Ha nya l evel i ni
                                                    ya ng ters edi a untuk ta bel BDB.
         Penjelasan:
             Dirty Reads
             Merupakan        masalah        yang      terjadi ketika terdapat               beberapa        transaksi       yang
             mencoba untuk mengakses satu tabel pada waktu yang sama ataupun hampir
             bersamaan.
             Nonrepeatable Reads
             Merupakan masalah yang terjadi ketika ada sebuah transaksi yang sedang

     8     Alif Finandhita, S.Kom
mengakses pembacaan     terhadap   suatu   database,   kemudian    ketika     proses
     tersebut masih berlangsung, ada proses lain yang mengupdate isi database. Hal ini
     menyebabkan ada data yang tidak terbaca oleh transaksi yang sedang membaca.




9   Alif Finandhita, S.Kom
Phantom Reads
          Merupakan         masalah         yang       terjadi     ketika       transaksi       pertama     membaca
          database, kemudian               transaksi     kedua        memprbaharui              database,   kemudian
          transaksi     pertama membaca kembali database, maka transaksi pertama akan
          mendapatkan hasil yang berbeda.
      Contoh Penggunaan SET TRANSACTION:

           SET S ESSION TRANS ACTION ISOLATION LEVEL R EAD COMMITTED;




           SET    TRANSACTION        dia       Level   ya ng   diguna kan ada lah
           tur hanya untuk sess ion            READ COMMITTED, ya itu mengizinkan
           yang seda ng berla ngs ung.         a danya nonrepeatable reads da n
                                               phantom reads .




           s el ect @@gl obal .tx_i s ola ti                     Merupa ka n s ynta x ya
           on;                                                   ng diguna ka n        untuk
           +---------- ------------ -+                           mengeta hui penga tura
           | @@gl obal .tx_is ol a ti on |                       n level is olasi yang umum
                                                                 diguna ka n,           yaitu
           +---------- ------------ -+                           REPEATABLE-READ
           | REPEATABLE-READ           |
           +---------- ------------ -+




           s el ect @@tx_i s ola ti                              Merupa ka n s ynta x ya
           on;                                                   ng diguna ka n      untuk
           +---------- ------ +                                  mengeta hui penga tura
           | @@tx_i s ol a ti on |                               n level    isolasi   ya ng
                                                                 sedang diguna ka n, yaitu
           +---------- ------ +                                  READ -COMMITTED
           | READ-COM MITTED |
           +---------- ------ +




XI.8 Penguncian Tabel yang tidak menggunakan Transaksi

      Transaksi hanya dapat digunakan pada tabel yang menggunakan mesin INNODB dan BDB
      tabel. Untuk melakukan penguncian atau pengaturan agar tidak terjadi dirty
      reads, nonrepeatable reads dan phantom reads ada syntax yang dapat digunakan, yaitu:


           LOCK {TA BLE | TABL ES }
           <table n ame> [A S <al ias >] {REA D [LOCAL] | [LOW _PRIORITY] WRITE}
           [{, <tab le name> [AS <alias>] {REA D [LOCAL] | [LOW_P RIO RITY] W RITE}}...]


     10 Alif Finandhita, S.Kom
Contohnya:
               LOCK T ABLE novel READ;             Mengunci sebua h ta bel yaitu tabel novel,

                                                   Penguncian di a tur a ga r tabel novel ha nya da pa
                                                   t di baca ta npa bis a di upda te oleh tra nsa ks i
                                                   lain.



                LOCK TAB LES nov el READ, p emi nj a ma n WRITE;



                                                                   Mengunci beberapa ta bel, yaitu tabel novel
                                                                   dan peminjaman.

                                                                   Ta bel novel di kunci untuk teta p da pat
                                                                   dibaca oleh transa ksi la in,
                                                                   Ta bel peminja ma n tida k da pat di akses sama
                                                                   seka li oleh Tra nsa ks i lain.




XI.9 Pelepasan Kunci terhadap Tabel

         Jika tebel telah di kunci, maka setelah proses selesai kunci harus dilepaskan agar
         transaksi lain bisa mengakses tabel. Syntax yang digunakan adalah:

            UNLOCK [TAB LE/TAB LES]             Jika penguncia n yang dila kuka n terha dap
                                                sa tu table,    ma ka      pelepasa n       kunci
                                                mengguna kan UNLOCK TABLE
                                                Seda ngkan jika ya ng dikunci a da lah ba nyak ta
                                                bel, maka pelepasa n penguncian mengguna kan
                                                synta x
                                                UNLOCK TABLES




    10     Alif Finandhita, S.Kom

Weitere ähnliche Inhalte

Andere mochten auch (20)

Bab. 9
Bab. 9Bab. 9
Bab. 9
 
Bab 2
Bab 2Bab 2
Bab 2
 
Bab 6 pendukung
Bab 6 pendukungBab 6 pendukung
Bab 6 pendukung
 
Bab 5. Operator Relasi
Bab 5. Operator RelasiBab 5. Operator Relasi
Bab 5. Operator Relasi
 
Bab. 8
Bab. 8Bab. 8
Bab. 8
 
Bab. 1
Bab. 1Bab. 1
Bab. 1
 
Bab 6
Bab 6Bab 6
Bab 6
 
Modul praktikum database rdbms
Modul praktikum database rdbmsModul praktikum database rdbms
Modul praktikum database rdbms
 
Bab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasionalBab 4 latihan erd ke skema relasional
Bab 4 latihan erd ke skema relasional
 
Bab. 6
Bab. 6Bab. 6
Bab. 6
 
Bab. 4
Bab. 4Bab. 4
Bab. 4
 
Bab. 5
Bab. 5Bab. 5
Bab. 5
 
Bab 8. Perlindungan dan Pemulihan Data
Bab 8. Perlindungan dan Pemulihan DataBab 8. Perlindungan dan Pemulihan Data
Bab 8. Perlindungan dan Pemulihan Data
 
Bab 5
Bab 5Bab 5
Bab 5
 
Bab 4
Bab 4Bab 4
Bab 4
 
Bab. 12
Bab. 12Bab. 12
Bab. 12
 
Bab. 13
Bab. 13Bab. 13
Bab. 13
 
Bab. 3
Bab. 3Bab. 3
Bab. 3
 
Modul praktikum database programing
Modul praktikum database programingModul praktikum database programing
Modul praktikum database programing
 
Bab 3
Bab 3Bab 3
Bab 3
 

Ähnlich wie Bab. 11

Aplikasi jual beli online
Aplikasi jual beli onlineAplikasi jual beli online
Aplikasi jual beli onlineHendra Fillan
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viiiDevi Apriansyah
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanIndri Sukmawati Rahayu
 
Struktur kontrol perulangan
Struktur kontrol perulanganStruktur kontrol perulangan
Struktur kontrol perulanganTaslim Chaniago
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 

Ähnlich wie Bab. 11 (8)

Aplikasi jual beli online
Aplikasi jual beli onlineAplikasi jual beli online
Aplikasi jual beli online
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
 
Mengenal ORACLE PL/ SQL
Mengenal ORACLE PL/ SQLMengenal ORACLE PL/ SQL
Mengenal ORACLE PL/ SQL
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik Pengalamatan
 
Struktur kontrol perulangan
Struktur kontrol perulanganStruktur kontrol perulangan
Struktur kontrol perulangan
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
 

Mehr von Zaenal Abidin

Mehr von Zaenal Abidin (8)

Normalisasi oht
Normalisasi ohtNormalisasi oht
Normalisasi oht
 
Basisdata sql
Basisdata   sqlBasisdata   sql
Basisdata sql
 
Bab. 7
Bab. 7Bab. 7
Bab. 7
 
1
11
1
 
Bab 7. Normalisasi Data
Bab 7. Normalisasi DataBab 7. Normalisasi Data
Bab 7. Normalisasi Data
 
Bab 6. SQL
Bab 6. SQLBab 6. SQL
Bab 6. SQL
 
Bab 4. Model Entity Relationship
Bab 4. Model Entity RelationshipBab 4. Model Entity Relationship
Bab 4. Model Entity Relationship
 
Bab 3. Pemodelan Data
Bab 3. Pemodelan DataBab 3. Pemodelan Data
Bab 3. Pemodelan Data
 

Bab. 11

  • 1. Bahan Ajar Sistem Basis Data BAB XI MENGELOLA TRANSAKSI Dalam penggunaan database, sering terjadi pengaksesan sebuah database oleh beberapa user atau beberapa program pada saat yang bersamaan, oleh karena itu dibutuhkan pengaturan untuk menjaga konsistensi pengaksesan data, sehingga tidak akan terjadi katidakko nsistensian data. Transaksi dapat digunakan untuk menjaga konsistensi dan keakuratan data. Transaksi digunakan untuk mengatur hak user pada saat mengakses database. Transaksi memastikan bahwa suatu proses yang dijalankan terhadap database dilaksanakan seluruhnya atau tidak sama sekali. Jika terjadi suatu kesalahan, maka proses harus di roll back dan kondisi database kembali seperti sebelum dimulainya proses tersebut, sebaliknya jika proses berhasil, maka seluruh data dimasukkan ke dalam database. Selain it u, transaksi juga memastikan hanya boleh ada satu user yang sedang mengakses penulisan terhadap database, jika satu user sedang melakukan proses penulisan, maka user lain dibatasi dalam pengaksesan database, dengan begitu, maka data akan konsisten. Hanya saja, tidak semua mesin mendukung proses pengelolaan transaksi. Dua mesin yang sering digunakan adalah MyISAM dan InnoDB. MyISAM lebih sering digunakan, tapi mesin ini tidak mendukung pengelolaan transaksi, sehingga untuk menggunakan pengelolaan transaksi, kita perlu menggunakan mesin InnoDB. Sebagai contoh: CREATE TAB LE nov el ( i dNovel s malli nt unsi gned a uto_i ncrement pri ma ry key, j udul Novel va rchar(50) not null , Keteranga n mesin ya ng diguna penga ra ngNovel va rcha r(50) ka n, di leta kka npa da ) akhir pendeskrips ia n ta bel ya ng dibuat dan menggunakan ENGINE=INNOD B; mesin tersebut. Berikut ini merupakan gambar skema pelaksanaan pengelolaan transaksi: START TR ANS AC Da ta bas e pa da TION saa t a wal pros es INSERT INTO novel VALUES (NULL,’ Twi li ght’,’S tepha ni e Ma yer’), (NULL,’ New Moon t’, ’Stepha ni e Pros es berha s il d il a ksa na ka n
  • 2. Bahan Ajar Sistem Basis Data Pros es Ga ga ROLLBACK; l Da ta bas e s etel a COMMIT; h a khir pros es
  • 3. XI.1 Statement memulai Transaksi Untuk memulai sebuah transaksi, syntax yang digunakan adalah START TRANSACTION, syntax ini diletakkan pada awal proses yang akan dilaksanakan menggunakan Transaksi. XI.2 Statement COMMIT Transaksi Statement COMMIT digunakan untuk mengakhiri suatu proses dan menyimpan semua perubahan data yang terjadi dalam proses. Berikut ini merupakan contoh penggunaan COMMIT: START TR ANS AC TION; Statement memula i Tra nsa INSERT INTO novel VALUES ks i (NULL,'Twi li ght','Stepha ni e Ma yer'), Proses Pengisia n data (NULL,'New Moon','S tepha ni e Ma ke dala m ta bel novel. yer'); COMMIT; Statement mengcommit semua pros es yang terja di di dala m Tras aksi. Ha sil nya a dal a h: s el ect * from novel ; +--------- +----- ------- +--------- -------- + | i dNovel | j udul Novel | penga ra ngNovel | +--------- +----- ------- +--------- -------- + | 1 | Twi li ght | Stepha ni e Ma yer | | 2 | New Moon | Stepha ni e Ma yer | +--------- +----- ------- +--------- -------- + XI.3 Statement ROLLBACK Transaksi Seperti statement COMMIT, statement ROLLBACK juga digunakan untuk mengakhiri suatu proses, hanya saja, jika kita menggunakan ROLLBACK, maka semua proses yang dilakukan tidak akan disimpan, dan kondisi di kembalikan seperti pada awal proses. Berikut ini adalah contoh penggunaan ROLLBACK:
  • 4. START TR ANS AC TION; Statement memula i Tra nsa INSERT INTO novel VALUES ks i (NULL,'Ecl i ps e','Stepha ni e Ma yer'), Proses Pengis ia n da ta ke dala (NULL,'Brea ki ng Down','S tepha ni m tabel novel. e Ma yer'); Statement mengemba lika ROLLBACK ; n semua proses ya ng terjadi di dala m Tras aksi ke kondis i a wal. Isi tabel novel setela h pernyataan Jika sebelum pernyataan ROLLBACK ROLLBACK: kita menamplkna isi da ri tabel novel ada la s el ect * from novel ; h s bb: +--------- +----- ------- +--------- -------- + s el ect * from novel ; | i dNovel | j udul Novel | penga ra ngNovel +--------- +----- ---------- +------ ----------- + | | i dNovel | j udul Novel | p enga ra ngNovel +--------- +----- ------- +--------- -------- + | | 1 | Twi li ght | Stepha ni e Ma yer | +--------- +----- ---------- +------ ----------- + | 2 | New Moon | Stepha ni e Ma yer | | 1 | Twi li ght | Stepha ni e Ma yer | Isi ta bel novel kemba li pada | 2 | New Moon | Stepha ni e Ma yer kondisi sebelum proses transa ksi. | | 3 | Ecli ps e | Stepha ni e Ma yer | XI.4 Statement yang dapat mengakhiri Transaksi Terdapat beberapa statement yang jika kita letakkan di dalam proses yang menggunakan Transaksi dapat secara otomatis menghentikan Transaksi, kemudian pernyataan tersebut dijalankan. Jika hal ini terjadi, maka semua proses dalam Transaksi akan di COMMIT dan tidak akan bisa di ROLLBACK. Pernyataan-pernyataan tersebut antara lain: Pernyataan Keterangan ALTER TABLE Mengubah definisi tabel CREATE INDEX Membuat indeks di dalam tabel DROP DATABASE Menghapus database dari mysql server DROP INDEX Menghapus indeks didalam tabel DROP TABLE Menghapus tabel dari database LOCK TABLES Menghalangi akses bersamaan pada tabel RENAME TABLES Mengubah nama tabel SET AUTOCOMMIT=1 Menyetel autocommit ke dalam mode on START TRANSACTION Memulai Transaksi baru TRUNCATE TABLE Menghapus data dari tabel UNLOCK TABLES Menghilangkan LOCK TABLES
  • 5.
  • 6. XI.5 SAVEPOINT Jika dalam sebuah proses yang panjang, kita memerlukan beberapa titik untuk melakukan penyimpanan data. Titik itu dapat kita sebut SAVEPOINT. Beriku ini merupakan skema peletakkan SAVEPOINT didalam Transaksi: START Data bas e pa da a TRANSACTION; wa l tra nsa ks i. I NSERT I NTO novel VALUES (NULL,’Laska r Pelangi ’,’An d rea Hi ra ta’); Eks ekus i berha sil Eks ekus i Ga ROLLBACK; gal SAVEPOINT sp1; Data bas e SAVEPOINT s p1 I NSERT I NTO novel VALUES (NULL,’Sang Pe mimpi,’And rea Hi ra ta’); ROLLBACK TO SAVEPOINT Eks ekus i berha sil Eks ekus i Ga sp1; COMMIT; gal Data bas e pa da a khir tra nsa ks i. COMMIT; XI.5.1 Pernyataan SAVEPOINT Untuk menyatakan savepoint, pernyataannya adalah: SAVEPOINT <nama savepoint>; Dengan menggunakan pernyataan savepoint, maka semua proses yang terjadi sebelum pernyataan ini akan di commit, kemudian melanjutkan ke proses selanjutnya, tentunya pernyataan ini harus didalam Transaksi. XI.5.2 Mengembalikan proses ke titik savepoint Untuk mengembalikan kondisi database ke savepoint, maka digunakan pernyataan: ROLLBACK TO SAVEPOINT <nama savepoint>; Dengan ini, maka semua proses setelah savepoint sampai pernyataan ini di remov e dan kondisi database kembali seperti pada saat stelah savepoint. Berikut ini contoh penggunaan SAVEPOINT dan ROLLBACK TO 4 Alif Finandhita, S.Kom
  • 7. SAVEPOINT: 5 Alif Finandhita, S.Kom
  • 8. START TRANSACTION; Memula i Tra nsa ksi INSERT INTO novel VALUES (NULL,'Eclipse','Stephanie Ma yer'), (NULL,'Breaking Down','Stephanie Ma Mengisi da ta keda lam Da ta base seba nya k 2 yer'); da ta SAVEPOINT sa ve1; SAVEPOINT dengan nama sa select * from novel; ve1 +---- ---- -+- ---- ---- --- ---+---- ---- --- ---- --+ | idNovel | judulNovel | pengarangNovel | +---- ---- -+- ---- ---- --- ---+---- ---- --- ---- --+ | 1 | Twilight | Stepha ni e Ma yer | | 2 | New Moon | Stepha nie Ma yer | Isi databas e setelah | 3 | Eclips e | Stepha nie Ma yer | SAVEPOINT, terda pa t 4 data . | 4 | Brea king Down | Stephanie Mayer | +---- ---- -+- ---- ---- --- ---+---- ---- --- ---- --+ INSERT INTO novel VALUES (NULL,'Edensor','Andrea Hira ta '), (NULL,'Ma ria mah Ka rpov','Andrea Hira Mengisi da ta keda lam Da ta base seba nya k 2 ta '); da ta select * from novel; +---- ---- -+- ---- ---- --- ---- -+-- ---- --- ---- ---- + | idNovel | judulNovel | pengara ngNovel | +---- ---- -+- ---- ---- --- ---- -+-- ---- --- ---- ---- + | 1 | Twilight | Stepha nie Ma yer | Isi da ta base setelah pengisia n, jumla h | 2 | New Moon | Stepha nie Ma yer | data menja di 6 da ta | 3 | Eclips e | Stephanie Ma yer | | 4 | Brea king Down | Stepha nie Ma yer | | 5 | Edensor | Andrea Hira ta | Mengembalika n da ta base ke kondis i pa da | 6 | Ma ria ma h Ka rpov | Andrea Hira ta s aat SAVEPOINT, ha sil data base a kan sa ma | +---- ---- -+- ---- ---- --- ---- -+-- ---- --- s eperti pada saa t setela h pernyata an ---- ---- + ROLLBACK TO SAVEPOINT s SAVEPOINT, yaitu ave1; INSERT INTO novel VALUES (NULL,'Las ka r Pelangi','Andrea Hira Mengisi da ta keda lam Da ta base seba nya k 2 ta '), (NULL,'Sang Pemimpi','Andrea da ta Hira ta '); Seluruh proses Transa ksi di -commit. COMMIT; Terja di proses penamba han 2 da ta . select * from novel; +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ | idNovel | judulNovel | penga ra ngNovel | +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ Data bas e pada a khir Tra nsa ksi. Terda pa t 6 | 1 | Twilight | Stephanie Ma yer | data . | 2 | New Moon | Stephanie Mayer | | 3 | Eclips e | Stepha nie Ma yer | | 4 | Brea king Down | Stepha nie Ma yer | | 7 | La s kar Pela ngi | Andrea Hirata | | 8 | Sa ng Pemimpi | Andrea Hirata | +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+
  • 9. XI.6 Mengatur mode AUTOCOMMIT Pada dasarnya, tanpa adanya pernyataan COMMIT, setiap proses yang terjadi langsung di tulis ke dalam tabel. Untuk itu, kita perlu mengatur autocommit untuk tidak melakukan penulisan secara otomatis, sehingga proses yang terjadi tidak akan langsung ditulis ke tabel hingga ada pernyataan COMMI T. Untuk mengatur autocommit, pernyataan yang digunakan adalah: Pernyataan Keterangan SET AUTOCOMMIT=0 Untuk mematikan autocommit(OFF) SET AUTOCOMMIT=1 Untuk menyalakan autocommit(ON) @@AUTOCOMMIT; Untuk melihat mode autocommit yang sedang digunakan Berikut ini contoh pengaturan autocommit:
  • 10. SET AUTOCOMMIT=0; AUTOCOMMIT diatur dala m mode 0 ata u OFF SELECT @@AUTOCOMMIT; +---- ---- --- ---+ | @@AUTOCOMMIT | Select untuk meliha t mode a utocommit ya +---- ---- --- ---+ ng seda ng diguna kan. | 0| +---- ---- --- ---+ INSERT INTO novel VALUES (NULL,'Edensor','Andrea Hira ta '); Memas ukkan da ta ba ru ke da lam ta bel novel. select * from novel; +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ | idNovel | judulNovel | penga ra ngNovel | +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ | 1 | Twilight | Stephanie Ma yer | Data dala m da ta base setela h di | 2 | New Moon | Stephanie Mayer | tamba h. Jumla h a da menja di 7 da ta | 3 | Eclips e | Stepha nie Ma yer | | 4 | Brea king Down | Stepha nie Ma yer | | 7 | La s kar Pela ngi | Andrea Hirata | | 8 | Sa ng Pemimpi | Andrea Hirata | | 9 | Edensor | Andrea Hirata | +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ exit; Kelua r da ri mys ql cons ole use contoh2; Data bas e cha nged select * from novel; +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ Stela h kelua r dari mysql | idNovel | judulNovel | penga ra ngNovel console, kemudia n buka kembali mys | ql console, guna ka n da taba se, dan +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ liha t isi da ta pada tabel novel. | 1 | Twilight | Stephanie Ma yer | | 2 | New Moon | Stephanie Mayer | Data pada tabel novel kembali menja di | 3 | Eclips e | Stepha nie Ma yer | 6 data , has il eks ekus i dari proses | 4 | Brea king Down | Stepha nie Ma sebelumnya tidak disimpan keda yer | lam data bas e. | 7 | La s kar Pela ngi | Andrea Hirata | | 8 | Sa ng Pemimpi | Andrea Hirata | Mode uta ma da ri autocommit a dala +---- ---- -+- ---- ---- --- ---- +--- ---- --- ---- ---+ h 1 a tau ON, ja di ketika mys ql console ba ru dijala nkan, maka mode select @@a ut ocommi t ; kembali menjadi +---- ---- --- ---+ 1/ON | @@autocommi t | +---- ---- --- ---+ | 1| +---- ---- --- ---+
  • 11.
  • 12. XI.7 Mengatur Pemisahan Level Transaksi Selain dapat mengatur autocommit, mysql juga mengizinkan pengaturan pemisahan level Transaksi dengan menggunakan perintah sebagai berikut: SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE} Minima l ya ng harus dia tur adala h keyword SET TRANSACTION ISOLATION LEVEL da n salah sa tu da ri 4 level pemisa han (yang terda pa t dala m kurung kura wal) Jika keywords ya ng dipilih a da lah GLOBAL, ma ka pernya taan transaksi a ka n diaplikas ikan pa da semua koneks i ba ru terha dap data base, teta pi tida k berla ku pa da koneksi yang seda ng diguna ka n. Jika keywords SESSION ya ng dipilih, ma ka pernyata an tra nsa ks i dila ksa na kan pada s emua tra nsa ks i ba ru ya ng terjadi pa da koneks i da ta base ya ng sedang diguna ka n, teta pi tida k berlaku untuk koneks i da ta base lain. Jika keyword tida k dia tur, ma ka pernyataa n transa ksi ha nya berla ku pa da transa ks i berikutnya . 4 Level Pemisahan Transaksi: Level Pemisahan Transaksi Keterangan REA D UNCO MMITED Mengi zi nka n di rty rea ds , nonrepea ta bl e rea ds da n pha ntom rea d. Lev el i ni l ebi h bai k ha nya di guna ka n pa da da ta bas e denga n da ta ya ng umum. REA D COMMITED Ha nya mengi zi nka n nonrepea ta bl e rea d da n pha ntom rea d, teta pi ti da k untuk dirty rea d. REP EATA BLE REA D Ha nya mengi zi nka n pha ntom rea d,, merupa ka n l evel pemi s a ha n tra ns a ksi uta ma pa da mesi n InnoDB. SERIALIZABLE Ti da k mengi zi nka n a da nya dirty rea d, nonrepea ta bl e rea d da n pha ntom rea d. Ji ka l evel i ni di guna ka n, ma ka da ta bas e di kunci da ri tra nsa ksi lai n da n berj ala n s eca ra beruruta n. Ha nya l evel i ni ya ng ters edi a untuk ta bel BDB. Penjelasan: Dirty Reads Merupakan masalah yang terjadi ketika terdapat beberapa transaksi yang mencoba untuk mengakses satu tabel pada waktu yang sama ataupun hampir bersamaan. Nonrepeatable Reads Merupakan masalah yang terjadi ketika ada sebuah transaksi yang sedang 8 Alif Finandhita, S.Kom
  • 13. mengakses pembacaan terhadap suatu database, kemudian ketika proses tersebut masih berlangsung, ada proses lain yang mengupdate isi database. Hal ini menyebabkan ada data yang tidak terbaca oleh transaksi yang sedang membaca. 9 Alif Finandhita, S.Kom
  • 14. Phantom Reads Merupakan masalah yang terjadi ketika transaksi pertama membaca database, kemudian transaksi kedua memprbaharui database, kemudian transaksi pertama membaca kembali database, maka transaksi pertama akan mendapatkan hasil yang berbeda. Contoh Penggunaan SET TRANSACTION: SET S ESSION TRANS ACTION ISOLATION LEVEL R EAD COMMITTED; SET TRANSACTION dia Level ya ng diguna kan ada lah tur hanya untuk sess ion READ COMMITTED, ya itu mengizinkan yang seda ng berla ngs ung. a danya nonrepeatable reads da n phantom reads . s el ect @@gl obal .tx_i s ola ti Merupa ka n s ynta x ya on; ng diguna ka n untuk +---------- ------------ -+ mengeta hui penga tura | @@gl obal .tx_is ol a ti on | n level is olasi yang umum diguna ka n, yaitu +---------- ------------ -+ REPEATABLE-READ | REPEATABLE-READ | +---------- ------------ -+ s el ect @@tx_i s ola ti Merupa ka n s ynta x ya on; ng diguna ka n untuk +---------- ------ + mengeta hui penga tura | @@tx_i s ol a ti on | n level isolasi ya ng sedang diguna ka n, yaitu +---------- ------ + READ -COMMITTED | READ-COM MITTED | +---------- ------ + XI.8 Penguncian Tabel yang tidak menggunakan Transaksi Transaksi hanya dapat digunakan pada tabel yang menggunakan mesin INNODB dan BDB tabel. Untuk melakukan penguncian atau pengaturan agar tidak terjadi dirty reads, nonrepeatable reads dan phantom reads ada syntax yang dapat digunakan, yaitu: LOCK {TA BLE | TABL ES } <table n ame> [A S <al ias >] {REA D [LOCAL] | [LOW _PRIORITY] WRITE} [{, <tab le name> [AS <alias>] {REA D [LOCAL] | [LOW_P RIO RITY] W RITE}}...] 10 Alif Finandhita, S.Kom
  • 15. Contohnya: LOCK T ABLE novel READ; Mengunci sebua h ta bel yaitu tabel novel, Penguncian di a tur a ga r tabel novel ha nya da pa t di baca ta npa bis a di upda te oleh tra nsa ks i lain. LOCK TAB LES nov el READ, p emi nj a ma n WRITE; Mengunci beberapa ta bel, yaitu tabel novel dan peminjaman. Ta bel novel di kunci untuk teta p da pat dibaca oleh transa ksi la in, Ta bel peminja ma n tida k da pat di akses sama seka li oleh Tra nsa ks i lain. XI.9 Pelepasan Kunci terhadap Tabel Jika tebel telah di kunci, maka setelah proses selesai kunci harus dilepaskan agar transaksi lain bisa mengakses tabel. Syntax yang digunakan adalah: UNLOCK [TAB LE/TAB LES] Jika penguncia n yang dila kuka n terha dap sa tu table, ma ka pelepasa n kunci mengguna kan UNLOCK TABLE Seda ngkan jika ya ng dikunci a da lah ba nyak ta bel, maka pelepasa n penguncian mengguna kan synta x UNLOCK TABLES 10 Alif Finandhita, S.Kom