KATEGORI : 921411025

tugas 6

20 December 2012 19:36:34 Dibaca : 782

 

1. INNER JOIN

Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Misalkan isi tabel pelanggan dan pesan adalah sebagai berikut :

Tabel pelanggan (hanya ditampilkan field id_pelanggan, nm_pelanggan dan email)

Contoh isi tabel pelanggan

Tabel pesan.

Contoh isi tabel pesan

Cara #1. Inner Join dengan WHERE.

Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut:

SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.PK=tabel2.FK;

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan,

pesan.tgl_pesan FROM pelanggan, pesan WHERE

pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya sebagai berikut:

Hasil Penggabungan 2 Tabel dengan WHERE

Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi yang dilakukan oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi tabel pelanggan di atas, maka terdapat satu pelanggan yang tidak ditampilkan yaitu yang memiliki id pelanggan P0003. Pelanggan tersebut tidak ditampilkan karena belum pernah melakukan transaksi.

Cara #1. Inner Join dengan klausa INNER JOIN.

Berikut ini bentuk umumnya:

SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;

Dan berikut ini perintah SQL penggabungan tabel pelanggan dan pesan.

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan,\

pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON

pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya akan sama dengan gambar di atas (cara #1).

2. OUTER JOIN

Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi).

Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN. Berikut ini bentuk umum dan contohnya:

3. LEFT JOIN.

Bentuk umum:

SELECT tabel1.*, tabel2.* FROM tabel1 LEFT JOIN tabel2 ON tabel1.PK=tabel2.FK;

Contoh perintah SQL:

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan LEFT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya:

Hasil Perintah Left Join

Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.

4. RIGHT JOIN

Bentuk umum:

SELECT tabel1.*, tabel2.* FROM tabel1 RIGHT JOIN tabel2 ON tabel1.PK=tabel2.FK;

Contoh perintah SQL:

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

Hasilnya:

Hasil Perintah Right Join

Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.

Menggabungkan 3 Tabel atau Lebih

Untuk menggabungkan tiga tabel atau lebih, pada dasarnya sama dengan penggabungan 2 (dua) tabel. Sebagai contoh misalnya kita akan menampilkan barang-barang yang dipesan beserta nama barang dan harganya untuk pemesanan dengan nomor 1, sedemikian sehingga hasilnya menjadi sebagai berikut:

tugas 5

20 December 2012 19:34:07 Dibaca : 158

DIAGRAM ENTITY RELATIONSHIP (RUMAH SAKIT)

Objek yang dipakai

1. Petugas

2. Pasien

3. Dokter

4. Ruang

Penentuan entitas

1. Petugas : Menyimpan informasi identitas dari petugas jaga

2. Pasien : Menyimpan informasi identitas dari pasien

3. Dokter : Menyimpan informasi identitas dari dokter

4. Ruang : Menyimpan informasi identitas dari ruang

5. Rawat inap : Menyimpan informasi apabila terdapat pasien yang perlu rawat inap

6. Pembayaran : Menyimpan informasi dari administrasi pembayaran pasien

Penentuan atribut

1. Petugas : kd_petugas , nama_petugas , alamat_petugas , jam_jaga

2. Pasien : kd_pasien , kd_dokter , nama_pasien , alamat_pasien , tanggal_datang , keluhan

3. Dokter : kd_dokter , nama_dokter , alamat_dokter , spesialisasi_dokter

4. Ruang : kd_ruang , nama_ruang , nama_gedung

5. Rawat inap : kd_rawat_inap , nama_pasien , kd_ruang

6. Pembayaran : kode_pembayaran , kd_pasien , kd_petugas , jumlah_harga

 

 

 

tugas 4

08 November 2012 18:03:20 Dibaca : 144

 

normalisasi database relasi

 

RELASI dan NORMALISASI

 

 Relasi

 

Konstruksi utama untuk merepresetasikan data dalam model relasional adalah relasi. Relasi terdiri dari skema relasi dan contoh relasi. Contoh relasi adalah tabel, dan skema relasi mendeskripsikan kepala kolom dari tabel tersebut.

 

  Normalisasi

 

Adalah suatu proses untuk mengubah suatu relasi yang memiliki hubungan tertentu, 

 

ke dalam dua buah relasi atau lebih dengan ketergantungan dan keterkaitan yang 

 

tinggi atau erat. Normalisasi memberikan panduan yang sangat membantu bagi pengembang 

 

untuk mencegah terjadinya pembuatan struktur tabel yang kurang fleksibel dan kurang efisien

 

Anomali adalah proses dalam basis data yang memberikan efek samping 

 

yang tidak diharapkan,

 

 ( misal : in-konsistensi data, membuat suatu data menjadi hilang jika data lain dihapus).

 

Proses normalisasi diharapkan dapat menghilangkan anomali yang ada/ditemukan. 

 

Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. 

 

Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data

 

 dan harus dipenuhi oleh relasi-relasi tersebut pada level-level normalisasi. 

 

