By : Hanung Nindito Prasetyo
By : Hanung Nindito Prasetyo
Program Studi Teknik Komputer Jurusan Teknologi Informasi Politeknik Telkom 2012
DBMS merupakan perantara bagi pemakai dengan basis data dalam disk.
Cara berinteraksi / berkomunikasi antara pemakai dengan basis data tersebut diatur dalam bahasa khusus yang ditetapkan oleh pihak pembuat DBMS. pembuat DBMS.
Bahasa tersebut dapat disebut sebagai bahasa basis data yang terdiri atas sejumlah perintah (command) yang dapat dituliskan / diberikan
user untuk kemudian diproses oleh DBMS untuk
melakukan suatu aksi tertentu. Contoh : SQL, dBase, dsb.
Sebuah Bahasa basis data biasanya dapat
dipilah ke dalam 2 kelompok, yaitu :Data Manipulation Language (DML) 2. Data Manipulation Language (DML)
DDL adalah bahasa basis data yang digunakan untuk menggambarkan desain basis data secara keseluruhan.
Dengan DDL kita dapat membuat tabel
baru, membuat indeks, mengubah tabel, baru, membuat indeks, mengubah tabel,
menentukan struktur penyimpanan tabel, dsb. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary).
DML berisi kumpulan perintah yang
berguna untuk melakukan manipulasi dan
pengambilan data pada suatu basis data.Manipulasi data dapat berupa : Manipulasi data dapat berupa : 1.
Penyisipan / Penambahan data baru ke suatu basis data
2. Penghapusan data dari suatu basis data.
3. Pengubahan data di suatu basis data.
Hasil kompilasi dari perintah DDL adalah satu set dari tabel yang disimpan dalam file khusus disebut data dictionary/directory. Satu set directory adalah satu file yang berisi meta data yaitu “data mengenai data” file ini dikonsultasikan sebelum data sebenarnya dibaca atau dimodifikasikan dalam satu sistem database.
Statement yang terdapat dalam DDL :
- CREATE DATABASE
TABLE
INDEX
INDEX
VIEW
- DROP DATABASE
TABLE
INDEX
VIEW
- ALTER TABLE
Data Definition menggunakan SQL :
Tabel Dokter (Kode_Dok menunjukkan primary key dari tabel dokter)
Kode_Dok Nama_Dok D001 D003 D004 D015
Alfian Joni Kuniawan Esti Yuliana Sri Ningsih
Tabel Pasien (Kode_Pas menunjukkan primary key dari tabel pasien)
Kode_Pas Nama_Pas Jekel Alamat P051 P063 P004 P015 P125
Elfis Linda Yati Helmi Depi Haryanto Yanti Octavia
L P L L P Sungai Penuh Tanjung Tanah Semurup Sebukar Sungai Penuh Tabel Berobat
Kode_Pas Kode_Dok Tgl_Berobat Nama_sakit P051 P063 P004 P015 P051 P063 P015 D004 D015 D001 D003 D004 D015 D004
12-05-2005 10-04-2005 10-04-2005 12-05-2005 15-05-2005 15-05-2005 16-05-2005 P015
P015 D004 D004 16-05-2005 22-05-2005
Create Database → membuat database Bentuk Umum :
Create Database (nama_database); Contoh :
Buat file database dengan nama puskesmas → Create Database puskesmas
utk menggunakan database gunakan perintah >> use namadatabase
Create Table
→ membuat tabel
Bentuk Umum :
Create Table nama_tabel (nama_kolom1, tipe_data, lebar_data,….); Create Table nama_tabel (nama_kolom1, tipe_data, lebar_data,….); Keterangan : nama_tabel → nama yang diberikan di tabel baru. Nama tabel maksimal nama_kolom terdiri dari 8 karakter. Tidak boleh memakai spasi, terdiri dari huruf.
→ nama yang diberikan untuk kolom baru, maksimal terdiri dari
10 karakter. Tidak boleh memakai spasi, terdiri dari huruf, angka dan lain-lain.
type_data → jenis data yang nilainya dimasukkan dalam kolom yang telah lebar_data ditentukan.→ nomor spasi karakter untuk mengikuti data yang dimasukkan dalam kolom yang telah ditentukan. Contoh :
Buat tabel Dokter - → Create Table Dokter (Kode_Dok int(4) notnull, nama_dok varchar(25) notnull);
Buat tabel Berobat - → Create Table Berobat (Kode_Pas int(4) notnull
Kode_Dok int(4) notnull, tgl_berobat date(8) notnull, nama_sakit varchar(25) notnull); nama_sakit varchar(25) notnull);
• untuk melihat tabel yg sudah dibuat, perintah;
>> show tables;
- utk melihat struktur tabel
>> describe namatabel >> describe namatabel
NmDepan Inisial NmBlk Nama JenisKel Alamat Gaji bekerja untuk nama nomor lokasi 8 (1,1) NoKTP Pegawai
(1,N) Departemen ) ) (0,1) mengepalai (1,1) (0 (0 ,N ) JmlPegawai JmlPegawai N (0 (1 (1 ,N ,N TglMulai ,1 (0 ) (0 ) memimpin ,N ) bekerja pada mengatur ,1 )
(1 menanggung ,1 ) LamaJam Proyek (1,N ) Tanggungan (1 Nomor Nama Lokasi Nama Hubungan
indeks dalam database dapat diumpamakan seperti indeks dalam sebuah buku yang tebal, sehingga item tertentu dapat ditemukan dengan cepat. tertentu dapat ditemukan dengan cepat.
Sebuah indeks dalam basis data
berfungsi untuk mempercepat pencarian
data berdasarkan kolom tertentu. Sebuah perintah : SELECT * FROM pegawai WHERE nip =‘198308282008122002’;
jika nip tidak dijadikan indeks, maka pencarian jika nip tidak dijadikan indeks, maka pencarian
data akan dilakukan pada seluruh tabel, dapat
dianalogikan seperti mencari sesuatu dalam sebuah buku dan buku tersebut tidak dilengkapi dengan indeks. Tetapi jika terdapatindeks yang berkaitan dengan nip maka akan
ditemukan lebih cepat.
Dengan penambahan indeks pada suatu data akan menambah kecepatan
pengaksesan data tersebut, tanpa harus mengubah urutan fisik datanya dan juga mengubah urutan fisik datanya dan juga
dapat mempercepat proses pencarian data
berdasarkan nilai field tertentu.
Tabel 1.1 adalah tabel ad yang tak berindeks sehingga jika dicari nilai-nilaitertentu pada kolom company, maka nilai-nilai yang ada di masing-masing nilai-nilai yang ada di masing-masing baris harus diperiksa. Ini lah yang disebut full-tabel scan.
Tabel 1.2 merupakan tabel yg sama tapi dengan tambahab indeks. Indeks berisisebuah masukan untuk masing-masing baris dalam tabel ad, akan tetapi nilai baris dalam tabel ad, akan tetapi nilai
nom_company pada indeks telah terurut.
Create Index → membuat index. Bentuk Umum :
Create (unique) Index nama_index on nama_tabel (nama_kolom); Keterangan :
unique pilihan perincian yang dapat digunakan untuk
→ menguatkan nilai data di dalam kolom nama index menjadi unik. nama_index → nama index yang baru. nama_tabel nama_tabel → nama tabel yang berisi kolom index akan dibuat. → nama tabel yang berisi kolom index akan dibuat. nama_kolom → nama dari kolom tempat index akan dibuat. Yangterdiri dari Asc untuk pilihan index naik dan Desc untuk
pilihan index menurun.Contoh :
- Buat index data pasien berdasarkan kode_pas dengan nama pasien2 → Create index pasien2 on pasien (kode_pas);
Buat index data berobat berdasarkan kode_dok dengan - nama obat2 → Create index obat2 on berobat (kode_dok);
View adalah tabel virtual yang isinya didefinisikan oleh query database.View bukanlah sebuah tabel fisik, tetapi
sekumpulan instruksi yang menghasilkan sekumpulan instruksi yang menghasilkan
sekumpulan data.
View hanya bisa dibuat di dalam database
yang sedang digunakan. View bisa menggunakan data dari view lain.
Kita tidak bisa membuat indeks untuk view.
Jika ada lebih dari satu kolom view yang
memiliki nama yang sama, kolom tersebut
harus diberi alias. Kolom didalam view sama dengan kolom ditabel asal.
Create View → untuk membuat tabel view.
Create view lebih bersifat manipulasi data daripada pernyataan definisi data.
Bentuk Umum :
Create View nama_view [(nama_kolom1,…)] As Select statement [with check option]; Keterangan :
nama_view nama_view → harus dimulai dari huruf, bilangan atau garis → harus dimulai dari huruf, bilangan atau garis bawah. Maksimal terdiri dari 9 karakter. with check option
→ merupakan klausa optimal yang menyebabkan semua perubahan dan penyisipan ke view akan diperiksa untuk mengetahui apakah semua itu memenuhi definisi view. Contoh : Buat view dengan nama pasienview yang berisi semua
- data pasien.
→ Create view pasienview As select * from pasien; Buat view dengan nama berobatview yang berisi
- kode_pas, kode_dok dan tgl_berobat.
→ Create view berobatview (kode_pas, kode_dok, tgl_berobat) As select kode_pas, kode_dok, tgl_berobat from berobat ; Drop (database, table, index, view) Drop (database, table, index, view)
→ → digunakan untuk menghapus database, tabel, index, dan view.
Bentuk Umum : Drop Database nama_database ; → untuk menghapus database Drop Table nama_tabel ; → untuk menghapus tabel Drop Index nama_index ; → untuk menghapus tabel index Drop View nama_view ; → untuk menghapus view
Contoh :
Hapus database pasien → Drop database pasien ;
Hapus tabel berobat → Drop table berobat ;
Hapus tabel index dokter → Drop index dokter ;
Hapus tabel view pasien → Drop view pasien ; Alter Table Alter Table
→ digunakan untuk menambah → digunakan untuk menambah satu atau lebih kolom di tabel yang baru dibuat. Bentuk Umum :
Alter Table nama_tabel
ADD (nama_kolom, jenis_kolom) → untuk menambah kolom MODIFY (nama_kolom, jenis_kolom) → untuk mengubah kolom DROP (nama_kolom, jenis_kolom) → untuk menghapus kolom
Contoh :
1. Tambahkan kolom alamat (Alt) dengan panjang 25 karakter pada tabel Dokter → Alter table dokter add (alt char(25)) ;
2. Ubah panjang kolom nama dokter (nama_dok) menjadi
15 karakter → Alter table dokter modify (nama_dok char(15)) ;3. Hapus kolom tanggal berobat (tgl_berobat) dari tabel berobat → Alter table berobat drop (tgl_berobat char(8)) ;