TUGAS BASIS DATA PERTEMUAN 10
SQL adalah bahasa query yang
dirancang untuk pengambilan informasi tertentu dari database.
bahasa khusus yang digunakan untuk mengakses dan mengelola RDBMS. Bahasa SQL
telah distandarkan, namun demikian telah berkembang banyak varian dan bentuk
sesuai dengan kebutuhan vendor RDBMS. SQL adalah bahasa yang mulanya
berorientasi pada basia data relasional. Bahasa ini menghilangkan banyak
pekerjaan yang perlu dilakukan pemrogram / pengembang berkaitan dengan operasi
– operasi terhadap data bgila dibanding denan menggunakan bahasa general
purpose. SQL adalah bahasa yang menggabungkan fitur – fitur bahasa query formal
aljabar relasional dan bahasa query formal kalkulus relasional. Meski SQL diacu
sebagai bahasa query (yaitu bahasa untuk meminta data) namun sesungguhnya SQL
bukan hanya sekedar bahasa query terhadap basis data. SQL juga berisi fasilitas
untuk mendifinisikan struktur data, modifikasi struktur data, serta digunakan
menspesifikasikan constraint – constraint integritas dan keamanan data.
A. Sejarah SQL
SQL diawali publikasi makalah E.F.
Codd (1970) mengenai model relasional :”A Relational Model of Data for Large
Shared Data Banks”. Pada tahun 1974, D.Chamberlin an R.F. Boyce mengembangkan
bahasa query untuk memanipulasi dan mengekstrak data dari basis data
relasional, dan definisi dengan “Structured English Query Language” yang
disingkat sebagai SEQUEL, yang dikemukakan dalam makalah berjudul “SEQUEL = A
Structured English Query Language”. Kemudian SEQUEL berevolusi menjadi versi
revisi yaitu SEQUEL/2 pada tahun 1976. Orang mengejanya dengan SQL dan
menyebutkan dengan “si-quel” meski ejaan resminya adalah “s-q-l”.
Bahasa SQL mempunyai beberapa
bagian yaitu:
1. Bahasa pendifinisian data
(DDL-Data Definition Language) untuk pendifinisian skema relasi, penghapusan
relasi dan memodifikasi skema relasi.
2. Bahasa manipulasi data interaktif
(DML-Data Manipulation Language), berisi bahasa query berbasis aljabar
relasional dan kalkulus relasional tupel, memasukkan tupel, menghapus tupel dan
melakukan modifikasi tupel.
3. Pendifinisian View untuk
mendifiniskan View.
4. Kendali transaksi untuk
menspesifikasikan permulaan dan akhir transaksi.
5. Embedded SQL dan dynamic SQL yang
mendifiniskan cara kalimat SQL ditempelkan dibahasa pemrograman umum seperti C,
C++, Java, PL/1, Cobol, Pascal dan Fortran.
6. Integritas, bagian dari DDL untuk
menspesifikasikan konstrain – konstrain integritas dimana data disimpan yang
harus dipenuhi basis data.
7. Otoriasi, bagian DDL uang
menspesifikasikan hak – hak akses terhadap relasi dan view.
Bahasa basis data harus
memungkinkan pemakai melakukan hal – hal sebagai berikut:
1. mencipakan baisis data dan
struktur – struktur relasi.
2. Melakukan manajemen data tingkat
dasar seperti penyisipan (insertion), modifikasi (modification) struktur dan
data, serta penghapusan (deletion).
3. Membentuk query sederhana dan
kompleks yang mentransformasi data di basis data menjadi informasi.
4. melakukan tugas – tugas dengan
seminimal mungkin memakai struktur dan sintaks perintah relatif mudah
dipelajari.
5. harus portabel, yaitu memenuhi
suatu standard sehingga dapat menggunakan struktur dan sintaks perintah
beragamam DBMS lain.
B.
Subdivisi SQL
SQL (Structured Query Language)
dapat dikelompokkan menjadi 3 (tiga), yaitu DDL (Data Definition Language), DML
(Data Manipulation Language) dan DCL (Data Control Language).
a. DDL (Data Definition Language) DDL
disebut sebagai bahasa untuk pendefinisian skema (Schema Definition Language)
yag berisi perintah – perintah untuk menciptakan objek – objek basis data
(table, indeks, view dan lainnya).
b. DML (Data Manipulation Language)
DML adalah sekelompok perintah yang menentukan dan melakukan manipulasi nilai –
nilai didalam suatu table pada suatu waktu yang diinginkan.
c. DCL (Data Control Language) DCL
berisi fitur – fitur yang menentukan aksi yang dapat dilakukan pemakai terhadap
objek basis data seperti basisdata, tale, view dan lainnya. Pada ISO, DCL
termasuk sebagai bagian dari DDL, selain itu dapat ditambahkan bagian berikut:
• View definiton, SQL DDL untuk perintah mendifinisikan View. • Transaction
control, untuk menspesifikasikan awal an akhir transaksi dan melakukan
pengendalian transaksi. • Embedded SQL dan dynamic SQL, mendifiniskan cara
kalimat SQL dapat ditempelkan dibahasa pemrograman umum seperti C, C++, Java,
PL/1, Cobol, Pascal, Fortran dan sebagainya. • Integrity, perintah untuk
menspesifikasikan konstrain – konstrain integritas dimana data disimpan di
basisdata yang harus dipenuhi DBMS. Pembaruan yang melanggar konstrain –
kontrain integritas ditolak.
C.
SQL – DDL
DDL (Data Definition Language)
memungkinkan kita membuat dan menghancurkan objek – objek basis data
(database/schema, domain, table, view, dan index). DBMS akan menggunakan
informasi deskripsi struktur basis data saat menterjemahkan kalimat DML menjadi
perintah – perintah ke manajer basis data.
DDL berbeda untuk dialek – dialek
SQL yang berbeda, dibawah ini kita akan menggunakan ISO SQL sebagai acuan.
Kalimat DDL mendefiniskan struktur data dengan menciptakan dan mengelola basis
data dan objek – objek basis data seperti table dan store procedure. Kebanyakan
kalimat DDL mempunyai bentuk sebagai berikut
• CREATE object_name • ALTER
object_name • DROP object_name
D.
SQL – DML
DML adalah subset SQL untuk
melakukan manipulasi tupel – tupel pada basis data relaasional. DML
mendefinisikan kalimat pengambilan, penyisipan, pembaruan dan penghapusan data.
Pengembang akan sering menggunakan kalimat – kalimat DML dibandingkan kalimat –
kalimat jenis ain.
DML menyediakan 4 (empat)
pernyataan untuk melakukan manipulasi data dalam database, yaitu:
1. SELECT, untuk query (meminta
informasi) dari database.
2. INSERT, untuk melakukan penyisipan
data pada table dalam suatu database.
3. UPDATE, untuk melakukan perubahan
data pada suatu table dalam suatu database.
4. DELETE, untuk melakukan
penghapusan data pada suatu table dalam suatu database.
SQL merupakan bahasa manipulasi
data yang lengkap dan dapat digunakan untuk mengelola data basisdata. Perintah
untuk melakukan modifikasi basis data tidak sekompleks kalimat SELECT yang
digunakan untuk query. Pada sesi ini, kita mendeskripsikan tiga pernyataan SQL
yaitu:
1. INSERT, untuk menambah baris baru
kedalam table.
2. UPDATE, untuk memodifikasi
(update) data yag telah ada pada table.
3. DELETE, untuk menghilangkan baris
data pada suatu table.
Kalimat SELECT merupakan kalimat kompleks bila dibandingkan kalimat
– kalimat DML yang lain. Pemahaman terhadap kalimat SELECT akan mempermudah
pemahaman kalimat lain. Perintah SELECT mengambil data dari table tanpa
mempengaruhi / mengubah data yang disimpan. Perintah ini hanya digunakan untuk
mengirim atau mengambil data tanpa mengubahnya. Sementara itu, kalimat UPDATE,
INSERT dan DELETE digunakan untuk mempengaruhi / mengubah data pada table.
Penggunaan yang tidak tepat dari perintah UPDATE, INSERT dan DELETE dapat
menyebabkan kehilangan data atau terjadi korupsi data. Kalimat UPDATE, INSERT
dan DELETE juga mempengaruhi / mengubah indeks. Sistem basis data akan mengubah
indeks saat terjadi perubahan record atau penambahan data baru pada table.
E.
SQL
- DCL
DBMS menyedikan mekanisme untuk menjamin hanya pemakai yang berhak
(diotorisasi) yang dapat mengakses basis data. SQL menyediakan pernyataan GRANT
dan REVOKE untuk memungkinkan pengamanan diberikan ke tabel – tabel pada basis
data. Pengamanan diberikan pada konsep berikut ini:
1. Identifier Otorisasi (authorization)
2. Kepemilikan (ownership)
3. Wewenang (privelege)
F.
Wewenang
Wewenang adalah aksi – aksi yang boleh dilakukan oleh pemakai pada table dan
view. Wewenang yang didefiniskan standard ISO antara lain:
• SELECT, wewenang untuk pengambilan data dari table.
• INSERT, wewenang untuk menyisipkan baris data baru kedalam table.
• UPDATE, wewenang untuk melakukan modifikasi baris data baru di
table.
• DELETE, wewenang untuk menghapus baris data didalam table.
• REFERENCES, wewenang untuk mengacu kolom – kolom taable secara
terintegrasi.
• USAGE, wewenang menggunakan domain, collation, himpunan karakter
dan translation.
0 Komentar