Suatu relasi dikatakan berada dalam bentuk normal tertentu jika 

 

memenuhi kondisi-kondisi yang disyaratkan.

 

Proses normalisasi melalui tahap-tahap sebagai berikut :

 

a.      Bentuk Normal I (First Normal Form / 1-NF).

 

b.      Bentuk Normal II (Second Normal Form / 2-NF).

 

c.       Bentuk Normal III (Third Normal Form / 3-NF).

 

d.      Bentuk Normal IV (Fourth Normal Form / 4-NF).

 

e.      Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF).

 

f.        Project-Join Normal I Form (PJNF).

 

g.      Domain-Key Normal I Form (DKNF).

 

h.      Bentuk Normal V (Fifth Normal Form / 5-NF).

 

 

 

Kegunaan normalisasi :

 

a.      Meminimasi pengulangan informasi.

 

b.      Memudahkan indentifikasi entiti / obyek.



Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible

• Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga tahap normalisasi antara lain :

1. Bentuk Normal ke Satu(1NF)

a. Syarat :
b. Tidak ada set atribut yang berulang atau bernilai ganda.
c. Telah ditentukannya primary key untuk tabel atau relasi.
d. Tiap atribut hanya memiliki satu pengertian.
e. Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.

2. Bentuk Normal ke Dua(2NF)

a. Syarat :
b. Bentuk data telah memenuhi kriteria bentuk normal ke satu.
c. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key

3. Bentuk Normal ke Tiga(3NF)

a. Syarat :
b. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
c. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

 

tugas 3

05 October 2012 11:41:50 Dibaca : 1644

-DDL :

DDL atau Data Definiton Language adalah sebuah bahasa yang digunakan untuk mendefinisikan pendefinisian data. Terdiri dari perintah-perintah untuk membentuk, mengubah atau menghapus tabel beserta kolom-kolom dan type data penyusunnya, serta perintah-perintah untuk menetapkan hubungan dan batasan-batasan data.

 5 Macam perintah DDL yang ada di Oracle :
- CREATE TABLE
Digunakan untuk membuat tabel. Syntax umumnya sebagai berikut :

 CREATE TABLE [schema, ] table ( column datatype [DEFAULT expr][,...]);

 Contoh pembuatan sebuah tabel adalah :

 CREATE TABLE dept (deptno NUMBER(2), dname VARCHAR2(14), loc    VARCHAR2(13));

 - ALTER TABLE
Statemen ALTER TABLE digunakan untuk :
~ Menambahkan kolom baru
Untuk menambah kolom baru, syntax umumnya sebagai berikut :

 

ALTER TABLE table
ADD         (column datatype [DEFAULT expr]
 [, column datatype]...);

 

Contoh penambahan kolom pada tabel dept yang dibuat di atas adalah :

 

ALTER TABLE dept
ADD         (job_id VARCHAR2(9));

 

~ Memodifikasi kolom yang sudah ada
Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya.
Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut :

 

ALTER TABLE table
MODIFY      (column datatype [DEFAULT expr]
 [, column datatype] ... );

 

Contoh :

 

ALTER TABLE dept
MODIFY       (dname VARCHAR2(30));

 

Table altered.

 

~ Menghapus kolom
Klausa DROP COLUMN digunakan untuk menghapus kolom yang tidak diperlukan lagi pada table. Sebagai contoh untuk menghapus kolom job_id pada pada tabel dept di atas.

 

ALTER TABLE dept
DROP COLUMN job_id;

 

- DROP TABLE
Digunakan untuk melakukan penghapusan tabel. Melakukan penghapusan table dengan perintah DROP, berarti mengerjakan hal berikut :
Semua data dan struktur dari table akan dihapus
Semua transaksi pending akan di-commit
Semua indeks akan dihapus
Perintah drop ini tidak bisa di-rollback
Sebagai contoh, jika kita ingin menghapus tabel dept, maka yang harus dilakukan adalah :

 

DROP TABLE dept;

 

- RENAME
Digunakan untuk merubaha nama dari suatu object (table,view,sequence atau synonim). Sebagai contoh, jika kita ingin menghapus tabel dept,maka perintah yang harus dilakukan adalah :

 

RENAME dept TO detail_dept;

 

- CREATE VIEW
View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Syntax untuk melakuakn VIEW adalah :

 

CREATE VIEW  AS
 

 

Contoh : view MahasiswaPria yang diambil dari tabel Mahasiswa di mana field JenisKel = “L”. Syntax dari contoh tersebut adalah :

 

CREATE VIEW MahasiswaPria AS
SELECT * FROM Mahasiswa WHERE jeniskel=”L”

 

- CREATE TRIGGER
Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel. Proses modifikasi berupa: Insert, Update dan delete. Syntax pembuatan Trigger:

 

