2.2. Database SQL Server
MS SQL Server adalah salah satu produk Relational Database Management System RDBMS. Fungsi utamanya adalah sebagai database server
yang mengatur semua proses penyimpanan data dan transaksi suatu aplikasi. Popularitas SQL Server akhir-akhir ini mulai menanjak dan setara dengan pesaing
terdekatnya yaitu Oracle 9i dan Oracle 10g.
Structured Query Language SQL merupakan bahasa yang banyak digunakan dalam berbagai produk database. SQL dibangun di laboratorium IBM-
San Jose California sekitar akhir tahun 70-an. Pertama kali dikembangkan sebagai bahasa di produk database DB2 yang sampai saat ini merupakan produk database
andalan IBM. SQL sering di lafalkan dengan “sequel”. Saat ini organisasi standar America ANSI menetapkan standar bahasa SQL yaitu ANSI-92 standard.
Masing-masing vendor database memiliki dialeknya sendiri sebagaian besar spesifikasinya mengacu pada standar ANSI tersebut dengan berbagai ekstensi
tambahan. SQL Server menggunakan bahasa Transact-SQL dalam produknya, sedangkan Oracle menggunakan PLSQL.
Database NorthWind yang merupakan database sampel di SQL Server sebagai sarana latihan. Tools yang digunakan adalah Query Analyzer, yang dapat
diakses dari menu Start Program Microsoft SQL Server Query Analyzer.
2.2.1. Sejarah SQL
Saat ini versi terbaru adalah SQL Server 2000, sedangkan SQL Server 2005 masih dalam tahap Beta version. Versi 2000 memiliki feature-feature
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
lengkap untuk membangun aplikasi mulai skala kecil sampai dengan tingkat enterprise.
SQL Server 2000 memiliki beberapa versi antara lain :
1. SQL Server Personal Edition
2. SQL Server Developer Edition
3. SQL Server Enterprise Edition
4. SQL Server Standard Edition
5. SQL Server Desktop Engine
6. SQL Server for Windows CE Edition
Masing masing versi memiliki perbedaan dalam hal maksimum ukuran database, RAM, jumlah koneksi serta berbagai feature lanjutan. Versi Personal,
Developer, dan Desktop dapat di install di OS Desktop seperti Windows 2000 Professioanal dan Xp sedangkan versi Enterprise dan Standard hanya dapat di
instal di Windows 20002003 Server serta NT Server. Versi Windows CE biasa digunakan untuk PDA dan Pocket PC Amri, M.Choiril; 2003: 1-2.
2.2.2. Interface SQL Server
Interface SQL Server ada 3 interface utama saat bekerja dengan SQL Server. Enteprise Manager merupakan salah satu tools yang terdapat pada SQL
Server 2000. Program ini digunakan untuk melakukan hal-hal yang berkaitan dengan manajemen database SQL Server, seperti pembuatan database dan
table, melihat record, menghapus record dan
seterusnya. Enterprise Manager merupakan interface utama dan paling sering
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
digunakan oleh administrator database. Bagian ini mengandung sebagaian besar fungsi-fungsi pokok dalam mengatur database.
Gambar 2.1 Enterprise Manager
Di dalam folder database ditampilkan berbagai database yang ada. Database master, model, msdb, dan tempdb merupakan default system database yang
diperlukan agar SQL Server dapat berfungsi baik. Keempat database ini tidak boleh dihapus ataupun dimodifikasi tanpa pengetahuan yang mencukupi tentang
sistem SQL Server. Sedangkan NorthWind dan pubs adalah database sampel yang dapat digunakan untuk berlatih perintah SQL maupun administration job. Dalam
folder Security terdapat tool login yang berisi daftar user di dalam database di bagian ini semua manajemen menyangkut user account dilakukan.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.2.3 Query Analyser
Query Analyser tool in merupakan interface utama dalam melakukan pemrograman di SQL Server. Bahasa yang digunakan adalah Transact SQL T-
SQL. Dalam membuat perintah untuk mengambil data, sortir, manipulasi data serta melakukan perhitungan tertentu terhadap sekumpulan data dalam database.
Script yang telah dibuat dapat disimpan sebagai View ataupun Stored Procedure, sesuai dengan kebutuhan dalam pembuatan aplikasi.
Gambar 2.2 Query Analyser
Di dalam Query Analyser juga tersedia tool lain, misalnya yang digunakan untuk menganalis performa sebuah query dan mencari alternatif agar query tersebut
dapat lebih dioptimalkan. Apabila toolbar Estimated Execution Plan diaktifkan maka ditampilkan estimasi waktu dan urutan eksekusi sebuah perintah.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Query Analyser juga dapat digunakan untuk membuat script sebuah database maupun obyek-obyek di dalamnya. Script ini selanjutnya dapat
dijalankan di server lain untuk membuat database yang serupa, atau digunakan dalam sebuah aplikasi untuk mendukung pemrograman. Caranya adalah klik
kanan sebuah obyek, dan pilih Script to New Windows.
2.2.4. Syntax Dasar SQL
Dalam membuat basis data, SQL server harus sudah dalam keadaan berjalan atau running. Basis data dibuat dengan menggunakan perintah SQL
“CREATE DATABASE”. Berikut ini contoh sebuah script untuk membuat tabel Customers di dalam database NorthWind membuat tabel creating tables.
Contoh pembuatan tabel :
CREATE TABLE nama_tabel nama_kolom tipe_datapanjang_data
[UNIQUE] [NOT NUL] [PRIMARY KEY] [DEFAULTnilai_default] [referential_constraint_defenition]
[CHECKconstraint_defenotion], nama_kolom tipe_datapanjang_data
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULTnilai] [referential_constraint_defenition]
[CHECKconstraint_defenition], . . .;
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Keterangan : Unique; Pada kolom tersebut tidak boleh ada data yang sama
Not Null; tidak boleh data pada kolom tersebut bernilai null Unique dan Not Null; kolom tersebut dapat dijadikan primary key.
Default; nilai default yang secara otomatis akan mengisi kolom dengan data default tersebut setiap operasi insert dilakukan.
Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key terhadap tabel lain dengan syntax :
FOREIGN KEY nama_kolom REFERENCES nama_tabel
Contoh :
CREATE TABLE Pelajar No_Induk CHAR8,
Nama CHAR20, Tgl_Lahir DATE,
Kelas CHAR2 ;
CREATE TABLE Mata_Pelajaran
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Kode CHAR4, Nama CHAR20,
Kelas CHAR2; CREATE TABLE Nilai
No_Induk CHAR8, Kode CHAR4,
Nl_Angka Number ;
Mengubah tabel Altering tables
Syntax
ALTER TABLE nama_tabel [ ADD nama_kolom
tipe_datapanjang_data, . . . ; ] [ MODIFY nama_kolom
tipe_datapanjang_data, . . .; ] Keterangan
Add : Penambahan kolom baru.
Modify : Mengubah kolom yang sudah ada sebelumnya.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Contoh :
ALTER TABLE Pelajar
ADD Jenis_Kelamin CHAR10;
Menghapus tabel Dropping tables
Syntax
DROP TABLE nama_tabel
DROP INDEX nama_index
Contoh :
DROP TABLE Pelajar;
DROP INDEX nm;
Penyisipan data Inserting
Syntax
INSERT INTO nama_tabel [nama_kolom1,nama_kolom2, . . . nama_kolomN]
VALUES
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
nilai_kolom1,nilai_kolom2, . . . nilai_kolomN;
Contoh :
DROP TABLE Pelajar CASCADE CONSTRAINTS;
CREATE TABLE Pelajar
No_Induk CHAR8 PRIMARY KEY,
Nama CHAR20,
Tgl_Lahir DATE,
Kelas CHAR2
;
INSERT INTO Pelajar
VALUES ‘00311217’,’Wempi Satria’,’02-JAN-1982’,’1’,’Laki-laki’;
INSERT INTO Pelajar
VALUES ‘00311211’,’Wempi,’03-MAR -1982’,’1’,’Laki-laki’;
INSERT INTO Pelajar
VALUES ‘00311210’,’Satria’,’12-DEC -1982’,’1’,’Perempuan’;
Mengubah data Updating
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Syntax
UPDATE nama_tabel
SET nama_kolom1= ‘nilai_kolom1’,
nama_kolom2= ‘nilai_kolom2’, . . . ,
nama_kolomN= ‘nilai_kolomN’
[WHERE kondisi];
Contoh :
UPDATE Pelajar
SET No_Induk = ‘00311216’ ,Nama = ‘Wati’
WHERE No_Induk =’00311210’ and Nama = ‘Satria’;
Menghapus data Deletion
Syntax
DELETE FROM nama_tabel
WHERE kondisi;
Contoh :
DELETE FROM Pelajar
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
WHERE No_Induk = ‘00311211’;
Seleksi data Selection
Syntax
SELECT [] [kolom1, kolom2, . . ., kolomN]
[alias.kolom1, alias.kolom2, . . . , alias.kolomN]
FROM nama_tabel
WHERE kondisi
[AND kondisi]
[AND MONTH_BETWEEN kondisi;
Contoh :
SELECT FROM Pelajar;
SELECT a.No_Induk, a.Nama, b.Kode, b.Nama, c.Nl_Angka
FROM Pelajar a, Mata_Pelajaran b, Nilai c;
WHERE a.No_Induk=c.No_Induk and b.Kode=c.kode;
2.3. Program Delphi