Sabtu, 09 Juni 2018

BASIS DATA TERDISTRIBUTIF

Sistem basis data terdistribusi adalah suatu sistem basis data, yang memungkinkan setiap data yang terdapat dalam database dapat didistribusikan dan juga ditransmisikan ke berbagai lokasi-lokasi user yang sudah ditentukan sebelumnya.
Karakteristik Database terdistribusi, yaitu :
     1.     Kumpulan data yang digunakan bersama secara logik tersebar pada sejumlah            komputer yang berbeda
     2.     Komputer yang dihubungkan menggunakan jaringan komunikasi
     3.     Data pada masing-masing situs dapat menangani aplikasi-aplikasi lokal secara otonom
    4.     Data pada masing situs dibawah kendali satu DBMS
    5.     Masing-masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global

Keuntungan dari Sistem Basis Data Terdistribusi
Ada beberapa keuntungan yang bisa diperoleh dari penggunaan dan juga pengimplementasian dari sistem basis data terdistribusi, yaitu:
     1.     Pengelolaan data yang didistribusikan bisa dilakukan secara transparan.
     2.     Pengembangan pada sistem basis data yang mudah dikembangkan.
    3.     Kinerja dari sistem basis data menjadi lebih meningkat.
    4.     Berkaitan erat juga dengan kinerja dari keseluruhan perusahaan.
    5.     Dapat mendukung ketersedian data yang meningkat.
   6.     Mudah untuk digunakan oleh usernya.
   7.     Pengaksesan data dari database menjadi lebih mudah untuk dilakukan.
Kekurangan dari Sistem Basis Data Terdistribusi
Ternyata, meskipun baik untuk diterapkan dan juga diimplementasikan, sistem basis data terdistribusi juga memiliki kekurangan dan juga kerugian dalam menggunakannya. Berikut ini adalah beberapa kerugian dan kekurangan dari sistem basis data terdistribusi :
     1.     Meskipun mudah untuk dikembangkan, namun demikian, biaya pengembangannya cukup tinggi.
     2.     Kapasitas storage yang harus diperbesar.
     3.     Terkadang sulit untuk melakukan proteksi terhadap jaringan.

FRAGMENTASI DATA 
Merupakan  sebuah  proses  pembagian  atau  pemetaan database   dimana database dipecah-pecah berdasarkan kolom  dan  baris  yang  kemudian  disimpan  didalam  site atau  unit  komputer  yang  berbeda  dalam  suatu  jaringan data,  sehingga memungkinkan untuk pengambilan keputusan terhadap data yang telah terbagi.
Alasan-alasan diperlukannya fragmentasi, yaitu :
     1.     Penggunaan
     2.     Efisiensi
     3.     Paralleslisme
     4.     Keamanan
Beberapa peraturan yang harus didefinisikan ketika mendefinisikan fragment:
     1.     Kondisi lengkap (Completeness)
sebuah  unit  data  yang  masih  dalam  bagian  dari  relasi utama,  maka     
data  harus  berada  dalam  satu  fragmen. Ketika ada relasi, pembagian
datanya harus menjadi satu kesatuan dengan relasinya.
      2.     Rekontruksi (Reconstruction)
      sebuah relasi asli dapat dibuat kembali atau digabungkan kembali dari
      sebuah fragmen. Ketika telah dipecah pecah, data  masih   memungkinkan  untuk digabungkan  kembali dengan tidak mengubah struktur data.
      3.     Disjointness
      data didalam fragmen tidak boleh diikutkan dalam fragmen lain
      agar tidak terjadi redundancy data, kecuali   untuk atribut primary key dalam fragmentasi vertical.
Kerugian Fragmentasi
     1.     Kinerja yang dapat turun karena data tersebar dan butuh proses untuk penggabungan kembali
     2.     Integritas  yang  dapat  terganggu  dikarenakan kegagalan pada salah satu site database server
Tiga Jenis Fragmentasi:
     1.     Fragmentasi horisontal
terdiri  dari  tuple  dari  fragment  global  yang  kemudian dipecah-pecah atau disekat menjadi beberapa sub-sets
     2.     Fragmentasi vertikal
Membagi atribut-atribut dari  fragment global yang tersedia menjadi beberapa grup.
     3.     Fragmentasi campuran
Cara  yang  sederhana  untuk  membangun  fragmentasi campuran sbb :
·        Menggunakan fragmentasi horisontal pada fragmentasi vertical
·        Menggunakan fragmentasi vertical pada fragmentasi horisontal

Sumber

https://dosenit.com/kuliah-it/database/pengertian-sistem-basis-data-terdistribusi-dan-contohnya

http://ibnuminati.blogspot.com/2012/06/fragmentasi-data.html

BAHASA QUERY TERAPAN LANJUTAN


JOIN
Digunakan untuk memilih data dari dua tabel atau lebih.
          1.     INNER JOIN