CREATE TRIGGER  ON TABLE 
FOR [DELETE] [,] [INSERT] [,] [UPDATE]
AS 

 

Sebagai contoh adalah membuat trigger dg nama tLogUbahNilai untuk setiap penambahan / update data pada tabel Pesertakul, dilakukan penambahan data pada tabel LogHistoris.
Syntax dari contoh tersebut adalah :

 

CREATE TRIGGER tLogUbahNilai ON TABLE pesertakul
FOR UPDATE, INSERT
AS
INSERT INTO LogHistoris (tanggal, proses) VALUES (getDate(), ‘Terjadi
proses perubahan data nilai’)
DDL - Data Definition Language
-merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus
 
struktur dan definisimetadata dari objek-objek database.


Seperti definisi yang telah dijelaskan di atas, DDL adalah kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database.

 

 

 

Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :

 

  • Database
  • Table
  • View
  • Index
  • Procedure (Stored Procedure)
  • Function
  • Trigger

 

Contoh :

 

-- Perintah berikut akan membuat table pada database kita dengan nama "ms_karyawan"
CREATE
 TABLE ms_karyawan (
  kode_cabang varchar(10) default NULL,
  kode_karyawan varchar(10) NOT NULL,
  nama_depan varchar(8) default NULL,
  nama_belakang varchar(9) default NULL,
  jenis_kelamin varchar(1) default NULL,
  PRIMARY KEY  (kode_karyawan)
)

 

Daftar Perintah DDL pada MySQL 5.0 

 

Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut.

 

  • Pembuatan (CREATE)
  • Perubahan (ALTER & RENAME)
    • ALTER DATABASE
    • ALTER FUNCTION
    • ALTER PROCEDURE
    • ALTER TABLE
    • ALTER VIEW
    • RENAME TABLE

  • Penghapusan (DROP)
    • DROP DATABASE
    • DROP FUNCTION
    • DROP INDEX
    • DROP PROCEDURE
    • DROP TABLE
    • DROP TRIGGER
    • DROP VIEW

 



 
 

 

Tabel Matrix Perintah DDL MySQL 5.0

 

 OBJECT CREATE  ALTER  DROP RENAME 
 DATABASE  Yes Yes  Yes  
 FUNCTION  Yes Yes  Yes  
 INDEX  Yes    Yes  
 PROCEDURE  Yes Yes  Yes  
 TABLE  Yes Yes  Yes  Yes
 TRIGGER  Yes    Yes  
 VIEW  Yes Yes  Yes  

 

 

-DML:

DML atau Data manipulation Language merupakan perintah-perintah yang berfungsi untuk melakukan manipulasi data ataupun objek-objek yang ada didalam table. Definisi lainnya tentang DML adalah Perintah-perintah untuk memanipulasi data pada basis data, misalnya perintah untuk memilih data (query), menyisipkan, mengubah dan menghapus data dalam basis data.

 

Bentuk manipulasi yang dapat dilakukan oleh DML diantaranya adalah untuk keperluan pencarian kembali data lama, penyisipan data baru, penghapusan data, pengubahan data, dll. Sedangkan DML sendiri menurut jenisnya dapat dibagi menjadi 2 jenis yaitu procedural dan non procedural.

 

Beberapa manfaat atau kegunaan dari DML diantaranya adalah sebagai berikut :
1. Pengambilan informasi yang disimpan dalam basis data
2. Penyisipan informasi baru ke basis data
3. Penghapusan informasi dari basis data
4. Modifikasi informasi yang disimpan dalam basis data
5. Query adalah perintah yang ditulis untuk mengambil informasi. Bagian dari DML yang menangani pengambilan informasi ini disebut bahasa query.

 

Selanjutnya kita akan membahasa tentang sintaks dan contoh dari penggunaan DML, yaitu :

 

1. Insert
Berfungsi Untuk memasukkan sejumlah data kedalam table yang telah dibuat.
Syntax:
insert into table_name (column1, column2, …, column_n)
values (value1, value2, …, value_n);
Contoh:
insert into pegawai (npk,nama)
values (‘5106100032?, ‘Eko Susilo’);

 

2. Delete
Berfungsi untuk menghapus sejumlah data yang ada didalam table yang telah dibuat.
Syntax:
delete table_name where column_name=column_content;
Contoh:
delete mahasiswa where npk=’5106100032?;

 

3. Update
èBerfungsi untuk melakukan perubahan terhadap sejumlah data yang ada didalam table yang telah dibuat.Syntax:
update table_name
set column1_name=column1_content
where column2_name=column2_content;
Contoh:
update pegawai
set nama=’Eka Susila’, alamat=’U-144?
where nrp=’5106100032?;

 

4. Select
Berfungsi untuk melakukan pengambilan sejumlah data yang ada di dalam table untuk ditampilkan ataupun dimanipulasi
Syntax:
Select column from table_name
Contoh:
Select * from pegawai;

