M. Rudyanto Arief, MT - E

advertisement
Modul Praktikum Sistem Basis Data S1-TI
M. Rudyanto
Arief, M.T.
[email protected]
STMIK AMIKOM YOGYAKARTA
Digitally signed by M. Rudyanto Arief, M.T.
DN: CN = M. Rudyanto Arief, M.T., C = ID, O =
STMIK AMIKOM YOGYAKARTA, OU = Dept of
Information Engineering
Reason: I am the author of this document
Date: 2007.11.27 22:51:50 +07'00'
1
Modul Praktikum Sistem Basis Data S1-TI
DAFTAR ISI
MODUL 1 ............................................................................................................................ 6
PENGENALAN SQL ........................................................................................................ 6
Tujuan ......................................................................................................................... 6
Teori singkat............................................................................................................... 6
Lima bagian utama SQL :................................................................................... 6
MICROSOFT SQL SERVER ..................................................................................... 7
Membuat Folder Kerja ........................................................................................ 9
Latihan 1.1. .......................................................................................................... 10
Mengaktifkan dan Menon Aktifkan Database SQL Server......................... 10
Latihan 1.2. .......................................................................................................... 14
Membuat Database SQL Server...................................................................... 14
Latihan 1.3. .......................................................................................................... 21
Mendaftarkan Database (Attach) ................................................................. 21
Latihan 1.4. .......................................................................................................... 23
Menon-Aktifkan Database (Detachment Database)................................. 23
Latihan 1.5. .......................................................................................................... 25
Menghapus Database...................................................................................... 25
Penugasan .............................................................................................................. 26
MODUL 2 .......................................................................................................................... 27
PENGENALAN MICROSOFT QUERY ANALYZER....................................................... 27
Tujuan ....................................................................................................................... 27
Teori Singkat ............................................................................................................ 27
Bagian Menu ...................................................................................................... 28
Bagian Object Browser ..................................................................................... 28
Bagian Jendela Editor....................................................................................... 29
Bagian Jendela Hasil Query............................................................................. 29
Latihan 2.1. .......................................................................................................... 30
Mengaktifkan SQL Query Analyzer ................................................................. 30
Latihan 2.2. .......................................................................................................... 31
Mengetikkan Perintah SQL Query di Jendela Editor dan
Mengeksekusinya............................................................................................... 31
Latihan 2.3. .......................................................................................................... 32
Memberikan Komentar..................................................................................... 32
Latihan 2.4. .......................................................................................................... 33
Menyimpan Perintah SQL Query ..................................................................... 33
Latihan 2.5. .......................................................................................................... 35
Menggunakan fasilitas Bantuan (Help) Query Analyzer............................. 35
Penugasan .............................................................................................................. 37
MODUL 3 .......................................................................................................................... 38
DATA DEFINITION LANGUAGES (DDL) ..................................................................... 38
Bagian 1 ....................................................................................................................... 38
Tujuan ....................................................................................................................... 38
Teori Singkat ............................................................................................................ 38
Membuat Database ......................................................................................... 38
Merubah Database........................................................................................... 39
[email protected]
STMIK AMIKOM YOGYAKARTA
2
Modul Praktikum Sistem Basis Data S1-TI
Menghapus Database...................................................................................... 40
Latihan 3.1. .......................................................................................................... 40
Membuat Database tanpa parameter......................................................... 40
Latihan 3.2. .......................................................................................................... 41
Membuat database dengan parameter tambahan................................. 41
Latihan 3.3. .......................................................................................................... 45
Merubah nama database ............................................................................... 45
Latihan 3.4. .......................................................................................................... 47
Menghapus database ...................................................................................... 47
Penugasan .............................................................................................................. 48
MODUL 4 .......................................................................................................................... 49
DATA DEFINITION LANGUAGE (DDL) ....................................................................... 49
Bagian 2 ....................................................................................................................... 49
Tujuan ....................................................................................................................... 49
Teori Singkat ............................................................................................................ 49
Membuat Tabel.................................................................................................. 51
Merubah Struktur Tabel ..................................................................................... 54
Menghapus tabel .............................................................................................. 55
Latihan 4.1. .......................................................................................................... 55
Membuat Tabel.................................................................................................. 55
Latihan 4.2. .......................................................................................................... 57
Merubah Struktur Tabel ..................................................................................... 57
Latihan 4.3. .......................................................................................................... 58
Menghapus Tabel .............................................................................................. 58
Latihan 4.4. .......................................................................................................... 59
Membuat Tabel dalam database akademik_xxxx...................................... 59
Penugasan .............................................................................................................. 60
MODUL 5 .......................................................................................................................... 61
DATA DEFINITION LANGUAGES (DDL) ..................................................................... 61
(Bagian 3) .................................................................................................................... 61
Tujuan ....................................................................................................................... 61
Teori Singkat ............................................................................................................ 61
PRIMARY KEY ....................................................................................................... 61
FOREIGN KEY ....................................................................................................... 62
UNIQUE ................................................................................................................. 65
NOT NULL ............................................................................................................. 65
CHECK.................................................................................................................. 66
Latihan 5.1. .......................................................................................................... 69
Membuat Tabel dengan Constraint............................................................... 69
Latihan 5.2. .......................................................................................................... 69
Membuat tabel Dosen...................................................................................... 69
Latihan 5.3. .......................................................................................................... 71
Merubah Struktur Tabel dengan Merubah Tipe data dan Lebar data ... 71
Latihan 5.4. .......................................................................................................... 71
Merubah Struktur tabel dengan menambah Constraint PRIMARY KEY ... 71
Latihan 5.5. .......................................................................................................... 71
Menambah constraint CHECK dengan merubah cara merubah Struktur
tabel ..................................................................................................................... 71
[email protected]
STMIK AMIKOM YOGYAKARTA
3
Modul Praktikum Sistem Basis Data S1-TI
Latihan 5.6. .......................................................................................................... 72
Membuat tabel-tabel pendukung sesuai dengan rancangan yang ada
............................................................................................................................... 72
Penugasan .............................................................................................................. 74
MODUL 6 .......................................................................................................................... 75
DATA DIAGRAM.......................................................................................................... 75
Tujuan ....................................................................................................................... 75
Teori Singkat ............................................................................................................ 75
Latihan 6.1. .......................................................................................................... 75
Membuat Data Diagram Baru ........................................................................ 75
Penugasan .............................................................................................................. 80
Tujuan ....................................................................................................................... 81
Teori Singkat ............................................................................................................ 81
Mengisikan Data ke dalam Tabel (INSERT).................................................... 81
Mengisikan Baris dengan Nilai Null ................................................................. 81
Meng-copy data dari tabel lain ..................................................................... 82
Merubah data dalam Tabel (UPDATE)........................................................... 82
Menghapus Data dalam tabel (DELETE) ....................................................... 82
Latihan 7.1. .......................................................................................................... 82
Menambahkan satu record ke dalam tabel menggunakan SQL............ 82
Latihan 7.2. .......................................................................................................... 83
Merubah semua record/ data dalam tabel ................................................ 83
Latihan 7.3. .......................................................................................................... 84
Merubah record/ data dalam tabel sesuai kondisi/ syarat yang diberikan
............................................................................................................................... 84
Latihan 7.4. .......................................................................................................... 85
Menghapus seluruh record/ data dalam tabel ........................................... 85
Latihan 7.5. .......................................................................................................... 86
Menghapus record/ data dalam tabel sesuai kondisi/ syarat yang
diberikan.............................................................................................................. 86
MODUL 8 .......................................................................................................................... 89
MENAMPILKAN DATA ................................................................................................. 89
Tujuan ....................................................................................................................... 89
Teori Singkat ............................................................................................................ 89
Melihat Semua Kolom dari Suatu Tabel ......................................................... 90
Melihat Kolom(-kolom) tertentu ...................................................................... 90
Alias Kolom (AS).................................................................................................. 90
Klausa WHERE ..................................................................................................... 90
Pencarian Nilai NULL.......................................................................................... 91
Pencarian String ................................................................................................. 91
Latihan 8.1. .......................................................................................................... 92
Menampilkan data untuk semua Kolom ....................................................... 92
Latihan 8.2. .......................................................................................................... 93
Menampilkan data berdasarkan Kolom tertentu........................................ 93
Latihan 8.3. .......................................................................................................... 94
Mengganti nama kolom dengan Kolom Alias ............................................. 94
Latihan 8.4. .......................................................................................................... 95
[email protected]
STMIK AMIKOM YOGYAKARTA
4
Modul Praktikum Sistem Basis Data S1-TI
Membatasi data-data yang di tampilkan menggunakan Klausa WHERE
............................................................................................................................... 95
Latihan 8.5. .......................................................................................................... 96
Mengurutkan data secara Ascending dan Descending ........................... 96
Latihan 8.6. .......................................................................................................... 97
Mengelompokkan Data ................................................................................... 97
Penugasan .............................................................................................................. 99
[email protected]
STMIK AMIKOM YOGYAKARTA
5
Modul Praktikum Sistem Basis Data S1-TI
MODUL 1
PENGENALAN SQL
Tujuan
□ Mengetahui konsep Bahasa SQL
□ Mampu mengoperasikan dasar-dasar perintah SQL Server
□ Mampu mendefinsikan obyek-obyek basis data dalam SQL Server
Teori singkat
SQL (Structured Query Language) (baca : sequel) adalah salah satu bahasa generasi level ke-4
(4th GL) yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory . Berbeda
dengan bahasa pemrograman level ke-3 (3rd GL), SQL adalah bahasa yang bersifat request
oriented dan bersifat non-prosedural sehingga lebih mudah untuk dipelajari karena sintaks yang
digunakan hampir menyerupai bahasa yang digunakan oleh manusia untuk berkomunikasi.
Sehingga SQL lebih fleksibel dalam penggunaannya. Selain itu SQL juga bersifat non case
sensitif. Banyak vendor-vendor pembuat DBMS (Database Management System) saat ini
menggunakan SQL sebagai standarisasi dalam produk mereka seperti ORACLE, Microsoft SQL
Server, PostGreSQL, MySQL.
SQL sendiri terbagi atas beberapa bagian, yaitu :
Lima bagian utama SQL :
→ Retrieving Data, yaitu perintah untuk menampilkan data dari database. (dibahas pada
praktikum ini).
→ DDL (Data Definition Language), yaitu bahasa yang mempunyai kemampuan untuk
mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti
tabel, indeks, bahkan basis datanya sendiri. Misalnya CREATE, DROP, ALTER. (di bahas
pada praktikum ini).
→ DML (Data Manipulation Language), yaitu bahasa yang berhubungan dengan proses
manipulasi data pada tabel, record. Misalnya : INSERT, UPDATE, DELETE. (dibahas pada
praktikum ini).
[email protected]
STMIK AMIKOM YOGYAKARTA
6
Modul Praktikum Sistem Basis Data S1-TI
→ DCL (Data Control Language), yaitu bahasa yang berhubungan dengan pengendalian
akses ke database. Misalnya : GRANT, REVOKE. (dibahas pada mata kuliah pemrograman
basis data dan client server)
→ DTL (Data Transaction Language), yaitu bahasa yang di gunakan untuk mengelola
transaksi di database. Misalnya : COMMIT, ROLLED BACK. (dibahas pada mata kuliah
pemrograman basis data dan client server)
Praktikum Pemrograman Client Server menggunakan Microsoft SQL Server sebagai DBMS-nya
selama proses praktikum berlangsung. Hal ini dikarenakan DBMS ini mudah digunakan dan user
lebih familiar dengan produk-produk yang diproduksi oleh Microsoft.
MICROSOFT SQL SERVER
MS-SQL Server merupakan salah satu contoh perangkat lunak DBMS (database management
system) yang banyak digunakan oleh banyak perusahaan saat ini. SQL Server memiliki banyak
fitur-fitur yang dapat membantu perusahaan untuk mengelola basis data mereka dengan baik.
Berikut ini adalah beberapa fitur yang terdapat dalam DBMS SQL Server, yaitu:
1.
SQL Server Service Manager
Fasilitas ini mempunyai kemampuan untuk melakukan cara pengaturan seluruh objek
dari SQL Server, SQL Server Agent, dan Distributed Transaction.
Gambar. 1 SQL Server Service Manager
[email protected]
STMIK AMIKOM YOGYAKARTA
7
Modul Praktikum Sistem Basis Data S1-TI
2.
SQL Server Profiler
Utilitas ini memungkinkan untuk memonitor, merekam aktivitas kegiatan pada server
database sehingga mempunyai kemampuan untuk melakukan analisa terhadap aktivitas
server database.
3.
SQL Query Analyzer
Tool ini adalah fasilitas yang digunakan untuk mengeksekusi pernyataan Transact-SQL
secara interaktif, seperti membuat database, edit, insert dan menghapus data.
4.
Data Transformation Service
Digunakan untuk mentransfer data dari format SQL server ke format database lain
seperti format database Acces, Excel, Paradox atau sebaliknya.
Selain dari fitur-fitur diatas, SQL Server juga memiliki beberapa obyek dalam databasenya.
Obyek-obyek dalam database memiliki fungsi masing-masing. Berikut adalah obyek-obyek yang
terdapat dalam obyek database SQL Server, yaitu:
Objek SQL Server Database
Gambar. 2 Obyek-obyek dalam Database SQL Server
[email protected]
STMIK AMIKOM YOGYAKARTA
8
Modul Praktikum Sistem Basis Data S1-TI
1. Diagrams
Merupakan sebuah diagram yang digunakan untuk mendesain sebuah relasi/ hubungan
antar tabel-tabel dalam sebuah database.
2. Tables
Menyimpan baris-baris atau record-record data, tabel adalah inti dari sebuah database yang
dikelompokkan dalam bentuk baris dan kolom.
3. Views
View adalah sebuah tabel virtual yang digunakan untuk mengakses data-data tertentu pada
sebuah tabel, data-data penting yang tidak ditampilkan secara public dapat disembunyikan
dengan menggunakan view.
4. Stored Procedured
Adalah sekumpulan perintah SQL yang tersimpan dalam server database dan dapat
dieksekusi melalui perintah execute (nama sp)[parameter]
5. Users
Adalah orang atau pengguna yang diberi hak untuk mengakses database pada server
database.
6. Function
Sama halnya seperti Stored Procedure yaitu sekumpulan perintah SQL, akan tetapi Function
akan mengembalikan nilai sedangkan Stored Procedure tidak mengembalikan nilai.
Membuat Folder Kerja
Sebelum memulai praktikum, maka buatlah folder kerja yang menyimpan semua hasil pekerjaan
selama praktikum sistem basis data. Buatlah folder kerja di direktori d komputer yang digunakan
saat ini dengan nama sbdti_xxxx, dimana xxxx merupakan 4 digit terakhir nomor mahasiswa.
Sehingga path selengkapnya sebagai berikut: d:\sbdti_xxxx. Untuk membuatnya dapat
menggunakan windows explorer atau dengan cara mengetikkan perintah md sbdti_xxxx
melalui command prompt di DOS.
[email protected]
STMIK AMIKOM YOGYAKARTA
9
Modul Praktikum Sistem Basis Data S1-TI
Latihan 1.1.
Mengaktifkan dan Menon Aktifkan Database SQL Server
□ Untuk mendaftarkan database SQL Server yang sudah dibuat, sebaiknya di cek dulu apakah
Service SQL Service Manager sudah ON atau belum. Berikut adalah icon dari SQL Service
Manager dalam kondisi ON.
Gambar. 3 SQL Server Service Manager (Status ON)
□ Setelah itu aktifkan SQL Server Enterprise Manager, melalui Menu Start Æ Programs Æ
Microsoft SQL Server Æ Enterprise Manager
Gambar. 4 SQL Server Group di Enterprise Manager
[email protected]
STMIK AMIKOM YOGYAKARTA
10
Modul Praktikum Sistem Basis Data S1-TI
□ Untuk mendaftarkan database SQL Server pertama kali, klik kanan pada obyek Microsoft
SQL Servers, lalu pilih sub menu New SQL Server Registration.
Gambar. 5 Registrasi Database SQL Server
□ Pada jendela Register SQL Server Wizard, klik tombol Next. Untuk memulai proses
pendaftaran Database SQL Server yang baru.
Gambar. 6 Proses registrasi Database SQL Server
□ Jika komputer yang ada saat ini terhubung ke jaringan, maka SQL Server akan menampilkan
semua database SQL Server yang terdaftar di dalam jaringan tersebut. Silahkan pilih salah
satu server tersebut. Kemudian pilih tombol ADD untuk menambahkan kedalam SQL Server
Group yang ada. Kemudian tekan tombol Next.
[email protected]
STMIK AMIKOM YOGYAKARTA
11
Modul Praktikum Sistem Basis Data S1-TI
Gambar. 7 Daftar Server yang terdapat di Jaringan
Gambar. 8 Proses penambahan SQL Server baru
□ Selanjutnya pada bagian Connect Using, pilih The Windows account information..., lalu
tekan tombol Next.
[email protected]
STMIK AMIKOM YOGYAKARTA
12
Modul Praktikum Sistem Basis Data S1-TI
Gambar. 9 Pemilihan metode Koneksi ke Database SQL Server yang baru
□ Pada bagian Select SQL Server Group, pilih Add the SQL Server(s) to..., klik tombol Next.
Gambar. 10 SQL Server yang baru di tambahkan ke Grup yang sudah ada
□ Untuk mengakhiri proses registrasi SQL Server, pilih tombol Finish.
[email protected]
STMIK AMIKOM YOGYAKARTA
13
Modul Praktikum Sistem Basis Data S1-TI
Gambar. 11 Database SQL Server yang baru berhasil di Daftarkan
Latihan 1.2.
Membuat Database SQL Server
Untuk membuat database baru di SQL Server, ikuti langkah-langkah berikut:
□ Pada jendela utama SQL Server Enterprise Manager, klik kanan pada obyek Databases,
kemudian pilih sub menu New Database.
Gambar. 12 Pembuatan Database baru di Enterprise Manager
□ Pada jendela Database Properties, masukkan nama database baru yang akan dibuat pada
bagian Name. Pada contoh nama database yang diisikan adalah bank_xxxx.
[email protected]
STMIK AMIKOM YOGYAKARTA
14
Modul Praktikum Sistem Basis Data S1-TI
Gambar. 13 Pemberian nama Database yang baru
□ Selanjutnya pilih tab Data Files untuk melakukan pengaturan terhadap file data database
bank_xxxx. Rubahlah path atau lokasi tempat penyimpanan file data database yang
sebelumnya di simpan di direktori default SQL Server (c:\Program Files\Microsoft
SQL Server\MSSQL\Data) di pindah ke direktori lain. Pada contoh file data di pindah ke
direktori: E:\CS_Rudyanto_Arief.
[email protected]
STMIK AMIKOM YOGYAKARTA
15
Modul Praktikum Sistem Basis Data S1-TI
□ Berikut adalah contoh tampilan proses pemilihan path file data database bank_xxxx. Jika
direktorinya sudah dipilih, maka klik tombol OK.
□ Selanjutnya pada bagian File Properties, aktifkan pilihan Automatically grow file yang
artinya jika file data database bank_xxxx penuh maka secara otomatis SQL Server akan
menambah kapasitas file data tersebut. Jangan klik tombol OK dulu.
□ Pada pada bagian File growth pilihlah In megabytes yang artinya pertumbuhan file data
tersebut diatur dalam satuan megabyte dan bukan dalam satuan By percent. Jika pilihan By
[email protected]
STMIK AMIKOM YOGYAKARTA
16
Modul Praktikum Sistem Basis Data S1-TI
percent yang di aktifkan maka ukuran file data akan bertambah berdasarkan persentasi ruang
kosong di harddisk komputer tempat database SQL Server tersebut di install. Jika nilainya di
isi 10 artinya pertumbuhan file data database bank_xxxx akan mengkonsumsi 10 persen dari
ruang kosong di harddisk. Pada contoh menggunakan pilihan In megabytes dengan nilainya
10 megabyte. Artinya jika file data penuh maka secara otomatis ukuran file data akan di
tambah 10 MB lagi. Jangan klik tombol OK dulu.
□ Pada bagian Maximum file size, pilih Restrict file growth (MB). Pilihan default pada bagian
ini adalah Unrestricted file growth, artinya tidak ada batasan ukuran file database. Sehingga
file database akan mengkonsumsi semua ruang kosong di harddisk komputer jika pilihan ini
dipilih. Pada contoh pilihan yang di aktifkan adalah Restrict file growth (MB) dengan nilai
yang diisikan 50. Maksudnya adalah untuk setiap pertambahan file database yang di atur
pada langkah sebelumnya, maka file tersebut hanya di bolehkan bertambah sampai batas
maksimal 50 MB. Setelah batasan ini tercapai maka file database di asumsikan penuh oleh
SQL Server sampai di lakukan perubahan pada batasan maksimal file databasenya. Jangan
klik tombol OK dulu.
[email protected]
STMIK AMIKOM YOGYAKARTA
17
Modul Praktikum Sistem Basis Data S1-TI
□ Selanjutnya pilihlah tab Transaction Log. Pengaturannya sama saja dengan yang ada pada
pengaturan Data Files. Transaction Log merupakan menu pengaturan untuk file Log. File
Log adalah file berbasis teks yang menyimpan informasi mengenai semua kejadian/ event
yang terjadi dalam database SQL Server khusus untuk database tersebut. Pada contoh file
Log akan menyimpan semua informasi transaksi yang terjadi dalam database bank_xxxx.
[email protected]
STMIK AMIKOM YOGYAKARTA
18
Modul Praktikum Sistem Basis Data S1-TI
□ Aturlah path/ lokasi penyimpanan file Log sama dengan file database bank_xxxx yang diatur
pada langkah sebelumnya di Data Files. Pada contoh lokasinya di simpan di direktori
E:\CS_Rudyanto_Arief. Klik tombol OK.
□ Pada bagian File Properties, aktifkan Automatically grow file. Pada File growth, pilihlah
satuan In megabytes dengan nilai 10 MB. Pada bagian Maximum file size, pilih Restricted
file growth (MB) dengan nilai 50 MB. Klik tombol OK.
[email protected]
STMIK AMIKOM YOGYAKARTA
19
Modul Praktikum Sistem Basis Data S1-TI
□ Database bank_xxxx, telah terdaftar di dalam database SQL Server.
Gambar. 14 Database baru berhasil di buat
□ File data database bank_xxxx yang dibuat di letakkan di direktori E:\CS_Rudyanto_Arief
sesuai dengan pengaturan yang dilakukan pada tahapan sebelumnya.
[email protected]
STMIK AMIKOM YOGYAKARTA
20
Modul Praktikum Sistem Basis Data S1-TI
Latihan 1.3.
Mendaftarkan Database (Attach)
□ Pada obyek Databases, klik kanan kemudian pilih sub menu All Tasks Æ Attach
Database...
Gambar. 15 Meng-attach database
□ Pilihlah lokasi jendela Attach Database, pilihlah lokasi dimana file database di simpan
(*.mdf). Kemudian klik tombol OK (2x).
Gambar. 16 Pemilihan nama file database yang akan di attach (*.mdf)
[email protected]
STMIK AMIKOM YOGYAKARTA
21
Modul Praktikum Sistem Basis Data S1-TI
Gambar. 17 Pencarian lokasi file Database (*.mdf)
[email protected]
STMIK AMIKOM YOGYAKARTA
22
Modul Praktikum Sistem Basis Data S1-TI
Latihan 1.4.
Menon-Aktifkan Database (Detachment Database)
□ Untuk melakukan Detachment (menon-aktifkan) database, silahkan pilih database yang akan
di non-aktifkan kemudian klik kanan
□ Database bank_xxxx sudah tidak terdaftar lagi dalam daftar database SQL Server.
[email protected]
STMIK AMIKOM YOGYAKARTA
23
Modul Praktikum Sistem Basis Data S1-TI
□ Walaupun database bank_xxxx sudah di detach tapi file databasenya masih tetap tersimpan
di direktori tempat penyimpanannya.
Catatan: jika database di non-aktifkan (detach) tidak serta merta menghapus database tersebut
dari media penyimpanan fisik (harddisk). File databasenya (*.mdf) masih tersimpan di harddisk
dan sewaktu-waktu dapat di aktifkan kembali jika di perlukan. Untuk mengaktifkannya
menggunakan prosedur Attach Database yang sudah di bahas sebelumnya. Untuk menghapus
database secara permanen maka lakukan operasi penghapusan database yang akan di bahas
pada bagian selanjutnya.
[email protected]
STMIK AMIKOM YOGYAKARTA
24
Modul Praktikum Sistem Basis Data S1-TI
Latihan 1.5.
Menghapus Database
□ Pilih database yang akan di hapus (DROP) pada obyek Databases. Klik kanan pada nama
database yang akan di hapus. Pilih sub menu Delete. Pada contoh nama database yang akan
di hapus adalah bank_xxxx.
[email protected]
STMIK AMIKOM YOGYAKARTA
25
Modul Praktikum Sistem Basis Data S1-TI
Penugasan
1. Sebutkan obyek-obyek yang terdapat dalam Database SQL Server.
2. Fitur Attach Database dan Detach Database dalam SQL Server digunakan untuk apa?
3. Jelaskan perbedaan antara Database Detach dan Database Delete.
4. Tuliskan path/ lokasi penyimpanan default file-file database (*.mdf) dalam SQL Server.
5. Tuliskan jenis-jenis perangkat lunak DBMS (database management system) yang anda
ketahui beserta vendor pembuatnya (minimal 5).
[email protected]
STMIK AMIKOM YOGYAKARTA
26
Modul Praktikum Sistem Basis Data S1-TI
MODUL 2
PENGENALAN MICROSOFT QUERY ANALYZER
Tujuan
□ Mampu mengoperasikan Query Analyzer
□ Mampu menggunakan perintah-perintah SQL Query di Query Analyzer
□ Mampu menggunakan menu Bantuan di Query Analyzer
Teori Singkat
Microsoft Query Analyzer adalah salah satu fitur yang terdapat dalam DBMS Microsoft SQL
Server. Dengan menggunakan Query Analyzer, maka perintah-perintah SQL Query yang telah do
bahas di modul 1 dapat di ketikkan. Query Analyzer terbagi dalam 4 bagian:
□ Bagian Menu
□ Bagian Object Browser
□ Bagian Jendela Editor
□ Bagian Jendela Hasil Query
[email protected]
STMIK AMIKOM YOGYAKARTA
27
Modul Praktikum Sistem Basis Data S1-TI
Bagian Menu
Merupakan tempat semua menu-menu standar yang digunakan untuk mengelola perintahperintah SQL Query yang terdapat dalam jendela editor.
Bagian Object Browser
Merupakan bagian yang menampilkan semua object-object yang terdapat dalam database SQL
Server seperti yang telah di bahas di modul 1.
[email protected]
STMIK AMIKOM YOGYAKARTA
28
Modul Praktikum Sistem Basis Data S1-TI
Bagian Jendela Editor
Bagian ini merupakan bagian utama dari Query Analyzer, karena di bagian inilah semua perintahperintah SQL Query yang akan digunakan untuk berinteraksi dengan database SQL Server di
ketikkan.
Bagian Jendela Hasil Query
Merupakan bagian yang menampilkan semua hasil perintah-perintah sql query yang di ketikkan
di jendela editor yang telah di eksekusi. Apapun hasil eksekusi perintah sql query akan di
tampilkan di bagian ini, baik itu perintah sql query yang sukses maupun perintah sql query yang
salah. Jika perintah sql query sukses di eksekusi maka datanya di tampilkan di bagian ini,
sedangkan jika perintah sql query gagal maka jendela hasil akan menampilkan pesan kesalahan
yang berhubungan dengan kesalahan perintah sql query tersebut.
[email protected]
STMIK AMIKOM YOGYAKARTA
29
Modul Praktikum Sistem Basis Data S1-TI
Latihan 2.1.
Mengaktifkan SQL Query Analyzer
□
Untuk mengaktifkan query analyzer, pilih menu Start Æ All Programs Æ Microsoft SQL
Server Æ Query Analyzer.
□
Pada jendela Connect to SQL Server, pilih Connect Using menggunakan Windows
Authentication. Lalu klik tombol OK.
□
Selanjutnya akan muncul halaman utama query analyzer dengan database master yang
aktif pertama kali.
[email protected]
STMIK AMIKOM YOGYAKARTA
30
Modul Praktikum Sistem Basis Data S1-TI
Latihan 2.2.
Mengetikkan
Perintah
SQL
Query
di
Jendela
Editor
dan
Mengeksekusinya
□
Perintah SQL Query yang ada dapat di ketikkan melalui jendela editor query analyzer.
□
Perintah sql query dapat di ketik per baris kemudian di eksekusi atau dengan cara
mengetikkan beberapa baris perintah sql sekaligus yang kemudian akan di eksekusi
sekali. Berikut adalah contoh perintah SQL Query yang di ketikkan di jendela editor query
analyzer:
[email protected]
STMIK AMIKOM YOGYAKARTA
31
Modul Praktikum Sistem Basis Data S1-TI
□
Untuk mengeksekusi perintah diatas menggunakan tombol F5 atau melalui menu Query
Æ Execute atau dengan meng-klik toolbar
□
yang ada pada bagian toolbar.
Jika dalam jendela editor akan di ketikkan lebih dari satu perintah sql query, maka untuk
membatasi antara perintah satu dengan lainnya di tambahkan perintah GO di akhir
perintah sql tersebut atau menggunakan tanda titik koma (;). Berikut adalah contohnya:
□
Perintah diatas adalah contoh perintah sql untuk memilih database bank (USE bank),
kemudian akan menampilkan semua kolom yang ada di tabel nasabah (SELECT * FROM
nasabah)
dan
menampilkan
nama
nasabah
dari
tabel
nasabah
(SELECT
nama_nasabah FROM nasabah) yang semuanya berjumlah 3 perintah sql yang di
eksekusi bersamaan dengan satu kali penekanan tombol F5.
Latihan 2.3.
Memberikan Komentar
Untuk memberikan komentar terhadap perintah sql yang di ketikkan di jendela editor query
analyzer sehingga tidak ikut di eksekusi dapat menggunakan 2 cara, yaitu komentar untuk satu
baris atau komentar lebih dari satu baris.
□
Berikut adalah contoh pemberian komentar satu baris di jendela editor dengan
menggunakan tanda double dash (--) di depan perintah sql yang akan di jadikan komentar.
[email protected]
STMIK AMIKOM YOGYAKARTA
32
Modul Praktikum Sistem Basis Data S1-TI
□
Berikut adalah contoh pemberian komentar lebih dari satu baris di jendela editor dengan
menggunakan tanda /* dan di tutup dengan */.
Latihan 2.4.
Menyimpan Perintah SQL Query
Untuk menyimpan perintah sql query yang sudah di ketikkan di jendela editor yang sewaktuwaktu dapat di gunakan kembali berikut adalah langkah-langkahnya:
□
Pilih menu File Æ Save atau menggunakan shortcut Ctrl+S atau meng-klik simbol toolbar
Save
pada bagian menu toolbar.
[email protected]
STMIK AMIKOM YOGYAKARTA
33
Modul Praktikum Sistem Basis Data S1-TI
□
Pada jendela Save Query, pilihlah lokasi dimana akan di simpan file tersebut. Pada contoh
berikut file di simpan dalam folder d:\cs_Rudyanto_Arief. Kemudian berilah nama file
tersebut. Pada contoh nama filenya modul2 sesuai dengan nama modul yang sedang di
bahas saat ini. Secara default query analyzer akan menyimpan file yang di simpan dengan
tipe query files (*.sql) namun dapat di rubah tipe filenya menjadi tipe file lainnya. Misalnya
dengan tipe file text (*.txt). Kemudian klik tombol Save.
[email protected]
STMIK AMIKOM YOGYAKARTA
34
Modul Praktikum Sistem Basis Data S1-TI
Latihan 2.5.
Menggunakan fasilitas Bantuan (Help) Query Analyzer
Query analyzer juga menyediakan menu bantuan (help) yang berhubungan dengan perintahperintah sql query. Menu bantuan ini di sebut juga SQL Server Books Online. Untuk
menggunakan menu bantuan berikut adalah langkah-langkahnya:
□
Pilih menu Help, kemudian pilih sub menu Transact-SQL Help atau menggunakan
shortcut Shift+F1.
□
Pada jendela utama SQL Server Books Online, pilihlah tab Index. Jika baru pertama kali di
aktifkan maka sql server akan melakukan proses pencarian semua informasi yang ada di
dalam SQL Server Books Online sehingga butuh proses yang agak lama.
[email protected]
STMIK AMIKOM YOGYAKARTA
35
Modul Praktikum Sistem Basis Data S1-TI
□
Pada bagian tab Index, ketikkanlah kata kunci yang tepat untuk melakukan pencarian
terhadap perintah sql query yang ingin di ketahui. Pada contoh kata kunci yang di ketikkan
adalah CREATE DATABASE.
□
Setelah yakin, maka klik tombol Display yang terletak di bawah atau langsung menekan
tombol Enter. Selanjutnya pilihlah pilihan title: CREATE DATABASE, location: TransactSQL Reference pada jendela Topics Found. Pilihan ini di pilih karena semua perintahperintah SQL Query yang terdapat di dalam SQL Server di kategorikan ke dalam perintah
Transact-SQL. Kemudian klik tombol Display atau tekan tombol Enter.
[email protected]
STMIK AMIKOM YOGYAKARTA
36
Modul Praktikum Sistem Basis Data S1-TI
□
Selanjutnya akan di tampilkan secara rinci informasi tentang topik yang di cari. Pada
contoh semua informasi yang berhubungan dengan kata kunci: CREATE DATABASE
ditampilkan.
Penugasan
1. Bagaimana cara mengaktifkan dan me-non aktifkan perintah-perintah SQL Query yang di
ketikkan di jendela editor agar tidak di eksekusi.
2. Perintah apa yang digunakan untuk berganti database dari database yang aktif saat ini.
3. Jelaskan urutan-urutan bagaimana mengakses informasi/ data sebuah tabel, ketika pertama
kali Query Analyzer di aktifkan. (asumsi: query analyzer sudah terhubung dengan database
sql server).
4. Jelaskan urutan-urutan bagaimana cara merubah ukuran dan jenis huruf di jendela editor
query analyzer.
5. Jelaskan urutan-urutan cara melakukan koneksi ke database dan pemutusan koneksi
database yang aktif di query analyzer.
[email protected]
STMIK AMIKOM YOGYAKARTA
37
Modul Praktikum Sistem Basis Data S1-TI
MODUL 3
DATA DEFINITION LANGUAGES (DDL)
Bagian 1
Tujuan
□ Mampu mendefinisikan (membuat, menghapus, merubah) obyek database
□ Mampu menggunakan perintah-perintah DDL SQL untuk mengelola database
Teori Singkat
Seperti telah dijelaskan di modul sebelumnya, DDL adalah sebuah bahasa yang digunakan untuk
mendefinisikan data dan obyek pada database.
Berikut ini sintaks-sintaks yang termasuk dalam DDL didalam SQL Server :
Perintah
Keterangan
CREATE DATABASE
Untuk membuat database
CREATE TABLE
Untuk membuat tabel
CREATE VIEW
Untuk membuat view
CREATE PROCEDURE
Untuk membuat Stored Procedure
ALTER DATABASE
Mengubah database
DROP DATABASE
Menghapus database
Membuat Database
Database merupakan obyek yang utama dalam DBMS SQL Server. Semua obyek-obyek
database yang di jelaskan di modul 1 tersimpan di dalam obyek database. Di dalam SQL Server
terdapat beberapa database default yang otomatis di buat ketika SQL Server pertama kali di
install, yaitu: master, model, msdb, Northwind, pubs, tempdb. Selain obyek-obyek database
tersebut terdapat juga database-database lain yang di buat oleh seorang database administrator
(DBA) dengan menggunakan perintah-perintah SQL. Untuk membuat database di SQL Server
[email protected]
STMIK AMIKOM YOGYAKARTA
38
Modul Praktikum Sistem Basis Data S1-TI
maka di butuhkan perintah SQL yang termasuk kategori data definition language (DDL). Berikut
adalah perintah dasar untuk membuat database menurut SQL Server Books Online.
Perintah dasar:
CREATE DATABASE database_name
[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ]
]
[ LOG ON { < filespec > [ ,...n ] } ]
[ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
< filespec > ::=
[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
< filegroup > ::=
FILEGROUP filegroup_name < filespec > [ ,...n ]
Keterangan:
Database Name : Nama Database dan harus bersifat unik, panjang maksimal 128 karakter
Log On
: Menyatakan file yang dipakai untuk menyatakan log.
On Primary
: Menyatakan file-file disk untuk penyimpanan data dari sebuah database.
Keterangan lain silahkan baca di SQL SERVER BOOKS ONLINE.
Atau dapat di sederhanakan menjadi:
CREATE DATABASE nama_database
Merubah Database
Untuk merubah database seperti menambahkan file atau menghapus file database dan kelompok
file dari database menggunakan perintah ALTER DATABASE. Selain merubah nama file
database, ALTER DATABASE juga dapat merubah nama database, nama kelompok file, dan
nama lojik dari data file dan log file.
[email protected]
STMIK AMIKOM YOGYAKARTA
39
Modul Praktikum Sistem Basis Data S1-TI
Berikut adalah perintah dasar menurut SQL Server Books Online:
ALTER DATABASE database
{ ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP filegroup_name ]
| ADD LOG FILE < filespec > [ ,...n ]
| REMOVE FILE logical_file_name
| ADD FILEGROUP filegroup_name
| REMOVE FILEGROUP filegroup_name
| MODIFY FILE < filespec >
| MODIFY NAME = new_dbname
| MODIFY FILEGROUP filegroup_name {filegroup_property | NAME =
new_filegroup_name }
| SET < optionspec > [ ,...n ] [ WITH < termination > ]
| COLLATE < collation_name >
}
Menghapus Database
Untuk menghapus satu atau lebih dari satu database dari SQL Server menggunakan perintah
SQL DROP DATABASE. Menghapus database berarti menghapus database dan file-file yang
digunakan oleh database tersebut di harddisk komputer.
Berikut adalah perintah dasarnya:
DROP DATABASE database_name [ ,...n ]
Latihan 3.1.
Membuat Database tanpa parameter
□
Aktifkan query analyzer, kemudian pada jendela editor ketikkan perintah berikut:
CREATE DATABASE akademik_xxxx_test;
Dimana xxxx = 4 (empat) digit terakhir nim anda.
[email protected]
STMIK AMIKOM YOGYAKARTA
40
Modul Praktikum Sistem Basis Data S1-TI
□
Kemudian eksekusilah perintah tersebut dengan menekan tombol F5. Perintah diatas
adalah perintah SQL untuk membuat sebuah database baru dengan nama
akademik_xxxx_test. Jika perintah tersebut di eksekusi maka SQL Server akan membuat
database akademik_xxxx_test dan data filenya beserta log filenya di simpan di direktori
default penyimpanan data SQL Server.
Latihan 3.2.
Membuat database dengan parameter tambahan
Berikut contoh untuk membuat database baru dengan beberapa penambahan parameter di
dalamnya.
□
Masih di jendela editor yang sama dengan perintah Latihan 3.1., jadikan komentar
perintah pada Latihan 3.1. ( tidak perlu di hapus) sebelumnya dengan menambahkan
tanda double dash (--) di depan baris perintah SQL tersebut.
[email protected]
STMIK AMIKOM YOGYAKARTA
41
Modul Praktikum Sistem Basis Data S1-TI
□
Ketikkan perintah SQL berikut di baris berikutnya di jendela editor. Perintah berikut adalah
untuk membuat database dengan nama akademik_xxxx, xxxx merupakan 4 (empat) digit
nim anda.
CREATE DATABASE akademik_xxxx
ON PRIMARY
(NAME=sbdti_xxxx,
FILENAME=’d:\nama folder anda\sbdti_xxxx_data.mdf’,
SIZE=5,
MAXSIZE=50,
FILEGROWTH=2)
LOG ON
(NAME=sbdti_xxxx_log,
FILENAME=’d:\nama folder anda\sbdti_xxxx_log.ldf’,
SIZE=3,
MAXSIZE=20,
FILEGROWTH=1);
□
Pada contoh nama folder tempat penyimpanan data file dan log filenya di simpan di
direktori e:\cs_rudyanto_arief.
□
Eksekusilah perintah tersebut dengan menekan tombol F5. Jika sukses maka akan muncul
konfirmasi di bagian jendela hasil query di bawah jendela editor yang menyatakan bahwa
dataabase telah berhasil dibuat dengan lokasi direktori penyimpanan untuk data file dan
log filenya.
[email protected]
STMIK AMIKOM YOGYAKARTA
42
Modul Praktikum Sistem Basis Data S1-TI
□
Perhatikan perbedaan antara contoh perintah SQL di Latihan 3.1. dan Latihan 3.2.
□
File Primer yang berisi data disimpan dengan nama sbdti_xxxx_data.Mdf. Folder
penyimpanannya di sesuaikan dengan nama folder penyimpanan kelas Anda.
□
File Awal meminta space penyimpanan sebesar 5 MB, dengan ukuran maksimum 50 MB
dengan penambahan 2 MB.
□
File Log disimpan dengan nama sbdti_xxxx_log.Ldf. Folder penyimpanannya di
sesuaikan dengan nama folder penyimpanan kelas Anda. Ukuran 3 MB dengan maksimal
20 MB dengan penambahan 1 MB.
□
Untuk mengecek database tersebut apakah sudah dibuat ketikkan perintah berikut melalui
jendela Query Analyzer. Sebelumnya non aktifkan terlebih dahulu perintah SQL Latihan
3.2. yang sebelumnya di ketik di jendela editor dengan menjadikan komentar untuk
perintah tersebut.
[email protected]
STMIK AMIKOM YOGYAKARTA
43
Modul Praktikum Sistem Basis Data S1-TI
sp_databases
Atau
SELECT name FROM master.dbo.sysdatabases
[email protected]
STMIK AMIKOM YOGYAKARTA
44
Modul Praktikum Sistem Basis Data S1-TI
Latihan 3.3.
Merubah nama database
□
Masih di jendela editor yang sama, non aktifkan perintah sp_databases. Kemudian
ketikkan perintah berikut di baris berikutnya di jendela editor query analyzer.
ALTER DATABASE akademik_xxxx_test
MODIFY NAME = akademik_xxxx_test2
[email protected]
STMIK AMIKOM YOGYAKARTA
45
Modul Praktikum Sistem Basis Data S1-TI
□
Eksekusilah perintah tersebut dengan menekan tombol F5.
□
Perintah diatas adalah untuk melakukan perubahan nama database yang sebelumnya
akademik_xxxx_test menjadi akademik_xxxx_test2.
□
Untuk melihat kembali hasil perubahan, maka aktifkan kembali perintah sp_databases di
jendela editor dengan menghapus kembali tanda double dash (--) di depan baris perintah
tersebut dan non aktifkan terlebih dahulu perintah Latihan 3.3.
[email protected]
STMIK AMIKOM YOGYAKARTA
46
Modul Praktikum Sistem Basis Data S1-TI
Latihan 3.4.
Menghapus database
□
Non aktifkan terlebih dahulu semua perintah SQL yang ada di jendela editor, kemudian
ketikkan perintah berikut:
DROP DATABASE akademik_xxxx_test2
□
Eksekusilah perintah tersebut dengan menekan tombol F5. Jika sukses maka jendela hasil
query akan menampilkan pesan konfirmasi di dalamnya.
□
Untuk melihat apakah database akademik_xxxx_test2 berhasil di hapus, maka aktifkan
kembali perintah sp_databases dengan me-non aktifkan terlebih dahulu perintah DROP
DATABASE akademik_xxxx_test2. Eksekusilah perintah tersebut dengan menekan
tombol F5.
[email protected]
STMIK AMIKOM YOGYAKARTA
47
Modul Praktikum Sistem Basis Data S1-TI
□
Simpanlah semua perintah SQL yang sudah di ketikkan di jendela editor mulai dari
Latihan 3.1. sampai Latihan 3.4. dengan nama file: modul3.sql yang di simpan di dalam
direktori kerja anda masing-masing.
Penugasan
1. Jelaskan perbedaan hasil antara perintah SQL Latihan 3.1. dan Latihan 3.2.
2. Tuliskan perintah untuk membuat database baru dengan nama akademik_xxxx_test3 yang
maksimal ukuran data filenya 100 MB, pertumbuhannya tiap 20 MB dan lokasi data file dan
log filenya otomatis di atur oleh SQL Server begitu pula dengan nama data file dan nama log
filenya di tentukan otomatis oleh SQL Server.
3. Tuliskan perintah SQL untuk merubah nama database di soal nomor 2 (dua) menjadi
akademik_latihan_xxxx.
4. Tuliskan perintah untuk menghapus database lebih dari satu dalam satu perintah SQL.
(asumsi nama database yang akan di hapus: test1, test2, test3).
5. Apa yang terjadi jika perintah DROP DATABASE di lakukan pada sebuah database?
[email protected]
STMIK AMIKOM YOGYAKARTA
48
Modul Praktikum Sistem Basis Data S1-TI
MODUL 4
DATA DEFINITION LANGUAGE (DDL)
Bagian 2
Tujuan
□
Mampu mengetahui konsep tabel dan tipe data.
□
Mampu menggunakan perintah-perintah DDL SQL untuk mengelola tabel.
Teori Singkat
Tabel merupakan salah satu obyek penyusun dalam sebuah database. Dalam satu database
bisa terdiri dari beberapa tabel di dalamnya. Di dalam tabel terdapat kolom-kolom (field-field). Di
dalam kolom-kolom terdiri dari baris-baris data yang merupakan inti dari basis data itu sendiri.
Untuk membuat tabel-tabel yang normal di dalam sebuah database tentu memerlukan beberapa
proses. Tabel-tabel tersebut tidak datang dengan sendirinya. Beberapa metode yang biasa
digunakan untuk membuat rancangan database adalah metode ER- Diagram dan Teknik
Pengujian Normalisasi (yang di bahas di perkuliahan teori sistem basis data). Contoh kasus pada
praktikum ini mengambil kasus database sebuah sistem database akademik sederhana, yang
hanya melibatkan beberapa entitas (mahasiswa, dosen, mata kuliah, ruang kuliah). Berikut
adalah rancangan ER-Diagram untuk kasus sistem database akademik.
[email protected]
STMIK AMIKOM YOGYAKARTA
49
Modul Praktikum Sistem Basis Data S1-TI
nama_mk
nama_mhs
nim
kode_mk
alamat_mhs
mengambil
mahasiswa
deskripsi_mk
mata_kuliah
digunakan
untuk
membimbing
dosen
nip
ruang
mengajar
alamat_dosen
kode_ruang
kapasitas_ruang
nama_dosen
lokasi_ruang
Berikut adalah kamus data untuk entitas-entitas tersebut:
Tabel mahasiswa
Kolom
Atribut
Keterangan
Nim
String(10)
Nomor Induk Mahasiswa
Nama_mhs
String(50)
Nama Mahasiswa
Alamat_mhs
String(100)
Alamat Mahasiswa
Kolom
Atribut
Keterangan
Nik
String(15)
Nomor Induk Karyawan
Nama_dosen
String(50)
Nama Dosen
Alamat_dosen
String(100)
Alamat Dosen
Tabel dosen
[email protected]
STMIK AMIKOM YOGYAKARTA
50
Modul Praktikum Sistem Basis Data S1-TI
Tabel Mata Kuliah
Kolom
Atribut
Keterangan
Kode_mk
String(6)
Kode Mata Kuliah
Nama_mk
String(30)
Nama Mata Kuliah
Deskripsi_mk
String(50)
Deskripsi Mata Kuliah
Kolom
Atribut
Keterangan
Kode_ruang
String(10)
Kode Ruang Kuliah
Lokasi_ruang
String(30)
Lokasi Ruang Kuliah
Kapasitas_ruang
Number
Kapasitas Ruang Menampung Mahasiswa
Tabel ruang
Membuat Tabel
CREATE TABLE adalah salah satu perintah SQL yang digunakan untuk membuat sebuah
tabel dengan menentukan tipe masing-masing elemen datanya.
Aturan penamaan tabel dan kolom:
ƒ
Harus diawali dengan huruf.
ƒ
Harus terdiri dari 1-30 panjang karakter.
ƒ
Harus berisikan hanya A-Z, a-z, 0-9, _, $, dan #.
ƒ
Tidak ada nama obyek yang sama (nama tabel, nama kolom) di dalam satu database yang
dimiliki oleh user yang sama.
ƒ
Tidak menggunakan reserved word di dalam SQL Server.
Perintah dasar:
CREATE TABLE [schema.] table-name
(column datatype [DEFAULT expr][,...]);
Untuk perintah CREATE TABLE selengkapnya silahkan anda baca di SQL SERVER BOOKS
ONLINE. Berikut adalah contoh perintah SQL pembuatan tabel dengan nama tabel pegawai
beserta kolom-kolom dan tipe data di dalamnya.
[email protected]
STMIK AMIKOM YOGYAKARTA
51
Modul Praktikum Sistem Basis Data S1-TI
CREATE TABLE
[ database_name.[ owner ] . | owner. ] table_name
( { < column_definition >
| column_name AS computed_column_expression
| < table_constraint > ::= [ CONSTRAINT constraint_name ] }
| [ { PRIMARY KEY | UNIQUE } [ ,...n ]
)
[ ON { filegroup | DEFAULT } ]
[ TEXTIMAGE_ON { filegroup | DEFAULT } ]
< column_definition > ::= { column_name data_type }
[ COLLATE < collation_name > ]
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ]
]
]
[ ROWGUIDCOL]
[ < column_constraint > ] [ ...n ]
< column_constraint > ::= [ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ON {filegroup | DEFAULT} ] ]
]
| [ [ FOREIGN KEY ]
REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )
}
< table_constraint > ::= [ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
{ ( column [ ASC | DESC ] [ ,...n ] ) }
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| FOREIGN KEY
[ ( column [ ,...n ] ) ]
REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
| CHECK [ NOT FOR REPLICATION ]
( search_conditions )
}
[email protected]
STMIK AMIKOM YOGYAKARTA
52
Modul Praktikum Sistem Basis Data S1-TI
[1] CREATE TABLE pegawai (
[2] idpeg int identity (1,1),
[3] nama varchar(200) not null,
[4] jk char(1) not null,
[5] statuspeg bit default 1,
[6] agama varchar(2) constraint ck_agama check(agama
in('I','P','K','B','H','LL')),
[7] primary key (idpeg))
Type Data
Setiap pembuatan field/kolom pada sebuah tabel, harus ditentukan tipe datanya. Tipe data
merupakan jenis data yang akan disimpan pada sebuah tabel. Pada listing program di atas pada
baris 2, 3 ,4 , 5, dan 6 terdapat tipe data yang berlainan, hal tersebut didasari oleh data yang
berjenis apa yang Akan dimasukkan kedalam sebuah tabel. Contoh pada baris [2] terdapat tipe
data “int” atau integer (data yang dimasukkan berupa data bilangan bulat), pada baris [3] adalah
bertipe “Varchar(200)” (data yang dimasukkan berupa karakter string yang panjang maksimal
adalah 200 karakter) .
Nilai Null
Null menyatakan bahwa sebuah kolom boleh berisi Null, nilai Null tidak sama dengan nol, kosong
atau lainya, tetapi Null adalah tidak ada data yang dimasukkan, nilainya tidak diketahui. Null tidak
boleh dipakai pada kolom-kolom yang mempunyai sifat Identity atau primary key.
Auto Increament
Adalah nilai yang dihasilkan dinaikkan secara berurutan, didefinisikan dengan menggunakan
properti Identity, pada baris [2] nilai idpeg dimulai dari 1 dan dinaikkan berurutan 1 kali.
Default Value
Default menyebutkan nilai sebuah kolom apabila tidak ada nilai yang diberikan saat record
dimasukkan. Pada baris [5] bertipe “bit”, nilai default status pegawai adalah 1, dapat diartikan
nilai “1” adalah status pegawai tetap dan nilai “0” adalah status pegawai tidak tetap.
[email protected]
STMIK AMIKOM YOGYAKARTA
53
Modul Praktikum Sistem Basis Data S1-TI
Constraint
Constraint memberlakukan integritas data dan menjaga kualitas data dalam database. Contoh
pada baris [6] hanya nilai ('I','P','K','B','H','LL') yang boleh diinputkan, selain nilai tersebut tidak
boleh diinputkan, jika diinputkan maka server database akan memberikan pesan error.
Rule
Fungsinya sama dengan Constraint, tetapi jika pada Constraint dilakukan pada saat pembuatan
tabel atau perubahan tabel, Rule dilakukan jika tabel sudah ada berikut kolom-kolomnya.
Merubah Struktur Tabel
ALTER TABLE
Adalah perintah SQL yang digunakan untuk merubah struktur kolom pada tabel
Berikut adalah perintah dasarnya:
ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
| ADD
{ [ < column_definition > ]
| column_name AS computed_column_expression
} [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD
{ < table_constraint > } [ ,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [ ,...n ]
| { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] }
| { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ] }
}
ADD
Digunakan untuk menambah kolom pada sebuah tabel.
Contoh : ALTER TABLE pegawai ADD alamat varchar(300)
[email protected]
STMIK AMIKOM YOGYAKARTA
54
Modul Praktikum Sistem Basis Data S1-TI
ALTER COLUMN
Digunakan untuk merubah struktur kolom pada sebuah tabel (tipe data, nama kolom, range nilai
tipe data, dan lain-lain).
Contoh : ALTER TABLE pegawai ALTER COLUMN nama varchar(100)
DROP
Digunakan untuk menghapus kolom/field
Contoh : ALTER TABLE pegawai DROP COLUMN nama
Menghapus tabel
Untuk menghapus tabel di dalam sebuah database menggunakan perintah DROP TABLE.
Tabel yang di hapus dapat di dalam database yang sama dan dapat juga menghapus tabel di
database yang lain.
Berikut adalah perintah dasarnya:
DROP TABLE table_name
DROP TABLE
Adalah perintah SQL yang digunakan untuk menghapus sebuah tabel dalam database.
Contoh : DROP TABLE pegawai
Latihan 4.1.
Membuat Tabel
□
Aktifkan query analyzer. Pada jendela editor query analyzer aktifkan terlebih dahulu
database yang akan di gunakan untuk membuat tabel di dalamnya dengan perintah: USE
nama-database.
Pada contoh database yang di aktifkan adalah database
akademik_xxxx yang sebelumnya sudah di buat di modul 3.
[email protected]
STMIK AMIKOM YOGYAKARTA
55
Modul Praktikum Sistem Basis Data S1-TI
□
Ketikkan perintah SQL berikut di jendela editor. Pada contoh perintah sql untuk membuat
tabel mahasiswa sesuai dengan struktur yang ada pada diagram ER diatas.
Tabel mahasiswa
Kolom
Atribut
Keterangan
Nim
String(10)
Nomor Induk Mahasiswa
Nama_mhs
String(50)
Nama Mahasiswa
Alamat_mhs
String(100)
Alamat Mahasiswa
CREATE TABLE mahasiswa (
Nim CHAR(10),
Nama_mhs VARCHAR(50),
Alamat_mhs VARCHAR(100)
);
□
Eksekusilah perintah SQL tersebut dengan menekan tombol F5.
□
Untuk melihat apakah tabel mahasiswa sudah berhasil dibuat, gunakan perintah berikut
(sebelumnya non aktifkan terlebih dahulu perintah sql Latihan 4.1.):
SELECT * FROM information_schema.tables
[email protected]
STMIK AMIKOM YOGYAKARTA
56
Modul Praktikum Sistem Basis Data S1-TI
Latihan 4.2.
Merubah Struktur Tabel
□
Masih di jendela editor yang sama, non aktifkan terlebih dahulu perintah sql SELECT *
FROM information_schema.tables yang di ketikkan sebelumnya.
□
Ketikkan perintah berikut untuk melakukan perubahan pada tabel mahasiswa. Perubahan
yang di lakukan adalah dengan merubah tipe data pada kolom nim yang semula
CHAR(10) menjadi VARCHAR(15).
ALTER TABLE mahasiswa
ALTER COLUMN nim VARCHAR(15)
[email protected]
STMIK AMIKOM YOGYAKARTA
57
Modul Praktikum Sistem Basis Data S1-TI
□
Eksekusilah perintah tersebut dengan menekan tombol F5.
Latihan 4.3.
Menghapus Tabel
□
Masih di jendela editor yang sama, non aktifkan terlebih dahulu perintah sql Latihan 4.2.
yang sudah di ketik sebelumnya. Kemudian ketikkan perintah berikut untuk menghapus
tabel mahasiswa yang sudah dibuat.
DROP TABLE mahasiswa
□
Eksekusilah perintah tersebut dengan menekan tombol F5.
□
Simpanlah semua perintah sql yang sudah anda buat di Latihan 4.1. sampai Latihan 4.3.
dengan nama file modul4.sql di direktori kerja masing-masing.
[email protected]
STMIK AMIKOM YOGYAKARTA
58
Modul Praktikum Sistem Basis Data S1-TI
Latihan 4.4.
Membuat Tabel dalam database akademik_xxxx
Dengan prosedur yang sama dengan Latihan 4.1. buatlah kembali tabel-tabel berikut
□
dengan menggunakan perintah SQL.
Gunakan jendela editor yang sama, dengan me-non aktifkan terlebih dahulu perintah SQL
□
Latihan 4.3.
Ketikkan semua perintah SQL untuk membuat semua tabel-tabel berikut kemudian
□
eksekusi sekali saja dengan menekan tombol F5.
Jangan lupa untuk menyimpan semua perintah SQL yang sudah di ketikkan di file
□
modul4.sql yang sebelumnya sudah di simpan.
Tabel mahasiswa
Kolom
Atribut
Keterangan
Nim
CHAR(10)
Nomor Induk Mahasiswa
Nama_mhs
VARCHAR(50)
Nama Mahasiswa
Alamat_mhs
VARCHAR(100)
Alamat Mahasiswa
Kolom
Atribut
Keterangan
Nik
CHAR(15)
Nomor Induk Karyawan
Nama_dosen
VARCHAR(50)
Nama Dosen
Alamat_dosen
VARCHAR (100)
Alamat Dosen
Kolom
Atribut
Keterangan
Kode_mk
CHAR(6)
Kode Mata Kuliah
Nama_mk
VARCHAR (30)
Nama Mata Kuliah
Deskripsi_mk
VARCHAR (50)
Deskripsi Mata Kuliah
Tabel dosen
Tabel Mata Kuliah
[email protected]
STMIK AMIKOM YOGYAKARTA
59
Modul Praktikum Sistem Basis Data S1-TI
Tabel ruang
Kolom
Atribut
Keterangan
Kode_ruang
CHAR(10)
Kode Ruang Kuliah
Lokasi_ruang
VARCHAR (30)
Lokasi Ruang Kuliah
Kapasitas_ruang
INTEGER
Kapasitas Ruang Menampung Mahasiswa
Penugasan
1. Tuliskan perintah SQL Query untuk membuat tabel-tabel yang ada di Latihan 4.4.
2. Tuliskan langkah-langkah untuk merubah struktur tabel pegawai pada kolom nama lebar
datanya yang semula 200 menjadi 25 menggunakan perintah SQL Query.
3. Jelaskan perbedaan dan persamaan antara tipe data CHAR dan VARCHAR.
4. Apa maksud pilihan Allow Nulls di dalam properties tabel, pada saat membuat tabel baru di
SQL Server.
5. Jelaskan perbedaan nilai NULL (NULL Values) dengan Nilai 0 atau Nilai Kosong.
[email protected]
STMIK AMIKOM YOGYAKARTA
60
Modul Praktikum Sistem Basis Data S1-TI
MODUL 5
DATA DEFINITION LANGUAGES (DDL)
(Bagian 3)
Tujuan
□ Mampu mendefinisikan batasan-batasan (constraint) dalam tabel di SQL Server
□ Mampu menjelaskan fungsi dan cara penggunaan masing-masing constraint dalam tabel di
SQL Server
Teori Singkat
Constraint/ batasan-batasan di dalam SQL Server memiliki fungsi untuk menjamin konsistensi
data dan integritas data di dalam tabel ketika di isikan (lihat kembali tujuan normalisasi dalam
sebuah tabel/ kenapa sebuah tabel harus di normalisasi). Dalam SQL Server ada beberapa jenis
constraint, yaitu:
□ PRIMARY KEY
□ FOREIGN KEY
□ UNIQUE
□ NOT NULL
□ CHECK
Constraint dapat di buat pada level tabel atau level kolom, kecuali untuk constraint NOT NULL
yang hanya dapat dibuat pada level kolom.
PRIMARY KEY
PRIMARY KEY atau Kunci Utama dalam sebuah tabel merupakan kunci yang akan membatasi
pengisian record dalam sebuah tabel agar tidak duplikat (redundant). Syarat sebuah kolom/ field
dijadikan PRIMARY KEY dalam sebuah tabel adalah unik dan tidak boleh kosong (NOT NULL).
Artinya bahwa nilai record-record dalam kolom yang dijadikan PRIMARY KEY haruslah unik satu
sama lain dan nilainya tidak boleh di kosongkan. Jika sebuah kolom di beri constraint PRIMARY
KEY maka sudah pasti kolom tersebut nilainya tidak boleh kosong atau harus berisi data.
[email protected]
STMIK AMIKOM YOGYAKARTA
61
Modul Praktikum Sistem Basis Data S1-TI
Berikut adalah perintah dasar pembuatan constraint PRIMARY KEY:
CONSTRAINT pk_(nama-tabel)_(nama-kolom) [jenis_constraint]
Keterangan:
PK = Singkatan dari jenis constraint yaitu PRIMARY KEY
Nama-tabel = Nama tabel tempat constraint tersebut di buat
Nama-kolom = Nama kolom yang akan di beri constraint
Jenis_constraint = Jenis-jenis constraint yang akan dibuat (PRIMARY KEY, FOREIGN KEY,
UNIQUE, NOT NULL, CHECK.
Contoh:
Contoh berikut adalah contoh perintah pembuatan constraint PRIMARY KEY pada kolom nip
dengan nama constraint-nya pk_dosen_nip di tabel dosen pada level kolom.
CREATE TABLE dosen (
nip INTEGER
CONSTRAINT pk_dosen_nip PRIMARY KEY ,
nama_dosen VARCHAR(45),
alamat_dosen VARCHAR(255)
);
Berikut contoh pembuatan constraint PRIMARY KEY pada level tabel untuk kolom nip di tabel
dosen..
CREATE TABLE dosen (
nip INTEGER,
nama_dosen VARCHAR(45),
alamat_dosen VARCHAR(255)
CONSTRAINT pk_dosen_nip PRIMARY KEY
);
FOREIGN KEY
FOREIGN KEY atau KUNCI TAMU merupakan kunci yang digunakan sebagai penghubung
antara satu tabel dengan tabel lainnya. Jika sebuah tabel memiliki FOREIGN KEY maka tabel
tersebut dapat di sebut juga dengan tabel kedua dimana tabel utamanya adalah tabel yang
memiliki kolom PRIMARY KEY dari FOREIGN KEY tersebut.
Perintah dasarnya:
CONSTRAINT fk_(nama-tabel)_(nama-kolom) FOREIGN KEY
REFERENCES tabel-referensi(kolom-referensi)
[email protected]
STMIK AMIKOM YOGYAKARTA
62
Modul Praktikum Sistem Basis Data S1-TI
Keterangan:
FK = Singkatan dari FOREIGN KEY
Nama-Tabel = Nama tabel tempat FOREIGN KEY tersebut dibuat.
Nama-Kolom = Nama Kolom yang akan dijadikan FOREIGN KEY
FOREIGN KEY = Jenis constraint-nya, yaitu FOREIGN KEY
REFERENCES = Kata kunci untuk merelasikan tabel ini ke tabel utamanya (tabel yang memiliki
PRIMAR KEY)
Tabel-Referensi = Tabel yang akan dijadikan referensi (tabel utama).
Kolom-Referensi = Kolom yang menjadi referensi dari tabel utama.
Berikut adalah contoh penggunaan FOREIGN KEY pada level kolom dan pada level tabel:
CREATE TABLE mahasiswa
(
nim INTEGER CONSTRAINT pk_mahasiswa_nim PRIMARY KEY,
nip INTEGER
CONSTRAINT fk_mahasiswa_nim
FOREIGN KEY REFERENCES dosen(nip),
nama_mhs VARCHAR(45),
alamat_mhs VARCHAR(255)
);
CREATE TABLE mahasiswa
(
nim INTEGER CONSTRAINT pk_mahasiswa_nim PRIMARY KEY,
nip INTEGER
nama_mhs VARCHAR(45),
alamat_mhs VARCHAR(255),
CONSTRAINT fk_mahasiswa_nim
FOREIGN KEY REFERENCES dosen(nip)
);
Dalam SQL Server ada beberapa pilihan yang dapat digunakan ketika FOREIGN KEY di berikan
pada sebuah kolom dalam tabel, yaitu:
[ON DELETE {CASCADE | NO ACTION} ]
Pilihan ini akan menentukan aksi apa yang akan di lakukan terhadap sebuah baris/ record dalam
tabel, jika record tersebut memiliki hubungan referensi (referential relationship) dan record yang
di referensi di hapus (DELETE) dari tabel induk. Defaultnya adalah NO ACTION.
[email protected]
STMIK AMIKOM YOGYAKARTA
63
Modul Praktikum Sistem Basis Data S1-TI
Jika pilihan CASCADE di gunakan, sebuah record akan di hapus dari tabel referensinya jika
record tersebut di hapus dari tabel induknya. Jika pilihan NO ACTION yang digunakan, SQL
Server akan menampilkan pesan kesalahan dan proses penghapusan record pada tabel induk di
batalkan (ROLLED BACK).
Contohnya, pada database akademik_xxxx, tabel mahasiswa memiliki hubungan referensi
(referential relationship) dengan tabel dosen. FOREIGN KEY mahasiswa.nik memiliki hubungan
referensi dengan PRIMARY dosen.nik.
Jika perintah DELETE di lakukan pada sebuah record di tabel dosen, dan properties ON
DELETE CASCADE di berikan pada kolom mahasiswa.nik, SQL Server melakukan pengecekan
terhadap satu atau lebih record yang memiliki ketergantungan di tabel mahasiswa. Jika ada
record yang memiliki ketergantungan tersebut, maka record tersebut akan di hapus dari tabel
mahasiswa sesuai dengan record yang di hapus di tabel dosen.
Dengan kata lain, jika pilihan NO ACTION yang digunakan, SQL Server akan menampilkan
pesan kesalahan dan membatalkan penghapusan data untuk record di tabel dosen tersebut jika
terdapat paling tidak satu record di tabel mahasiswa yang berhubungan dengan record tersebut.
[ON UPDATE {CASCADE | NO ACTION} ]
Sama dengan [ON DELETE {CASCADE | NO ACTION} ], yang membedakan jika ON DELETE
aksi dilakukan jika record di hapus (DELETE), pada ON UPDATE aksi dilakukan jika record di
rubah (UPDATE).
Berikut adalah contoh pemberian pilihan ON DELETE CASCADE dan ON UPDATE CASCADE
pada sebuah tabel untuk kolom yang menjadi FOREIGN KEY.
CREATE TABLE mahasiswa
(
nim INTEGER CONSTRAINT pk_mahasiswa_nim PRIMARY KEY,
nip INTEGER
CONSTRAINT fk_mahasiswa_nim
FOREIGN KEY REFERENCES dosen(nip)
ON DELETE CASCADE ON UPDATE CASCADE,
nama_mhs VARCHAR(45),
alamat_mhs VARCHAR(255)
);
[email protected]
STMIK AMIKOM YOGYAKARTA
64
Modul Praktikum Sistem Basis Data S1-TI
UNIQUE
Constraint UNIQUE merupakan sebuah constraint yang akan membatasi pengisian record yang
sama kedalam sebuah kolom jika kolom tersebut di berikan constraint UNIQUE dalam sebuah
tabel. Constraint ini hampir sama dengan PRIMARY KEY, yaitu menjamin bahwa setiap nilai
record yang ada dalam sebuah kolom UNIQUE tidak boleh ada yang sama (unik satu sama lain).
UNIQUE dapat dibuat pada level kolom ataupun level tabel. Sama dengan constraint PRIMARY
KEY, FOREIGN KEY, CHECK.
Perintah dasarnya:
CONSTRAINT UQ_(nama-tabel)_(nama-kolom) UNIQUE
Keterangan:
UQ = Singkatan dari UNIQUE
Nama-Tabel = Nama tabel tempat UNIQUE tersebut dibuat.
Nama-Kolom = Nama Kolom yang akan dijadikan UNIQUE
UNIQUE = Jenis constraint-nya, yaitu UNIQUE
Berikut adalah contoh penggunaan UNIQUE dan PRIMARY KEY secara bersamaan pada level
kolom:
CREATE TABLE dosen (
nip INTEGER
CONSTRAINT pk_dosen_nip PRIMARY KEY ,
nama_dosen VARCHAR(45) CONSTRAINT UQ_dosen_nama UNIQUE ,
alamat_dosen VARCHAR(255)
);
NOT NULL
NOT NULL merupakan constraint yang digunakan untuk menjamin pengisian record ke sebuah
tabel agar nilai record tersebut harus berisi data. Sebuah kolom jika di berikan constraint NOT
NULL, maka kolom tersebut harus berisikan nilai untuk recordnya dan tidak boleh di kosongkan.
NOT NULL hanya bisa di definisikan dalam sebuah tabel pada level kolom dan tidak bisa pada
[email protected]
STMIK AMIKOM YOGYAKARTA
65
Modul Praktikum Sistem Basis Data S1-TI
level tabel. Perbedaan antara NOT NULL dan PRIMARY KEY adalah bahwa setiap kolom yang
dijadikan PRIMARY KEY pasti NOT NULL dan tidak berlaku sebaliknya.
Berikut adalah contoh penggunaan constraint NOT NULL:
CREATE TABLE dosen (
nip INTEGER
CONSTRAINT PK_dosen_nip PRIMARY KEY NOT NULL ,
nama_dosen VARCHAR(45),
alamat_dosen VARCHAR(255)
);
CHECK
CHECK merupakan constraint yang memaksa integritas domain dengan membatasi pemasukan
nilai yang mungkin di masukkan ke dalam sebuah kolom atau beberapa kolom. Hampir sama
dengan constraint FOREIGN KEY dalam hal bagaimana mengendalikan nilai yang akan di
masukkan kedalam sebuah kolom. Perbedaannya adalah pada bagaimana keduanya
menentukan nilai mana yang valid. FOREIGN KEY mendapatkan daftar nilai valid dari tabel yang
lain, sementara CHECK menentukan nilai valid dari ekspresi logika yang tidak menggunakan
data yang berdasarkan data pada kolom yang lain. Contohnya, sangat mungkin bagi kita
membatasi jangkauan nilai untuk kolom gaji dengan membuat constraint CHECK yang
membolehkan data yang memiliki jangkauan dari $15,000 hingga $100,000. Pembatasan ini akan
mencegah pengisian gaji di luar jangkauan nilai gaji normal. Untuk kasus tersebut dapat dibuat
constraint CHECK dengan menggunakan ekspresi logika (BOOLEAN) yang mengembalikan nilai
TRUE atau FALSE berdasarkan operator logika yang dibuat. Berikut adalah contoh ekspresi
logikanya:
Gaji >= 15000 AND salary <= 100000
Dalam satu kolom dapat di terapkan lebih dari satu constraint CHECK. Pengecekannya dilakukan
berdasarkan urutan pembuatan constraint CHECK tersebut. Selain itu satu constraint CHECK
dapat di terapkan di lebih dari satu kolom (multiple columns) dengan cara membuatnya pada
level tabel. Contohnya, Constraint Multiple CHECK dapat digunakan untuk memastikan bahwa
[email protected]
STMIK AMIKOM YOGYAKARTA
66
Modul Praktikum Sistem Basis Data S1-TI
tiap record dalam kolom country dengan nilai USA juga memiliki 2 karakter nilai pada kolom
state. Hal ini memungkinkan pengecekan kondisi lebih dari satu dalam satu tempat.
Berikut adalah contoh penggunaan constraint CHECK dalam sebuah tabel:
CREATE TABLE rekening (
No_rekening CHAR(15) CONSTRAINT pk_rekening_no_rekening NOT NULL,
Kode_cabang CHAR(5)
CONSTRAINT fk_rekening_kode_cabang
FOREIGN KEY REFERENCES cabang_bank(kode_cabang),
Pin CHAR(6),
Saldo MONEY CONSTRAINT chk_rekening_saldo CHECK (saldo > 50000)
Sebelum memulai latihan-latihan selanjutnya untuk membuat tabel dengan constraint di
dalamnya, maka perlu di ingatkan kembali masalah Diagram ER akademik yang di jelaskan di
modul 4. selanjutnya berikut hasil dari rancangan diagram ER yang ada di modul 4. Untuk
mempelajari bagaimana merancang database menggunakan metode ER, silahkan lihat materi
tambahan contoh pembuatan ERD yang di sertakan bersamaan dengan praktikum modul 5 di
mulai.
Tabel mahasiswa
Kolom
Atribut
Keterangan
Nim
CHAR(10), PRIMARY KEY, NOT NULL
PK_mahasiswa_nim
Nik
CHAR(15), FOREIGN KEY
FK_mahasiswa_nik
Nama_mhs
VARCHAR(45)
Nama Mahasiswa
Alamat_mhs
VARCHAR(255)
Alamat Mahasiswa
Tabel dosen
Kolom
Atribut
Keterangan
Nik
CHAR(15), PRIMARY KEY, NOT NULL
PK_dosen_nik
Nama_dosen
VARCHAR(45)
Nama Dosen
Alamat_dosen
VARCHAR(255)
Alamat Dosen
[email protected]
STMIK AMIKOM YOGYAKARTA
67
Modul Praktikum Sistem Basis Data S1-TI
Tabel Mata Kuliah
Kolom
Atribut
Keterangan
Kode_mk
CHAR(10), PRIMARY KEY, NOT NULL
PK_mata_kuliah_kode_mk
Nik
CHAR(15), FOREIGN KEY
FK_mata_kuliah_nik
Kode_ruang
CHAR(10), FOREIGN KEY
FK_mata_kuliah_kode_ruang
Nama_mk
VARCHAR(45)
Nama Mata Kuliah
Deskripsi_mk
VARCHAR(255)
Deskripsi Mata Kuliah
Tabel ruang
Kolom
Atribut
Keterangan
Kode_ruang
CHAR(10), PRIMARY KEY, NOT NULL
PK_ruang_kode_ruang
Lokasi_ruang
VARCHAR(45)
Lokasi Ruang Kuliah
Kapasitas_ruang
INTEGER, CHECK > 10 dan < 80
CHK_ruang_kapasitas_ruang
Tabel mahasiswa_ambil_mata_kuliah
Kolom
Atribut
Keterangan
Nim
CHAR(10), FOREIGN KEY,
FK_mahasiswa_ambil_mata_kuliah_nim
ON DELETE CASCADE, ON UPDATE CASCADE
Nik
CHAR(15), FOREIGN KEY,
FK_mahasiswa_ambil_mata_kuliah_nik
ON DELETE CASCADE, ON UPDATE CASCADE
Untuk membuat tabel-tabel diatas menggunakan perintah SQL di jendela editor Query Analyzer,
berikut beberapa tips yang perlu di perhatikan:
□
Buatlah tabel-tabel yang paling utama terlebih dahulu, yaitu tabel-tabel yang tidak memiliki
FOREIGN KEY.
□
Membuat semua tabel yang berhubungan langsung (atau memiliki relationship) dengan
tabel yang di buat di tahap sebelumnya. Mulailah secara urut dari tabel dengan jumlah
FOREIGN KEY yang paling sedikit ke yang paling banyak. Jika ada tabel yang tidak bisa
dibuat, maka dilewatkan saja dahulu.
□
Ulangi tahap ke-2 sampai semua tabel selesai dibuat.
[email protected]
STMIK AMIKOM YOGYAKARTA
68
Modul Praktikum Sistem Basis Data S1-TI
Latihan 5.1.
Membuat Tabel dengan Constraint
Untuk membuat constraint menggunakan perintah SQL Query di SQL Server, harus
menggunakan Query Analyzer. Berikut adalah contoh struktur tabel new_dosen beserta perintah
SQL untuk membuat tabel new_dosen dengan beberapa constraint di dalamnya.
Nama tabel: new_dosen
No
1
2
3
4
Field
Nik
Nama_dosen
Alamat_dosen
No_telp
Type
CHAR(15)
Varchar(45)
Varchar(255)
Varchar(20)
Desc
PK, Not Null
Not Null, UNIQUE
Not Null, Default ‘JOGJA’
CREATE TABLE new_dosen (
id_nasabah
CHAR(15) NOT NULL
CONSTRAINT PK_dosen_nik PRIMARY KEY,
nama_dosen VARCHAR(45) NOT NULL
CONSTRAINT UQ_dosen_nama_dosen UNIQUE,
alamat_dosen VARCHAR(255) NOT NULL DEFAULT ‘JOGJA’,
no_telp VARCHAR(20)
);
□ Aktifkan Query Analyzer untuk mengetikkan perintah SQL Query diatas. Sebelumnya aktifkan
terlebih
dahulu
database
akademik_xxxx
dengan
mengetikkan
perintah
USE
akademik_xxxx.
□ Tabel new_dosen akan dibuat di dalam database akademik_xxxx.
Latihan 5.2.
Membuat tabel Dosen
□
Masih di jendela editor yang sama dengan Latihan 5.1., non aktifkan terlebih dahulu
perintah SQL Latihan 5.1.
□
Ketikkan perintah SQL berikut untuk membuat tabel baru dengan nama dosen sesuai
dengan struktur yang ada.
[email protected]
STMIK AMIKOM YOGYAKARTA
69
Modul Praktikum Sistem Basis Data S1-TI
CREATE TABLE dosen (
nik CHAR(15)NOT NULL
CONSTRAINT PK_dosen_nik PRIMARY KEY,
nama_dosen VARCHAR(45),
alamat_dosen VARCHAR(255)
);
□
Eksekusi perintah SQL dengan menekan tombol F5.
□
Jika ada pesan seperti berikut di jendela hasil query setelah mengeksekusi perintah diatas,
berarti nama tabel dosen telah ada di dalam database akademik_xxxx. (ingat di modul 4
tabel-tabel tersebut telah dibuat sebelumnya).
□
Solusinya adalah dengan cara menghapus terlebih dahulu tabel-tabel yang telah di buat di
modul 4 dengan menggunakan perintah DROP TABLE, kemudian dibuat ulang dengan
struktur yang baru di modul 5 atau cara yang lain adalah dengan melakukan perubahan
struktur tabel-tabel tersebut menggunakan perintah ALTER TABLE.
[email protected]
STMIK AMIKOM YOGYAKARTA
70
Modul Praktikum Sistem Basis Data S1-TI
Latihan 5.3.
Merubah Struktur Tabel dengan Merubah Tipe data dan Lebar
data
□ Masih di jendela editor yang sama, non aktifkan terlebih dahulu perintah SQL Latihan 5.2.
ketikkan perintah berikut untuk melakukan perubahan constraint yang awalnya boleh Null
menjadi tidak boleh Null (NOT NULL).
ALTER TABLE ruang
ALTER COLUMN kode_ruang CHAR(10) NOT NULL
□ Eksekusi perintah tersebut dengan menekan tombol F5.
□ Non aktifkan perintah SQL diatas, kemudian ketikkan perintah berikut untuk merubah lebar
data kolom lokasi_ruang dari sebelumnya VARCHAR(30) menjadi VARCHAR(45).
ALTER TABLE ruang
ALTER COLUMN lokasi_ruang VARCHAR(45)
□ Eksekusi perintah diatas dengan menekan tombol F5.
Latihan 5.4.
Merubah
Struktur
tabel
dengan
menambah
Constraint
PRIMARY KEY
□ Masih di jendela editor yang sama dengan latihan-latihan sebelumnya. Non aktifkan perintah
SQL Latihan 5.3. kemudian ketikkan perintah SQL berikut untuk menambahkan Constraint
PRIMARY
KEY
untuk
kolom
kode_ruang
di
tabel
ruang
dengan
nama
pk_ruang_kode_ruang.
ALTER TABLE ruang
ADD CONSTRAINT pk_ruang_kode_ruang PRIMARY KEY(kode_ruang)
Latihan 5.5.
Menambah constraint CHECK dengan merubah cara merubah
Struktur tabel
□ Masih di jendela editor yang sama dengan latihan-latihan sebelumnya. Non aktifkan perintah
SQL Latihan 5.4. kemudian ketikkan perintah SQL berikut untuk menambahkan constraint
[email protected]
STMIK AMIKOM YOGYAKARTA
71
Modul Praktikum Sistem Basis Data S1-TI
CHECK
untuk
kolom
kapasitas_ruang
di
tabel
ruang
dengan
nama
chk_ruang_kapasitas_ruang dengan membatasi agar pengisian nilai untuk kapasitas ruang
antara nilai 10 sampai dengan maksimal 100.
ALTER TABLE ruang
ADD CONSTRAINT chk_ruang_kapasitas_ruang
CHECK (kapasitas_ruang BETWEEN 10 AND 100)
□ Simpanlah semua perintah SQL mulai Latihan 5.1. sampai Latihan 5.5. di query analyzer
dengan nama file modul5.sql di direktori kerja masing-masing.
Latihan 5.6.
Membuat tabel-tabel pendukung sesuai dengan rancangan
yang ada
□ Masih di jendela editor yang sama (file modul5.sql), buatlah perintah-perintah SQL untuk
membuat tabel-tabel sesuai dengan struktur berikut.
□ Jika cara yang di pilih adalah membuat ulang tabel-tabel tersebut dari awal, maka ikuti
langkah-langkah di Latihan 5.1. sedangkan jika tabel-tabel yang sudah ada ingin di rubah
strukturnya tanpa harus membuat ulang, maka ikutilah langkah-langkah Latihan 5.2. sampai
Latihan 5.5.
□ Jangan lupa untuk menyimpan kembali perintah-perintah SQL tersebut di file modul5.sql.
Tabel mahasiswa
Kolom
Atribut
Keterangan
Nim
CHAR(10), PRIMARY KEY, NOT NULL
PK_mahasiswa_nim
Nik
CHAR(15), FOREIGN KEY,
FK_mahasiswa_nik
ON DELETE CASCADE, ON UPDATE CASCADE
Nama_mhs
VARCHAR(45)
Nama Mahasiswa
Alamat_mhs
VARCHAR(255)
Alamat Mahasiswa
Tabel dosen
Kolom
Atribut
Keterangan
Nik
CHAR(15), PRIMARY KEY, NOT NULL
PK_dosen_nik
Nama_dosen
VARCHAR(45)
Nama Dosen
Alamat_dosen
VARCHAR(255)
Alamat Dosen
[email protected]
STMIK AMIKOM YOGYAKARTA
72
Modul Praktikum Sistem Basis Data S1-TI
Tabel Mata Kuliah
Kolom
Atribut
Keterangan
Kode_mk
CHAR(10), PRIMARY KEY, NOT NULL
PK_mata_kuliah_kode_mk
Nik
CHAR(15), FOREIGN KEY,
FK_mata_kuliah_nik
ON DELETE CASCADE, ON UPDATE CASCADE
Kode_ruang
CHAR(10), FOREIGN KEY
FK_mata_kuliah_kode_ruang
Nama_mk
VARCHAR(45)
Nama Mata Kuliah
Deskripsi_mk
VARCHAR(255)
Deskripsi Mata Kuliah
Tabel ruang
Kolom
Atribut
Keterangan
Kode_ruang
CHAR(10), PRIMARY KEY, NOT NULL
PK_ruang_kode_ruang
Lokasi_ruang
VARCHAR(45)
Lokasi Ruang Kuliah
Kapasitas_ruang
INTEGER, CHECK > 10 dan < 80
CHK_ruang_kapasitas_ruang
Tabel mahasiswa_ambil_mata_kuliah
Kolom
Atribut
Keterangan
Nim
CHAR(10), FOREIGN KEY,
FK_mahasiswa_ambil_mata_kuliah_nim
ON DELETE CASCADE, ON UPDATE CASCADE
Kode_mk
CHAR(15), FOREIGN KEY,
FK_mahasiswa_ambil_mata_kuliah_kode_mk
ON DELETE CASCADE, ON UPDATE CASCADE
[email protected]
STMIK AMIKOM YOGYAKARTA
73
Modul Praktikum Sistem Basis Data S1-TI
Penugasan
1. Jika ada record yang di isikan di tabel anak (tabel FOREIGN KEY) dan record tersebut tidak
terdapat di tabel induk (tabel PRIMARY KEY). Apa yang terjadi?
2. Pilihan apa yang di gunakan jika akan menghapus semua record yang berelasi di tabel anak
(tabel FOREIGN KEY) secara otomatis, jika record yang berhubungan di tabel induk di hapus
(tabel PRIMARY KEY).
3. Jika sebuah tabel sudah memiliki data-data di dalamnya pilihan apa yang digunakan jika
semua data-data tersebut di abaikan nilainya dalam proses pembuatan constraint CHECK.
4. Tuliskan perintah SQL Query untuk menambahkan sebuah constraint PRIMARY KEY
dengan nama pk_mata_kuliah_kode_mk pada kolom kode_mk di tabel mata kuliah.
5. Tuliskan perintah SQL Query untuk membuat constraint FOREIGN KEY pada kolom nik
dengan nama fk_mahasiswa_nik pada tabel mahasiswa yang berhubungan dengan
PRIMARY KEY (nik) di tabel dosen dengan opsi ON DELETE CASCADE, ON UPDATE
CASCADE.
[email protected]
STMIK AMIKOM YOGYAKARTA
74
Modul Praktikum Sistem Basis Data S1-TI
MODUL 6
DATA DIAGRAM
Tujuan
□
Mampu membuat relasi antar tabel dalam database sesuai dengan rancangan ER
Diagram yang ada
□
Mampu mengoperasikan fitur Data Diagram di SQL Server untuk membuat relasi antar
tabel dalam database.
Teori Singkat
Data Diagram merupakan salah satu fitur yang di sediakan oleh SQL Server untuk membuat
diagram relasi antar tabel dalam sebuah database. Hasil dari data diagram adalh sebuah
diagram yang menggambarkan hubungan antar tabel satu dengan tabel lainnya dalam sebuah
database berdasarkan keterkaitan kunci-kunci yang ada di dalam tabel. (PRIMARY KEY dan
FOREIGN KEY). Fitur Data Diagram sendiri terdapat di dalam Enterprise Manager.
Latihan 6.1.
Membuat Data Diagram Baru
□
Untuk membuat data diagram baru, aktifkan enterprise manager terlebih dahulu. Melalui
menu Start Æ Programs Æ Microsoft SQL Server Æ Enterprise Manager.
□
Pada jendela Enterprise Manager, aktifkan obyek database yang akan dibuat diagramnya
dengan cara mengklik database tersebut. Pada contoh database akademik_xxxx yang di
aktifkan.
[email protected]
STMIK AMIKOM YOGYAKARTA
75
Modul Praktikum Sistem Basis Data S1-TI
□
Pada obyek Diagrams, klik kanan kemudian pilih sub menu New Database Diagram...
□
Pada jendela Create Database Diagram Wizard, klik Next untuk memulai proses
pembuatan diagram dengan bantuan secara bertahap oleh SQL Server.
[email protected]
STMIK AMIKOM YOGYAKARTA
76
Modul Praktikum Sistem Basis Data S1-TI
□
Pada halaman selanjutnya pilihlah tabel-tabel apa saja yang akan di buat diagramnya
dengan cara memilih satu-satu tabelnya kemudian menekan tombol Add >. Pada contoh
tabel yang akan di libatkan adalah: dosen, ruang, mahasiswa, mata_kuliah,
mahasiswa_ambil_mata_kuliah. Aktifkan pilihan Add related tables automatically untuk
membuat diagram secara otomatis berdasarkan hubungan kunci-kunci yang ada di dalam
masing-masing tabel. Sedangkan untuk level dari relasi tabel di abaikan saja (biarkan
default-nya 1).
[email protected]
STMIK AMIKOM YOGYAKARTA
77
Modul Praktikum Sistem Basis Data S1-TI
□
Setelah semua tabel yang terlibat di pilih, maka tekan tombol Next.
□
Setelah itu tekan tombol Finish untuk menyelesaikan proses pembuatan diagram. Maka
SQL Server akan membuat diagram beserta relasi masing-masing tabel secara otomatis
berdasarkan keterkaitan antar kunci (PRIMARY KEY dan FOREIGN KEY) di masingmasing tabel.
[email protected]
STMIK AMIKOM YOGYAKARTA
78
Modul Praktikum Sistem Basis Data S1-TI
□
Simpanlah diagram yang baru dibuat dengan nama akademik_xxxx, dimana xxxx
merupakan 4 (empat) digit NIM. Setelah itu tekan tombol OK.
□
Diagram akademik_xxxx sudah terdaftar di obyek Diagrams dalam database
akdemik_xxxx.
[email protected]
STMIK AMIKOM YOGYAKARTA
79
Modul Praktikum Sistem Basis Data S1-TI
Penugasan
1. Untuk merelasikan antar tabel di dalam sebuah database syaratnya apa? Jelaskan.
2. Jika ada sebuah tabel yang tidak memiliki kunci kemudian di relasikan dengan tabel lain yang
memiliki kunci. Apa yang terjadi?
3. Pilihan apa yang akan di gunakan jika akan membuat diagram relasi tabel secara manual
walaupun di masing-masing tabel sudah memiliki kunci.
[email protected]
STMIK AMIKOM YOGYAKARTA
80
Modul Praktikum Sistem Basis Data S1-TI
MODUL 7
DATA MANIPULATION LANGUAGE
(DML)
Tujuan
□
Mampu mendefinisikan perintah-perintah SQL Data Manipulation Language
□
Mampu mengelola data-data dalam database menggunakan perintah-perintah DML
Teori Singkat
DML yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record.
Misalnya : INSERT, UPDATE, DELETE.
Mengisikan Data ke dalam Tabel (INSERT)
Perintah ini digunakan untuk menambah data/ record kedalam tabel.
Perintah dasar:
INSERT INTO table [(column [, column...])]
VALUES
(value [, value...]);
Mengisikan Baris dengan Nilai Null
□
Metode Implisit, yaitu meniadakan kolom dari daftar kolom.
INSERT INTO rekening (no_rekening
,pin
)
VALUES (112,’1122’);
□
Metode Eksplisit, yaitu dengan mengisikan kata kunci NULL dalam klausa VALUES.
INSERT INTO rekening
VALUES (113, NULL ,’1133’, NULL );
[email protected]
STMIK AMIKOM YOGYAKARTA
81
Modul Praktikum Sistem Basis Data S1-TI
Meng-copy data dari tabel lain
INSERT INTO nasabah_jakal(id, nama, alamat)
SELECT id_nasabah, nama_nasabah, alamat_nasabah
FROM nasabah
WHERE alamat_nasabah LIKE ‘%kali%’;
Merubah data dalam Tabel (UPDATE)
Perintah ini digunakan untuk mengubah data/ record dalam tabel.
Perintah dasar:
UPDATE table
SET
column = value [, column = value, ...]
[WHERE condition];
Menghapus Data dalam tabel (DELETE)
Perintah ini digunakan untuk menghapus data/ record dalam sebuah tabel.
Perintah dasar:
DELETE [FROM]
table
[WHERE
condition];
Latihan 7.1.
Menambahkan satu record ke dalam tabel menggunakan SQL.
□
Untuk menambahkan record ke dalam sebuah tabel menggunakan perintah sql, aktifkan
terlebih dahulu query analyzer dengan cara mengakses menu Start Æ Programs Æ
Microsoft SQL Server Æ Query Analyzer.
□
Pada jendela editor query analyzer, ketikkan perintah USE akademik_xxxx untuk
mengaktifkan database akademik_xxxx untuk mengisikan data ke dalam tabel-tabel yang
terdapat dalam database akademik_xxxx.
□
Non aktifkan perintah USE akademik_xxxx dengan menyisipkan tanda double dash (--)
di depan perintah tersebut.
[email protected]
STMIK AMIKOM YOGYAKARTA
82
Modul Praktikum Sistem Basis Data S1-TI
□
Kemudian di baris selanjutnya ketikkan perintah berikut untuk menyisipkan record ke
dalam tabel. Pada contoh akan di isikan satu record kedalam tabel dosen.
1903001
Muhammad Rudyanto Arief
Perum Merapi View 20
INSERT INTO dosen (nik, nama_dosen, alamat_dosen)
VALUES (‘1903001’, ‘Muhammad Rudyanto Arief’,’Perum Merapi View 20’);
atau
INSERT INTO cabang_bank
VALUES (‘1903001’, ‘Muhammad Rudyanto Arief’,’Perum Merapi View 20’);
□
Perintah diatas kedua-duanya sama fungsinya. Digunakan untuk mengisikan data kedalam
tabel dosen. Perbedaannya jika pada perintah pertama nama kolom-kolomnya disebutkan
terlebih dahulu sedangkan pada perintah kedua nama kolomnya tidak disebutkan.
□
Eksekusilah salah satu dari perintah diatas dengan menekan tombol F5.
Latihan 7.2.
Merubah semua record/ data dalam tabel
□
Untuk merubah record dalam tabel digunakan perintah UPDATE. Masih di jendela editor
yang di query analyzer, non aktifkan perintah SQL Latihan 5.1. dengan cara
menggunakan tanda /* di awal dan di akhiri dengan tanda */.
[email protected]
STMIK AMIKOM YOGYAKARTA
83
Modul Praktikum Sistem Basis Data S1-TI
□
Ketikkan perintah SQL berikut di baris berikutnya untuk merubah record dalam tabel. Pada
contoh semua record yang ada di tabel dosen akan di rubah alamatnya menjadi ‘Jl.
Kaliurang KM 9.5 No. 92’.
UPDATE dosen
SET alamat_dosen = ‘Jl. Kaliurang KM 9.5 No. 92’
□
Eksekusi perintah tersebut dengan menekan tombol F5.
Latihan 7.3.
Merubah record/ data dalam tabel sesuai kondisi/ syarat yang
diberikan
□
Selain merubah semua record dalam tabel, perintah UPDATE dapat di kombinasikan
dengan klausa WHERE untuk menyeleksi record-record tertentu saja yang berubah
nilainya. Pada contoh alamat dosen pada tabel dosen akan berubah menjadi ‘Jl. Kaliurang
KM 9.5 No. 92’ untuk dosen yang memiliki nomor induk ‘1903001’.
□
Sebelum mengetikkan perintah berikut, non aktifkan terlebih dahulu perintah SQL Latihan
5.2.
□
Kemudian ketikkan perintah berikut di baris berikutnya di jendela editor yang sama.
[email protected]
STMIK AMIKOM YOGYAKARTA
84
Modul Praktikum Sistem Basis Data S1-TI
UPDATE dosen
SET alamat_dosen = 'Jl. Kaliurang KM 9.5 No. 92'
WHERE nik='1903001';
□
Eksekusi perintah tersebut dengan menekan tombol F5.
Latihan 7.4.
Menghapus seluruh record/ data dalam tabel
□
Masih di jendela editor yang sama, non aktifkan terlebih dahulu perintah SQL Latihan 5.3.
yang di ketik sebelumnya.
□
Ketikkan perintah SQL berikut untuk menghapus seluruh record dalam tabel. Contoh
berikut adalah perintah untuk menghapus seluruh record yang ada dalam tabel dosen.
DELETE FROM dosen;
□
Eksekusi perintah tersebut dengan menekan tombol F5.
[email protected]
STMIK AMIKOM YOGYAKARTA
85
Modul Praktikum Sistem Basis Data S1-TI
Latihan 7.5.
Menghapus record/ data dalam tabel sesuai kondisi/ syarat
yang diberikan
□
Masih di jendela editor yang sama, non aktifkan terlebih dahulu perintah SQL Latihan 5.4.
□
Ketikkan perintah SQL berikut untuk melakukan penghapusan record dari tabel
berdasarkan syarat/ kondisi yang diberikan. Contoh berikut adalah perintah SQL untuk
menghapus record dalam tabel dosen yang memiliki nomor induk karyawan ‘1903001’.
DELETE FROM dosen
WHERE nik = ‘1903001’;
□
Eksekusi perintah tersebut dengan menekan tombol F5.
□
Simpanlah perintah-perintah SQL yang di ketikkan di Latihan 7.1. sampai dengan Latihan
7.5. dengan nama file modul7.sql di direktori kerja masing-masing.
Penugasan
1. Isikan record-record baru di tabel dosen, mahasiswa, mata kuliah, mahasiswa ambil mata
kuliah, ruang sesuai dengan data-data yang ada di tabel berikut menggunakan perintah SQL.
Dosen
Nik
Nama dosen
Alamat dosen
1903001
1903002
1903003
1903004
1903005
Muhammad Rudyanto Arief
Muhammad Rifat Arief
Ruth Damayanthie Arief
Neneng Sundarsih
Rahayana
Perum Merapi View 20
Ploso Kuning 31
Jl. Kaliurang 95
Perum Timoho Asri 22
Jl. Kaliurang 92
[email protected]
STMIK AMIKOM YOGYAKARTA
86
Modul Praktikum Sistem Basis Data S1-TI
Mahasiswa
Nim
Nik
Nama mahasiswa
Alamat mahasiswa
06.11.0001
06.11.0002
06.11.0003
06.11.0004
06.11.0005
05.11.0011
05.11.0012
05.11.0013
07.11.0010
05.02.0001
05.02.0002
1903001
1903001
1903004
1903003
1903001
1903003
1903001
1903004
1903004
1903004
Muhammad Rayhan
Median Irianto
Kundarita Djaila
Kamarudin
Marzuki
Michael
Arief Rahman Hakim
Munariyadi Djaila
Sri Rejeki Djaila
Andi Malarangeng
Muhammad Arief
Perum Condongcatur 22
Jl. Kaliurang 93
Jl. Magelang 52
Jl. Seturan 23
Jl. Condongcatur 34
Perum Seturan Permai 21
Perum Seturan Permai 21
Jl. Tunggala 23i
Jl. Kaliurang 53
Jl. Gejayan 25
Jl. Solo KM 10 No 21
Mata Kuliah
Kode mk Nik
Kode ruang
Nama mk
Deskripsi mk
SBDTI
CSMI
PBD
PK1
RPL
AKT1
PVMI
2.3.5.
2.2.1.
3.2.1.
2.3.5.
2.3.9.
3.3.3.
3.2.1.
Sistem Basis Data
Client Server
Pemrograman Basis Data
Pemrograman Komputer 1
Rekayasa Perangkat Lunak
Pengantar Akuntansi 1
Pemrograman Visual
Sistem Basis Data S1TI 4 SKS
Client Server D3MI 2 SKS
Pemrograman Basis Data 4 SKS
Pemrograman Komputer 1 S1TI
Rekayasa Perangkat Lunak S1TI
Pengantar Akuntansi 1 D3MI
Pemrograman Visual D3MI
1903001
1903001
1903001
1903002
1903005
1903004
1903001
Ruang
Kode ruang
Lokasi ruang
Kapasitas ruang
2.2.1.
3.2.1.
1.2.2.
2.3.5.
2.3.9.
3.3.3.
Unit 2 Lantai 2
Unit 3 Lantai 2
Unit 1 Lantai 2
Unit 2 Lantai 3
Unit 2 Lantai 3
Unit 3 Lantai 3
75
50
75
75
100
40
Mahasiswa Ambil Mata Kuliah
Nim
Kode mk
06.11.0001
06.11.0002
06.11.0003
06.11.0004
05.11.0011
05.11.0011
05.02.0001
05.02.0001
05.02.0002
SBDTI
SBDTI
CSMI
SBDTI
RPL
AKT1
PVMI
AKT1
2. Tuliskan perintah SQL untuk menyisipkan record-record ke tabel-tabel tersebut diatas.
[email protected]
STMIK AMIKOM YOGYAKARTA
87
Modul Praktikum Sistem Basis Data S1-TI
3. Isikan record berikut di tabel mahasiswa kemudian perhatikan response SQL Server ketika
anda menyisipkan record yang di maskud. Jelaskan apa penyebabnya dan bagaimana
solusinya.
Nim
Nik
Nama mahasiswa
Alamat mahasiswa
06.11.0007
1903006
Jor-EL
Smallvile 25
4. Tuliskan perintah SQL untuk menghapus record di tabel dosen yang memiliki nik 1903001.
Jelaskan mengapa perintah tersebut tidak dapat di eksekusi oleh SQL Server dan
bagaimana solusinya.
5. Tuliskan perintah SQL untuk mengupdate record di tabel mata kuliah dengan mengganti
kode mata kuliah AKT1 menjadi AKTMI. Kemudian perhatikan efek yang di hasilkan di
record-record yang ada di tabel mahasiswa ambil mata kuliah. Jelaskan apa efek yang
terjadi? Serta jelaskan penyebabnya?
[email protected]
STMIK AMIKOM YOGYAKARTA
88
Modul Praktikum Sistem Basis Data S1-TI
MODUL 8
MENAMPILKAN DATA
Tujuan
□ Mampu menampilkan data-data yang ada di tabel menggunakan perintah SQL SELECT
□ Mampu mengurutkan data
□ Mampu mengelompokkan data
□ Mampu melakukan pencarian data string
Teori Singkat
Untuk menampilkan data-data dari sebuah tabel, maka di perlukan perintah SQL SELECT.
SELECT select_list
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
Keterangan:
□ Select_list adalah daftar kolom/ field-field yang akan di tampilkan datanya. Pilihannya
bisa semua kolom di tampilkan atau hanya beberapa kolom saja.
□ Table_source adalah nama table yang akan di tampilkan datanya.
□ Search_condition adalah kondisi yang di berikan untuk sebuah nilai yang datanya
akan di tampilkan.
□ Group_by_expression merupakan ekspresi yang di berikan untuk mengelompokan
data-data yang akan di tampilkan.
□ Order_expression adalah ekspresi yang di berikan dalam pengurutan nilai yang akan
di tampilkan dari sebuah table berdasarkan kolom-kolom yang akan di urutkan. Ada 2 pilihan
yaitu ASC (ASCENDING) yang mengurutkan nilai dari nilai terkecil sampai nilai terbesar dan
[email protected]
STMIK AMIKOM YOGYAKARTA
89
Modul Praktikum Sistem Basis Data S1-TI
DESC (DESCENDING) yaitu pengurutan nilai dari nilai terbesar ke terkecil. Defaultnya
adalah ASC.
Melihat Semua Kolom dari Suatu Tabel
SELECT * FROM nasabah;
Melihat Kolom(-kolom) tertentu
SELECT nama_nasabah FROM nasabah;
SELECT id_nasabah, nama_nasabah FROM nasabah;
Alias Kolom (AS)
Dengan menambahkan kata kunci AS, kita dapat mengganti nama kolom pada hasil SELECT.
SELECT nama_nasabah AS “Nama Nasabah”
FROM nasabah;
SELECT nama_nasabah AS “Nasabah”, alamat_nasabah AS “Alamat
Nasabah”
FROM nasabah;
Klausa WHERE
Digunakan untuk membatasi hasil SELECT yang ditampilkan berdasarkan kondisi yang
ditentukan. Bisa menggunakan >, <, <> (atau !=), >=, <=. Contoh:
SELECT nama_nasabah FROM nasabah
WHERE nama_nasabah = ‘Neneng Djaila’;
SELECT nama_nasabah, alamat_nasabah
FROM nasabah
WHERE id_nasabah = 2;
[email protected]
STMIK AMIKOM YOGYAKARTA
90
Modul Praktikum Sistem Basis Data S1-TI
Untuk memilih lebih dari satu kondisi gunakan operator logika AND atau OR. Contoh:
SELECT * FROM nasabah
WHERE nama_nasabah = ‘Neneng Djaila’
AND alamat_nasabah = ‘Jl. Tunggala 2 No 23i’;
SELECT * FROM nasabah
WHERE nama_nasabah = ‘Neneng Djaila’
OR id_nasabah = 2;
Pencarian Nilai NULL
Untuk melakukan pencarian data yang memiliki nilai NULL di dalamnya, digunakan IS NULL
sedangkan untuk nilai yang tidak NULL menggunakan IS NOT NULL. Contoh:
SELECT *
FROM rekening
WHERE kode_cabang IS NULL;
SELECT *
FROM rekening
WHERE kode_cabang IS NOT NULL;
Pencarian String
Untuk melakukan pencarian string menggunakan fungsi/ kata kunci LIKE, dengan pilihan sebagai
berikut:
□
Menggunakan tanda Persen “%”, untuk mencari sembarang kalimat/ kata.
□
Menggunakan tanda Underscore “_”, untuk mencari satu karakter/ satu huruf.
SELECT id_nasabah, nama_nasabah, alamat_nasabah
FROM nasabah
WHERE nama_nasabah LIKE “Muhammad Rayhan”;
[email protected]
STMIK AMIKOM YOGYAKARTA
91
Modul Praktikum Sistem Basis Data S1-TI
SELECT id_nasabah, nama_nasabah, alamat_nasabah
FROM nasabah
WHERE alamat_nasabah LIKE “%urang%”;
SELECT id_nasabah, nama_nasabah, alamat_nasabah
FROM nasabah
WHERE nama_nasabah LIKE “M_hamm_d R_yhan”;
Latihan 8.1.
Menampilkan data untuk semua Kolom
□ Aktifkan terlebih dahulu Query Analyzer, kemudian pada jendela editor ketikkan perintah
USE akademik_xxxx untuk mengaktifkan database anda.
□ Setelah itu non aktifkan perintah USE akademik_xxxx yang telah di ketik pada
langkah sebelumnya, kemudian ketikkan perintah berikut untuk menampilkan semua kolom
dari sebuah table. Pada contoh perintah menampilkan semua kolom yang ada pada tabel
dosen.
SELECT * FROM dosen;
[email protected]
STMIK AMIKOM YOGYAKARTA
92
Modul Praktikum Sistem Basis Data S1-TI
□ Tanda bintang (*) merepresentasikan bahwa semua kolom yang ada dalam tabel akan di
tampilkan.
□ Perintah diatas menampilkan semua kolom tabel dosen beserta semua data di dalamnya.
□ Eksekusilah perintah diatas dengan menekan tombol F5.
Latihan 8.2.
Menampilkan data berdasarkan Kolom tertentu
□ Masih pada jendela editor yang sama, non aktifkan terlebih dahulu perintah SQL pada
Latihan 8.1. yang di ketik sebelumnya.
□ Pada baris berikutnya ketikkan perintah berikut:
SELECT nama_dosen
FROM dosen;
□ Eksekusi perintah tersebut dengan menekan tombol F5.
SELECT nik, nama_dosen, alamat_dosen
FROM dosen;
[email protected]
STMIK AMIKOM YOGYAKARTA
93
Modul Praktikum Sistem Basis Data S1-TI
□ Eksekusi perintah tersebut dengan menekan tombol F5.
Latihan 8.3.
Mengganti nama kolom dengan Kolom Alias
□ Masih di jendela editor yang sama, non aktifkan terlebih dahulu perintah SQL Latihan 8.2.
□ Ketikkan perintah berikut untuk mengganti nama kolom nik menjadi “NOMOR INDUK
DOSEN” dan kolom nama_dosen menjadi “NAMA DOSEN”.
SELECT nik AS “NOMOR INDUK DOSEN”, nama_dosen [NAMA DOSEN]
FROM dosen;
[email protected]
STMIK AMIKOM YOGYAKARTA
94
Modul Praktikum Sistem Basis Data S1-TI
□ Eksekusilah perintah tersebut menggunakan tombol F5.
□ Untuk mengganti nama kolom di SQL Server dapat menggunakan kata kunci AS atau
menggunakan simbol “[“ dan “]” seperti pada contoh perintah SQL diatas.
Latihan 8.4.
Membatasi data-data yang di tampilkan menggunakan Klausa
WHERE
□ Non aktifkan perintah SQL Latihan 8.3., kemudian ketikkan perintah berikut untuk
menampilkan dosen yang memiliki nomor induk “1903001”.
SELECT nik, nama_dosen, alamat_dosen
FROM dosen
WHERE nik = '1903001';
□ Eksekusi perintah diatas dengan menekan tombol F5.
□ Berikut adalah contoh perintah SQL dengan menambahkan operator logika AND atau OR.
[email protected]
STMIK AMIKOM YOGYAKARTA
95
Modul Praktikum Sistem Basis Data S1-TI
□ Non aktifkan terlebih dahulu perintah SQL sebelumnya, kemudian ketikkan perintah SQL
berikut untuk menampilkan data dosen yang memiliki nik “1903001” atau beralamat di jalan
kaliurang.
SELECT nik, nama_dosen, alamat_dosen
FROM dosen
WHERE nik = '1903001' OR alamat_dosen = 'Jl. Kaliurang';
□ Eksekusilah perintah tersebut dengan menekan tombol F5.
Latihan 8.5.
Mengurutkan data secara Ascending dan Descending
□ Masih di jendela editor yang sama, non aktifkan terlebih dahulu perintah SQL Latihan 8.4.,
kemudian ketikkan perintah SQL berikut di baris berikutnya.
□ Perintah SQL berikut akan melakukan pengurutan data dosen berdasarkan nama dosen
secara ascending dan secara descending. Kemudian perhatikan perbedaan dari kedua
contoh perintah SQL tersebut.
SELECT nik, nama_dosen, alamat_dosen
FROM dosen
ORDER BY nama_dosen;
[email protected]
STMIK AMIKOM YOGYAKARTA
96
Modul Praktikum Sistem Basis Data S1-TI
SELECT nik, nama_dosen, alamat_dosen
FROM dosen
ORDER BY nama_dosen DESC;
□ Eksekusilah perintah SQL tersebut dengan menekan tombol F5.
Latihan 8.6.
Mengelompokkan Data
□ Non aktifkan perintah SQL Latihan 8.5. kemudian ketikkan perintah berikut untuk
mengelompokkan data mahasiswa berdasarkan dosen pembimbingnya dan nama
mahasiswa.
SELECT nama_mhs, nik
FROM mahasiswa
GROUP BY nik, nama_mhs;
[email protected]
STMIK AMIKOM YOGYAKARTA
97
Modul Praktikum Sistem Basis Data S1-TI
SELECT COUNT(*)[Jumlah Data]
FROM mahasiswa
GROUP BY nik;
□ Eksekusilah perintah SQL tersebut dengan menekan tombol F5.
□ Simpanlah semua perintah SQL yang sudah di ketikkan mulai dari Latihan 8.1. sampai
Latihan 8.6. Simpan dengan nama “modul8.sql” di direktori kerja masing-masing.
[email protected]
STMIK AMIKOM YOGYAKARTA
98
Modul Praktikum Sistem Basis Data S1-TI
Penugasan
1. Tuliskan perintah SQL untuk menampilkan jumlah mahasiswa yang di bimbing oleh dosen
dengan nama “Neneng Sundarsih”.
2. Tuliskan perintah SQL untuk menampilkan semua dosen yang beralamat di “kaliurang” dan
memiliki nomor induk mulai “1903001” sampai “1903005”.
3. Tuliskan perintah SQL untuk mengurutkan data mahasiswa secara descending berdasarkan
nama mahasiswa dan nomor induk dosen.
4. Tuliskan perintah SQL untuk menampilkan semua kolom tabel “mahasiswa”.
5.
Tuliskan perintah SQL untuk menampilkan dosen yang memiliki mahasiswa yang di bimbing
lebih dari 1 orang mahasiswa.
M. Rudyanto Arief,
M.T.
[email protected]
STMIK AMIKOM YOGYAKARTA
Digitally signed by M. Rudyanto Arief, M.T.
DN: CN = M. Rudyanto Arief, M.T., C = ID, O =
STMIK AMIKOM YOGYAKARTA, OU = Dept of
Information Engineering
Reason: I am the author of this document
Date: 2007.11.27 22:52:08 +07'00'
99
Download