rangkuman materi basis data


Konsep sistem basis data

Basis data adalah kumpulan data yang disimpan secara sistematis di dalam computer dan dapat diolah atau dimanipulassi serta dapat diakses dengan mudah dan tepat menggunakan perangkat lunak (program aplikasi) untuk menghasilkan sebuah informasi.

System basis data merupakan ruang lingkup yang lebih luas dari basis data. System basis data memuat sekumpulan basis data dalam suatu system yang mungkin tidak ada hubungan antara satu dengan yang lain, tetapi secara keseluruhan mempunyai hubungan sebagai sebuah system yang didukung oleh komponen lainnya.

 

Konsep model data

Secara garis besar model data dapat dikelompokkan menjadi 3 macam yaitu :

1.     Model data berbasis objek

2.     Model data berbasis record

3.     Physical based data model

Bahasa basis data

1.     DDL (data definition language)

2.     DML (data manipulation language)

3.     DCL (data control language)

ER-Diagram

Adalah model data yang dikembangkan berdasarkan obyek atau entitas. Sebuah diagram ER tersusun atas tiga komponen, yaitu entitas yang merupakan obyek dasar yang terlibat dalam system, atribut yang berperan sebagai penjelass entitass, kerelasian antar entitas menunjukkan hubungan yang terjadi diantara dua entitas.

 

SQL

SQL merupakan suatu bahasa (language) standar menurut ANSI (American National Standards Institute) yang digunakan untuk mengakses basis data. Dengan elemen yang mencakup pernyataan, nama, tipe data, konstanta, ekspresi, operator relasi, operator logika dan fungsi bawaan.

Pernyataan, dikelompokkan berdasarkan fungsinya:

a.     DDL, untuk medefinisikan data dengan perintah create, drop, alter

b.     DML, untuk memanipulasi data dengan perintah insert, select, update, delete

c.     DCL, untuk mengontrol hak para pemakai data dengan perintah grant, revoke

 

DDL

Macam-macam perintah DDL

Create database ‘nama database’;

membuat database

Drop database ‘nama database’;

menghapus database

Show databases;

Menampilkan daftar database

Use ‘nama database’;

Mengaktifkan database yang dipilih

Create table ‘nama table’

(

Field1 tipedata1([lebar]),

Field2 tipedata2([lebar])

);

membuat tabel

Show tables;

Menampilkan daftar tabel

Desc ‘nama tabel’

Melihat struktur tabel yang dibuat

Alter table

mengubah atau menyisipkan kolom ke dalam tabel

Drop table

menghapus tabel dari database

Create index

membuat index

Drop index

menghapus index

 

Definisi null dan not null artinya field tersebut harus diisi tidak boleh kosong (not null), jika tidak perlu diisi tidak berpengaruh pada tabel nya maka field tersebut boleh kosong (null).

Definisi default, yaitu nilai otomatis yang diberikan oleh sistem untuk suatu atribut ketika ada penambahan baris baru, sementara nilai pada atribut tersebut tidak diisi oleh pengguna.

Primary key adalah kunci suatu tabel, dengan cara menambahkan ‘primary key’ pada field yang dipilih.

Jika ingin menghapus primary key dapat dengan cara:

Cara 1 : Jika primary key dibuat dengan menggunakan alter table :

 

            ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;

 

Cara 2 : Jika primary key dibuat melalui create table :

 

            ALTER TABLE namatabel DROP PRIMARY KEY ;

 

Menentukan foreign key

Foreign key adalah satu set atribut atau set atribut sebagai key penghubung kedua tabel dan melengkapi satu relationship (hubungan) terhadap primary key yang menunjukkan ke induknya. Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada entity tersebut disebut sebagai foreign key.

 

Untuk membuat foreign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dan foreign key) sudah di definisikan terlebih dahulu. Perintah yang digunakan sebagai berikut :

CREATE TABLE namatabel

(

Field1 TipeData1 ([lebar]),

Field2 TipeData2 ([lebar]),

FOREIGN KEY (field2) REFERENCES namatabelinduk

            (namafileinduk) ON UPDATE CASCADE

            ON DELETE NO ACTION

)

 

 

Atau

 

ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namafield) REFERENCES namatabelinduk (namafieldinduk) ON UPDATE CASCADE ON DELETE NO ACTION ;

 

Menambah atribut baru di suatu tabel

Syntax :

            ALTER TABLE namatabel ADD fieldbaru tipe ;

 

Dimana :

Namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama atribut yang akan ditambahkan.

 

Mengubah tipe data atau lebar atribut pada tabel

Syntax :

            ALTER TABLE namatabel MODIFY COLUMN field tipe ;

 

Dimana :

Namatabel adalah nama tabel yang akan di ubah tipe data atau lebar atributnya. Field adalah atribut yang akan diubah tipe data atau lebarnya.

Tipe adalah tipe data baru atau tipe data lama dengan lebar atribut yang berbeda.

 

Mengubah nama atribut (field) pada tabel

Syntax :

 