Konsep Basis Data

Definisi:
Basis data terdiri dari 2 kata, yaitu basis dan data. Basis adalah markas/gudang, tempat bersarang atau berkumpul, sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi dan kombinasinya.

Basis data dapat didefinisikan dari beberapa sudut pandang:
1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali secara cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu untuk memenuhi berbagai kebutuhan.
3. Kumpulan file/tabel/arsip yang saling berhubungan dan disimpan dlm media penyimpanan elektronis.

Operasi Dasar Basis Data

Sebuah basis data umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Misalnya basis data kepegawaian, basis data akademik, basis data inventori (pergudangan) dan sebagainya. Dalam basis data akademik, misalnya kita dapat menempatkan file mata pelajaran, file guru, file jadwal, file nilai dan seterusnya. Oleh karena itu operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data dapat meliputi:
- Pembuatan basis data baru (create database) yang identik dengan pembuatan lemari arsip yang baru.
- Penghapusan basis data (drop database) yang identik dengan perusakan lemari rasip.
- Pembuatan file/tabel baru ke suatu basis data (create table), identik dengan penambahan map arsip baru.
- Penghapusan file/tabel dari suatu basis data (drop tabel).
- Penambahan/pengisian data baru ke sebuah file/table di sebuah basis data.
- Pengambilan data dari sebuah file/tabel.
- Pengubahan data dari sebuah file/tabel.
- Penghapusan data dari sebuah file/tabel.

Tujuan Basis Data

1. Kecepatan dan Kemudahan (Speed)
2. Efisiensi Ruang Penyimpanan (Space)
3. Keakuratan (Accuracy)
4. Ketersediaan (Availability)
5. Kelengkapan (Completeness)
6. Keamanan (Security)
7. Kebersamaan Pemakaian (Sharebility)

