Anda di halaman 1dari 29

Konsep Dasar Basis Data 2.

2. Atribut : Atribut biasa disebut juga data elemen, data field, atau data item yang
digunakan untuk menerangkan suatu entitas dan mempunyai harga tertentu,
Basis data merupakan kumpulan data yang saling berhubungan (relasi). Relasi misalnya atribut dari entitas pegawai diterangkan oleh, nama, umur, alamat,
biasanya ditunjukan dengan kunci dari tiap file yang ada. Dalam satu file terdapat pekerjaan.
record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu 3. Data Value (Nilai Data) : Data Value adalah data aktual atau informasi yang
kumpulan entitas yang seragam. Satu record terdiri dari field yang saling disimpan pada tiap data, elemen, atau atribut. Atribut nama pegawai menunjukan
berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang tempat dimana informasi nama karyawan disimpan, nilai datanya misalnya
lengkap dan direkam dalam satu record. adalah Anjang, Arif, Suryo, dan lain-lain yang merupakan isi data nama pegawai
Dari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa tersebut.
kriteria penting, yaitu : 4. File/Tabel : Kumpulan record sejenis yang mempunyai panjang elemen yang
1. Bersifat data oriented dan bukan program oriented. sama, atribut yang sama, namun berbeda nilai datanya.
2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis 5. Record/Tuple : Kumpulan elemen-elemen yang saling berkaitan
datanya. menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili
3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya. satu data atau informasi.
4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
5. Dapat digunakan dengan cara-cara yang berbeda.
Persyaratan Basis Data
Prinsip utama basis data adalah pengaturan data dengan tujuan utama fleksibelitas
dan kecepatan dalam pengambilan data kembali. Adapun Tujuan basis data Ada beberapa ketentuan yang harus diperhatikan pada pembuatan file basis data
diantaranya adalah sebagai berikut : agar dapat memenuhi kriteria sebagai suatu basis data, yaitu :
1. Efisiensi meliputi speed, space dan accurancy. 1. Redudansi dan inkonsistensi data : Penyimpanan data yang sama dibeberapa
2. Menangani data dalam jumlah besar. tempat disebut redundansi, hal ini menyebabkan pemborosan dan menimbulkan
3. Kebersamaan pemakaian (Sharebility). inkonsistensi data (data tidak konsisten) karena bila terjadi perubahan terhadap
4. Meniadakan duplikasi dan inkonsistensi data. data maka data harus dirubah dibeberapa tempat, hal ini tentunya tidak efisien.
2. Pengaksesan data : Data dalam basis data harus siap diakses oleh siapa saja
Sistem basis data merupakan perpaduan antara basis data dan sistem manajemen yang membutuhkan dan mempunyai hak untuk mengaksesnya. Oleh karena itu
basis data (SMBD). Komponen-komponen sistem basis data meliputi : perlu dibuat suatu program pengelolaan atau suatu aplikasi untuk mengakses
1. Perangkat Keras (Hardware) sebagai pendukung operasi pengolahan data. data yang dikenal sebagai DBMS.
2. Sistem Operasi (Operating System) atau perangkat lunak untuk mengelola 3. Data terisolasi untuk standarisasi : Jika data tersebar dalam beberapa file
basis data. dalam bentuk format yang tidak sama, maka akan menyulitkan dalam menulis
3. Basis data (Database) sebagai inti dari sistem basis data. program aplikasi untuk mengambil dan menyimpan data, oleh karena itu data
4. Sistem Manajemen Basis Data (SMBD). dalam satu database harus dibuat satu format sehingga mudah dibuat program
5. Pemakai (User). aplikasinya
6. Aplikasi lain. 4. Masalah keamanan (security) : Tidak setiap pemakai sistem basis data
diperbolehkan untuk mengakses semua data, misalnya data mengenai gaji
Perangkat untuk menjaga abstraksi data dikenal dengan sebutan data model. Data pegawai hanya boleh dibuka oleh bagian keuangan dan personalia, sedang
model merupakan kumpulan konsep yang dapat digunakan untuk menggambar bagian gudang tidak diperkenankan untuk membukanya. Keamanan dapat diatur
struktur data. Struktur basis data meliputi tipe data, relationship, dan beberapa dan disesuaikan baik ditingkat basis data atau aplikasinya.
syarat yang harus dipenuhi basis data. 5. Masalah integritas (Integrity) : Basis data berisi file yang saling berhubungan,
Ada beberapa definisi yang umum digunakan dalam basis data, yaitu : masalah utama adalah bagaimana kaitan antar file tersebut terjadi meski
1. Entitas : Entitas adalah orang, tempat, kejadian atau konsep yang diketahui bahwa file A terkait dengan file B, namun secara teknis ada field yang
informasinya direkam. Pada bidang Administrasi Siswa misalnya, siswa, buku, mengaitkan kedua file tersebut oleh karena itu field kunci tidak dapat diabaikan
pembayaran. dalam merancang suatu basis data.

Panduan Ringkas Belajar SQL Server 2000, 1


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
6. Multiple user : Salah satu alasan basis data dibangun adalah karena nantinya disebut Data Directory/Dictionery. Contoh perintah DDL misalnya, Create Table,
data tersebut digunakan oleh banyak orang, baik dalam waktu berbeda Create Index, Alter, Drop.
maupun bersamaan sehingga kebutuhan akan basis data handal yang 2. Data Manipulation Language (DML) : DML merupakan satu paket DBMS yang
mendukung banyak pemakai perlu dipertimbangkan. memperbolehkan pemakai untuk mengakses atau memanipulasi data
7. Data independence (kebebasan data) : Pada aplikasi yang dibuat dengan sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang
bahasa pemrograman seperti BASIC misalnya, apabila program telah selesai tepat, dengan DML dapat dilakukan :
dibuat dan ternyata terjadi perubahan terhadap struktur file maka program  Mengambil informasi yang tersimpan dalam basis data.
tersebut harus diubah, ini artinya program tersebut tidak bebas terhadap  Menyisipkan informasi baru dalam basis data.
database yang ada. Berlainan dengan paket DBMS apapun yang terjadi pada  Menghapus informasi dari tabel.
struktur file, setiap kali hendak melihat data cukup dengan utility LIST. Ini
artinya perintah DBMS bebas terhadap database karena apapun perubahan Terdapat dua tipe DML yaitu prosedural dan non prosedural. Prosedural DML
terhadap database, semua perintah akan stabil tanpa ada yang perlu diubah. membutuhkan pemakai untuk mensfesifikasikan data apa yang dibutuhkan dan
Data independence dapat dibagi menjadi dua bagian, yaitu : bagaimana cara mendapatkannya, sedang non prosedural DML membutuhkan
 Phisycal Data Independence : Kebolehan untuk mengubah pola fisik pemakai untuk mensfesifikasikan data apa yang dibutuhkan tanpa tahu
database tanpa mengakibatkan suatu aplikasi program ditulis kembali. bagaimana cara mendapatkannya. Contoh paket bahasa prosedural adalah
Modifikasi pada level fisik biasanya hanya pada saat meningkatkan daya dBase III, FoxBase, sedangkan non prosedural adalah SQL (Structured Query
guna. Language) atau Query By Example (QBE)
 Logical Data Independence : Kebolehan mengubah pola konseptual tanpa
mengakibatkan suatu aplikasi program ditulis kembali. Modifikasi pada
level konseptual teristimewa saat struktur logika database berubah,
ditambahkan atau dikurangi.

Database Management System (DBMS)

Suatu Database Management System (DBMS) berisi satu koleksi data dan satu set
program untuk mengkases data tersebut, jadi DBMS terdiri dari database dan set
program untuk menambah data, manghapus data, mengambil dan membaca data.
Set program pengelola merupakan suatu paket program yang dibuat agar
memudahkan dan mengefisienkan pemasukan atau perekam informasi dan
pengambilan atau pembacaan informasi kedalam basis data. Jadi lingkungan
SMBD terdiri dari :
1. Komponen perangkat lunak yang membentuk sistem manajemen basis data
2. Perangkat lunak sistem yang berinteraksi dengan sistem manajemen basis
data
3. Utilitas, baik loading dan backup, reorganisasi file, report generation, maupun
performance monitoring.

Paket bahasa dalam DBMS dibagi menjadi beberapa definisi, yaitu :


1. Data Definition Language (DDL) : DDL merupakan satu paket bahasa DBMS
yang berguna untuk melakukan spesifikasi terhadap skema basis data. Hasil
kompilasi dari DDL adalah satu set tabel yang disimpan dalam file khusus yang

Panduan Ringkas Belajar SQL Server 2000, 2


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Instalasi SQL Server 2000
Berikut cara instalasi SQL Server 2000 Personal Edition di Windows XP Pro.

Cara instalasinya:
Masukkan CD master SQL Server 2000, tunggu beberapa saat hingga muncul
layar berikut