Menggabungkan dua tabel dimana diantara dua table datanya bersesuaian.
Perintahnya:
SELECT nama_kolom(s) FROM nama_tabel1
INNER JOIN nama_tabel2
ON nama_tabel1.nama_kolom=nama_tabel2.nama_kolom
          2.     LEFT JOIN atau LEFT OUTER JOIN
Menggabungkan dua tabel dimana diantara dua table datanya bersesuaian dan juga semua record pada table sebelah kiri.
Perintahnya:
SELECT nama_kolom(s) FROM nama_tabel1
LEFT JOIN nama_tabel2
ON nama_tabel1.nama_kolom=nama_tabel2.nama_kolom
         3.     RIGHT JOIN atau RIGHT OUTER JOIN
Menggabungkan dua tabel dimana diantara dua table datanya bersesuaian dan juga semua record pada table sebelah kanan.
Perintahnya:
SELECT nama_kolom(s) FROM nama_tabel1
RIGHT JOIN nama_tabel2
ON nama_tabel1.nama_kolom=nama_tabel2.nama_kolom

DATA ACCES
        1.     GRANT
                 Sintaks :    GRANT hak_akses ON  nama_db
                 TO  nama_pemakai
                 [IDENTIFIED BY] [PASSWORD] ‘Password’
                 [WITH GRANT OPTION] ;
                 GRANT hak_akses ON  [nama_db.]nama_tabel
                 TO  nama_pemakai
                 [IDENTIFIED BY] [PASSWORD] ‘Password’
                 [WITH GRANT OPTION];
        2.     REVOKE
                      Sintaks :  REVOKE hak_akses ON nama_db
                      FROM nama_pemakai ;
                      REVOKE hak_akses ON  nama_tabel
                      FROM nama_pemakai ;

DATA INTEGRITY
RECOVER TABLE
        Sintaks :  RECOVER TABLE nama_tabel

AUXILIARY
         1.     SELECT … INTO OUTFILE ‘filename’
          Sintaks ini digunakan untuk mengekspor data dari tabel ke file   lain.
          Sintaks  :   SELECT … INTO
          OUTFILE ‘Nama File’
          [FIELDS | COLUMNS]
          [TERMINATED BY 'string']
          [[OPTIONALLY] ENCLOSED BY 'char']
          [ESCAPED BY 'char'] ]
        2.     LOAD
                   Sintaks query ini digunakan untuk mengimpor data dari file lain ke tabel.
                   Sintaks :   LOAD DATA INFILE “ nama_path”
                   INTO TABLE nama_tabel [ nama_kolom] ;
                   [FIELDS | COLUMNS]
                   [TERMINATED BY 'string']
                   [[OPTIONALLY] ENCLOSED BY 'char']
                   [ESCAPED BY 'char'] ]
          3.     RENAME  TABLE
          Sintaks :  RENAME TABLE  OldnamaTabel TO NewNamaTabel

FUNGSI AGGEREGATE
Menggunakan fungsi aggregate:
          1.     COUNT digunakan untuk menghitung jumlah.
Menghitung jumlah record mahasiswa dari tabel MAHASISWA
SELECT COUNT(*) FROM MAHASISWA
          2.     SUM digunakan untuk menghitung total dari kolom yang
mempunyai tipe data numerik.
SELECT SUM(SKS) AS ‘TOTAL SKS’ FROM MATAKULIAH
          3.     AVG digunakan untuk menghitung rata-rata dari data-data
dalam sebuah kolom.
SELECT AVG(FINAL) AS ‘FINAL’ FROM Nilai
          4.     MIN digunakan untuk menghitung nilai minimal dalam
sebuah kolom.
SELECT MIN(FINAL) FROM Nilai
          5.     MAX diguankan untuk menghitung nilai maksimum dalam
sebuah kolom
SELECT MAX(MID) FROM Nilai



Sumber



BAHASA QUERY TERAPAN


STRUCTURE QUERY LANGUAGE
(SQL)
        SQL merupakan bahasa query yang paling banyak dipilih oleh DBMS dan 
     Development Tools. Contoh : Visual Basic, Delphi, PowerBuilder, Java dll.
     Perintah SQL ada 2 yaitu :
     1.  DDL (Data Definition Language)
     2.  DML (Data Manipulation Language)

PENGELOMPOKAN STATEMEN SQL
1.     Data Definition Language (DDL)
        ·        CREATE DATABASE
        ·        CREATE TABEL
        ·        CREATE INDEX
        ·        CREATE VIEW
        ·        ALTER TABLE
        ·        DROP DATABASE
        ·        DROP TABEL
        ·        DROP INDEX
        ·        DROP VIEW
2.     Data Manipulation Language (DML)
·        INSERT, SELECT, UPDATE, DELETE
3.     Data Access
·        GRANT , REVOKE
4.     Data Integrity
·        RECOVER TABLE
5.     Auxiliary
·        SELECT INTO OUTFILE,LOAD, RENAME TABLE