ALTER TABLE namatabel CHANGE COLUMN namafield namabarufield tipedatanya ;

 

Dimana :

Namatabel adalah tabel yang akan diubah nama atributnya, namalama field adalah atribut yang akan diganti namanya, namabarufield adalah nama baru atribut, tipedatanya adalah tipe data dari atribut tersebut.

 

Menghapus atribut (field) pada tabel

Syntax :

            ALTER TABLE namatabel DROP COLUMN namakolom ;

 

 

DML

Perintah insert

Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel.

Terdapat dua cara untuk menambah baris, yaitu :

Cara 1 :

Menambah baris dengan mengisi data langsung pada setiap kolom tanpa menyertakan struktur tabel :

 

INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);

 

 

Cara 2 :

Menambah baris dengan menyertakan struktur tabel dalam mengisi data pada setiap kolom :

 

INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n);

 

Perintah update

Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu tabel.

Syntax :

UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];

Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu.

 

Perintah select

Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya.

1)    Menampilkan data untuk semua kolom menggunakan asterisk (*)

Syntax : SELECT * FROM namatabel;

 

2)    Menampilkan data untuk kolom tertentu

Syntax : SELECT kolom1,kolom2,kolom-n FROM namatabel;

 

3)    Menampilkan data dengan kondisi data tertentu dengan klausa WHERE

Syntax : SELECT * FROM namatabel WHERE kondisi;

Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE  selain “=” adalah : > (lebih dari), < (kurang dari), < > (tidak sama dengan), >= (lebih dari atau sama dengan), <= (kurang dari atau sama dengan). Adapun operator lain, yaitu : AND, OR, NOT, BETWEEN-AND, IN dan LIKE.

 

4)    Memberikan nama lain pada kolom

Syntax :

SELECT namakolomlama AS namakolombaru FROM namatabel;

 

5)    Menggunakan alias untuk nama tabel

Syntax :

SELECT nmalias.jenis, nmalias.harga FROM namatabel nmalias;

 

6)    Menampilkan data lebih dari dua tabel

Syntax :

SELECT * from namatabel1,namatabel2,namatabel-n;

 

7)    Operator comparison ANY dan ALL

a.     Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE. Ilustrasinya :

           Gaji > ANY (S)

Jika subquery S menghasilkan G1, G2, ..., Gn, maka kondisi di atas identik dengan :

           (gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn)

b.     Operator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisi dengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap nilai query terhadap hasil subquery.

 

8)    Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)

a.     COUNT, Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel.

b.     SUM, Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel.

c.     AVG, Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel.

d.     MIN, Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel.

e.     MAX, Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada tabel.

9)    SQL dengan GROUP BY dan HAVING

Klausa GROUP BY digunakan untuk melakukan pengelompokan data. Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY. Kelompok yang memenuhi HAVING saja yang akan dihasilkan.

 

10) ORDER BY

Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki, atau tambahkan ASC untuk pengurutan secara ascending (menaik) atau tambahkan DESC untuk pengurutan secara descending (menurun)

 

11) DELETE

Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris. Syntax :

 

DELETE FROM namatabel [WHERE kondisi];

 

 

Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu.

 

 

Query dan view

Query merupakan suatu proses pengolahan data yang digunakan untuk memberikan hasil dari basis data berdasarkan kriteria tertentu. Query tidak hanya membaca atau mengambil data,Query biasanya melibatkan beberapa tabel yang direlasikan dengan menggunakan field kunci.Namun query juga dapat digunakan pada satu tabel saja,tetapi hasilnya kurang informatif dan terbatas.

1.      Aturan dalam melakukan query antar tabel :

a.   Setiap field disebutkan bersama dengan nama tabelnya,dipisahkan tanda titik (.) Syntax : Namatabel.namafield.

b.   Setiap tabel yang terlibat dalam proses query harus disebutkan dalam klausa FROM,dengan pemisah koma (,) dimana urutan tabel tidak mempengaruhi proses query.

c.   Kondisi dalam klausa Where mempengaruhi jenis join yang tercipta.

 

2.      Jenis – jenis join pada query.

a.   Operator Cross Join

Operator ini berguna untuk melakukan operasi penggabungan dengan perkalia kartesain.Namun penggabungan jenis ini jarang digunakan karena tidak menghasilkan nilai informasi yang efektif.

b.   Operator Inner Join

Inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat dibelakang on (tidak boleh null) dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebalah kanan.

c.     Operator Equijoin

Equijoin adalah penggabungan antar tabel denga menggunakan operator ‘=’ pada kondisi klausa Where.

d.   Operator Self-join

Self-join adalah jenis penggabungan antar field dari tabel yang sama. Untuk melakukan penggabungan self join menggunakan alias.

e.   Operetor Natural Join

Operator ini digunakan untuk melakukan equijoin dengan memperlakukan nama-nama kolom yang sama sebagai kolom penghubung.

Natural join dibedakan menjadi 2 yaitu :

·     Natural Left Join

Natural left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah natural left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tidak memiliki pasangan, tetapi akan ditampilkan dengan pasangannya berupa nilai NULL.