DML - Data Manipulation Language

  • merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.
  • DML - Data Manipulation Language

    DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database seperti table, column, dan sebagainya.

    Contoh DML : Mengambil Seluruh Row Data dari table MS_KARYAWAN

    SELECT 
    FROM ms_karyawan


    Contoh DML : Memasukkan data ke dalam tabel ms_karyawan

    INSERT INTO ms_karyawan(
                    kode_cabang,
                    kode_karyawan,
                    nama_depan,
                    nama_belakang,
                    jenis_kelamin) 
    VALUES ('cab-001','kar-001','Feris','Thia','Laki-laki');

    Beberapa daftar Perintah DML MySQL 5.0

    • CALL
    • DELETE
    • DO
    • HANDLER
    • INSERT
    • LOAD DATA INFILE
    • REPLACE
    • SELECT
    • TRUNCATE
    • UPDATE

     

    -DCL :

    DCL atau Data Control Language
    DCL merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :

    * GRANT : Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapsu (DELETE), mengubah (UPDATE) dan hak khusus berkenaan dengan sistem databasenya.

    SINTAKS : GRANT privileges ON tbname TO user

    CONTOH : grant select, update, insert, delete on perpustakaan.buku to 'ali'@'localhost';


    * REVOKE : perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

    SINTAKS : REVOKE privileges ON tbname FROM user

    CONTOH : revoke select, update, insert, delete on perpustakaan.buku from 'ali'@'localhost';

    JENIS JENIS JOIN SQL :
    1. INNER JOIN : hanya akan menampilkan baris untuk data yang memiliki nilai yang sama pada field kunci dengan tabel yang berelasi

    2. LEFT JOIN : hanya menampilkan data dengan mengacu pada tabel yang ada disebelah kiri.

    3. RIGHT JOIN : hanya menampilkan data dengan mengacu pada tabel yang ada disebelah kanan.

    4. FULL JOIN : merupakan gabungan dari LEFT JOIN dan RIGHT JOIN .


    DCL adalah perintah-perintah yang digunakan untuk membantu mengontrol keamanan setiap database atau sebagian isi dari database dengan membuat hak – hak akses tertentu bagi setiap user.

    Perintah tersebut adalah :  
    a. Grant
    b. Revoke

    Penjelasan tentang Grant 

    - GRANT : Digunakan untuk memberikan hak akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.
    - Grant berfungsi juga untuk membuat user baru dan memberikan hak istimewa.
    - Grant digunakan untuk  memberikan privilege kepada tabel yang didefinisikan kepada pemakai lain.

    - Privilege untuk pemakai dalam perintah grant didefinisikan dengan  menggunakan nama-nama privilege. Nama privilege memudahkan admin untuk dapat memberikan privilege tanpa harus tahu apa  nama field dan tabel yang harus diisi.
    - Perintah grant secara otomatis akan menambah data pemakai apabila  data nama pemakai yang disertakan pada perintah tersebut belum ada  dalam tabel user. Perintah grant memudahkan administrator untuk tidak  perlu melakukan perintah pendefinisian privilege dengan menggunakan  sql.  Karena dengan menggunakan sql, kita harus hafal nama tabel yang  harus diisi, field apa saja yang harus diisi, jumlah field yang harus diisi.

    Sintak Umum :  GRANT hak_akses ON nama_tabel TO pemakai;
     GRANT ALL PRIVILEGES ON database_name.* TO ‘myuser’
    IDENTIFIED BY ‘mypassword’;
    Contoh Penggunaan :
    1. GRANT SELECT ON Point_Of_Sales.jenis TO Febe;
    2. GRANT SELECT ON Point_Of_Sales.jenisTO Winda;
    3. GRANT SELECT ON Point_Of_Sales.item TO Elfrida;
    4. GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;
    5. GRANT ALL ON Point_Of_Sales.jualDetail TO Admin
    6. SHOW GRANTS FOR root@localhost;
    7. SHOW GRANTS FOR Admin;
    8. GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO kasir;
    9. GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Elfrida;
    10. GRANT UPDATE (kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Elfrida;
     
    Penjelasan tentang Revoke
     
    REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRANT, yaitu untuk menghilangkan hak akses yang telah diberikan kepada user oleh administrator atau mencabut hak-hak dari seorang user terhadap database tertentu atau sebagian isi dari database.

    Sintak Umum Revoke : 

    REVOKE hak_akses ON nama_tabel FROM                     namaAccount@namaHost;

    Menghapus batasan hak akses utk database & tabel :

    REVOKE hak_akses ON nama_database.nama_tabel
    FROM user;

    Menghapus batasan hak akses untuk kolom tertentu :

    REVOKE hak_akses(field1,field2, field3,…) ON 
    nama_database.nama_tabel FROM user
    Penulisan perintah revoke :

    - Hak akses(field) : kita harus memberikan sedikitnya satu hak akses.  Untuk setiap hak akses yang diberikan, dapat juga diberikan daftar field  yang diletakkan dalam kurung, dan dipisahkan dengan tanda koma. Contoh : REVOKE select (nim, nama), update, insert(nim), …
    - NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut, harus ada sedikitnya satu nama tabel. Dan dapat menggunakan simbol asterik (*) untuk mewakili semua tabel pada database aktif. Penulisan namaTabel dapat juga diikuti oleh nama database diikuti nama tabel yang dipisahkan dengan tanda titik. Menggunakan simbol *.* berarti semua  database dan semua tabel yang dikenai hak akses tersebut.

    Perintah-perintah lain yang termasuk dalam data control language adalah :
    a. Commit
    Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
    b. Rollback
    Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.

    Contoh normalisasi pada kasus lain

    Sebelum mengetahui contoh normalisasi pada kasus kasus yang nyata, baiknya kita harus mengetahui dahulu pengertian dan penjelasan teknik normalisasi itu.

    Teknik Normalisasi merupakan sebuah cara untuk membuat database dengan terstruktur dan terorganisasi supaya data terisimpan dalam tabel dengan baik dan efisien tanpa adanya pengulangan data(redudansi data).
    Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang optimal

    Contoh Normalisasi Pada Kasus Lainnya,

    Memiliki field dengan banyak data / tidak tunggal

    no_id tanggal nama_mahasiswa buku
    1 06/03/2012 Achmad program, desain, animasi
    2 06/03/2012 Aloy blog, program, musik
    3 06/03/2012 Budi animasi, program, video
    4 06/03/2012 Charlie website, audio

    Contoh teknik normalisasi sampai ketiga


    Teknik Normalisasi Pertama :
    Membuat dan menentukan primary key pada tablenya, supaya setiap data atau field field lainya tergantung hanya pada satu field yaitu yang dijadikan primary key. pada kasus ini field nim yang akan dijadikan primary key bukan id_buku atau id_penerbit.
    Keterangan : field yang dicetak miring yaitu primary key

    tbl_peminjaman
    nim nama_mahasiswa id_buku judul_buku id_penerbit penerbit
    4311122006 Malik Aslam 1221 program C++ 35 Alex W
    4311122007 M. fadli 1322 membuat animasi 55 Dian Sastro
    4311122025 Muharam 1422 belajar program 23 Wiji S
    4311122008 Nabila 1321 audio video 55 Dian Sastro
    4311122014 Tiara Rahmawati 1221 program C++ 35 Alex W

    Teknik Normalisasi Kedua :
    lalu pada teknik yang kedua, field field yang tergantung pada satu field harus dipisahkan, seperti pada contoh field judul_buku tergantung pada field id_buku dan penerbit tergantung dengan field id_penerbit, maka dari itu field tersebut di pisahkan dengan tabel peminjaman, sehingga harus dibuat tabel yang terpisah.

    tbl_peminjaman
    nim nama_mahasiswa id_buku id_penerbit
    4311122006 Malik Aslam 1221 35
    4311122007 M. fadli 1322 55
    4311122025 Muharam 1422 23
    4311122008 Nabila 1321 55
    4311122014 Tiara Rahmawati 1221 35

    tbl_buku
    id_buku judul_buku
    1221 program C++
    1322 membuat animasi
    1422 belajar program
    1321 audio video
    1221 belajar program

    tbl_penerbit
    id_penerbit penerbit
    35 Alex W
    55 Dian Sastro
    23 Wiji S
    55 Dian Sastro
    35 Alex W

    Teknik Normalisasi Ketiga :
    selanjutnya teknik normalisasi ketiga, setelah field field dipisah sehingga dibuat table yang baru, maka waktunya pembenahan data. Diketahui sebelumnya pada tabel buku record kelima terdapat keganjilan data yang tidak sesuai dengan field id_bukunya dan pada tabel penerbit pun terdapat redudansi data atau pengulangan data, maka dari itu tabel buku dan tabel penerbit harus diperbaiki dan diubah sehingga tidak terjadinya kesalahan dalam penyimpanan data, seperti pada contoh di bawah ini :

    tbl_buku
    id_buku judul_buku
    1221 program C++
    1322 membuat animasi
    1422 belajar program
    1321 audio video

    tbl_penerbit
    id_penerbit penerbit
    35 Alex W
    55 Dian Sastro
    23 Wiji S

    kurang lebih seperti itu cara teknik normalisasi sampai ketiga pada database, sebenarnya masih banyak lagi contoh teknik normalisasi pada database, seperti normalisasi Boyce-Codd, normalisasi keempat dan lain lain, hanya yang lainnya itu jarang di gunakan, dan yang digunakan hanya normalisasi sampai ketiga saja.
     
     
     
     
     
     -SQL :

    SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.

    Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.
    • Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.

      Pemakaian dasar

      Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[3], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.

      Transact-SQL (disingkat T-SQL) adalah jenis bahasa untuk basis data SQL yang dikeluarkan oleh perusahaan Microsoft dan Sybase. Pada sistem berbasis Microsoft, T-SQL ini diimplementasikan pada perangkat lunak Microsoft SQL Server, sedangkan pada sistem berbasis Sybase, bahasa Transact-SQL ini dipakai pada perangkat lunaknya yang bernama Adaptive Server Enterprise dan Sybase SQL Server.

      Seperti bahasa dalam kebanyakan basis data SQL, T-SQL ini mempunyai beberapa fitur:

    • bahasa kendali alir (control flow)
    • variabel lokal
    • pemrosesan matematis, string, tanggal (date), dll
    • perbaikan perintah DELETE dan UPDATE.

    Kata kunci (keyword) yang dipakai meliputi perintah BEGIN dan END, BREAK, CONTINUE, GOTO, IF dan ELSE, RETURN, WAITFOR, serta WHILE. Beberapa contoh dari penggunaan bahasa T-SQL ini adalah:

     IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
       PRINT 'It is the weekend.'
     ELSE
       PRINT 'It is a weekday.'
    

    Untuk perintah lebih dari satu baris, maka blok dengan awal BEGIN dan akhiran END harus dipakai seperti contoh ini:

     IF DATEPART(dw, GETDATE()) = 7 OR DATEPART(dw, GETDATE()) = 1
      BEGIN
       PRINT 'It is the weekend.'
       PRINT 'Get some rest!'
     END
     ELSE
     BEGIN
       PRINT 'It is a weekday.'
       PRINT 'Get to work!'
     END
    

    Tipe suatu variable biasanya dinyatakan dengan perintah DECLARE:

     DECLARE @Counter INT
     SET @Counter = 10
     WHILE @Counter > 0
     BEGIN
       PRINT 'The count is ' + CONVERT(VARCHAR(10), @Counter)
       SET @Counter = @Counter - 1
     END
    

    Suatu variable @ArticleCount dapat diberi nilai awal dengan jumlah baris COUNT yang terdapat pada table Articles, sebagai berikut:

     DECLARE @ArticleCount INT
     SELECT @ArticleCount = COUNT(*) FROM Articles
     INSERT

    Injeksi SQL adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain.

    Bentuk injeksi SQL ini terjadi ketika masukan pengguna tidak disaring dari karakter-karakter pelolos dan kemudian diteruskan ke dalam sebuah pernyataan SQL. Ini menimbulkan potensi untuk memanipulasi pernyataan-pernyataan yang dilakukan pada basis data oleh pengguna akhir aplikasi.

    Baris kode berikut menggambarkan celah keamanan ini:

    pernyataan := "SELECT * FROM pengguna WHERE nama = '" + namaPengguna + "';"
    

    Jika variabel "namaPengguna" dirangkai sedemikian rupa oleh pengguna yang bermaksud buruk, pernyataan SQL tersebut bisa melakukan lebih daripada yang pengarangnya maksudkan. Sebagai contoh, mengeset variabel "namaPengguna" sebagai

    a' or 't'='t
    

    menjadikan pernyataan SQL ini oleh bahasa yang memuatnya:

    SELECT * FROM pengguna WHERE nama = 'a' or 't'='t';
    

    Jika kode ini akan digunakan dalam sebuah prosedur untuk melakukan otentikasi, maka contoh ini dapat dipakai untuk memaksakan pemilihan sebuah nama pengguna yang sah karena evaluasi 't'='t' akan selalu bernilai benar.

    Secara teori, perintah SQL sah apapun bisa diinjeksi melalui metode ini, termasuk menjalankan banyak pernyataan. Nilai "namaPengguna" berikut ini pada pernyataan di atas akan menyebabkan dihapusnya tabel "pengguna" dan juga pengambilan semua data dari tabel "data":

    a';DROP TABLE pengguna; SELECT * FROM data WHERE nama LIKE '%
    

    Masukan ini menjadikan pernyataan akhir SQL sebagai berikut:

    SELECT * FROM pengguna WHERE nama = 'a';DROP TABLE pengguna; SELECT * FROM data WHERE nama LIKE '%';
    

    Penanganan tipe yang tidak benar

    Bentuk injeksi SQL ini terjadi ketika sebuah unsur masukan pengguna tidak bertipe kuat atau tidak diperiksa batasan-batasan tipenya. Ini dapat terjadi ketika sebuah unsur numerik akan digunakan dalam sebuah pernyataan SQL, tetapi pemrogram tidak melakukan pemeriksaan untuk memastikan bahwa masukan pengguna adalah numerik. Sebagai contoh:

    pernyataan := "SELECT * FROM data WHERE id = " + variabel_a + ";"
    

    Terlihat jelas dari pernyataan ini pengarang memaksudkan variabel_a menjadi sebuah nomor yang berhubungan dengan unsur "id". Namun begitu, jika pada kenyataannya itu adalah sebuah string, maka pengguna akhir dapat memanipulasi pernyataan tersebut sesukanya, dan karena itu mengabaikan kebutuhan akan karakter-karakter pelolos. Sebagai contoh, mengeset variabel_a sebagai

    1;DROP TABLE pengguna
    

    akan menghapus tabel "pengguna" dari basis data karena hasil akhir SQL-nya akan menjadi sebagai berikut:

    SELECT * FROM data WHERE id = 1;DROP TABLE pengguna;
    
    Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.

 

 

tugas 1

14 September 2012 10:23:26 Dibaca : 121

database adalah :kumpulan informasi yang disimpan didalam komputer secara sistematik untuk memperoleh informasi dari basis data tersebut.

database adalah representasi kumpulan fakta yang saling berhubungan disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu untuk memenuhi berbagai kebutuhan.

 

 

DBMS (database management system) adalah :perantara bagi pemakai dengan basis data untuk merinteraksi dengan DBMS (basis data) menggunakan bahasa basis data yang telah ditentukan oleh perusahaan DBMS.bahasa basis data biasanya terdiri atas perintah - perintah yang diformulasikan sehingga perintah tersebut akan diproses oleh DBMS. perintah - perintah biasanya ditentukan oleh user. bahasa basis data tersebut yaitu data definition language (DDL) dan data manipulation language (DML).

DBMS merupakan perangkat lunak yang di rancang untuk dapat melakukan utilisasi dan mengelolah koleksi data dalm jumlah yang besar.DBMS juga di rancang untuk dapat melakukan manipulasi data secara lebih mudah.

 

“DBMS adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. DBMS merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumah yang besar. DBMS juga dirancang untuk dapat melakukan masnipulasi data secara lebih mudah.”

Contoh dari DBMS seperti  Oracle, SQL server 2000/2003, MS Access, MySQL dan sebagainya.

Fungsi DBMS adalah sebagai berikut :

1. Data Definition

DBMS harus dapat mengolah pendefinisian data

2. Data Manipulation

DBMS harus dapat menangani permintaan-permintaan dari pemakai untuk mengakses data

3. Data Security & Integrity

DBMS harus dapat memeriksa security dan integrity data yang didefinisikan oleh DBA

4. Data Recovery & Concurency

- DBMS harus dapat menangani kegagalan-kegagalan pengaksesan database yang dapat disebabkan oleh kesalahan sistem, kerusakan disk, dsb.
- DBMS harus dapat mengontrol pengaksesan data yang konkuren yaitu bila satu data diakses secara bersama-sama oleh lebih dari satu pemakai pada saat yang bersamaan.

5. Data Dictionary

DBMS harus menyediakan data dictionary

6. Performance

DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin.

 

 contoh DBMS adalah :

1. MICROSOFT ACCESS
Developer : Microsoft

Microsoft Access atau Microsoft Office Access adalah program aplikasi dari Microsoft yang ditujukan untuk kalangan rumahan atau perusahaan kecil menengah karena kapasitas datanya sangat terbatas. Microsoft Access menggunakan mesin basis data Microsoft Jet Database Access Engine. Untuk instalasinya membutuhkan space di hardisk yang lumayan besar. Engine ini hanya bisa dijalankan di lingkup sistem operasi Windows saja. Untuk keamananya tidak begitu bisa dihandalkan walaupun sudah mengenal konsep relationship.
Kelebihan dan Kekurangan :
• Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem manajemen basis data yang bersifat klien atau server.
• Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL). Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga untuk mengaplikasikan konsep berorientasi objek.