Pilihlah Create a new instance of SQL Server, or install Client Tools lalu klik
[Next]

(jika layar tersebut tidak muncul, buka folder Setup lalu dobel klik file
setupsql.exe)

Pada layar diatas pilih SQL Server 2000 Components lalu pada layar dibawah
pilih Install Database Server.

Isilah Name dan Company lalu klik [Next] dan klik [Yes]

Klik [Next] lalu pilih Local Computer dan klik [Next]

Isikan Serial Number lalu klik [Next]

Panduan Ringkas Belajar SQL Server 2000, 3


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Pilih Use the same account for each service. Auto start SQL Server Service dan
pilih opsi Use the Local System account lalu klik [Next].

Untuk mode Autentikasi, sebaiknya dipilih


Windows Autentication yang lebih menjamin
keamanan karena terintegrasi dengan
windows.
Biasanya SQL Server di internet/Web Hosting
menggunakan Mixed Mode, sehingga setiap
Pilih Server and Client Tools lalu klik [Next]. Pada layar selanjutnya pilih opsi user/pelanggan dapat membuat login di SQL
Default lalu klik [Next]. Server tanpa harus memiliki login di sistem
windows.

Selanjutnya proses instalasi akan mengcopy file ke komputer. Setelah proses selesai
maka anda sudah siap bekerja dengan SQL server.

Pilih Typical (instalasi dengan paket standar) lalu klik [Next].

Panduan Ringkas Belajar SQL Server 2000, 4


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Konfiurasi Security  SQL Server and Windows, merupakan seting default saat instalasi. Dengan
konfigurasi ini maka akses koneksi ke SQL server dapat dilakukan
Security pada SQL Server merupakan sesuatu yang kompleks. Pada tulisan ini menggunakan account Windows atau dengan account login SQL Server (tidak
akan dijelaskan dasar-dasar security pada SQL Server. berhubungan dengan account Windows).
Terdapat 2 mode security dalam SQL Server, yaitu Windows Mode (Integrated) dan Konfigurasi jenis ini sangat umum digunakan pada database yang diakses secara
SQL Mode (Standard). Buka property server Enterprise Manager dan masuk ke tab terbuka oleh umum, misalnya pada berbagai jasa web hosting di internet. Policy
Security. web hosting biasanya tidak mengijinkan pelanggannya untuk memiliki account
Windows sehingga untuk akses ke SQL Server disediakan SQL Server login
yang dibuat di dalam database dan tidak berhubungan dengan account Windows.
 Windows Only, sistem ini lebih aman dibandingkan dengan option pertama.
Login untuk akses ke SQL Server menggunakan account user di Windows.
Dengan demikian policy account dapat diatur sepenuhnya di Windows antara
lain menyangkut perubahan password, lockout, dan pembatasan waktu akses.
Apabila databse digunakan di lingkungan intranet atau internal, maka konfigurasi
jenis ini lebih baik digunakan.

Maka terlihat ada 2 mode security sebagai berikut:

Panduan Ringkas Belajar SQL Server 2000, 5


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Interface SQL Server 2. Query Analyser
Tool ini merupakan interface utama dalam melakukan pemrograman di SQL
Ada 3 interface utama saat kita bekerja dengan SQL Server : Server. Bahasa yang digunakan adalah Transact SQL (T-SQL). Anda dapat
membuat perintah untuk mengambil data, sortir, manipulasi data serta melakukan
1. Enterprise Manager perhitungan tertentu terhadap sekumpulan data dalam database.
Script yang telah dibuat dapat disimpan sebagai View ataupun Stored
Merupakan interface utama yang paling sering digunakan oleh Administrator Procedure, sesuai dengan kebutuhan dalam pembuatan aplikasi.
Database. Bagian ini mengandung sebagian besar fungsi-fungsi pokok dalam
mengatur database.

3. Service Manager

Digunakan untuk mengatur service yang ada di


SQL Server, apakah akan dijalankan atau
Didalam folder Database ditampilkan berbagai database yang ada. Database dimatikan. Sebuah service juga dapat disetup
master, model, msdb, dan tempdb merupakan default system database yang agar berjalan otomatis sebagai Windows service,
diperlukan agar SQL Server dapat berfungsi dengan baik. Keempat database atau dijalankan secara manual.
ini tidak boleh dihapus ataupun dimodifikasi tanpa pengetahuan yang
mencukupi tentang sistem SQL Server. Ada 3 service standar dalam setiap instalasi
Sedangkan Northwind dan pubs adalah database sampel yang dapat default SQL Server:
digunakan untuk berlatih perintah SQL maupun administrator job. Di dalam  Distributed Transaction Coordinator
folder Security terdapat tool Login yang berisi daftar user di dalam database. Di  SQL Server
bagian ini semua manajement yang menyangkut user account dilakukan.  SQL Server Agent

Panduan Ringkas Belajar SQL Server 2000, 6


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Type Data Pada Sql Server Contoh IP, IPK , Diskon, indeks saham , prosentase - prosentase yang
kecil. Dsb
1. Kategori Binary meyimpan deretan bit. Data berisi bilangan hexadecimal, 5. Kategori Integer adalah bilangan bulat negative dan positif
misalnya bilangan 243 adalah bilangan hexadecimal F3. kategori ini  Bigint, bilangan dengan jangkauan -2^63 (-9223372036854775808)
mempunyai beberapa tipe data dasar : sampai 2^36-1 (9223372036854775807) dengan ukuran 8 Byte
 Binary, data biner yang mempunyai panjang tetap dengan ukuran  Int, bilangan bulat dari -2.147.483.648 sampai 2.147.483.647, ukuran 4 Byte
maksimum 8,000 bytes.  Smallint, bilangan bulat dari -32.768 sampai 32.767, ukuran 2 Byte
 Varbinary, data biner dengan panjang data bervariasi, panjang  Tinyint, bilagan bulat dari 0 sampai 255 dengan ukuran 1 Byte
maksimum 8,000 bytes. Contoh : jumlah anak, jumlah saudara, kapasitas kelas, SKS dari suatu
 Image, data biner dengan panjang data bervariasi, panjang maksimum MK, jumlah SKS yang telah ditempuh. Agama (agama hanya ada 5
2^31 - 1 (2,147,483,647) bytes. sehingga dapat dikodekan sebagai 1:islam 2:kristen 3:protestan 4 :hindu
2. Kategori Character, yang berisi karakter-karakter alfanumerik dan symbol 5:budha) status kawin (1:Kawin 2:Belum Kawin 3:Janda 4:Duda) dsb.
 Char, data harus mempunyai panjang tetap dengan ukuran maksimum Catatan :
8,000 karakter (sekitar 8KB) Semua pilihan yang ada dalam Combo Box atau ListBox pada
Contoh : KdDosen char(5), KodeMK char(6), NIP char(9). pemrograman Visual seperti Delphi , VB, C++ Builder, Java , HTML dsb
Tipe data Char sangat tepat untuk pengkodean, serta Alfa Numerik (data menggunakan tipe data ini. Hal ini karena tidak dimungkinkannya pilihan yang
campuran antara Karakter dan Angka seperti A1005, BK2001 dsb) yang lebih besar dari 255.
sifatnya tetap. 6. Kategori Monetary menyatakan jumlah uang dalam bentuk negative atau
 Varchar, panjang data bervariasi dengan maksimum 8,000 karakter positif