·     Natural Right Join

Netural right join  digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah natural right join beserta pasangannya dari tabel sebelah kiri.meskipun terdapat data dari sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

 

UNION, INTERSECT dan EXCEPT

1.   UNION

Union merupakan operator yang digunakan untuk menggabungkan hasil query,dengan ketentuan jumlah,nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.

 

2.   INTERSECT

Intersect merupakan operator  yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah,nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.

 

3.   EXCEPT / Set Difference

Except merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah,nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.

 

4.   Nested Queries / Subquery (IN,NOT IN,EXISTS,NOT EXIST)

Subquery berarti query didalam query.dengan menggunakan subquery, hasil dari query akan menjadi bagian dari query diatasnya.

Subquery terletak didalam klausa WHERE atau HAVING pada klausa WHERE,subquery digunakan untuk memilih baris-baris tertentu yang kemudian digunakan oleh query. Sedangkan pada klausa HAVING,subquery digunakan untuk memilih kelompok baris yang kemudian digunakan oleh query.

View

View adalah perintah query yang disimpan pada database dengan suatu nama tertentu,sehingga bisa digunakan setiap saat untuk melihat data tanpa menuliskan ulang query tersebut.

Syntax dasar perintah untuk membuat view adalah sebagai berikut :

CREATE

            [OR REPLACE]

            VIEW view_name [(column_list)]

            AS select_statement

Kita menggunakan opsi OR REPLACE jika kita ingin mengganti view dengan nama yang sama dengan perintah tersebut. Jika tidak maka perintah CREATE VIEW akan menghasilkan error jika nama view yang ingin dibuat sudah ada sebelumnya.

 

DCL

Hak Akses

Basis data yang telah dibuat perlu diatur agar data selalu dalam keadaan aman dari pemakai yang tidak berhak. Pengaturan hak akses berguna dalam hal pembatasan pengaksesan suatu data, misalkan hanya pemakai tertentu yang bisa membaca atau pemakai lain yang justru dapat melakukan perubahan dan penghapusan data.

Macam-macam perintah yang terkait dengan hak akses adalah SELECT , INSERT , UPDATE , DELETE , REFERENCES , INDEX , CREATE , ALTER dan DROP.

 

Mengatur Hak Akses

Untuk MySQL versi 3.22 keatas dalam manajemen user dapat menggunakan perintah GRANT dan REVOKE untuk mengatur hak akses pemakai (user).

1.       Perintah GRANT

Dipergunakan untuk membuat user baru dengan izin aksesnya.

Bentuk umum :

GRANT jenis_akses (“nama_kolom) ON nama_database TO nama_user IDENTIFIED BY “nama_password” [WITH GRANT pilihan akses]

Atau

GRANT hak_akses ON namatabel TO pemakai;

Dimana :

·     Hak_akses merupakan hak yang diberikan kepada pemakai berupa SELECT,INSERT saja atau keduanya. Bila hak akses lebih dari satu antar hak akses dipisahkan dengan koma (,).

·     Nama tabel, menyatakan nama tabel yang akan diakses dan diatur.

·     Pemakai,nama pemakai yang telah didaftarkan pada sistem database. Sejumlah pemakai bisa disebutkan dengan dipisahkan tanda koma (,).

 

Membatasi Hak Akses

Hak akses perlu dibatasi untuk memudahkan dalam mengatur dan mengawasi pemakaian data serta menjaga keamanan data.

Hak Akses Penuh

Untuk memberikan hak akses penuh kepada pemakai, dapat memakai perintah klausa ALL PRIVILEGES. Tentunya dengan pemberian hak akses penuh kepada pemakai (user).

Contoh :

GRANT ALL PRIVILAGES ON buku to siska;

Atau menggunakan

GRANT ALL ON buku to siska;

 

Hak Akses kepada Public

Untuk memberikan hak akses kepada banyak user dapat menggunakan klausa PUBLIC. Bebrapa DBMS ada yang menggunakan klausa WORLD. Contoh :

GRANT SELECT, INSERT ON buku ‘world’;

 

Pencabutan Hak Akses

1.      Pencabutan hak akses sementara

Untuk melakukan pencabutan atau penghapusan hak akses user menggunakan perintah REVOKE perintah ini juga mampu melakukan pencabutan hak akses sebagian pemakai atau secara keseluruhan.

Bentuk umum :

REVOKE hak_akses ON nama_database FROM nama_user;

Atau

REVOKE hak_akses ON namatabel FROM nama_user;

Contoh :

Administrator ingin mencabut hak akses user siska,maka perintahnya :

REVOKE SELECT ON buku FROM siska;

 

Atau :

REVOKE SELECT, INSERT ON buku FROM edi;

 

2.      Perintah DELETE

Untuk menghapus user secara permanen dari basis data.

 

klik disini dan disini

 

Komentar

Postingan populer dari blog ini

Rangkuman Materi Praktikum Rekayasa Perangkat Lunak Semester 5 Informatika