2. MICROSOFT SQL SERVER
Developer : Microsoft
Link :www.microsoft.com/sql
Macam Edisi : SQL Server Compact Edition (SQL CE), SQL Server Express Edition, SQL Server Workgroup Edition, SQL Server Standart Edition, SQL Server Enterprise Edition, SQL Server Developer Edition.

Microsoft SQL Server adalah program Sistem Manajemen Dasis Data Relasional. Susunan dari Microsoft SQL Server dibagi menjadi tiga komponen. SQL OS yang melakukan layanan utama pada SQL Server, misalnya mengatur aktifitas, pengaturan memori, dan pengaturan Input/Output. Relational Engine yang bekerja sebagai penghubung komponen database, tabel, query, dan perintah tersimpan dan Protocol Layer yang mengatur fungsi-fungsi SQL Server.
Kekurangan :
• Hanya dapat diimpelementasikan pada 1 unit server, jika terdapat tambahan server maka hanya akan berfungsi sebagai pasif / standby server (tidak memiliki kemampuan Technology Cluster Server seperti halnya pada DMBS Oracle).
• Hanya bisa berjalan pada satu platform system operasi yaitu Microsoft Windows.
• Merupakan software berlisensi dan berharga mahal untuk perusahaan skala kecil dan menengah.
Kelebihan :
• Cocok untuk perusahaan dengan skala kecil, menengah, dan besar sehingga mampu untuk mengolah data dengan jumlah yang besar.
• Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
• Untuk diterapkan pada pembangunan suatu program aplikasi, akan mudah dalam melakukan koneksi dengan computer client yang pembangunan aplikasinya menggunakan software yang sama platform dengan MS-SQL, misalnya Microsoft Visual Basic.
• Memiliki tingkat pengamanan / security data yang baik.
• Memiliki kemampuan untuk back-up data, rollback data, dan recovery data.
• Memiliki kemampuan untuk membuat database mirroring dan clustering.