(sekitar 8KB)  Money, jangkauan -922.337.203.685.477,5808 sampai
Contoh : NamaMHS varchar(25), NamaDosen varchar(25), Alamat 22.337.203.685.477,5807 ukuran 8 Byte
varchar(30), Keterangan varchar(50), NamaMK varchar(40. Contoh : Jumlah uang yang harus dibayar saat Perwalian, UTS dan UAS
 Text, data berupa karakter Ascii, dengan maksimum 2^31-1  Smallmoney, jangkauan -214.748,3648 sampai 214.748,3647 ukuran 4
(2,147,483,647) karakter. byte
Tipe data ini tepat untuk digunakan untuk menyimpan keterangan yang Contoh harga beli dan harga jual barang (yang tidak lebih dari Rp. 214 ribu),
banyak dan atau file teks. Uang Pendaftaran Praktikum, KKN /SKL, dsb.
3. Kategori Date dan Time berisi kombinasi data tanggal dan waktu. Tidak ada
7. Kategori Special berisi data khusus yang tidak dapat dimasukkan ke dalam
tipe data yang hanya menyimpan tanggal atau waktu saja.
kategori lain
 Datetime, data tanggal dari 1 January 1753 sampai 31 December 9999,
 Uniqueidentifier, bilangan hexadecimal dengan ukuran 16 byte yang
dengan ukuran 8 Byte
menyatakan globally identifier (GUID). GUID dipakai jika sebuah baris harus
 Smalldatetime, data tanggal dari 1 January 1900 sampai 6 Juni 2079
berbeda (unik) dari baris lain
dengan ukuran 4 Byte
 SQL_variant, berisi semua data yang disupport oleh SQL Server kecuali
Tipe data ini cocok untuk menyimpan tanggal lahir, tanggal transaksi (jual text, ntext, timestamp, image, dan sql_variant
beli), tanggal pendaftaran, serta tanggal lain yang berada dalam jangkauan
1 January 1900 sampai 6 Juni 2079. 8. Kategori Unicode memperbolehkan sebuah kolom berisi karakter Unicode
Standard. Karakter Unicode berukuran dua kali lipat dari karaker bukan
4. Kategori Floating Point digunakan untuk numerik atau angka dengan nilai Unicode.
pecahan  Nchar, data harus mempunyai panjang tetap dengan maksimum 4000
 Float, dari -1.79E+308 sampai 1.79E+308 dengan ukuran 8 Byte Tipe data ini karakter Unicode
tepat untuk penyimpanan informasi scientific (ilmiah).  Nvarchar, data bervariasi sampai 4000 karakter Unicode
 Real, dari -3.40E+38 sampai 3.40E+38 dengan ukuran 4 Byte  Ntext, data dapat melampaui 4000 karakter Unicode

Panduan Ringkas Belajar SQL Server 2000, 7


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Membuat Database
Cara membuat sebuah database:
1. Buka Enterprise Manager lalu expand Microsoft SQL Server > SQL Server
Groups
2. Lanjutkan dengan membuka server LOCAL, atau sesuai nama komputer
Anda, lalu buka folder Database. Klik kanan folder tersebut dan pilih New
Database.

4. Lanjutkan dengan membuka tab Data Files, di bagian ini terdapat beberapa
option yang dapat dijelaskan sebagai berikut:
 File Name dan Location, untuk memberi nama file dan meletakkan file
database tersebut di suatu lokasi folder yang diinginkan.
 File growth, mengatur penambahan ukuran file database. Dapat
ditetapkan dengan persentase tertentu atau berdasarkan jumlah megabytes
tertentu.
 Maximum file size, ukuran file dapat dibatasi pada tingkat tertentu atau
unlimited.
5. Pada tab Transaction Log terdapat option yang sama dengan tab Data Files.
Apabila membuat database di SQL Server maka akan terdiri minimum 2 file yaitu:
3. Isikan nama database yang akan dibuat, misalnya: PENJUALAN.  Data File, adalah file untuk menyimpan data.
 Transaction Log, adalah file yang menyimpan histori transaksi dan
semua kejadian di database tersebut.

6. Setelah proses pengisian option selesai, klik OK dan database baru akan
terlihat di Enterprise Manager.

Membuat database bisa juga dilakukan dengan menggunakan perintah DDL yaitu yaitu
perintah CREATE DATABASE melalui layar Query Analyser. Tetapi penggunaan
perintah ini penyimpanan database yang dibuat pada folder default yaitu ”C:\Program
Files\Microsoft SQL Server\MSSQL\Data”.

Contoh :
CREATE DATABASE PENJUALAN

Panduan Ringkas Belajar SQL Server 2000, 8


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Membuat Tabel
Sebuah database terdiri dari satu atau banyak tabel untuk menyimpan data. Untuk Ulangi langkah seperti di atas untuk membuat tabel berikut ini :
membuat tabel klik kanan pada nama database tersebut lalu pilih New > Table. 1. Nama Tabel Buku

2. Nama Tabel Pinjam

Kemudian isi nama-nama kolom/field untuk tabel tersebut. Berikut contoh pengisian
untuk tabel dengan nama Pegawai yang berisi 8 field, lengkap dengan tipe datanya
masing-masing. Membuat Tabel bisa juga dilakukan dengan menggunakan perintah DDL yaitu perintah
CREATE TABLE melalui layar Query Analyser. Yang harus diperhatikan adalah
database yang mau dibuat tabelnya harus sudah ditentukan/dipilih terlebih dahulu.

Contoh :

CREATE TABLE Pegawai (IDPegawai char(9), NmPegawai


varchar(30) NOT NULL, GolRuang varchar(5),
Jabatan varchar(50), CHECK (Kelamin=’Laki-
Dapat dilihat bahwa setiap field memiliki tipe data dan ukurannya masing-masing. Laki’ OR Kelamin=’Perempuan’), CHECK
Penting untuk diperhatikan bahwa sebuah field harus menggunakan tipe data dan (Status=’Pengurus’ OR Status=’Anggota’),
ukuran secara tepat, sesuai dengan kebutuhannya. Apalagi tipe data dan Alamat varchar(70), NoTelp varchar(12)
ukurannya terlalu besar, maka database akan cepat membengkak dan memakan Primary Key (IDPegawai))
memori lebih banyak dari yang dibutuhkan.
Selain itu juga perlu ditetapkan field mana yang harus diisi dan mana yang tidak. CREATE TABLE Buku (KdBuku char(5), Judul varchar(70) NOT
Pada contoh tersebut field IDPegawai, NmPegawai, Satus dan Alamat harus diisi NULL, Pengarang varchar(40), Penerbit
dengan mengisi setup Allow Null = False (dikosongkan). Artinya field tersebut tidak varchar(50), ThTerbit char(4) Primary Key
diperbolehkan kosong. KdBuku)
Menyimpan tabel dapat dilakukan sebagai berikut : CREATE TABLE Pinjam (IDPegawai char(9), KDBuku char(5),
 Tekan icon lambang disket ( ) yang ada di sudut kiri atas layar monitor TglPinjam datetime, TglKembali datetime
 Isikan nama tabelnya (Pegawai) lalu teka OK Primary Key (IDPegawai,KDBuku,TGLPinjam))
Atau
Keterangan :
 Tekan ( ) yang ada di sudut kanan atas layar monitor  PRIMARY KEY (PK)
 Isikan nama tabelnya (Pegawai) lalu teka OK Adalah kolom kunci yang benar-benar menjamin tidak ada baris yang
kembar/sama pada kolom tersebut

Panduan Ringkas Belajar SQL Server 2000, 9


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
 FOREIGN KEY sebagai berikut :
Adalah kolom yang mengacu pada primary key pada tabel lain. Dengan adanya  Klik kanan pada icon Diagran kemudian pilih New Database Diagram
foreign key ini maka, kesalahan dalam singkronisasi data antara tabel
induk/master dengan tabel anak akan dapat dihindari.
 CHECK
Adalah batasan range/jangkauan nilai, yang diperkenankan pada suatu kolom.
Nilai yang berada diluar range/jangkauan akan ditolak.
Sebagai contoh pada tabel Pegawai Kelamin selain ”Laki-Laki” dan
”Perempuan” akan ditolak.
 NULL dan NOT NULL
NULL berarti harus diisi (boleh tidak ditulis karenan secara default adalah
NULL), Sedangkan NOT NULL datanya harus diisi.
Sebagai contoh pada tabel Buku Judul harus disisi sedangkan pengarang,
 Lalu pilih Next seperti gambar
penerbit dan thterbit boleh tidak diisi.
 Kemudian klik pada tabel yang mau dibuat relasinya dan tekan Add sehingga
sehingga tabel tersebut menjadi anggota
Memperbaiki Tabel diagram.
Memperbaiki tabel dapat dilakukan dengan cara:  Kemudian tekan Next dan tekan Finish
 Klik kanan pada nama tabel yang mau diperbaiki
 Pilik Design Table
 Lakukan perbaikan yang diinginkan kemudian simpan kembali

Menghapus Tabel
Yang harus diperhatikan pada saat menghapus tabel adalah sbb :
 Menghapus table berarti menghapus semua data yang terdapat pada table
tersebut, namun masih dapat dikembalikan lagi dengan perintah restore
 Jika table mengandung konstraint foreign key, maka konstrain tersebut harus Untuk menetapkan relationship dapat dilakukan dengan cara :
dihapus terlebih dahulu  Klik field KdBuku di tabel Buku dan mendragnya ke field KdBuku di tabel Pinjam
 Klik field IDPegawai di tabel Pegawai dan mendragnya ke field IDPegawai di tabel
Menghapus tabel dapat dilakukan dengan cara: Pegawai.
 Klik kanan pada nama tabel yang mau diperbaiki Maka muncul dialog propertis relationship sebagai berikut:
 Pilik Delete
 Kemudian pilih Drop All
Pada dialog tersebut terdapat beberapa opton
sebagai berikut:
Relationship Antar Tabel  Check existing data on creation,
konsistensi data akan langsung dicek
Dalam sebuah database terdapat hubungan antar tabel yang menjelaskan pada saat pembuatan relationship.
keterkaitan satu tabel dengan tabel lainnya. Relationship ini sangat penting untuk
menjaga integritas dan konsistensi data antar tabel. Misalnya jangan sampai terjadi  Enforce relationship on replication, pada
muncul data tentang peminjaman Buku di tabel Pinjam, padahal nama bukunya saat replikasi antar database maka
belum dientri di tabel Buku. Selain itu relationship juga mempermudah membaca pengcopyan data dilakukan dengan
desain sebuah database karena terlihat dengan jelas hubungan antar tabelnya. mempertimbangkan hubungan antar tabel
Untuk membuat relationship antar tabel dapat dilakukan dengan langkah-langkah (tidak dibahas dalam tulisan ini)

Panduan Ringkas Belajar SQL Server 2000, 10


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
 Enforces relationship for INSERTs and UPDATEs, merupakan bagian yang Data Manipulation Language (DML)
sangat penting dalam relationship antar tabel. Bagian ini mengecek
hubungan tabel setiap terjadi perubahan dan penambahan data di tabel Setelah database dan tabel dalam database tersebut dibuat, diperlukan pengisian,
master. pencarian, pengubahan serta penghapusan data pada tabel.
o Cascade Update Related Fields, setiap ada perubahan di tabel master DML meliputi ke empat hal berikut ini.
(Pelanggan) maka field PelangganID di tabel Order juga ikut berubah. SELECT : pencarian data
INSERT INTO : pengisian data
o Cascade Delete Related Records, apabila data pelanggan di tabel
master (Pelanggan) dihapus, maka semua data yang terkait dengan UPDATE : pengubahan data
PelangganID terkait di tabel Order juga dihapus. DELETE : penghapusan data

Setelah semua setup selesai, klik OK maka diagram tersebut selesai dibuat. Berikut ini adalah istilah – istilah digunakan pada DML beserta tujuannya.
Anda dapat menambah tabel terkait ke dalam diagram tersebut sesuai dengan SELECT : lihat, tampilkan, pilihlah
kebutuhan. Selain itu juga dapat dibuat beberapa diagram dalam satu databse * : semua data pada smua kolom (hanya pada SELECT !)
untuk mempermudah menganalisis desain database. Hal ini biasanya dilakukan
FROM : dari tabel , pada tabel
apabila jumlah tabelnya sudah sangat banyak.
INSERT INTO : Masukkanlah data kedalam tabel
VALUES : dengan isi, yang isinya adalah
UPDATE : Ubahlah data pada tabel
SET : Dengan mengganti data
DELETE : Hapuslah data
WHERE : Hanya yang
AS : Dengan Alias, dengan nama lain
ORDER BY : Diurutkan berdasarkan kolom
GROUP BY : Kelompokkan berdasarkan kolom
HAVING : Yang kelompok datanya……

Contoh :
Anda perlu memberikan nama kepada diagram tersebut dan menyimpannya. SELECT KdBuku, Judul, Pengarang FROM Buku
Klik toolbar Save untuk menyimpan diagram. SQL tersebut dapat dibaca :
Pilihlah atau tampilkan data pada kolom KdBuku, Judul, Pengarang Pada tabel Buku
SELECT * FROM Pegawai
SQL tersebut dapat dibaca :
Pilihlah atau tampilkan data pada SEMUA KOLOM Pada tabel Pegawai

INSERT INTO Buku (KdBuku, Judul, Pengarang,Penerbit,ThTerbit)


VALUES (’06001’,’Basis Data’,’Fathansyah’,’Elexmedia’,’2005’)

SQL tersebut dapat dibaca :


Masukkanlah data kedalam tabel BukuN pada kolom KdBuku, Judul, Pengarang,
Penerbit,ThTerbit yang isinya adalah ’06001’, ’Basis Data’, ’Fathansyah’,
’Elexmedia’, ’2005’.

Panduan Ringkas Belajar SQL Server 2000, 11


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Menambah Data Pada Tabel ( INSERT INTO )

Menambah data pada table dilakukan melalui perintah Insert Into,

Syntax :
Cara 1 :
INSERT INTO nama_tabel (nama_kolom1 [, nama_kolom2......, nama_kolomN])
values (isi_kolom1 [,isi_kolom2........, isi_kolomN] )

Cara 2 :
INSERT INTO nama_tabel values (isi_kolom1 [,isi_kolom2........, isi_kolomN] )

----- memasukkan data, dengan cara 1 :


INSERT INTO Buku (KDBuku, judul,Pengarang,Penerbit,ThTerbit)
VALUES ('04002','MSSQL Server 2000','Herdrawan','Elex
Media','2001')

Keterangan :
Data bertipe char , varchar, datetime, dan smalldatetime harus berada diantara
petik tunggal.
Data money, smallmoney, tinyint, smallint, int, bigint, harus tidak berada diantara
petik tunggal.

Atau melalui perintah SELECT (pada Query analizer)

Data yang dimasukkan, dapat dilihat melalui Enterprise Manager, sbb:

Panduan Ringkas Belajar SQL Server 2000, 12


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Menampilkan / Memilih Data Pada Tabel ( SELECT )
---- mengisi kembali tabel Mata Kuliah, dengan data sbb :
INSERT INTO Buku (KDBuku, judul,Pengarang,Penerbit,ThTerbit) Untuk membaca data tabel, diperlukan perintah SELECT.
VALUES ('04003','Analisis Sistem', 'Ardiansyah', 'Gramedia', Pernyataan SELECT berisi lima komponen utama, yaitu :
'2000')
 Kolom-kolom yang diinginkan
INSERT INTO Buku (KDBuku,Pengarang,judul,ThTerbit, Penerbit)  Table yang diinginkan
VALUES ('04004', 'Romi','Visual Basic', '2000', 'Elex Media')  Kondisi yang harus dipenuhi oleh table
 Pengelompokan hasil
Pada data terakhir , Pengarang, ThTerbit dimasukkan dengan urutan yang berbeda  Urutan hasil
dari sebelumnya .
Hal ini dibenarkan , karena : Syntax penulisan perintah SELECT, sbb :
INSERT INTO Buku (KDBuku,Pengarang,judul,ThTerbit, Penerbit)
SELECT * | nama_kolom1 [, nama_kolom2 . . . ,nama_kolomN]
FROM nama_table
VALUES ('04004', 'Romi','Visual Basic', '2000', 'Elex Media') [WHERE kondisi_pencarian]
[GROUP BY daftar_pengelompokan]
[HAVING kondisi_pengelompokan]
-----memasukkan data dengan cara 2 : [ORDER BY daftar_urutan [ASC | DESC] ]
Insert into Buku Values ('04005','Perancangan Sistem',
'Wardoyo', 'Elex Media', '2000') Tanda * (bintang) hanya terdapat pada perintah SELECT, tanda ini menyatakan
semua kolom yang ada pada tabel tersebut.
Pada cara kedua, meskipun nama kolom tidak diisi, tetapi nilai/data dapat langsung Tanda [ dan ] menyatakan statement didalamnya bersifat optional/pilihan, yakni
diberikan. dapat ditulis ataupun tidak.

Cara kedua ini lebih cepat, tapi dengan beberapa konsekuensi : Contoh :

1. Semua kolom harus diisi secara lengkap ---- menampilkan SEMUA KOLOM pada table Buku
Apabila tabel Buku terdiri dari 5 Kolom, maka kelima kolom tersebut harus diisi. SELECT * FROM Buku
2. Urutan pengisian isi data harus tepat.
---- menampilkan KOLOM KDBUKU, JUDUL, PENGARANG pada table Buku
SELECT KDBUKU, JUDUL, PENGARANG FROM BUKU
Tugas :
---- contoh perintah select yang lain
Masukkan data : SELECT PENGARANG, KDBUKU, JUDUL, PENERBIT, THTERBIT FROM BUKU
Buku sebanyak 5 data,
Pegawai sebanyak 5 data
Pinjam sebanyak 5 data

Panduan Ringkas Belajar SQL Server 2000, 13


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
PERINTAH AS
Sehinnga dengan adanya perintah AS pada NAMA_TABEL maka perintah
AS digunakan sebagai pengganti nama kolom / nama tabel, statemen ini diperlukan
untuk keperluan SQL yang lebih kompleks SELECT Pegawai.IDPegawai, Pegawai.NmPegawai, Pegawai.GolRuang,
Pegawai.Jabatan FROM Pegawai

Contoh AS untuk mengganti nama kolom : Dapat diubah menjadi :

SELECT IDPegawai AS NIP, NmPegawai AS Nama_Pegawai, SELECT Peg.IDPegawai, Peg.NmPegawai, Peg.GolRuang, Peg.Jabatan
GolRuang, Jabatan FROM Pegawai FROM Pegawai As Peg

SELECT Peg.IDPegawai As NIP, Peg.NmPegawai As Nama_Pegawai,


Peg.GolRuang, Peg.Jabatan FROM Pegawai As Peg

Contoh AS untuk mengganti nama tabel :

SELECT IDPegawai, NmPegawai, GolRuang, Jabatan


FROM Pegawai As Peg

Apabila dibandingkan dengan AS untuk mengganti nama kolom, pengaruh AS


pada penggantian nama tabel ini seakan-akan tidak berpengaruh.
Namun sesungguhnya perintah SQL :

SELECT IDPegawai, NmPegawai, GolRuang, Jabatan FROM Pegawai

berasal dari

SELECT Pegawai.IDPegawai, Pegawai.NmPegawai,


Pegawai.GolRuang, Pegawai.Jabatan FROM Pegawai

Namun untuk lebih menghemat penulisan NAMA TABEL beserta . (titik) pada
setiap kolom yang akan dipilih dapat tidak diikutsertakan.

Panduan Ringkas Belajar SQL Server 2000, 14


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Pencarian / Pemilihan Data ( WHERE ) Operator Pembanding

Digunakan untuk membandingkan/mengetest apakah 2 ekspresi tersebut sama /


Pencarian / Pemilihan data masih berada dalam kelompok SELECT tidak.
Operator ini dapat digunakan oleh semua tipe data kecuali text, ntext, or image
 Apabila Perintah SELECT digunakan tanpa adanya Pemilihan, maka
yang ditampilkan adalah seluruh data. Operator Arti
 Apabila perintah SELECT digunakan dengan Pemilihan data berdasarkan
kondisi tertentu, misalnya ‘tampilkan data dosen yang kode_dosen nya = Sama dengan
adalah 46008’, maka yang dipilih/ditampilkan hanya data yang > Lebih besar
memenuhi kriteria tersebut. Apabila tidak ada data yang memenuhi
kriteria, maka tidak ada yang ditampilkan. < Lebih kecil
>= Lebih besar sama dengan
Sebelum menuju pemilihan data, harus dipahami dahulu penggunaan operator
pembanding, Aritmatika dan Logika <= Lebih kecil sama dengan
<> Tidak sama dengan
Operator Aritmatika != Tidak sama dengan (bukan standar SQL-92 )
!< Tidak lebih kecil (bukan standar SQL-92 )
Operator aritmatika dapat dipakai pada tipe-tipe data: int, smallint, tinyint,
numeric, decimal, float, real, money dan smallmoney. Table berikut !> Tidak lebih besar (bukan standar SQL-92 )
menginformasikan operator numeric dan tipe data yang dapat memakainya.

Tipe Data + - / * % Operator Logika


Decimal     
Float      Operator logika digunakan untuk mengetes kebenaran dari beberapa kondisi.
Int      Seperti halnya operator pembanding, Operator logika mengembalikan tipe data
Money      Boolean yang berisi TRUE or FALSE. (BENAR atau Salah)
Numeric     
Real     
Smallint Operator PENJELASAN
    
Smallmoney
     AND BENAR jika 2 kondisi yang dibandingakan adalah BENAR.
Tinyint
    
BETWEEN BENAR jika operand berada didalam Range (jangkauan)
BENAR jika operand sama dengan salah saru dari daftar expresi
Catatan : IN
yang diinginkan
% : modulus (sisa pembagian cth: 10 % 2 = 0 , 5 %3 = 2)
LIKE BENAR jika operand mempunyai pattern yang sama/ diinginkan.
NOT BENAR jika Salah , Salah Jika BENAR
OR BENAR jika salah satu expresi bernilai BENAR.

Panduan Ringkas Belajar SQL Server 2000, 15


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Contoh penggunaan operator pembanding, aritmatik dan logika dalam pemilihan Operator aritmatik :
data.
-- ditampilkan semua data peminjaman Buku
SELECT IDPegawai,KDBuku,TglPinjam,TglKembali FROM Pinjam
Operator Pembanding
-- ditampilkan semua data Jumlah hari peminjaman Buku
-- ditampilkan semuanya SELECT IDPegawai,KDBuku,DAY(TglKembali) - DAY(TglPinjam)
SELECT * FROM BUKU AS Jumlah_Hari FROM Pinjam

-- ditampilkan hanya Buku yang Penerbitnya ”Elex Media” -- ditampilkan data yang Jumlah hari peminjaman Buku di atas 5 hari
SELECT * FROM Buku WHERE Penerbit = 'ELEX MEDIA' SELECT IDPegawai,KDBuku,DAY(TglKembali) - DAY(TglPinjam)
AS Jumlah_Hari FROM Pinjam Where DAY(TglKembali) -
-- ditampilkan hanya Buku yang Penerbitnya tidak sama dengan ”Elex Media” DAY(TglPinjam) > 5
SELECT * FROM Buku WHERE Penerbit <> 'ELEX MEDIA'
-- ditampilkan data yang Jumlah hari peminjaman Buku ditambah 5
-- ditampilkan hanya Buku yang Tahun Terbitnya Lebih besar dari 2002 SELECT IDPegawai,KDBuku,DAY(TglKembali) - DAY(TglPinjam)
SELECT * FROM Buku WHERE ThTerbit > '2002' AS Jumlah_Hari, DAY(TglKembali) - DAY(TglPinjam) + 5 AS
Jumlah_Hari_Tambah_Lima FROM Pinjam
-- ditampilkan hanya Buku yang Tahun Terbitnya 2002 ke bawah
SELECT * FROM Buku WHERE ThTerbit <= '2002'

-- ditampilkan hanya Pegawai yang Jabatannya “Staf” Operator Logika


SELECT * FROM Pegawai WHERE Jabatan = 'staf'
1. Operator Logika AND dan OR
Apabila data bertipe char, varchar, datetime, smalldatatime maka harus berada
diantara tanda petik tunggal  Menampilkan data buku yang diterbitkan oleh “Gramedia” dan Tahun
terbitnya adalah 2000

SELECT * FROM Buku WHERE Penerbit = 'Gramedia' AND


Fungsi Yang Menangani Tanggal ThTerbit = '2000'

Day() : Digunakan untuk mendapatkan hari (numeric) dari suatu tanggal.  Menampilkan data buku yang diterbitkan oleh “Elex Media” Atau Tahun
terbitnya adalah 2003
Contoh :
Tgl = ’23-08-2007’ Day (Tgl) = 23 SELECT * FROM Buku WHERE Penerbit = 'Elex Media' OR
ThTerbit = '2003'
Month() : Digunakan untuk mendapatkan bulan (numeric) dari suatu tanggal
 Tampilkan data Pegawai yang golruang III/b dan jabtan “Staf”
Contoh : Month(Tgl) = 08
SELECT * FROM Pegawai WHERE (GolRuang = 'III/b') AND
Year() : Digunakan untuk mendapatkan tahun (numeric) dari suatu tanggal (Jabatan = 'staf')

Contoh : Year(Tgl) = 2007

Panduan Ringkas Belajar SQL Server 2000, 16


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
 Tampilkan data peminjaman buku yang belum dikembalikan Contoh :
SELECT IDPegawai, NmPegawai, GolRuang, Jabatan
SELECT * FROM Pinjam WHERE TglKembali ='' OR TglKembali FROM Pegawai WHERE NmPegawai LIKE 'DRS%'
IS NULL
Bisa diartikan ‘Pilihlah / tampilkan semua kolom IDPegawai, NmPegawai,
 Tampilkan data pegawai yang GolRuangnya IV/a, III/a dan III/c GolRuang, Jabatan dari Tabel Pegawai hanya yang NmPegawai dimulai dengan
‘Drs’ selanjutnya TERSERAH
SELECT * FROM Pegawai WHERE GolRuang = 'IV/a' OR
GolRuang = 'III/d' OR GolRuang = 'III/c' Hasilnya

2. Operator logika IN

Secara prinsip SAMA Dengan OR, hanya saja ia lebih ringkas Tetapi ia HANYA
BERLAKU UNTUK SATU KOLOM SAJA SELECT IDPegawai, NmPegawai, GolRuang, Jabatan
FROM Pegawai WHERE NmPegawai LIKE '%M.Kom'
Contoh :
Bisa diartikan ‘Pilihlah / tampilkan semua IDPegawai, NmPegawai, GolRuang,
Tampilkan data pegawai yang GolRuangnya IV/a, III/a dan III/c Jabatan dari Tabel Pegawai hanya yang NmPegawai dimulai oleh ‘TERSERAH’,
‘APAPUN BOLEH’ pokoknya diakhiri oleh ‘M.Kom’
SELECT * FROM Pegawai WHERE GolRuang = 'IV/a' OR
GolRuang = 'III/d' OR GolRuang = 'III/c'
Hasilnya
Bandingkan dengan :

SELECT * FROM Pegawai WHERE GolRuang IN ('IV/a','III/d',


'III/c')

Tetapi bagaimana dengan sql, berikut apakah bisa dijadikan operator in SELECT * FROM Buku WHERE Penerbit LIKE '%medi%'

SELECT * FROM Pegawai WHERE Jabatan ='staf' OR Kelamin = Bisa diartikan ‘Pilihlah / tampilkan semua data dari Tabel Buku hanya Penerbit
'laki-laki' pokoknya ada ‘medi’
dimulai oleh ‘TERSERAH’, ‘APAPUN BOLEH’
Tidak bisa secara langsung , karena operator IN hanya berlaku untuk satu diakhiri oleh ‘TERSERAH’, ‘APAPUN BOLEH’
kolom saja. Tapi bila melalui sql berikut ini bagaimana ?
Hasilnya
SELECT * FROM Pegawai WHERE Jabatan ='staf' OR Kelamin IN
('laki-laki')

3. Operator logika LIKE

Operator ini bisa diarikan sebagai ‘MENGANDUNG KATA’


Operator ini biasa menggunakan ‘%’ yang berarti ‘APAPUN’ atau ‘TERSERAH’

Panduan Ringkas Belajar SQL Server 2000, 17


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
4. Operator logika BETWEEN Pengurutan Data ( ORDER BY )
Operator ini bisa diartikan sebagai DIANTARA , atau <= x >= Bisa dibayangkan apabila data yang ada tidak ditampilkan secara berurutan, sangat
Operator ini bisa dipakai untuk semua tipe data membingungkan.
SQL Menyediakan cara untuk mengurutkan. Urutan ini hanya dilakukan pada saat
Contoh menampilkan data saja, namun secara fisik data tidak pernah diurutkan, data selalu
Huruf ‘A’,’B’ berada diantara huruf ‘A’,’B’,’C’,D’,E’ disimpan apa adanya
Huruf ‘E’ berada diantara huruf ‘A’,’B’,’C’,D’,E’
Huruf ‘F’ tidak diantara huruf ‘A’,’B’,’C’,D’,E’ Contoh :
Angka 1, 2,3,4 berada diantara 1,2,3,4,5,6,7
Angka 1,6,7 berada diantara 1,2,3,4,5,6,7  Menampilkan data Data Buku dengan diurutkan berdasarkan ThTerbit secara
Angka 8 tidak berada diantara 1,2,3,4,5,6,7 Ascending (default)
Tanggal 10-jan-2004 berada diantara 10 agustus 2000 dan 31 desember 2004
Tanggal 31-desember-2004 berada diantara 10 agustus 2000 dan 31 desember SELECT * FROM Buku ORDER BY ThTerbit
2004
….Dst. Hasilnya

Contoh :

SELECT * FROM Buku WHERE ThTerbit BETWEEN '2002' AND


'2004'

Hasilnya adalah :
 Menampilkan data Data Buku dengan diurutkan berdasarkan ThTerbit secara
Descending

SELECT * FROM Buku ORDER BY ThTerbit DESC

SELECT IDPegawai, NmPegawai, GolRuang, Jabatan, Kelamin Hasilnya


FROM Pegawai WHERE GolRuang BETWEEN 'III/d' AND 'IV/c'

Hasilnya adalah :

Panduan Ringkas Belajar SQL Server 2000, 18


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Statement Order By dapat dipersingkat, dari nama kolom menjadi urutan kol  Kolom “kdBuku+IdPegawai+TglPinjam” merupakan primary key pada tabel
tersebut pada perintah select “Pinjam”
 Kolom "IDPegawai" dalam tabel "Pinjam" digunakan untuk menunjuk seseorang
Contoh : pada tabel "Pegawai" tanpa menuliskan namanya.
 Kolom "KdBuku" dalam tabel "Pinjam" digunakan untuk menunjuk sebuah Buku
SELECT KdBuku, Judul, Pengarang,Penerbit FROM Buku tertentu pada tabel "Buku" tanpa menuliskan namanya.
ORDER BY KdBuku
Diketahui data pada tabel Pinjam adalah sebagai berikut :
Dapat disingkat menjadi :

SELECT KdBuku, Judul, Pengarang,Penerbit FROM Buku


ORDER BY 1

Demikian juga halnya dengan

SELECT * FROM Buku ORDER BY Judul


Dari data yang ditampilkan di atas kita tidak tahu siapa nama pegawai yang telah
melakukan peminjaman. Jadi untuk melakukan maksud tersebut bisa dilakukan
Dapat disingkat menjadi :
dengan perintah :
SELECT * FROM Buku ORDER BY 2
SELECT Pin.IDPegawai,Peg.NmPegawai,Peg.Jabatan,KdBuku,
TglPinjam, TglKembali FROM Pinjam Pin, Pegawai Peg
WHERE Pin.IdPegawai=Peg.IDPegawai

Join dan Key Hasilnya

Sesekali kita menginginkan melakukan manipulasi data dari dua atau lebih tabel
untuk melengkapi hasil yang diinginkan. Kita dapat menggunakan join.

Tabel dalam database dapat memiliki hubungan satu dengan yang lain. Primary
Key merupakan kolom tabel dengan nilai unik (tidak ada satupun yang nilainya
sama), dapat digunakan sebagai alat untuk menandai sebuah record data. Dengan Dari data yang ditampilkan kita tidak tahu Buku apa yang dipinjam oleh pegawai
primary key kita dapat melakukan sambungan data satu dengan yang lain, lintas tersebut. Untuk maksud tersebut kita bisa lakukan perintah :
tabel, tanpa harus mengulang semua data dalam setiap tabel. Perubahan dalam
satu tabel dapat mempengaruhi tabel yang lain. SELECT Pin.IDPegawai,Peg.NmPegawai,Peg.Jabatan,Pin.KdBuku,
B.Judul, B.Pengarang,TglPinjam, TglKembali FROM Pinjam Pin,
Dalam tabel "Buku" , kolom "KdBuku" adalah primary key, berarti tidak ada dua Pegawai Peg, Buku B
KdBuku yang memiliki nomor yang sama. Ia digunakan untuk pengenal seorang WHERE Pin.IdPegawai=Peg.IDPegawai and Pin.KdBuku=B.Kdbuku
pegawai, walaupun beberapa baris di kolom lain memiliki data yang sama.
Hasilnya
Lihatlah pada contoh tabel berikut :
 Kolom "KdBuku" merupakan primary key tabel "Buku"
 Kolom "IDPegawai " merupakan primary key tabel "Pegawai"

Panduan Ringkas Belajar SQL Server 2000, 19


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Menggunakan Join Hasilnya:

Untuk maksud seperti di atas bisa juga dilakukan perintah dengan menggunakan
keyword JOIN, seperti ini:

Perintah pertama:
SELECT Pin.IDPegawai, Peg.NmPegawai, Peg.Jabatan,
Pin.KDBuku, Pin.TglPinjam, Pin.TglKembali
FROM Pinjam Pin INNER JOIN Pegawai Peg
ON Pin.IDPegawai = Peg.IDPegawai
-- Tampilkan data pegawai dan data buku yang dipinjam pada bulan Agustus tahun
Perintah kedua: 2006
SELECT Pin.IDPegawai, Peg.NmPegawai, Peg.Jabatan,
Pin.KDBuku, B.Judul, B.Pengarang, Pin.TglPinjam, SELECT Pin.IDPegawai, Peg.NmPegawai, Peg.Jabatan, Pin.KDBuku,
Pin.TglKembali B.Judul, B.Pengarang, Pin.TglPinjam, Pin.TglKembali
FROM Pinjam Pin INNER JOIN Pegawai Peg FROM Pinjam Pin , Pegawai Peg, Buku B WHERE Pin.IDPegawai =
ON Pin.IDPegawai = Peg.IDPegawai INNER JOIN Peg.IDPegawai And Pin.KDBuku = B.KdBuku And
Buku B ON Pin.KDBuku = B.KdBuku (MONTH(Pin.TglPinjam) = 8) AND (YEAR(Pin.TglPinjam) = 2006)

Hasil dari kedua perintah tersebut adalah sama dengan hasil dari perintah yang Hasilnya
sebelumnya dilakukan di atas.
INNER JOIN menghasilkan semua baris dari kedua atau lebih tabel jika memenuhi
syarat.
-- Tampilkan data pegawai dan data Buku yang dipinjam pada tahun 2007
Untuk menghasilkan tampilan seluruh data yang ada di tabel pertama walaupun
tidak ada datanya di tabel kedua digunakan LEFT JOIN. Ini berguna untuk SELECT Pin.IDPegawai, Peg.NmPegawai, Peg.Jabatan, Pin.KDBuku,
memperoleh laporan mana yang tidak melakukan peminjaman dan siapa yang B.Judul, B.Pengarang, Pin.TglPinjam, Pin.TglKembali
melakukan peminjaman (serta pesan apa). FROM Pinjam Pin INNER JOIN Pegawai Peg ON Pin.IDPegawai =
Peg.IDPegawai INNER JOIN Buku B ON Pin.KDBuku = B.KdBuku
Contoh : WHERE (YEAR(Pin.TglPinjam) = 2007)

SELECT Peg.IDPegawai, Peg.NmPegawai, Pin.KDBuku, B.Judul, Hasilnya


Pin.TglPinjam, Pin.TglKembali
FROM Pegawai Peg LEFT JOIN Pinjam Pin ON Peg.IDPegawai =
Pin.IDPegawai LEFT JOIN Buku B ON Pin.KDBuku = B.KdBuku
Untuk menghasilkan tampilan seluruh data yang ada di tabel kedua walaupun
tidak ada datanya di tabel pertama digunakan RIGHT JOIN.
Contoh :
SELECT Pin.IDPegawai, Peg.NmPegawai, Pin.KDBuku, B.Judul,
Pin.TglPinjam, Pin.TglKembali
FROM Pegawai Peg RIGHT JOIN Pinjam Pin ON Peg.IDPegawai =
Pin.IDPegawai RIGHT JOIN Buku B ON Pin.KDBuku = B.KdBuku

Panduan Ringkas Belajar SQL Server 2000, 20


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
DISTINCT Hasilnya

Distinct berarti benar-benar berbeda. Distinct digunakan pada perintah SELECT


untuk memilih data pada kolom yang benar-benar berbeda.

Contoh :
Isi Tabel Peminjaman adalah sebagai berikut :  Ditampilkan data buku yang pernah dilakukan peminjaman

SELECT P.KDBuku, B.Judul, B.Pengarang, B.Penerbit


FROM Pinjam P INNER JOIN Buku B ON P.KDBuku = B.KdBuku

Hasilnya

Untuk mengetahui Judul dan Pengarang buku-buku yang pernah dilakukan


peminjaman dapat dilakukan perintah :

SELECT DISTINCT Pin.KDBuku, B.Judul, B.Pengarang


FROM Pinjam Pin,Buku B WHEERE Pin.KDBuku = B.KdBuku
Data tersebut akan dikelompokkan berdasarkan data buku :
Hasilnya :
SELECT P.KDBuku, B.Judul, B.Pengarang, B.Penerbit
FROM Pinjam P INNER JOIN Buku B ON P.KDBuku = B.KdBuku
GROUP BY P.KDBuku, B.Judul, B.Pengarang, B.Penerbit

Hasilnya

Terlihat hanya empat data yang ditampilkan karena data yang sama hanya
ditampilkan sekali saja.

Pengelompokan Data ( GROUP BY )


Sepintas hasil yang ditampilkan dari perintah Group BY sama seperti penggunaan
Terkadang data yang kita buat perlu dikelompok-kelompokan berdasarkan kriteria
tertentu. perintah DISTINCT, namun akan berbeda apabila perintah Group By digunakan
bersamaan dengan fungsi AGREGAT.
Contoh :

 Ditampilkan data kolom KdBuku dari tabel Pinjam dan dikelompokkan


berdasarkan KdBuku

SELECT KDBuku FROM Pinjam GROUP BY KDBuku

Panduan Ringkas Belajar SQL Server 2000, 21


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Fungsi Agregat
 Ditampilkan Tanggal peminjaman Buku Terendah
Agregat adalah fungsi untuk mengelompokkan data, untuk suatu maksud tertentu.
Fungsi ini terdiri dari 5 hal, sbb : SELECT MIN(TglPinjam) AS TlgPinjam_Terendah
FROM Pinjam
MAX (nama_kolom) : untuk mengetahui nilai maksimal kolom tersebut. Hasilnya
MIN (nama_kolom) : untuk mengetahui nilai manimal kolom tersebut.
AVG (nama_kolom) : untuk mengetahui nilai rata-rata kolom tersebut.
SUM (nama_kolom) : untuk mengetahui nilai total kolom tersebut.  Menampilkan data Jumlah pegawai menurut golruang
COUNT(*) atau COUNT(nama_kolom) SELECT GolRuang, COUNT(*) AS Jumlah FROM Pegawai
: untuk mengetahui jumlah baris yang dihasilkan. GROUP BY GolRuang

Contoh : Hasilnya

 Tampilkan data tahun penerbitan buku yang tertinggi


SELECT MAX(ThTerbit) AS Tahun_Terbit FROM Buku
Hasilnya

 Ditampilkan tahun peminjaman Buku Tertinggi  Menampilkan data Jumlah pegawai menurut golruang dan Kelamin

SELECT MAX(YEAR(TglPinjam)) AS Tahun_Pinjam_Tertinggi SELECT GolRuang, COUNT(*) AS Jumlah, Kelamin FROM Pegawai
FROM Pinjam GROUP BY GolRuang, Kelamin
ORDER BY Golruang DESC
Hasilnya
Hasilnya

 Tampilkan data tahun penerbitan buku yang terendah


SELECT MIN(ThTerbit) AS Tahun_Terbit FROM Buku
Hasilnya

 Ditampilkan Tanggal peminjaman Buku (hari dalam numeric) Terendah


SELECT MIN(DAY(TglPinjam)) AS TlgPinjam_Terendah
FROM Pinjam
Hasilnya

Panduan Ringkas Belajar SQL Server 2000, 22


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
 Menampilkan data peminjaman Buku yang direkap menurut judul Buku  Pada data di atas akan direkap jumlah hari menurut bulan
SELECT Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit,
SELECT MONTH(TglPinjam) AS Bulan, YEAR(TglPinjam) AS
COUNT(*) AS Berapa_Kali_Pinjam
Tahun,COUNT(*) as Jumlah_Data, SUM(DAY(TglPinjam)) AS Hari,
FROM Pinjam Pin INNER JOIN Buku B ON Pin.KDBuku = B.KdBuku
SUM(DAY(TglPinjam) + 10) AS Hari_Tambah_10
GROUP BY Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit
FROM Pinjam GROUP BY MONTH(TglPinjam), YEAR(TglPinjam)
Hasilnya
Hasilnya

 Menampilkan data peminjaman buku yang direkap menurut judul buku dan  Dari data di atas akan ditampilkan rata-rata hari perbulan
tahun pinjam
SELECT MONTH(TglPinjam) AS Bulan, YEAR(TglPinjam) AS Tahun,
SELECT Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit, COUNT(*) AS Jumlah_Data, AVG(DAY(TglPinjam)) AS Hari,
YEAR(Pin.TglPinjam) AS Tahun, COUNT(*) AS Berapa_Kali AVG(DAY(TglPinjam) + 10) AS Hari_Tambah_10
FROM Pinjam Pin INNER JOIN Buku B ON Pin.KDBuku = B.KdBuku FROM Pinjam GROUP BY MONTH(TglPinjam), YEAR(TglPinjam)
GROUP BY Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit,
YEAR(Pin.TglPinjam) Hasilnya

Hasilnya

 Ditampilkan data peminjaman kolom hari berisi hari (dalam muneric) dan kolom
Hari_Tambah_10 berisi kolom hari + 10

SELECT IDPegawai,KDBuku,TglPinjam, DAY(TglPinjam) AS Hari,


DAY(TglPinjam) + 10 AS Hari_Tambah_10 FROM Pinjam

Hasilnya

Panduan Ringkas Belajar SQL Server 2000, 23


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
HAVING Mengubah Data ( UPDATE )

Having digunakan untuk menyaring data dari Kelompok yang sudah dihasilkan oleh Syntax :
perintah GROUP BY
UPDATE nama_tabel
Ingat !! Perintah Having hanya bisa di berikan SETELAH perintah GROUP BY SET nama_kolom1 = ekspresi1 [, nama_kolom2 = ekspresi2 ,
…….
Contoh : , nama_kolomN = ekspresiN]
[WHERE KONDISI]
 Data peminjaman buku yang direkap berdasarkan judul Buku seperti di atas
akan ditampilkan yang jumlah pinjamnya 2 kali keatas Statement WHERE digunakan untuk mengubah sebagian data saja, apabila semua
data hendak diubah, maka statement WHERE tidak diperlukan.
SELECT Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit,
COUNT(*) AS Berapa_Kali_Pinjam Contoh :
FROM Pinjam Pin INNER JOIN Buku B ON Pin.KDBuku = B.KdBuku ----- Data Buku sebelum terjadi perubahan
GROUP BY Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit SELECT * FROM Buku
HAVING COUNT(*) >= 2

Hasilnya

 Data peminjaman buku yang direkap berdasarkan tahun seperti di atas akan
ditampilkan yang penerbitnya “Elex Media” saja 4

SELECT Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit, ------ Mengubah nama pengarang menjadi Romi Mardian hanya untuk Pengarang
YEAR(Pin.TglPinjam) AS Tahun, COUNT(*) AS Berapa_Kali yang nama Pengarang = Ro
FROM Pinjam Pin INNER JOIN Buku B ON Pin.KDBuku = B.KdBuku
GROUP BY Pin.KDBuku, B.Judul, B.Pengarang, B.Penerbit, UPDATE Buku SET Pengarang='Romi Mardian' WHERE
YEAR(Pin.TglPinjam) HAVING (B.Penerbit = 'Elex Media') Pengarang='Romi'

Hasilnya SELECT * FROM Buku

Panduan Ringkas Belajar SQL Server 2000, 24


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
---- Mengubah Judul Buku dan TahunTerbit hanya untuk Buku yang kodenya 04001 Membackup database
UPDATE Buku SET Judul ='Pengantar Basis Data', ThTerbit =
'2002' WHERE KdBuku = '04001' Backup database sangatlah penting dilakukan sebagai antisipasi terhadap
kemungkinan rusaknya database kita. SQL Server 2000 memiliki beberapa
mekanisme backup yaitu dengan Backup Database, Detach Database ataupun
Hasilnya :
dengan cara Generate SQL Script dan Export Data.

Backup Database
Pembuatan backup dengan fasilitas Backup Database dilakukan SQL Server dengan
cara mengkompresi database beserta object dan record didalamnya menjadi satu
buah file backup. Teknik kompresi yang digunakan adalah teknik SQL Server
sendiri, jadi jangan harap file kompresi tersebut bisa Anda buka dengan Winzip
maupun Winrar
Berikut langkahnya:
Klik kanan pada nama database (Pustaka) dan pilih menu All Tasks > Backup
Database
Menghapus Data ( DELETE )

DELETE digunakan untuk menghapus data yang tidak diperlukan. Adapun yang
dihapus adalah DATA/ISI dari kolom tersebut, bukan Kolomnya. Namun hati-hati
dalam penggunaannya karena data yang sudah dihapus tidak bisa dikembalikan
lagi.

Syntax :
DELETE FROM nama_tabel Pada window backup, klik [ Add ]
[WHERE kondisi]

Statement WHERE digunakan untuk menghapus sebagian data saja, apabila semua
data hendak dihapus, maka statement WHERE tidak diperlukan.

Contoh :
 Menghapus Data Buku dengan Kode ‘05002’
DELETE From Buku Where KdBuku=’05002’
 Menghapus Semua data Buku
DELETE FROM BUKU
 Menghapus Data Buku Penerbitnya ‘Elex Media’ atau yang Tahun Terbitnya
‘2000’
DELETE FROM BUKU where Penerbit='Elex Media' OR
ThTerbit='2000'

Panduan Ringkas Belajar SQL Server 2000, 25


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Klik ikon [...] tentukan lokasi penyimpanan dan pada isian File Name. Isilah nama
file backup pada field File Name, misalnya akademik.bak (ekstensi bebas). Anda
juga bisa memilih lokasi yang lain. Klik [OK] 2x. Pilih opsi Overwrite existing
media lalu klik [OK] untuk memulai proses backup. Setelah selesai akan muncul
pemberitahuan The backup operation has been completed successfully.

Detach Database
Yang dimaksud dengan Detach Database adalah melepas ikatan sebuah database
dari system SQL Server. Sebelumnya perlu dijelaskan tentang “ikatan” ini. Dalam
system SQL Server, kernel (inti) SQL Server selalu memiliki catatan tentang object-
object yang dimilikinya, salah satunya adalah database. Informasi ini disimpan
dalam object-object system. Dengan demikian, sebuah database selalu terikat
dengan informasi kernel tersebut, sehingga kita tidak bisa sembarangan
menghapus file database (mdf nya) apalagi mengkopi file mdf ke folder C:\Program Perhatikan sekarang database akademik telah menghilang dari struktur folder SQL
Files\Microsoft SQL Server\MSSQL\data (jangan harap nama database tersebut Server. Selanjutnya, Anda bisa mengkopi file akademik_Data.mdf ke tempat lain
akan muncul di folder SQL Server). Nah, mulai SQL Server 2000, diperkenalkan sebagai file backup.
menu Detach Database yang dapat digunakan untuk melepaskan ikatan tersebut
secara aman. Generate SQL Script dan Export Data
Mekanisme backup terakhir ini sedikit lebih rumit. Pada Generate SQL Script, SQL
Berikut langkahnya: Server akan membuatkan perintah-perintah SQL pembentuk database dan table-
Klik kanan pada nama database (Pustaka) dan pilih menu All Tasks > Detach table. Hasilnya dapat disimpan ke file. Sehingga dengan bermodalkan file tersebut
Database Anda dapat membangun kembali struktur database dan object-objectnya secara utuh
seperti sedia kala. Tetapi tanpa record-recordnya. Nah untuk recordnya bisa
dilakukan dengan cara Export Data. Dengan demikian kedua-duanya sebaiknya
Anda kerjakan.

Berikut langkah Generate SQL Script :


Klik kanan nama database (Pustaka) dan pilih menu All Tasks > Generate SQL
Scripts

Klik [OK] untuk memulai proses Detach hingga muncul pemberitahuan Detaching
database has completed successfully.
Pada window yang muncul klik dulu [Show All]

Panduan Ringkas Belajar SQL Server 2000, 26


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Lanjutkan dengan proses Export Data :
Klik kanan database Akademik dan pilih menu All Tasks > Export Data. Klik
[Next] pada window yang muncul
Pilih opsi Script All Objects. Klik tab Options. Beri check pada opsi berikut:

Pada window selanjutnya, isilah Data Source dengan Microsoft OLE DB Provider
Klik [OK] kemudian isilah nama filenya missal pustaka.sql. Klik [Save] untuk for SQL Server, dan pada field Database pastikan database pustaka sudah
memulai proses. Tunggu hingga muncul message Scripting was completed terpilih.Klik [Next]
successfully.

File akademik.sql bisa dibuka dengan editor teks seperti notepad.

Panduan Ringkas Belajar SQL Server 2000, 27


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Di window selanjutnya kita harus menentukan format file hasil exportnya. SQL Klik [Select All] lalu klik [Next]. Pilih Run immediately (export akan langsung
Server 2000 bisa mengeksport ke berbagai format file. Sebaiknya pilihlah format file dikerjakan). Klik [Next] lalu [Finish]. Tunggu hingga muncul message Successfully
excel. Pilihlah Microsoft Excel 97-2000 pada field Destination. Pada isian File copied… dst
name ketikkan lokasi dan nama file excelnya. Nama file tersebut boleh file baru
atau file lama, tapi sebaiknya gunakan file baru agar hasil export tidak tumpuk
dengan yang lama (file xls yang lama hapus saja). Sebagai contoh isilah
E:\Adm BPDE\Bimtek\Pustaka.xls pada File name nya. Klik [Next]

Merestore database

Restore merupakan kebalikan dari proses backup. Yaitu mengembalikan struktur


basis data beserta record-recordnya yang dibaca dari file backup. Seperti halnya
proses backup, SQL Server 2000 memiliki 3 mekanisme restore, yaitu melalui menu
Pilih opsi Copy table(s) and view(s) from the source database. Artinya semua Restore, Execute SQL Script dan Import Data serta dengan menu Attach.
table dan view akan diexport (tentang view penjelasnnya menyusul). Klik [Next]
Sebelum merestore database akademik, hapus dulu database tersebut dengan
mengklik kanan pada database akademik lalu pilih Delete (jangan lupa
membackupnya dulu)

Menu Restore Database


Klik kanan pada folder Database, pilih menu All Tasks > Restore Database.

Klik pada nama database backupnya dan kemudian tekan [OK]. Tunggu hingga
muncul message Retore of database ‘PUSTAKA’ completed successfully.

Panduan Ringkas Belajar SQL Server 2000, 28


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh
Membuat User SQL Server

Untuk membuat user di SQL Server, buka folder Security dan klik kanan pada
Login lalu pilih New Login.

Pada dialog property SQL Server Authentication, artinya anda membuat user di
SQL Server yang terpisah dari account windows. Masukkan nama user misalnya
poedin, lalu pilih default database yaitu PUSTAKA. Artinya user tersebut diberi hak
akses ke database PUSTAKA. Selain itu juga dimasukkan pasword untuk user
tersebut.

Setelah pembuatan user selesai maka jika anda membuka database PUSTAKA dan
masuk ke icon user akan terlihat bahwa user poedin telah menjadi anggota di
database PUSTAKA.

Kemudian buka tab Database Access, dan tetapkan poedin sebagai database
owner untuk PUSTAKA. Karena user ini ditetapkan sebagai owner maka memiliki
hak penuh untuk merubah, membuat dan menghapus obyek di dalam database
PUSTAKA.

Panduan Ringkas Belajar SQL Server 2000, 29


Oleh Team Bimbingan Teknis Bidang PSI dan Teknologi Telematika Dishubkomintel Aceh

Anda mungkin juga menyukai