Dasar Teori Basis Data dan Microsoft SQL Server
1. Dasar Teori
Basis
Data
Basis data adalah kumpulan data yang
saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa
pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai
kebutuhan. Basis data bisa dibayangkan sebagai lemari
arsip dengan berbagai cara pengaturannya. Basis data dan lemari arsip memiliki
prinsip kerja dan tujuan yang sama; prinsipnya yakni pengaturan data/arsip.
Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali
data/arsip.
Apa yang dimaksud dengan model data?
Model
data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data,
hubungannya satu sama lain, semantiknya, serta batasan konsistensi.
Model-Model Data ada 5 yaitu:
Ø Model Hirarkis (Hierarchical Model)
Ø Model Jaringan (Network Model)
Ø Model Relasional (Relational Model)
Ø Model Relasi Entitas (Entity-Relationship Model)
Ø Model Berbasis Objek (Object Oriented Model)
Model
Relasi Entitas (Entity-Relationship Model)
Merupakan suatu model untuk menjelaskan
hubungan antar data dalam basis data yang berdasarkan suatu persepsi bahwa di
dunia nyata terdiri dari object-object dasar yang memiliki hubungan atau relasi
dari object-object tersebut. Model
Relasi-Entitas atau (Entity Relationship Model) pada hakekatnya perwujudan dari
model relasional dalam bentuk diagram, yaitu
E-R Diagram. Domain data disebut
juga sebagai himpunan entitas, diwakili oleh diagram kotak. Field-data atau
atribut diwakili oleh diagram
lingkaran atau ellips. Hubungan atau relasi antar domain
diwakili oleh jajaran-genjang.
Entity
dalam E-R diagram dibedakan menjadi 2 yaitu :
Ø Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya
tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat
selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut
tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk
membedakannya dari entitas kuat yang lain).
Ø Weak entity (entitas lemah) : entitas yang keberadaannya sangat
bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki
arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa
kehadiran entitas di mana mereka bergantung.
Entitas
di mana entitas lemah bergantung dinamakan
identifying owner.Entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam
diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi
secara sebagian).
Mengapa jika terdapat set
entitas yang sama muncul beberapa kali dalam satu set ER-Diagram ini harus
dihindari?
Ø Untuk menghindari redundancy
Ø Menghemat penyimpanan (storage) data
Ø Mengurangi efektifitas dan kecepatan akses
Ø Untuk menghindari terjadinya asinkronisasi data pada saat diupdate
Participation Constraint (Batasan
Partisipasi) ini menentukan apakah keberadaan sebuah entitas tergantung pada
hubungannya ke entitas lain melalui jenis relasinya.
Participation
Constraint ada 2 yaitu :
Ø Total constraint adalah constraint yang mana data dalam entitas yang
memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari
relasinya.
Ø Constraint partial adalah constraint yang mana data dalam entitas yang
memiliki constraint tersebut terhubung
ke dalam entitas dari relasinya.
Derajat
Kardinalitas Relasi
Kardinalitas
relasi menunjukkan jumlah maksimum data entitas yang dapat berelasi dengan
entitas lain.
Relasi satu :
Ø Entity 1 to entity 2 : kardinalitas : one to many dengan detail minimal
0 dan maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling
ketergantungan.
Ø Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal
1 dan maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling
ketergantungan.
Relasi
dua :
Ø Entity 3 to entity 4 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi :
entitas 3 dan entitas 4 tidak saling
ketergantungan.
Ø Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal
1 maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.
Relasi
tiga:
Ø Entity 5 to entity 6 dan Entity 6 to entity 5 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan.
Relasi
empat:
Ø Entity 7 to entity 8 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas
7 dan entitas 8 tidak saling
ketergantungan.
Ø Entity 8 ke entity 7 : kardinalitas :
one to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 8
dan entitas 7 tidak saling ketergantungan.
Relasi lima:
Ø Entity 9 to entity 10 : kardinalitas : many to many dengan detail minimal 0 maksimalnya banyak. Dependensi :
entitas 9 dan entitas 10 tidak saling ketergantungan.
Ø Entity 10 ke entity 9 : kardinalitas : many to many dengan detail
minimal 1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling
ketergantungan.
Relasi
enam:
Ø Entity 13 to entity 14 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi :
entitas 13 menjadi parent dari entitas 14.
Ø Entity14 ke entity 13 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13.
2.
Tentang Microsoft SQL Server
Microsoft SQL Server diperkenalkan pada tahun 1990 untuk platform Microsoft OS/2 dalam kerjasamanya dengan Sybase. Produk ini berasal dari Sybase SQL Server 4.x untuk platform Unix. Dengan adanya Windows NT, muncul inisiatif untuk membangun SQL Server versi Windows NT sehingga dihasilkan Microsoft SQL Server versi 4.2 untuk platform Windows NT. Kerjasama dengan Sybase masih berlanjut dan diluncurkan SQL Server 6.0 pada tahun 1995 dan setahun kemudian SQL Server versi 6.5 diluncurkan.
SQL Server 6.5 memperbarui kemampuan transaksi dan menjadi produk database client/server yang banyak dipakai pada platform Windows NT. Untuk memenuhi kebutuhan pengguna yang makin meningkat, maka SQL Server perlu didisain ulang dan kerjasama dengan Sybase dihentikan. Kemudian Microsoft mengembangkan SQL Server 7.0 yang difokuskan pada tiga area yaitu : easy to use, scalability dan data warehousing. Pada tahun 2000, kemudian Microsoft meluncurkan SQL Server 2000, hingga sampai sekarang Microsoft terus meluncurkan SQL Server versi terbaru untuk mengikuti perkembangan kemajuan teknologi.
A.
Tipe Data
Data
yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut.
Nilai data dalam field memiliki tipe sendiri-sendiri. SQL Server mengenal
beberapa tipe data field yaitu :
1. Tipe data numerik
Tipe data numerik dibedakan dalam dua
macam kelompok, yaitu integer dan floating
point. Integer digunakan untuk data bilangan bulat sedangkan floating point
digunakan untuk bilangan desimal.
2. Tipe
data string
String adalah
rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data string dapat dilihat
pada tabel 1.1 berikut:
Tabel 1.1 Tipe Data String
Tipe Data |
Kisaran Nilai |
CHAR |
1 -255 karakter |
VARCHAR |
255
karakter |
TINYTEXT |
255
karakter |
TEXT |
65535
karakter |
MEDIUMTEXT |
16777215
karakter |
LONGTEXT |
424967295
karakter |
3. Tipe data char() dan varchar()
Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya
terletak pada jumlah memori yang dibutuhkan untuk penyimpanannya. Memori yang
dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada
berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan.
Pada tipe data varchar() besarnya memori penyimpanan tergantung pada jumlah
karakter ditambah 1 byte, dapat dilihat pada tabel 1.2 berikut ini:
Tabel 1.2 Letak Perbedaan Jumlah Memori
Nilai |
Char(4) |
Memori
Penyimpanan |
Varchar
(4) |
Memori
Penyimpanan |
“” |
“” |
4
bytes |
“” |
1
byte |
’ab’ |
’ab’ |
4
bytes |
’ab’ |
3
bytes |
’abed’ |
’abed’ |
4
bytes |
’abed’ |
5
bytes |
’abedefgh’ |
’abed’ |
4
bytes |
’abed’ |
Bytes |
4. Tipe data tanggal
Untuk tanggal dan jam,
tersedia tipe-tipe data field berupa DATETIME, DATE, TIMESTAMP, TIME dan YEAR.
Masing-masing tipe mempunyai kisaran nilai tertentu. SQL Server akan memberikan
peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah.
Kisaran nilai dan besar memori penyimpanan
yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel 1.3
berikut ini:
Tabel 1.3 Tipe Data Tanggal
Tipe Data |
Kisaran
Nilai |
Memori
Penyimpanan |
DATETIME |
1000-01-01
00:00 sampai 9999-12-31 23:59:59 |
3
byte |
DATE |
1000-01-01
sampai 9999-12-31 |
8
byte |
TIMESTAMP |
1970-01-01
00:00:00 sampai 2037 |
4
byte |
TIME |
-839:59:59
sampai 838:59:59 |
3 byte |
YEAR(2) |
00 sampai 99 |
1 byte |
YEAR(4) |
1901 sampai 2155 |
1 byte |
B. Operator
SQL Server
SQL Server
mendukung penggunaan operator-operator dan
fungsi-fungsi diantaranya:
1.
Operator Aritmetika
Suatu
ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan tanggal (DATE)
menggunakan ekspresi aritmatika. Dapat dilihat pada tabel 1.4 berikut ini:
Tabel 1.4 Operator aritmatika SQL Server
Operator |
Keterangan |
+ |
Tambah |
- |
Kurang |
* |
Kali |
/ |
Bagi |
Mod () |
Modulus |
2.
Operator Pembandingan
Suatu
ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax sebagai
berikut: WHERE expr operator value. Tabel 1.5 menunjukanoperator pembanding
pada SQL Server berikut ini:
Tabel 1.5 Operator Pembanding SQL Server
Operator |
Keterangan |
= |
Sama Dengan |
> |
Lebih Besar |
< |
Lebih Kecil |
>= |
Lebih Besar atau Sama Dengan |
<= |
Lebih Kecil atau Sama Dengan |
<> |
Tidak Sama Dengan |
3.
Operator Logika
Operator
ini digunakan untuk membandingkan dua nilai variabel yang bertipe boolean.
4.
Operator Karakter
Operator
untuk membentuk pencarian string yang sesuai dengan nilai yang mencantumkan
pada kondisi. Kondisi pencarian dapat berisi karakter , ada 3 symbol khusus
berikut ini dapat dilihat pada tabel 1.6 berikut ini:
Tabel 1.6 Tabel Operator Karakter
Operator |
Keterangan |
% |
Sembarang karakter berapapun
jumlahnya |
_ |
Sembarang satu karakter |
[] |
Sembarang karakter yang terletak dalam kurung siku |
5.
Operator Lain-lain
Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list
(tanda kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu
jangkauan (range) nilai. Ada 2 symbol
tersebut dapat dilihat pada tabel 1.7 berikut ini:
Tabel 1.7 Operator lain-lain
Operator |
Keterangan |
IN |
Dalam |
BETWEEN |
Diantara |
·
Kegiatan Praktikum :
1.
Jalankan file setup sql server 2008, maka akan muncul dialog instalasi
sebagai berikut :
Gambar 1. Setup instalansi Sql Server
2008
2.
Pilih icon new installation, kemudian muncul dialog sebagai berikut :
Gambar 2. Setup instalansi Sql Server
2008 License Terms
3.
Pilih tombol Next. Kemudian tampil dialog fitur konfigurasi
sebagai berikut :
Gambar 3. Setup instalansi Sql Server
2008 Configuration
4.
Pilih tombol Next. Kemudian tampil dialog fitur server konfigurasi sebagai berikut :
Gambar 4. Setup instalansi Sql Server
2008 Server Configuration
5.
Pilih tombol Next. Kemudian tampil dialog fitur Database Engine Configuration sebagai berikut :
Gambar 5. Setup instalansi Sql Server
2008 Database Engine Configuration
6.
Pilih tombol Next. Kemudian tampil dialog fitur Error Reporting sebagai berikut :
Gambar 6. Setup instalansi Sql Server
2008 Error Reporting
7.
Pilih tombol Next, hingga proses instalansi komplit, sampai tampil dialog fitur Complete sebagai berikut :
Gambar 7. Setup instalansi Sql Server
2008 Complete
8.
Melakukan
koneksi ke SQL Server sebagai berikut, Pilih tombol Connect :
Gambar 8. Koneksi ke SQL Server
9.
Sampai
tampil, tampilan berikut
:
Gambar 9. Layar Kerja Tampilan SQL Server
Latihan 1 : Membuat
Database
Dari hasil desain
praktikum modul 1, buat database kepegawaian menggunakan database SQL Server
dengan perintah: create database
namadatabase;
Misalkan anda ketikkan :
create database
kepegawaian;
Untuk memilih dan
membuka database dapat menggunakan perintah berikut ini:
use
namadatabase; Contoh:
use kepegawaian;
Untuk
menampilkan database dapat menggunakan perintah berikut :
Show databases;
Latihan 2 : Menghapus Database
Untuk menghapus database
menggunakan perintah berikut :
DROP DATABASE namadatabase;
Database
yang akan dihapus sesuai dengan namadatabase. Contoh :
DROP DATABASE kepegawaian;
Latihan 3 : Membuat
Tabel
Sebelum membuat suatu
tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif
yang akan digunakan untuk menyimpan tabel-tabel dengan menggunakan syntax : USE
namadatabase; Syntax membuat table :
CREATE TABLE namatabel
(
Field1 TipeData1,
Field2 TipeData2
);
namatabel
tidak boleh mengandung
spasi (space). Field1
dan TipeData1 merupakan nama
kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel
dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya
diberikan tanda koma (,). Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm)
syntaxnya adalah :
DESC namatabel;
Contoh :
DESC
pegawai;
Komentar
Posting Komentar