3. ORACLE
Developer : Oracle Corporation

Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut:
• Dapat bekerja di lingkungan client/server (pemrosesan tersebar)
• Menangani manajemen space dan basis data yang besar
• Mendukung akses data secara simultan
• Performansi pemrosesan transaksi yang tinggi
• Menjamin ketersediaan yang terkontrol
• Lingkungan yang tereplikasi
Kekurangan:
• Merupakan software DMBS yang paling mahal, paling rumit, dan paling sulit untuk dipelajari.
• Membutuhkan spesifikasi hardware yang tinggi untuk dapat menjalankan software DMBS Oracle supaya berjalan dengan stabil.
• Hanya diperuntukan bagi perusahaan berukuran besar, dan tidak cocok untuk perusahaan kecil maupun menengah.
Kelebihan :
• Merupakan software DBMS yang handal dan memiliki kemampuan yang tinggi.
• Dapat menangani jumlah data dalam ukuran yang besar.
• Dapat mengolah data dalam ukuran besar dan mengolahnya dengan cepat sehingga didapatkan informasi yang akurat sesuai permintaan pengguna/user.
• Memiliki kemampuan akan fleksibilitas dan skalabilitas yang dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus-menerus bertambah besar.
• Memiliki kemampuan Technology Cluster Server, dimana jika terdapat lebih dari satu unit server misalnya 100 unit server maka Oracle dapat menjadikan 100 unit server tersebut aktif bekerja bersama sebagai 100 aktif server.
• Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
• Bisa berjalan pada lebih dari satu platform system operasi.

4. MySQL
Developer : MySQL AB
Versi Terakhir : 5.0.41 (Mei 2007)
Link :www.mysql.com

My SQL adalah perangkat lunak sistem manajemen basis data yang diciptkan untuk dapat dilakukan instalasi secara gratis (open source). Hingga saat ini MySQL telah lebih dari 6 juta instalasi.
Kekurangan :
• Tidak cocok untuk menangani data dengan jumlah yang besar, baik untuk menyimpan data maupun untuk memproses data.
• Memiliki keterbatasan kemampuan kinerja pada server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.
Kelebihan :
• Free (bebas didownload)
• Stabil dan tangguh
• Fleksibel dengan berbagai pemrograman
• Security yang baik
• Dukungan dari banyak komunitas
• Kemudahan management database
• Mendukung transaksi
• Perkembangan software yang cukup cepat.