basis data@060309
TRANSCRIPT
-
8/16/2019 Basis Data@060309
1/45
Modul
Basis Data
-
8/16/2019 Basis Data@060309
2/45
- DAFTAR ISI - II
Daftar ISI
CHAPTER1. MENGENAL BASIS DATA 1
1.1 Perancangan Basis Data 1
1. Entitas 12. Atribut 23. Normalisasi 4
CHAPTER 2. IMPLEMENTASI PERANCANGAN BASIS DATA 7
2.1 Membuat Basis Data di Access 7
2.2 Membuat dan Mendesain Tabel di Access 10
Merancang Tabel dengan Fasilitas Create Table in Design View 12Merancang Tabel dengan Fasilitas Create Table by Entering Data 12
2.3 Membuat Relasi 131. One-to-many relationship (relasi satu ke banyak) 13
2. Many-to-many relationship (relasi banyak ke banyak) 133. One-to-one relationship (relasi satu ke satu) 14
2.4 Mengedit Struktur Tabel 14Menentukan dan Mengubah Primary Key 15Mengatur Field pada Tabel 15
CHAPTER 3. STRUCTURE QUERY LANGUAGE (SQL) 17
3.1 Membuat Tabel 17
3.2 Merubah Struktur Tabel 17
1. Menambah field atau kolom 172. Mengganti nama field atau kolom 18
3. Menghapus field atau kolom 18
3.3 Menghapus Tabel 18
3.4 Relasi Antar Tabel 19
3.5 Menampilkan Data 20
3.6 Menampilkan Isi Tabel 20
3.7 Mengubah Data 21
3.8 Menghapus Data 21
CHAPTER 4. ERANCANGAN BASISDATA DI MYSQL 22
4.1 Membuat Database 22
-
8/16/2019 Basis Data@060309
3/45
- DAFTAR ISI - II
4.2 Melihat Database 22
4.3 Membuat Database 23
4.4 Menghapus Database 23
4.5 Tabel 231. Membuat Tabel 232. Melihat Struktur Tabel 253. Mengubah Sruktur Tabel 26
4. Mengganti Nama Tabel 275. Menghapus Tabel 27
4.6 Relasi 281. Membuat tabel baru dan langsung di relasikan. 28
2. Membuat relasi pada tabel lama. 28
CHAPTER 5. PEMBUATAN BASIS DATA DI INTERBASE 29
5.1 Membuat Database 29
5.2 Tabel 31
1. Membuat Tabel 322. Merubah Struktur Tabel 323. Menghapus Tabel 33
5.3 Relasi 33
5.4 Stored Procedures 34
1. Membuat Select procedure sederhana 342. Membuat executable procedure sederhana 35
5.5 View 35
5.6 Trigger 37
CHAPTER 6. MENAMPILKAN ISI TABEL 41
6.1 Inner Join 41
6.2 Straight Join 41
6.3 Left (Outer) Join 41
6.4 Right (Outer) Join 42
6.5 Natural (Right | Left (Outer)) Join 42
-
8/16/2019 Basis Data@060309
4/45
CHAPTER 1 - MENGENAL BASIS DATA - 1
Chapter
1 Mengenal Basis DataBasis Data terdiri dari dua kata, yaitu Basis dan Data. Basis dapat diartikan sebagai markas atau
gudang yaitu tempat bersarang/berkumpul. Sedangkan Data adalah representasi fakta dunia nyata
yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, konsep, keadaan dan
sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.
Beberapa definisi tentang basis data :
1. Basis data merupakan himpunan kelompok data (arsip) yang saling berhubungan yang
diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan
tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan
elektronis.
Prinsip utama basis data adalah pengaturan data/arsip. Sedangkan tujua n utamanya adalah
kemudahan dan kecepatan dalam pengambilan kembali data/arsip. Satu hal yang juga harus
diperhatikan, bahwa basis data bukan hanya sekedar penyimpanan data secara elektronis (dengan
bantuan komputer). Artinya, tidak semua bentuk penyimpanan data secara elektronis bisa disebut
basis data. Kita dapat menyimpan dokumen berisi data dalam file teks (dengan program pengolah
kata), file spread sheet , dan lain-lain, tetapi tidak bisa disebut sebagai basis data karena di dalamnya
tidak ada pemilihan dan pengelompokan data sesuai jenis/fungsi data, sehingga akan menyulitkan
pencarian data kelak. Dalam sebuah basis data yang sangat ditonjolkan adalah
pengaturan/pemilihan/pengelompokkan/pengorganisasian data yang akan kita simpan sesuai dengan
fungsi/jenisnya.
1.1 Perancangan Basis Data
Untuk merancang basis data kita perlu mengetahui terlebih dahulu komponen-komponen basis data
tersebut. Komponen yang paling penting adalah entitas dan atribut.
1. Entitas
Entitas digunakan untuk menerapkan integritas pada tingkat Entity (Tabel), agar setiap Instances
(Record/Baris) pada suatu Entity bersifat Unique yang disebut sebagai Primary Key sehingga dapat
dibedakan antara yang satu dengan yang lainnya.
-
8/16/2019 Basis Data@060309
5/45
CHAPTER 1 - MENGENAL BASIS DATA - 2
Contohnya :
- Semua Pelanggan, atau Pelanggan saja
dengan entitas Ani, Budi, Amin dan seterusnya -
Semua Mobil, atau Mobil apa saja
dengan entitas mobil Kijang, Starlett dan lain-lain
- Semua Mahasiswa, atau Mahasiswa saja
dengan entitas Eti, Ahmad, dll.
2. Atribut
Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakteristik dari Entitas tersebut.
penentuan/pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya
dalam pembentukan model data. Penetapan atribut bagi sebuah entitas umumnya memang
didasarkan pada fakta yang ada. Tetapi tidak selalu seperti itu. Istilah atribut sebenarnya identik
dengan pemakaian kolom data.
Macam-macam atribut :
1 . A t ri b ut D es k ri p ti f
adalah atribut-atribut yang tidak menjadi atau meru pakan anggota dari Key Primer.
Contoh : atribut-atribut nama_mhs, alamat_mhs, dan tgl_lahir.
2. Atribut Sederhana dan Atribut Komposit
Atribut Sederhana adalah atribut atomik yang tidak dapat dipilah lagi. Sedangkan Atribut Komposit
adalah atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing
memiliki makna.
Contoh atribut sederhana : atribut nama_mhs
Contoh atribut komposit : stribut alamat_mhs dimana alamat masih dapat diurai lagi menjadi
alamat, nama kota, kode pos yang masing-masing memiliki makna.
nim nama_mhs alamat_mhs tgl_lahir
..
.
..
.
Asni
Bertrand
...
...
Jl. Beringin V No.4Jl. Mawar No. 9
...
...
....
....
....
...
Alamat kota kode_pos
Jl. Beringin V No.4
Jl. Mawar No. 9
Yogya
Yogya
881432
881265
3. Atribut Bern ilai Tunggal dan Atribut Bernilai Banyak
Atribut yang bernilai tunggal ditujukan pada atribut-atribut yang memiliki paling banyak satu nilai
untuk setiap basis data.
dapat diuraikan menjadi 3 aribut
-
8/16/2019 Basis Data@060309
6/45
CHAPTER 1 - MENGENAL BASIS DATA - 3
Contoh aribut bernilai tunggal : nim, nama_mhs, alamat_mhs dan tgl_lahir karena atribut-atribut
tersebut hanya dapat berisi satu niali.
Contoh atribut bernilai banyak : atribut hobi karena bisa diisi dengan banyak nilai. Seseorang bisamempunyai hobi lebih dari satu.
Atribut Bernilai Tunggal Atribut Bernilai Ganda
nim nama alamat tgl_lahir hobi
456842 .... .... .... memasak,
membaca
menari
587542 .... .... .... menyanyi
458645 .... .... .... hunting foto
4. Atribut Harus Bernilai
Ada sejumlah atribut pada sebuah tabel yang kita tetapkan harus berisi data. Jadi nilainya tidak
boleh kosong (Mandatory Atribut).
Contoh : nim, nama_mhs karena setiap mahasiswa yang ingin datanya disimpan di tabel tersebut
paling tidak aharus diketahui nama dan nimmnya.
Mandatory Atribut Non Mandatory Attribut
nim nama alamat tgl_lahir hobi
456842 .... .... .... memasak,
membaca
menari
587542 .... .... ....
458645 .... .... .... hunting foto
154625 Eko naik gunung
bersisi data baru
berisi Null, karena datanya berisi Null
belum siap/masih meragukan karena memang
tidak punya hobi
5. Attribut Turunan
Attribut turunan adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan
dari attribut atau tabel lain yang berhubungan.
Contoh : penambahan atribut angkatan dan ip seperti gambar di bawah
-
8/16/2019 Basis Data@060309
7/45
CHAPTER 1 - MENGENAL BASIS DATA - 4
Merupakan atribut turunan
nim nama alamat tgl_lahir angkatan ip456842 .... .... .... 1998 3,4
.... .... ... .... 1998 2,8
.... ... ... .... .... ....
587542 .... .... .... 1999 2,9
458645 .... .... .... 1999 3,1
154625 Eko .... .... .... ...
3. Normalisasi
Dalam perancangan sebuah basis data perlu dilakukan secara cermat agar dihasilkan basis data yang
kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah
dalam manipulasi data. Salah satu cara yang dapat dilakukan dalam merancang basis data seperti ini
adalah dengan melakukan normalisasi.
Normalisasi adalah proses penyusunan tabel-tabel yantg tidak redundan (dobel), yang dapat
menyebabkan anomali pada saat terjadi operasi manipulasi data seperti tambah, ubah dan hapus.
Anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (misalnya
menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain
dihapus).
Sebuah tabel dapat dikategorikan efisien atau normal jika telajh memenuhi tiga kriteria, yaitu :
1. Jika ada dekomposisi tabel dimana dekomposisinya dijamin aman (Lossless Join Decompotition).
Dekomposisi adalah proses pemisahan satu tabel menjadi dua atau lebih tabel baru.
2. Trepeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Codd Normal Form (BCNF).
Tahap-tahap normalisasi :
1. Membawa suatu relasi tak ternormalisasi ke bentuk normal kesatu (1 NF) dengan cara menghapus
semua pegulangan group dan mungkin diperlukan pemecahan relasi menjadi 2 atau lebih. Pada
langkah ini diperlukan pula penentuan kunci primer (primary key). Suatu relasi dikatakan berada
dalam bentuk normal kesatu (1 NF) bila tidak terjadi pengulangan group atau semua data bersifat
atomik.
-
8/16/2019 Basis Data@060309
8/45
CHAPTER 1 - MENGENAL BASIS DATA - 5
Tabel mahasiswa Tabel Mahasiswanim
nama_mhs
alamatjalan
nim
nama_mhs
alamatjalannama_kota
tgl_lahir
nama_kota
kode-pos
tgl_lahir dekomposisi menjadi 2 tabel
Tabel Alamat
alamatjalan
nama_kota
kode_pos
2. Menghilangkan ketergantungan parsial atribut yaitu merubah/memecah relasi sehingga semua
atribut bergantung fungsi kepada kunci primer. Ini disebut bentuk normal kedua (2NF).
kode-kul nim nama-mhs indeks_nilai
MMA-1 584254 Satria A
MMA-2 123489 Dian B
M MA-3 451264 Sari
PDS-1 354216 Yuni B
PDS-2 125647 Agung C
Tabel 1
Tabel 2
Dari tabel1 dapat dilihat bahwa terdapat lebih dari satu ketergantungan fungsional terhadap kunci
primernya, yaitu atribut indeks_nilai yang bergantung penuh kepada atribut kode-kul dan nim
sebagai kunci primernya, sedangkan atribut nama-mhs juga bergantung penuh terhadap atribut
nim (padahal atribut nim hanya bagian dari kunci primer), jadi tabel1 dikatakan tidak memenuhi
syarat 2NF.
Pada tabel 2, tabel1 dipecah menjadi 2 tabel sehingga bentuknya menjadi 2NF.
3. Mengeliminasi ketergantungan transitif yaitu merubah/memecah sebagai relasi sehingga semua
atribut yang bukan kunci tergantung fungsi secara penuh kepada kunci primer/tidak ada
kode-kul nim indeks_nilai
MMA-1 584254 A
MMA-2 123489 B
MMA-3 451264
PDS-1 354216 B
PDS-2 125647 C
nim
584254 Satria
123489 Dian
451264 Sari
354216 Yuni
125647 Agung
nama-mhs
-
8/16/2019 Basis Data@060309
9/45
CHAPTER 1 - MENGENAL BASIS DATA - 6
ketergantungan parsial yaitu ketergantungan atribut kepada atribut yang bukan kunci. Ini disebut
bentuk normal ketiga (3NF).
nim nama alamatjalan nama_kota kode_pos
584254 Satria Jl. Mawar Yogya 44098
123489 Dian Jl. Kenanga Semarang 55192
451264 Sari Jl. Kebon Jeruk Yogya 44123
354216 Yuni Jl. Beringin Raya Solo 41547
125647 Agung Jl. Beruang Semarang 55194
Tabel 1
Tabel 2
Pada tabel1 alamat mahasiswa di pecah menjadi beberapa atribut yaitu alamatjalan, nama_kota dan
kode_pos dan pada tabel ini yang bertindak sebagai kunci primernya adalah nim, tetapi pada tabel1 ini
ada atribut lain yang bukan kunci primer yang saling tergantung yaitu atribut nama_kota bergantung
pada atribut kode pos, sehingga tabel1 dikatakan tidak normal karena tidak memenuhi bentuk 3NF.
Agar tabel1 dapat dikatakan bentuk normal maka tabel1 dipecah menjadi 2 tabel yang terlihat pada
tabel2, atribut nama dan atribut alamatjalan bergantung dengan kunci primernya yaitu atribut nim,
sedangkan pada tabel selanjutnya atribut nama_kota bergantung kepada kunci primernya yaitu atribut
kode_pos.
nim nama alamatjalan
584254 Satria Jl. Mawar 123489 Dian Jl. Kenanga
451264 Sari Jl. Kebon Jeruk
354216 Yuni Jl. Beringin Raya
125647 Agung Jl. Beruang
kode_pos nama_kota
44098 Yogya
55192 Semarang
44123 Yogya
41547 Solo
55194 Semarang
-
8/16/2019 Basis Data@060309
10/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 7
Chapter
2 Implementasi Perancangan Basis DataMicrosoft Access versi 2000 yang selanjutnya akan disebut dengan Access 2000 merupakan salah
satu program aplikasi basis data (database) yang lengkap. Dengan Access 2000 kita dapat
merancang, membuat dan mengelola database dengan mudah.
Database pada Access 2000 dapat terdiri atas satu atau beberapa tabel, query, form, report, page,
makro, dan modul yang semuanya berhubungan atau saling tekait.
Tables, berupa tabel kumpulan data yang merupakan komponen utama dari sebuah
database.
Queries, digunakan untuk mencari dan menampilkan data yang memenuhi syarat tertentu dari
satu tabel atau lebih.
Forms, dipergunakan untuk menampilkan data, mengisi data dan engubah data yang ada di
dalam tabel.
Reports, dipergunakan untuk menampilkan laporan hasil analisa data.
Pages, dipergunakan untuk membuat halaman Web (page) berupa data access page.
Macros, untuk mengotomatisasi perintah-perintah yang sering digunakan dalam mengolah
data.
Modules, digunakan untuk perancangan berbagai modul.
2.1 Membuat Basis Data di Access
Database pada Access 2000 disimpan ke dalam sebuah file yang berekstensi mdb. Untuk membuat
database baru yang masih kosong ada beberapa cara :
Cara I :
1. Jalankan atau aktifkan program Aplikasi Access 2000. Kotak dialog Microsoft Access Start Up
akan ditampilkan.
-
8/16/2019 Basis Data@060309
11/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 8
2. Pada kotak dialog tersebut, beri tanda atau klik tombol pilihan Blank Access Database. Kemudian
klik OK. Kotak dialog File New Database akan ditampilkan.
3. Pada tombol daftar pilihan Save in, pilih drive dan folder tempat untuk menyimpan file tersebut.
4. Pada kotak isian File name, ketikkan nama file yang diinginkan. Misal pada gambar di atas nama
filenya db1.
5. Klik tombol perintah Create. Tunggu sampai database baru yang masih kosong terbentuk.
Cara II :
1. Pada jendela program aplikasi Access 2000, pilih dan klik menu File, New (Ctrl+N) atau klik tombol
toolbar New. Kotak dialog New akan ditampilkan.
2. Pada tab General, pilih dn klik icon Database. Kemudian klik OK. Kotak dialog File New Database
akan ditampilkan.
-
8/16/2019 Basis Data@060309
12/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 9
3. Pada kotak dialog tersebut, lakukan pemilihan nama drive/folde dan ketikkan nama file database
yang diinginkan. Kemudian pilih dan klik tombol perintah Create. Tunggu sampai database baru
yang masih kosong terbentuk.
Cara III :
Menggunakan Tombol Toolbar:
New Database yaitu tombol untuk membuat database baru yang masih kosong.
Cara IV:
Membuat database dengan fasilitas database wizard. Access 2000 menyediakan pula fasilitas
Database Wizard, yang akan membantu dan memandu untuk membuat database baru. Langkah-
langkahnya :
1. Aktifkan program aplikasi Access 2000. Kotak dialog Microsoft Access Startup akan ditampilkan.
2. Pada kotak dialog tersebut, beri tanda atau klik tombol pilihan Access database wizards, pages,
and projects. Kemudian klik OK. Kotak dialog New akan ditampilkan.
3. Pada kotak dialog tersebut pilih dan klik icon file database yang paling sesuai. Kemudian klik OK.
Kotak dialog File New Database akan ditampilkan.
-
8/16/2019 Basis Data@060309
13/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 10
4. Pad atombol daftar pilihan Save in, pilih drive dan folder tempat file akan disimpan.
5. Pada kotak isian File name, ketikkan nama file yang diinginkan.
6. Klik tombol perintah Create. Tunggu sampai kotak dialog Database Wizard yang pertamaditampilkan.
7. Pada kotak dialog Database Wizard tersebut akan ditampilkan berbagai keterangan dari database
yang akan dibentuk, bila sudah dibaca klik tombol perintah Next.
8. Pada kotak dialog tersebut lakukan pemilihan nama Field yang akan digunakan pada setiap tabel
yang akan dibentuk. Kemudian klik tombol Next.
9. Pada kotak dialog tersebut, pilih dan klik gaya tampilan di layar. Kemudian klik Next
10. Setelah itu pilih dan klik gaya tampilan repotr untuk pencetakan ke printer. Kemudian klik Next.
11. Ketikkan judul databasenya.
2.2 Membuat dan Mendesain Tabel di Access
Setelah selesai membuat database baru yang masih kosong, langkah berikutnya yaitu merancang dan
membuat tabel pada database tersebut.
-
8/16/2019 Basis Data@060309
14/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 11
Tabel adalah kumpulan data yang berhubungan dengan topik tertentu. Dengan menggunakan tabel-
tabel yang terpisah untuk tiap topik tertentu dapat membuat database menjadi lebih efisien dan
mengurangi kesalahan pemasukan data. Tabel mengorganisasikan data ke dalam kolom-kolom(dinamakan field) dan baris-baris (dinamakan record).
Sebelum merancang dan membuat tabel baru, ada baiknya mengenal terlebih dahulu berbagai jenis
data yang akan ditempakan pada setiap field.
1 . T e x t
Dapat menerima huruf, angka, spasi dan atnda baca. Text menampung hingga 255 karakter, atau
sebanyak lebar yang dibutuhkan dan ditentukan dalam properti FieldSize.
2 . M e m o
Dapat menerima teks apa saja sebagai catatan atau keterangan dengan panjang maksimal 65535
karakter.
3 . N u mb e r
Berisi data bilangan yang digunakan untuk perhitungan matematis. Ukurannya tergantung dari
properti FieldSize yan diinginkan.
Setting Jangkauan Ketelitian Ukuran
Byte 0-255 - 1 byte
Ineteger -32768 s.d 32767 - 2 byte
Long Integer -2147483648 s.d
2147483647
- 4 byte
Single -3.402823E38 s.d –
1.401 298E-45 untuk nilai negatif 1.401 298E-45 s.d 3.402823E38 untuk
nilai positif
Double -1.79769313486231 E308 s.d
-4.94065645841 247E-324 untuk nilai
negatif.
-
8/16/2019 Basis Data@060309
15/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 12
1.79769313486231E308 s.d
4.94065645841247E-324 untuk nilai
positif.
15 8 byte
Replication Id - - 16 byte
4. Date/TimeHanya dapat menerima tanggal/waktu.
5. Currency, berisi nilai uang dan data bilangan yang digunakan dalam perhitungan matematis
termasuk data dengan 1 sampai 4 angka di belakang tanda desimal.
6. Auto Number, berisi bilangan yang berurutan atau bilangan acak yang unik.
7. Yes/No, berisi nilai Yes atau No.
8. OLE Object, berisi obyek yang dikaitkan ke atau disisipkan ke dalam Tabel.
9. Hyperlink, dapat diisi dengan alamat hyperlink.
10. Lookup Wizzard, memungkinkan untuk memilih nilai dari tabel lain.
Merancang Tabel dengan Fasilitas Create Table in Design View
1. Buka file database, klik Tables yang ada di bawah Object.
2. Pada jendela kerja database dengan pilihan obyek tables tersebut, lik dua kali Create table in
Design View.
3. Lakukan pendefinisian struktur tabel dengan cara mengisi nama field, jenis data dan keterangan.
Pada saat akan mengisi field name, tentukan juga mana field name yang akan jadi Primary Key-
nya.
4. Isi juga field propertynya jika perlu.
Merancang Tabel dengan Fasilitas CreateTable by Entering Data
1. Buka file database, klik Tables yang ada di bawah Objects.
2. Pilh Create Table by Using Entering Data.
3. Ubah nama field dengan cara memilih kolom yang akan diubah nama fieldnya kemudian pilih dan
klik menu Format, Rename Column atau klik dua kali pada nama fieldnya.
4. Ubah lebar kolom dengan cra mengarahkan penunjuk mouse pada batas kanan nama kolom.
5. Setelah merancang tabel, simpan tabel tersebut dengan memilih File, Save.
6. Pada kotak isian Table Name, ketik nama untuk tabel tersebut.
-
8/16/2019 Basis Data@060309
16/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 13
2.3 Membuat Relasi
Relasi antar tabel bekerja dengan mencocokkan data dalam field kunci, biasanya berupa field yang
memiliki nama yang sama pada kedua tabel yang memiliki relasi. Pada umumnya field-fied yang
bersesuaian ini adalah primary key pada tabel yang satu, yang memberikan identitas unik bagi tiap
recod dalam tabel tersebut dan foreign key paad tabel yang lain nya.
Jenis-Jenis relasi Antar Tabel :
1. One-to-many relationship (relasi satu ke banyak)
Relasi satu ke banyak adalah jenis relasi yang paling umum. Dalam relasi satu ke banyak, sebuah
record dalam tabel A dapat emiliki banyak record yang bersesuain dalam tabel B. Tetapi sebuahrecord dalam tabel B hanya memiliki sebuah record yang bersesuain dalam tabel A.
Contoh :
Keterangan :Pada relasi tabel di atas, satu mahasiswa dapat mengambil lebih dari satu mata kuliah.
2. Many-to-many relationship (relasi banyak ke banyak)
Dlam relasi banyak ke banyak, sebuah record dalam tabel A dapat memiliki banyak record yang
bersesuaian dalam tabel B, dan sebuah record dalam tabel B dapat memiliki banyak record yang
bersesuain dalam tabel A. Jens relasi ini hanya dimungkinkan juka kita mendefinisikan tabel baru
sebagai perantara. Relasi banyak ke banyak sebenarnya merupakan dua buah relasi satu ke
banyak terhadap tabel perantara.
Contoh :
-
8/16/2019 Basis Data@060309
17/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 14
Keterangan :Dari relasi tabel di atas, satu mahasiswa dapat memiliki banyak dosen pengajar
3. One-to-one relationship (relasi satu ke satu)
Dalam relasi satu ke satu, setiap record dalam tabel A hanya dapat memiliki satu record yang
bersesuaian dalam tabel B, dan sebaliknya. Jenis relasi ini tidak umum, karena sebenarnya
tabel A dan tabel B dapat digabungkan menjadi satu tabel. Relasi ini dapat digunakan untuk
membagi tabel yang memiliki field yang banyak, untuk mengisolasi sebagian tabel dengan alasan
keamanan data.
Contoh :
Keterangan :Pada relasi tabel di atas, satu mahasiswa hanya diperbolehkan mendapat satu jenis beasiswa
saja.
2.4 Mengedit Struktur Tabel
Perubahan struktur tabel dapat dilakukan dengan cara memilih menu View, Design View.
Dapat dilihat sepeti pada gambar di bawah :
-
8/16/2019 Basis Data@060309
18/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 15
Menentukan dan Mengubah Primary Key
Untuk menentukan dan mengubah primary key pada suatu field, langkah-langkahnya adalah sebagai
berikut :
1. Pilih dan klik tabel yang diinginkan untuk diubah primary key-nya.
2. Klik tombol toolbar Design. Jendela design struktur akan ditampilkan
3. Pilih dan klik nam field yang ingin dijadikan primary key
4. Pilih dan klik menu Edit, Primary Key atau klik tombol toolbar Primary Key
Mengatur Field pada Tabel
1. Mengubah Posisi Field
Untuk mengubah posisi field tertentu pada suatu tabel, langkah-langkahnya adalah sebagai
berikut :
1. Pilih dan klik tabel yang diinginkan untuk diubah posisi fieldnya
2. Klik tombol toolbar Design. Jendela design struktur akan ditampilkan
3. Arahkan penunjuk mouse ke sebelah kiri nama field yang ingin dipindahkan (sampai terlihat
tanda panah hitam), kemudian klik satu kali dengan langkah ini baris field yang dipilih akan
tersorot hitam.
Catatan :Bila ingin memilih beberapa field, lakukan pemilihan sambil menekan tombol Ctrl.
4. Geser (drag) tanda segitiga putih yang ada di sebelah kiri nama field tersebut ke posisi baru
yang diinginkan.
-
8/16/2019 Basis Data@060309
19/45
CHAPTER 2 - IMPLEMENTASI PERANCANGAN BASIS DATA - 16
2. Menghapus Field
Untuk menghapus field tertentu yang tidak dibutuhkan lagi, ikuti langkah berikut :1. Pilih dan klik tabel yang diinginkan untuk diubah posisi fieldnya
2. Klik tombol toolbar Design. Jendela design struktur akan ditampilkan
3. Arahkan penunjuk mouse ke sebelah kiri nama field yang ingin dihapus (sampai terlihat tada
panah hitam), kemudian klik satu kali dengan langkah ini baris field yang dipilih akan tersorot
hitam.
Catatan :Bila ingin memilih beberapa field, lakukan pemilihan sambil menekan Ctrl.
4. Pilih dan klik menu Edit, Delete Rows atau klik tombol toolbar Delete Rows. Kotak dialog yang
mengkonfirmasi penghapusan akan ditampilkan.
5. Apabila benar bermaksud menghapus field tersebut berikut dengan seluruh data yang ada di
dalamnya klik tombol perintah Yes.
3. Menyisipkan Field Baru
Untuk menyisipkan field baru pada posisi tertentu, ikuti langkah berikut :
1. Pilih dan klik tabel yang akan disisipi field baru
2. Klik tombol toolbar Design. Jendela design struktur tabel akan ditampilkan3. Pilih posisi field yang diinginkan. Kemudian pilih dan klik menu Insert, Rows atau klik tombol
toolbar Insert Rows. Dengan langkah ini baris baru yang masih kosong akan ditempatkan
4. Pada baris kosong tersebut, definisikan field baru yang diinginkan.
4. Menghapus Tabel dari Database
Untuk menghapus tabel dari database langkahnya adalah sebagai berikut :
1. Buka file database yang diinginkan, kemudian pada jendela kerja database, klik Tables yang
ada di bawah Objects atau pilih dan klik menu View, Database Objects, Tables.
2. Pilih dan klik nama tabel yang ingin dihapus, kemudian pilih dan klik menu Edit, Delete (Del)
atau tekan tombol toolbar Delete. Kotak dialog yang mengkonfirmasi penghapusan akan
ditampilkan.
3. Apabila benar ingin menghapus tabel tersebut, klik tombol perintah Yes pada kotak dialog
konfirmasi tersebut.
-
8/16/2019 Basis Data@060309
20/45
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 17
Chapter
3 Structure Query Language(SQL)SQL adalah bahasa yang berisi perintah-perintah untuk memanipulasi basis data, seperti menghapus,
mengubah, memilih, menggabungkan data. Standar SQL telah ada sejak 1986 dan terus diperbaharui
menjadi standard pada tahun 1989, 1992, 1997, dan terakhir 1999. Pada saat ini SQL banyak di
gunakan pada aplikasi-aplikasi basis data karena bahasa yang efisien dan mudah dipelajari.
3.1 Membuat Tabel
Untuk membuat tabel baru dengan SQL yaitu dengan perintah create.
Syntax :
Create table
( (size),
(size),
(size),
.
.
(size));
Contoh :
Membuat tabel mahasiswa dengan record nim, nama, dan tanggal lahir
Create table mahasiwa,
Nim text (20),
Nama text(25),
Tanggal_lahir text (20);
3.2 Merubah Struktur Tabel
Untuk merubah struktur table dalam SQL digunakan perintah Alter.
1. Menambah field atau kolom
Digunakan untuk menambah satu atau lebih kolom baru ke dalam sebuah table. Untuk menambah
field dalam table dengan SQL yaitu dengan perintah Add
Syntax :
Alter table
-
8/16/2019 Basis Data@060309
21/45
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 18
Add ;
Contoh :Menambahkan field alamat pada table mahasiswa
Alter table mahasiswa
Add Alamat text(50);
2. Mengganti nama field atau kolom
Digunakan untuk merubah nama kolom lama dengan nama kolom yang baru. Untuk merubah nama
kolom dalam SQL yaitu dengan perintah to.
Syntax :
Alter
Alter to ;
Contoh :
Merubah nama field alamat pada tabel mahasiswa dengan nama field baru yaitu alamatasal.
Alter mahasiswa
Alter alamat to alamatasal;
3. Menghapus field atau kolom
Penghapusan kolom yang tidak digunakan dimaksudkan untuk menghemat memori database. Untuk
menghapus kolom dalam sebuah tabel dalam SQL yaitu dengan perintah drop
Syntax :
Alter table drop ;
Contoh :
Menghapus kolom alamatasal pada tabel mahasiswa
Alter table mahasiswa drop alamatasal;
3.3 Menghapus Tabel
Untuk penghematan memori, maka tabel-tabel yang sudah tidak digunakan lagi dapat dihapus. Dalam
SQL penghapusan sebuah tabel dapat dilakukan dengan perintah drop
Syntax :
Drop table ;
Contoh :
-
8/16/2019 Basis Data@060309
22/45
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 19
Menghapus tabel mahasiswa dari basis data.
Drop table mahasiswa;
3.4 Relasi Antar Tabel
Relasi dalam Access 2000 sama seperti relasi dalam basis data yang lainnya yaitu untuk
menghubungkan beberapa tabel sehingga data-data yang disimpan di dalamnya tetap terjaga. Dalam
Access 2000 pembuatan relasi dapat menggunakan pernyataan SQL sebagai berikut :
Membuat 2 buah tabel baru dan direlasikan :
Tabel 1 yaitu tabel mahasiswa dengan field-fieldnya nama, nim, dimana nim sebagai primary key-
nya.
Syntax:
Create
( int not null,
,
primary key ());
Contoh:
Create table mahasiswa
(nim int not null,
nama text(30),
primary key (nim));
Tabel 2 yaitu tabel krs dengan field-fieldnya id dan nim. Kedua table ini akan direlasikan pada field
nim.
Syntax:
Create table
( , ,
foreign key (
references ());
Contoh:
Create table krs
(id int, nim int,
foreign key (nim) references mahasiswa (nim));
-
8/16/2019 Basis Data@060309
23/45
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 20
3.5 Menampilkan Data
Untuk menampilkan data field pada suatu table dengan SQL yaitu dengan menggunakan perintahSelect .
Syntax :Select from table
Contoh :Untuk menampilkan field nama pada table mahasiswa
Select nama from table mahasiswa
Outputnya :
Query1nama
ida
siti
3.6 Menampilkan Isi Tabel
Syntax :Select * from inner join on
. = .
Contoh :
Menggabungkan field-field dari tabel mahasiswa (nama,nim,kode) dan tabel jurusan (kode, jurusan):
Select * from mahasiswa inner join jurusan on mahasiswa.kode =
jurusan. kode
Output :
Query1
nim nama mahasiswa.kode urusan.kode jurusan
121 ida 001 001 matematika
122 ema 002 002 fisika
123 bagus 003 003 komputer
Keterangan :Tanda * setelah perintah select digunakan untuk mengambil seluruh field pada tabel.
-
8/16/2019 Basis Data@060309
24/45
CHAPTER 3 - STRUCTURE QUERY LANGUAGE - 21
3.7 Mengubah Data
Untuk mengubah data dalam SQL yaitu dengan perintah update.
Syntax :Update nama_tebel set namafield1 = isi_baru_1, namafield2 =
isi_baru_2,........... namafieldn = isi_baru_n where kriteria;
Contoh :
Mengubah nama mahasiswa pada tabel mahasiswa menjadi indrisugiarti untuk mahasiswa yangmemiliki nama indri :
Update mahasiswa set nama = ‘indri sugiarti’ where nama = ‘indri’
3.8 Menghapus Data
Untuk menghapus data dalam SQL yaitu dengan perintah delete.
Syntax :Delete from where
Contoh :Menghapus data pada tabel mahasiswa yang memiliki nim 125.
Delete from mahasiswa where nim = 125
-
8/16/2019 Basis Data@060309
25/45
CHAPTER 4 PERANCANGAN BASISDATA DI MYSQL - 22
Chapter
4 Perancangan Basisdata di MySQLMySQL adalah sebuah sistem manajemen database relasi (relational database management system)
yang bersifat “terbuka” (open source). Terbuka maksudnya adalah MySQL boleh di download oleh
siapa saja, baik versi kode program aslinya (source code program) maupun versi binernya (executable
program ) dan bisa digunakan secara (relatif) gratis baik untuk dimodifikasi sesuai dengan kebutuhan
seseorang maupun sebagai suatu program aplikasi komputer. Bila anda seorang pengembang
perangkat lunak (programer) dan ikut berpartisipasi dalam memodifikasi program asli MySQL untuk
keprluan pribadi atau perusahaan sendiri.
MySQL merupakan hasil ciptaan dari Michael “Monty” Widenius, David Axmark, dan Allan Larson pada
tahun 1995. Mereka lalu mendirikan perusahaan bernama MySQlL AB di Swedia. Tujuan awal
diciptakannya MySQL yaitu untuk mengembangkan aplikasi web yang akan digunakan oleh salah satu
klien MySQL AB.
4.1 Membuat Database
Dalam membuat database, yang yang sangat penting untuk diperhatikan adalah penulisan nama
database tidak boleh menggunakan spasi dan karakter nonstandar. Bentuk penulisan untuk membuat
database adalah :
Create database nama_database;
Sebagai contoh untuk membuat seuah database dengan menggunakan nama rekam_medis,
syntaxnya sebagai berikut :
mysql> create database dbmahasiswa;
Catatan :
Dalam penulisan nama database tidak diperbolehkan menggunakan spasi atau karakter
khusus lainnya.
Nama sebuah database tidak boleh diawali angka.
4.2 Melihat Database
Untuk melihat database yang baru saja dibuat atau database lain yang ada dalam server, dapat
menggunakan perintah show . Sebagai contoh :
mysql> show database;
-
8/16/2019 Basis Data@060309
26/45
CHAPTER 4 PERANCANGAN BASISDATA DI MYSQL - 23
4.3 Membuat Database
Setelah database dibuat, untuk dapat menggunakannya diperlukan perintah use. Perintah ini selalu
digunakan setiap user / pengguna akan mengakses table – table yang ada di dalamnya. Struktur
penulisannya dalah sebagai berikut :
use nama_database;
sebagai contoh :
mysql> use dbmahasiswa;
perintah diatas menyatakan pemanggilan terhadap database rekam_medis. Jika database ditemukan
di dalam server maka akan muncul pemberitahuan bahwa database tersebut siap untuk digunakan,
namun sebaliknya jika database tidak ditemukan akan muncul pemberitahuan atau pesan gagal.
4.4 Menghapus Database
Untuk menghapus database yang tidak dipakai atau database yang rusak. Pengguna dapat
menggunakan perintah drop. Struktur penulisan untuk menghapus database sebagai berikut :
drop database nama_database;
Sebagai contoh :
mysql> drop database dbmahasiswa;
4.5 Tabel
1. Membuat Tabel
Perlu diperhatikan dalam pembuatan tabel, apakah database sudah dipanggil sebelumnya? Jika
belum, panggil database tersebut atau buat database baru jika belum tersedia. Hal ini dilakukan agar
tabel yang akan buat mempunyai tempat dalam database. Tabel, sebagai tempat penampungan data,
mempunyai dua bagian utama, yaitu nama dan tipe data. Tipe data yang bisa digunakan dalam
MySQL dapat dilihat dalam dibawah ini.
TIPE DATA KETERANGAN
TINYINT
Ukuran terkecil dari integer
Signed range : -128 s.d 127
Unsigned range : 0 s.d 255
SMALLINT
Ukuran kecil dan integer
Signed range: -32768 s.d. 32767.
Unsigned range: 0 s.d. 65535.
MEDIUMINT Ukuran menengah dan integer
-
8/16/2019 Basis Data@060309
27/45
CHAPTER 4 PERANCANGAN BASISDATA DI MYSQL - 24
Signed range: -8388608 s.d. 8388607.
Unsigned range: 0 s.d. 16777215.
INT, INTEGERInteger Signed range: -2147483648 s.d. 2147483647.
Unsigned range: 0 s.d. 4294967295.
BIGINT
Ukuran terbear dan integer
Signed range: -9223372036854775808 s.d. 9223372036854775807.
Unsigned range: 0 s.d. 18446744073709551615.
FLOAT
Presisi tunggal
Range: -3.402823466E+38 s.d. -1.175494351 E38,
0, 1.175494351 E-38 s.d. 3.402823466E+38
DOUBLE, DOUBLE
PRECISION, REAL
Presisi ganda
Range: -1 .7976931348623157E+308 s.d. -2.2250738585072014E-
308, 0, dan
2.225073858507201 4E-308 s.d. 1.79769313486231 57E+308
DECIMAL, NUMERIC Pecahan dengan range seperti tipe data DOUBLE
DATE Tanggal, Format: YVYY-MM-DD
DATETIME
Kombinasi tanggal dan jam.
Range: ‘1000-01-01 00:00:00’ s.d. ‘9999-12-31
23:59:59. Format: YYYY-MM-DD HH:MM:SS
TIME
Jam
Range: -838:59:59 s.d. ‘838:59:59’
Format: ‘HH:MM:SS’
YEAR
Tahun
Range: 1901 s.d. 2155 (4 digit), 1970-2069(2digit)
Format: ‘YYYY’
CHAR
Karakter dengan panjang tetap sesuai saat pembuatan tabel, dengan
karakter spasi dihilangkan pada saat penyimpanan Range :1 s.d. 255
characters
NCHAR, NATIONAL
CHAR
Karakten dengan panjang tetap sesuai saat pembuatan tabel, namun
karakter spasi tidak dihilangkan pada saat penyimpanan Range: 1 s.d.
255 characters
VARCHAR
Karakter dengan panjang sesuai saat panjang karakter yang ditulis,
dengan karakter spasi dihilangkan pada saat penyimpanan. Range: 1
s.d. 255 characters
TINYBLOB TINITEXT TEXT/BLOB dengan panjang maksimal 255 karakter.
-
8/16/2019 Basis Data@060309
28/45
CHAPTER 4 PERANCANGAN BASISDATA DI MYSQL - 25
MEDIUMBLOB
MEDIUMTEXT
65535
LONGBLOBLONGTEXT
16777215
ENUM(’valuel,’val
ue2’,...)
Obyek string yang hanya boleh diisi dan daftar pilihan value yang
diberikan, NULL, atau error value, Maksimum value: 65535
SET (‘valuel
,‘value2’,...)
Obyek string yang hanya boleh diisi dan daftar pilihan value yang
dibenikan, NULL atau error value.
Maksimum value: 64
Struktur penulisan:
create table namatabel (nama.jield type, ...);
Contoh:
create table mhs (nim varchar(15), nama varchar(25), kode_mkul
varchar (5));
create table mkul (kode_mkul varchar(5), nama_mkul varchar(25));
Pemberian nilai default Pada suatu filed dalam table dapat dilakukan jika suatu field/kolom di dalam
tabel tidak selalu diisi saat proses insert , dapat dilakukan dengan :
Create table mkul (kode_mkul varchar (5) not null primary key,
nama_mkul varchar(25) default ‘-‘ );
Hasilnya adalah tabel harga dengan dua fleld/kolom. Kolom pertama, yaitu kode_mkul, mempunyai
spesifikasi tipe data varchar(5), harus diisi (not null), dan merupakan field kunci (primary key).
Sedangkan untuk nama_mkul mempunyai spesifikasi tipe data varchar(25) dan jika tidak diisi, secara
otomatis (default) diisi dengan angka “-“. Berikut ini susunan dan tabel produk yang berhasil dibuat:
+ -----------+ ---------- +----- +------- + ----------- + ----- +
|Field | Type | Null | Key | Default | Extra |
+ -----------+ ---------- +----- +------- + ----------- + ----- +
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(25) | YES | | - | |
+ -----------+ ---------- +----- +------- + ----------- + ----- +
2. Melihat Struktur Tabel
Perintah describe nama_tabel; digunakan untuk melihat struktur tabel yang telah dibuat. Namun
sebelumnya, pastikan sudah berada pada database yang mempunyai tabel tersebut. Perhatikan
contoh di bawah ini :
-
8/16/2019 Basis Data@060309
29/45
CHAPTER 4 PERANCANGAN BASISDATA DI MYSQL - 26
describe mkul;
+ -----------+ ---------- +----- +------- + ----------- + ----- +|Field | Type | Null | Key | Default | Extra |
+ -----------+ ---------- +----- +------- + ----------- + ----- +
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(25) | YES | | - | |
+ -----------+ ---------- +----- +------- + ----------- + ----- +
2 rows in set (0.01 sec)
3. Mengubah Sruktur Tabel
Jika struktur tabel yang buat terjadi kesalahan atau menginginkan penggantian, dapatmengunakan perintah alter untuk mengubahnya. Ada empat macam perubahan dalam struktur tabel,
yaitu:
Perubahan nama field / kolom.
Perubahan yang terjadi hanya sebatas pada nama field / kolom saja. Nama field / kolom yang
lama diganti dengan nama field / kolom yang baru.
Struktur penulisan :
Alter table nama_tabel change nama_field_lama nama_field_baru tipe_data;
Contoh :
alter table mkul change kode nama _mkul varchar(35);
Hasilnya sebagai berikut :
+ --------- +------------+ ----- + ------ +----------- +----- +
|Field | Type | Null | Key | Default | Extra |
+ --------- +------------+ ----- + ------ +----------- +----- +
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(35) | YES | | - | |
+ --------- +------------+ ----- + ------ +----------- +----- +
Semula, nama field yang paling atas adalah kolom kodebarang. Akibat perintah pada
contoh di atas, berubah menjadi kolom kodebarang.
Perubahan tipe data.
Perubahan yang terjadi hanya terbatas pada tipe data yang digunakan oleh field/kolom
tertentu. Tipe data yang baru Iangsung disebutkan di belakang nama field kolom, tanpa harus
menyebutkan tipe data yang lama. Struktur penulisan:
alter table namatabel modify nama_field tipe_data_baru;
Contoh :
alter table mkul modify mkul text;
-
8/16/2019 Basis Data@060309
30/45
CHAPTER 4 PERANCANGAN BASISDATA DI MYSQL - 27
Hasilnya sebagai berikut :
+ ---------- + -----------+ -----+ ------ +----------- +----- +|Field | Type | Null | Key | Default | Extra |
+ ---------- + -----------+ -----+ ------ +----------- +----- +
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | text ) | YES | | - | |
+ ---------- + -----------+ -----+ ------ +----------- +----- +
Akibat perintah pada contoh di atas, tipe data nama_mkul berubah menjadi text.
Penambahan field.
Struktur tabel akan tambah dengan bertambahnya field/kolom baru di dalamnya.
Struktur penulisan:
alter table nama_tabel add nama_fleld tipe_data_baru;
Contoh:
alter table harga add sks smallint(6);
+ ---------- + -----------+ -----+ ------ +----------- +----- +
|Field | Type | Null | Key | Default | Extra |
+ ---------- + -----------+ -----+ ------ +----------- +----- +
|kode_mkul | varchar(5) | | PRI | | |
|nama_mkul | varchar(25) | YES | | - | |
|sks | smallint(6) | YES | | | |
+ ---------- + -----------+ -----+ ------ +----------- +----- +
Semula, hanya terdapat dua kolom saja di dalam tabel. Akibat perintah pada contoh di atas,
bertambah menjadi tiga kolom. Tambahan kolom tersebut adalah field sks.
Penghapusan field.
Struktur tabel mengalami perubahan akibat berkurangnya field/kolom tertentu.
Struktur penulisan:
alter table nama_tabel drop column namafield;
Contoh :
alter table mkul drop column sks;
4. Mengganti Nama Tabel
Seringkali, penggantian tabel juga meliputi nama tabel itu sendiri. Struktur penulisan:
alter table nama_table_lama rename nama_table_baru
Contohnya:
Mysql> alter table harga rename daftarharga;
5. Menghapus Tabel
Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi, atau terjadi kesalahan. Perintah
-
8/16/2019 Basis Data@060309
31/45
CHAPTER 4 PERANCANGAN BASISDATA DI MYSQL - 28
untuk menghapus tabel adalah drop table. Struktur penulisan :
drop table nama_tabel;
Contoh :Mysql> drop table mkul;
4.6 Relasi
Relasi dalam basis data digunakan untuk menghubungkan beberapa tabel, sehingga data –
data yang disimpan dalam tabel tetap normal. Dalam mySQL relasi antar tabel dapat dibuat jika tipe
tabel tersebut innoDB. Secara otomatis saat membuat tabel baru, tipe tabel tersebut adalah MyISAM
untuk merubah ke tipe innoDB dapat menggunakan perintah SQL sebagai berikut
Struktur penulisan :
alter table nama_tabel type = type _tabel;Contoh :
mysql> alter table daftarharga type = innoDB;
Sebagai contoh pembuatan relasi dalam mySQL adalah sebagai berikut :
1. Membuat tabel baru dan langsung di relasikan.
mysql> create table mahasiswa (nim varchar(15) not null, primary key
(nim), nama varchar(25)) type=innoDB;
mysql> create table kuliah(nim varchar(15), kode_mkul varchar(15), INDEX
nim (nim), FOREIGN KEY (nim) REFERENCES mahasiswa(nim))TYPE=INNODB;
Perintah SQL diatas dimasukan untuk membuat tabel mahasiswa dan tabel kuliah, kedua tabell
tersebut dihubungkan / direlasikan pada field nim.
2. Membuat relasi pada tabel lama.
Jika telah mempunyai tabel dalam database dan ingin direlasikan dengan tabel lain. Struktur
penulisannya adalah sebagai berikut :
Alter table nama _table add foreign key (nama _field) references
tabel _master (nama _field);
Contoh :
m y s q l> A l t er t a b l e k u l i a h a d d fo r e i gn k e y (nim) references
mahasiswa (nim);
-
8/16/2019 Basis Data@060309
32/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 29
Chapter
5 Pembuatan Basis Data di InterbaseInterbase merupakan software yang berguna untuk memanipulasi data-data pada basis data.
Interbase ini merupakan produk dari bahasa pemrograman Borland Delphi yang mengolah Basis data
yang berbasiskan Client/Server . Interbase sifatnya open source. Perusahaan Borland berkedudukan di
Scott Valley , California. Borland setelah melebur dengan Visigenic berganti nama menjadi Inspirise
Coorporation pada pertengahan tahun 1998. Interbase merupakan software yang berguna untuk
memanipulasi data-data pada basis data. Interbase ini merupakan produk dari bahasa pemrograman
Borland Delphi yang mengolah Basis data yang berbasiskan Client/Server . Interbase sifatnya open
source. Perusahaan Borland berkedudukan di Scott Valley , California. Borland setelah melebur
dengan Visigenic berganti nama menjadi Inspirise Coorporation pada pertengahan tahun 1998. Karena
software Interbase tidak terpisah/tidak berdiri sendiri (masih satu kesatuan dalam Borland Delphi )
maka secara otomatis penyebaran interbase ini sama dengan penyebaran Borland Delphi . Interbase
banyak digunakan untuk mengolah basis data dengan kapasitas yang sangat besar dan berbasiskan
Client/Server . Biasanya Interbase ini digunakan pada instansi atau perkantoran yang membutuhkan
pengolahan Basis data dengan kapasitas yang sangat besar dan berbasis jaringan. Interbase akan
melakukan penyimpanan dan pemrosesan data-data yang diperlukan sehingga bila memerlukan suatu
informasi maka akan dengan mudah mendapatkannya dengan menggunakan fasilitas searching , SQL
dan sebagainya yang disediakan dalam komponen Basis data.
5.1 Membuat Database
IBConsole merupakan program client yang menyertai Interbase. Superusernya bernama sysdba
dengan password masterkey. Untuk membuat database di interbase dapat mengikuti langkah –
langkah sebagai berikut :
1. Jalankan atau aktifkan IBConsole.
2. Klik kanan pada local server dan pilih login.
-
8/16/2019 Basis Data@060309
33/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 30
3. Masukan sysdba dalam user name dan masterkey dalam password.
4. Klik kanan pada database kemudian pilih create database...
5. Semisal akan dibuat database dengan nama dbmahasiswa dan alias databasemahasiswa. Maka
isikan databasemahasiswa pada kota alias dan dbcoba pada kolom filename(s). klik OK untuk
membuat database atau Cancel untuk membatalkannya.
-
8/16/2019 Basis Data@060309
34/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 31
6. Jika database berhasil dibuat akan muncul dalam IBConsole sebagai berikut :
5.2 Tabel
Untuk membuat tabel dalam interbase penggunakaan SQL mirip atau sama struktur
penulisannya dalam mySQL. Untuk menuliskan SQL menggunakan Interactive SQL yang dibuka
dengan cara meng-klik tombol / icon SQL dalam IBConsole. Bentuk Interactive SQL adalah sebagai
berikut :
-
8/16/2019 Basis Data@060309
35/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 32
1. Membuat Tabel
Pembuatan tabel terkait erat dengan sistem dan aplikasi yang akan dibuat. Jadi
misalnya kita akan membuat data mahasiswa di sebuah universitas, maka struktur
tabelnya setidaknya memiliki dua field berikut:
Nim.
Nama.
Dalam perintah SQL, pembuatan tabelnya seperti ini
CREATE TABLE MAHASISWA
( NIM VARCHAR(25), NAMA VARCHAR(30));
Dalam standar SQL, penulisan perintah tidak memperdulikan huruf besar atau pun kecil.
Titik koma diakhir perintah diperlukan untuk memberitahukan program client bahwa
perintah berakhir dan siap dijalankan (execute). Setelah SQL dijalankan maka di
IBConsole akan muncul tabel mahasiswa di folder tabel. Klik kanan dinama tabelnya dan
pilih properties untuk melihat struktur atau isi tabel yang dibuat.
2. Merubah Struktur Tabel
Menambah field atau kolom
Digunakan untuk menambah satu atau lebih kolom baru ke dalam table.
Struktur penulisan:
alter table nama _tabel add nama _fleld tipe_data_baru;
Contoh:
ALTER TABLE MAHASISWA ADD ALAMAT VARCHAR(25);
Mengganti nama field atau kolom
Mengganti nama kolom dimaksudkan untuk merubah nama kolom yang lama menjadi
nama kolom baru, penggantian nama kolom ini dimungkinkan karena nama kolom yang
lama salah waktu pembuatan atau nama kolom yang lama tidak sesuai dengan table.
Struktur penulisannya :
Alter table nama _tabel alter nama _field _lama to nama _field _baru;
Contoh :
ALTER TABLE MAHAS I SWA ALTER ALAMAT TO ALAMATASAL;
Akibat perintah SQL diatas akan merubah kolom alamat di table mahasiswa menjadi
alamatasal.
-
8/16/2019 Basis Data@060309
36/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 33
• Menghapus field atau kolom
Menghapus kolom dimungkinkan jika kolom tersebut rusak atau tidak dipakai lagi,
penghapusan kolom yang tidak digunakan dimaksudkan untuk menghemat memoridatabase. Struktur penulisannya :
alter table nama _tabel drop nama field;
Contoh :
ALTER TABLE MAHAS I SWA DROP ALAMAT;
3. Menghapus Tabel
Dalam pembuatan basis data terkadang ada beberapa table yang sengaja dibuat untuk
keperluan ujicoba dan tidak akan dipakai lagi setelah basis data tersebut jadi secara keseluruhan.
Ukuran basis data akan lebih kecil dan efisien jika table – table yang tidak digunakan dihapus. Struktur
penulisan untuk mengahapus table adalah :
Drop table nama_tabel;
Contoh
DROP TABLE MAHASISWA;
5.3 Relasi
Seperti telah dibahas disub bab sebelumnya, relasi digunakan untuk menghubungkan beberapa
table sehingga data – data yang disimpan didalamnya tetap terjaga. Dalam interbase pembuatan relasi
dapat menggunakan statement SQL sebagai berikut :
1. Membuat tabel baru dan langsung di relasikan.
CREATE TABLE MAHASISWA (NIM INT NOT NULL, NAMA VARCHAR(25),
PRIMARY KEY NIM);
CREATE TABLE KRS (id INT, NIM INT, FOREIGN KEY (NIM) REFERENCES
MAHASISWA(NIM));
Perintah SQL diatas dimaksudkan untuk membuat tabel Mahasiswa dan tabel KRS,
kedua tabel tersebut dihubungkan / direlasikan pada field nim..
2. Membuat relasi pada tabel lama.
Struktur penulisannya adalah sebagai berikut :
Alter table nama _table add foreign key (nama _field) references
tabel _master (nama _field);
Contoh :
ALTER TABLE MATAKULIAH ADD FOREIGN KEY (KODEMK) REFERENCES
KRS (KODEMK);
-
8/16/2019 Basis Data@060309
37/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 34
5.4 Stored Procedures
Stored procedures adalah program disimpan dengan suatu metadata database yang dijalankan
di server. Aplikasi dapat memanggil Stored procedures untuk melaksanakan tugas, dan user dapat
uga menggunakan Stored procedures di didalam Interbase Windows ISQL.
Ada dua jenis Stored procedures :
Select procedures
Suatu aplikasi dapat menggunakan sebagai pengganti suatu tabel atau view di dalam suatu
statemen SELECT. Suatu Select procedures harus didefinisikan nilai – nilai atau kesalahan
yang akan dihasilkan . Karena nilai dari Select procedures dapat lebih dari satu baris, mereka
nampak sebagai tabel atau view dalam suatu pemanggilan program.
Executable procedures
Merupakan suatu aplikasi dapat digunakan secara langsung dengan Executable
procedures. Prosedur Executable dapat melaksanakan berbagai tugas.
Syntax sederhana yang dapat digunakan untuk menciptakan sebuah stored procedures sebagai
berikut :
CREATE PROCEDURE procedure_name
[( input _var1 datatype[ , input_var2 datatype ...] )]
[RETURNS ( output _var1 datatype[ , output_var2 datatype ...] )]
AS
BEGIN
Statements procedure dalam
END
Seperti mendefinisikan trigger, definisi stored procedures dalam script SQL command-line isql
harus didahului oleh seperangkat masukan yang menetapkan terminator kepada sesuatu selain dari
suatu titik koma. Ketika semua statemen prosedur telah dimasukkan, statemen SET TERM harus
digunakan lagi untuk menetapkan terminator kembali ke suatu titik koma.
1.Membuat Select procedure sederhana
CREATE PROCEDURE identitas mhs (kodejur varchar(5))
RETURNS (namamhs CHAR (25))
AS
BEGIN
FOR SELECT nama
FROM mhs
-
8/16/2019 Basis Data@060309
38/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 35
WHERE kode = : kodejur
INTO :namamhs
DOSUSPEND;
END
Contoh diatas adalah suatu select procedure yang mengambil nama mahasiswa di dalam tabel
mhs yang mempunyai kode jurusan sama dengan kode masukan (kodejur).Untuk memanggil select
procedure tersebut menggunakan perintah SQL yaitu SELECT, sebagai contoh :
SELECT * FROM identitasmhs (‘001’)
Perintah SQL tersebut memeriksa dalam database seolah – olah ada tabel dengan nama
identitasmhs. Dari prosedur tersebut akan didapat atau ditampilkan hasil sebagai berikut : +
----------------------------- +
| namamhs |
+ ---------------------- +
| indri |
| kukuh sw |
+ ---------------------- +
2. Membuat executable procedure sederhana
CREATE PROCEDURE tambahmhs (nimmhs varchar(5), namamhs CHAR(25),
kodejur(5))
AS
BEGIN
INSERT INTO mhs (nim, nama, kode)
VALUES (:nimmhs, : namamhs, : kodejur);
END
Contoh diatas adalah suatu executable procedure yang digunakan untuk menambah data
mahasiswa di dalam tabel mhs.Untuk memanggil select procedure tersebut menggunakan perintah
SQL yaitu SELECT, sebagai contoh :
EXECUTE PROCEDURE tambahmhs (‘378’ ,’ mulyadi’ ,’ 001’)
5.5 View
View adalah table virtual yang berisi kolom dan baris berdasarkan kondisi tertentu dari satu atau
lebih tabel. Interbase hanya menyimpan definisi suatu view. Ketika anda membuat suatu view, anda
tidak menyalin data dari tabel ke sumber view, tapi anda sedang melihat pada data yang sebenarnya
seperti pada tabel sumber.
-
8/16/2019 Basis Data@060309
39/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 36
Sintaks :
CREATE VIEW V [ (A1 [, A2 . . . ,An])]
AS [WITH CHECK OPTION] Dimana
:
V merupakan nama view, harus merupakan nama yang unik antara view, tabel, dan
prosedur di dalam suatu database.
A1, A2, . . ., An meru pakan nama-nama kolom yang digunakan dalam suatu view.
SELECT digunakan untuk menentukan suatu criteria pemilihan baris -baris yang
disertakan di dalam suatu view.
WITH CHECK OPTION digunakan untuk mencegah operasi -operasi INSERT atau
UPDATE pada view jika operasi INSERT atau UPDATE melanggar kondisi pencarian
yang ditentukan didalam klausa WHERE pada pernyataan SELECT view.
Contoh :
Membuat view data NIM, NAMA dan ALAMAT yang memiliki AGAMA Islam di dalam tabel
TBLBIODATAMHS. Pada window InteractiveSQL ketikkan:
CREATE VIEW DATA _MHS
(NIM, NAMA, ALAMAT)
AS
SELECT NIM, NAMA, ALAMAT
FROM TBLBIO DATAMHS
HERE AGAMA = ‘Islam’
Contoh SQL diatas digunakan untuk membuat view DATA_MHS (Gambar12).
-
8/16/2019 Basis Data@060309
40/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 37
Gambar 12. Membuat View
Untuk menguji prosedur lihat_data_by_nama masukan pernyataan SELECT berikut ke dalam
InteractiveSQL :
Select * from DATA _MHS
Hasilnya akan nampak pada area output SQL (Gambar 13).
Gambar 13. Menjalankan View
5.6 Trigger Trigger berisi program yang dihubungkan dengan suatu tabel atau view yang secra otomatis
melakukan suatu tindakan ketika suatu baris di dalam tabel atau view dikenai operasi INSERT ,
UPDATE atau DELETE.
Sintaks :
CREATE TRIGGER N FOR T
[ ACTIVE | INACTIVE]
{BEFORE | AFTER }
{DELETE | INSERT | UPDATE}
[POSITION number]
AS Terminator
Dimana :
• N merupakan nama trigger, harus berupa nama yang unik dalam database.
-
8/16/2019 Basis Data@060309
41/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 38
• T merupakan nama tabel atau view yang menyebabkan trigger ditembakkan atau
diaktifkan ketika operasi tertentu terjadi pada suatu tabel atau view.
ACTIVE/INACTIVE menentukan tindakan trigger saat transaksi berakhir. Option ini
bersifat optional dan ACTIVE merupakan nilai default.
BEFORE/AFTER menentukan kapan suatu trigger dijalankan. Salah satu keyword
BEFORE/AFTER harus disertakan.
o BEFORE
Sebelum trigger dihubungkan dengan suatu operasi.
o AFTER
Setelah trigger dihubungkan dengan suatu operasi
Operasi yang dihubungkan dengan suatu trigger meliputi DELETE, INSERT dan UPDATE
DELETE | INSERT | UPDATE
Menentukan jenis operasi tabel yang menyebabkan trigger di jalankan.
POSITION number
Menentukan urutan pengaktifan trigger sebelum tindakan yang sama atau setelah
tindakan yang sama dilakukan, number harus berupa bilangan integer antara 0 sampai
32.767. Nilai 0 merupakan nilai default yang merupakan urutan pertama pengaktifan
trigger.
TRIGGER_BODY
Pernyataan tunggal dalam bahasa prosedur dan trigger interbase. Masing-masing
pernyataan, kecuali BEGIN dan END, harus diakhiri dengan tanda titik koma.
T e r mi n a t o r
Terminator didefinisiakan dengan pernyataan SET TERM yang menandakan akhir dari
suatu trigger.
Contoh :
SET TERM ? ;
CREATE TRIGGER UPDATE _INDEKS_NILAI FOR TBLNILAI
AFTER INSERT
AS
BEGIN
-
8/16/2019 Basis Data@060309
42/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 39
IF (NEW.NILAI > 75) THEN
UPDATE TBLNILAI
SET NILAI_MUTU= 'A'
HERE NIM = NEW.NIM AND KODEMK= NEW.KODEMK;
ELSE IF (NEW.NILAI > 65 AND NEW.NILAI 55 AND NEW.NILAI 45 AND NEW.NILAI
-
8/16/2019 Basis Data@060309
43/45
CHAPTER 5 - PEMBUATAN BASISDATA DI INTERBASE - 40
Untuk menguji trigger update_indeks_nilai, masukkan pernyataan insert berikut ke dalam area
InteractiveSQL :
INSERT INTO TBLNILAI (NIM, KODEMK, NILAI) VALUES ('EPA00055',
'MMS2071', 75)
Nanti pada field NILAI_MUTU akan berisi huruf B.
-
8/16/2019 Basis Data@060309
44/45
CHAPTER 6 - MENAMPILKAN ISI TABEL - 41
Chapter
6 Menampilkan Isi Tabel6.1 Inner Join
Hampir sama dengan sebelumnya. namun penggunaan on (kondisi] diharuskan dalam
penulisan Inner join. Jika on (kondisi) tidak dituliskan akan menyebabkan perintah tidak menampilkan
data apapun karena error.
Select * from mahasiswa inner join jurusan on mahasiswa.kode = jurusan.kode
+ ------+ ----------+----+----+-------------- +
| nim | nama |kode|kode| jurusan |
+ ------+ ----------+----+----+-------------- +
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+ ------+ ----------+----+----+ +
6.2 Straight Join
Straight Join identik dengan join. Namun. path straight join tidak dikenal klause where untuk
menyatakan kondisi yang ingin ditampilkan.
Select * from mahasiswa straight join jurusan+ ------+ ----------+----+----+-------------- +
| nim | nama |kode|kode| jurusan |
+ ------+ ----------+----+----+-------------- +
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+ ------+ ----------+----+----+ +
6.3 Left (Outer) Join
Berbeda dengan lainnya, left outer join akan menampilkan tabel di sebelah kanannya (dalam hal
ini tahel jurusan) dengan NULL jika tidak terdapat hubungan antara tabel di sebelah kiri (dalam hal ini
tabel mahasiswa)
Select * from mahasiswa left join jurusan on
mahasiswa.kode = jurusan.kode
-
8/16/2019 Basis Data@060309
45/45
+ ------+ ----------+----+----+-------------- +
| nim | nama |kode|kode| jurusan |
+ ------+ ----------+----+----+-------------- +|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+ ------ + ----------+----+----+ +
6.4 Right (Outer) Join
Kebalikan dengan left outer join. jika data di sebelah kanan label tidak dapat menemukan
hubungannya dengan tabel di sebelah kiri, akan ditampilkan NULL. Untuk melihat perbedaan yang
jelas, tambahkan lebih dahulu satu data di dalam tabel mahasiswa, yang tidakmempunyai hubungan
dengan tabel jurusan.
Select * from mahasiswa right join jurusan on mahasiswa.kode = jurusan.kode
+ ------+ ----------+----+----+-------------- +
| nim | nama |kode|kode| jurusan |
+ ------+ ----------+----+----+-------------- +
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |
+ ------ + ----------+----+----+ +
6.5 Natural (Right | Left (Outer)) Join
Penggunaan natural right outer join sama halnya dengan menuliskan right join tanpa pernyataan
kondisi. Karena pernyataan tcrsebut. secara otomatis menganggap bahwa kondisi yang dipakai adalah
kedua tabel terdapat persamaan.
Select * from mahasiswa natural left outer join
+ ------+ ----------+----+----+-------------- +
| nim | nama |kode|kode| jurusan |
+ ------+ ----------+----+----+-------------- +
|377 | indri s |001 |001 | Ilmu Komputer |
|378 | kukuh |001 |001 | Ilmu Komputer |+ ------ + ----------+----+----+ +