Data Definition Language
DDL merupakan query yang digunakan untuk mendefinisikan struktur atau skema basis data.
1.     CREATE
      Perintah ini digunakan untuk membuat, termasuk di dalamnya membuat database     baru, tabelbaru view baru, dan kolom baru.
      ·        Pembuatan Database
            Nama Database adalah yang dapat mewakili suatu kejadian dapat   berupa nama           organisasi atau perusahaan.
               Sintaks :CREATE DATABASE nama_database
               Contoh : Buat database dengan nama Sekolah
               CREATE DATABASE SEKOLAH
      ·        Pembuatan Tabel
       Sintaks : CREATE TABLE nama_table
       ( nama _kolom1   tipe_data_kolom1,nama_kolom2,tipe_data_kolo  m2,...)
       Contoh : Buat struktur tabel dengan nama tabel Mahasiswa dengan data NIM                 char(8), NAMA char(25), ALAMAT char(30)
       CREATE TABLE Mahasiswa (NIM char(8) not null,
       NAMA char(25) notnull, ALAMAT char(30) notnull)
     ·        Pembuatan Index
           Sintaks : CREATE [UNIQUE] INDEX nama_index
           ON nama_table (nama_kolom) ;
           Contoh :Buat index data Mahasiswa berdasarkan NIM dengan 
           nama MHSIDX dimana NIM tidak boleh sama.
           CREATE UNIQUE INDEX MHSIDX ON Mahasiswa(NIM)
     ·        Pembuatan View
           Sintaks :CREATE VIEW nama_view [ (nama_kolom1,….) ]
           AS SELECT statement [WITH CHECK OPTION] ;
           Contoh : Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
           CREATE VIEW MHSVIEW AS SELECT * FROM Mahasiswa
   
2.     DROP (MENGHAPUS)
         ·        Menghapus Database
          Sintaks : DROP DATABASE nama_db ;
          Contoh  : DROP DATABASE KAMPUS;
         ·        Menghapus Tabel
          Sintaks : DROP TABLE nama_table ;
          Contoh  : DROP TABLE MHS;
         ·        Menghapus Index
          Sintaks : DROP INDEX nama_index ;
          Contoh  :DROP INDEX MHSIDX;
         ·        Menghapus View
          Sintaks : DROP VIEW nama_view ;
          Contoh  : DROP VIEW MHSVIEW;

3.     ALTER TABLE (MERUBAH STRUKTUR TABEL)
Sintaks: ALTER TABLE nama_tabel
ADD nama_kolom jenis_kolom              [FIRST | AFTER nama_kolom]
CHANGE [COLUMN] oldnama newnama
  MODIFY nama_kolom jenis kolom, …
  DROP nama_kolom
  RENAME newnama_tabel
 Contoh :
·        Tambahkan kolom JKEL dengan panjang 1 char padatabel
mahasiswa
ALTER TABLE Mahasiswa ADD JKEL char(1);
·        Ubah panjang kolom JKEL menjadi 15 char
ALTER TABLE Mahasiswa MODIFY COLUMN JKEL
char(15);
·        Hapus kolom JKEL dari data table MHSALTER TABLE  
 Mahasiswa DROP JKEL;

Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu table. Perintah yang umumdilakukan adalah:
      ·        SELECT untuk menampilkan data
      ·        INSERT untuk menambahkan data baru
      ·        UPDATE untuk mengubah data yang sudah ada
      ·        DELETE untuk menghapus data
1.     INSERT
Sintaks SQL yang digunakan untuk penambahan record baru kedalam sebuah tabel.
Sintaks: INSERT INTO Nama_tabel [(nama_kolom1,…)]
values (nilai atribut1, …)
Contoh: Masukan data Mahasiswa dengan Nim 10296832, Nama Nurhayati 
beralamat di Jakarta
INSERT INTO Mahasiswa (Nim, Nama, Alamat) values
  (“10296832”,”Nurhayati”,“Jakarta”)
2.     UPDATE
Sintaks SQL yang digunakan untuk mengubah nilai atribut pada suatu record dari sebuah tabel.
Sintaks : UPDATE nama_tabel SET nama_kolom =       value_1
WHERE kondisi ;
Contoh: Ubah alamat menjadi “Depok” untuk mahasiswa yang
memiliki NIM “10296832”
UPDATE Mahasiswa SET ALAMAT=”Depok” WHERE NIM=” 10296832”;
3.     DELETE
Sintaks SQL yang digunakan untuk menghapus record dari sebuah tabel.
  Sintaks: DELETE FROM nama_table WHERE kondisi
  Contoh: Hapus data Mahasiswa yang mempunyai NIM “21198002”
  DELETE FROM Mahasiswa WHERE NIM=” 21198002”
4.     SELECT
Sintaks : SELECT [DISTINCT | ALL]nama_kolom FROM nama_tabel
[ WHERE condition ]
[ GROUP BY column_list ]
[HAVING condition ]
[ ORDER BY clist [AscndDESC]]

Sumber

http://anisarosa206.blogspot.com/2016/12/bahasa-query-terapan.html