Sql Server (structured Query language)

Sql Server (structured Query language) adalah bahasa pemrograman yang digunakan untuk mengakses data dalam batas data regional.
secara umum sql terdiri dari dua bahasa yaitu :
1. Data Definition Language ( DDL )
2. Data Manipulation Language ( DML )


Data Definition Language (DDL)

Tabel dalam database adalah komponen utama yang membentuk database
itu sendiri. Baris(row) dan kolom (column) mengindikasikan data (record).Cara
untuk mengatur dan memanipulasi data pada database dilakukan dengan
bantuan instruksi SQL seperti SELECT, INSERT, UPDATE, DELETE. Instruksi
untuk membuat, mengubah, dan menghapus table dilakukan melalui DDL
yaitu dengan CREATE TABLE, ALTER TABLE, DROP TABLE

Data  Manipulation Language (DML)

DML digunakan untuk memanipulation data dalam suatu tabel 
Perintah umum yang sering digunakan :
Select untuk menampilkan data
Insert untuk menambah data baru
Update untuk mengubah data yang sudah ada
Delete untuk menghapus data 


TIPE DATA dalam SQL SERVER

char(n)  : Mendefinisikan string sepanjang n karakter. Bila n tidak
didefinisikan maka panjang karakter adalah 1.

varchar(n) : Mendefinisikan string sepanjang variabel n.

binnary(n) : Untuk menyimpan bit pattern seperti heksadecimal. Contoh :
0x0fa9008e

Datetime : Mendefinisikan tanggal, menyimpan tahun, bulan, hari, jam, menit,
detik dan seperseribu detik (milliseconds). Nilai tanggal sampai
dengan 31 desember 9999.

text : Menyimpan teks sampai dengan 2 GB. Text disebut juga dengan
binary large objects (BLOBs)

image : Mendefinisikan binary data untuk menyimpan image seperti GIF,
JPG, TIFF, dll.

money : Bilangan pecahan dengan 4 angka dibelakang koma. Digunakan
untuk perhitungan moneter.

smallint : Sama dengan int, membutuhkan 50% memory yang ditempati int.
int : Mendefinisikan integer, bilangan bulat yang menampung angka
sebanyak 4 byte.

float(n) : Mendefinisikan angka pecahan (floating point). Nilai n adalah
jumlah angka yang dapat ditampung . sysname

real(n) : sama dengan float namun menempati memory 50% dari float.

smalldatetime : sama dengan datetime hanya dengan presisi lebih kecil dimana satuan
waktu terkecil adalah menit dan nilai tanggal sampai dengan 6 juni
2079.
numeric(n,p) : Mendefinisikan angka pecahan baik fixed desimal ataupun floating
point. Nilai n adalah jumlah bytes total dan p adalah presisi angka
dibelakang koma. Numeric analog dengan DECIMAL(n,p).



INTEGRITAS DATA

Integritas data adalah konsistensi dan kebenaran data yang disimpan. Antara
kehidupan nyata dan nilai dari data harus dilindungi oleh system, agar mempunyai arti
yang sesuai.
Integritas data tetap dijaga melalui beberapa cara, antara lain :
- Validasi field secara individual
- Verifikasi satu field melalui field yang lainnya
- Validasi data dari satu table ke table yang lainnya.
- Verifikasi bahwa transaksi berjalan secara sukses dari awal hingga akhir

Beberapa jenis integritas data
1 Integritas Entitas
Dalam tabel setiap baris harus mempunyai identitas yang unik yang disebut
dengan primary key. Hubungan antara primary key dan foreign key menyatakan
apakah sebuah baris table dapat diubah atau di hapus.
Batasan :
- PRIMARY KEY
- UNIQUE KEY
- UNIQUE INDEX
- IDENTITY

2 Integritas Domain
 Menyatakan bahwa nilai data sesuai dengan kenyataannya. System dalam hal ini
melakukan CHECK sesuai dengan aturan (rule)yang berlaku.
Batasan dan implementasi :
- DEFAULT
- CHECK
- FOREIGN KEY
- Tipe data, default, rules

3 Integritas Referensial
 Menyatakan relasi antar table bahwa hubungan foreign key dengan primary key.
Sebuah foreign key tidak dapat dimasukkan kedalam sebuah table bila primary key tidak
atau belum ada.
Batasan dan implementasi :
- CHECK
- FOREIGN KEY
- TRIGGERS DAN STORE PROCEDURE

4 Integritas melalui aturan yang didefinisikan sendiri
Sesuai dengan aturan logika dan bisnis yang ada maka pemakai dapat menetapkan
batasan dan aturan dari data yang disimpan.
Batasan dan implementasi :
- Batasan melalui table dan kolom pada saat pembuatan table.
- FOREIGN KEY
- TRIGGERS DAN STORE PROCEDURE



 BAHASA PEMROGRAMAN SQL

1. PRIMARY KEY
Primary Key disebut sebagai constraint untuk menjaga integritas data, yaitu sebuah
primary key tidak boleh mempunyai duplikat dan otomatis tidak boleh kosong. Secara
umum syntax untuk membuat sebuah primary key adalah:
Atau jika primary key terdiri atas banyak kolom (multiple column), maka constraint
dapat dibuat sebagai berikut:

CREATE TABLE Nama_Tabel (Nama_Field Tipedata CONSTRAINT
pk_Namatabel PRIMARY KEY, … )
CREATE TABLE NamaTabel(NamaField1 TipeData1, NamaField2
TipeData2, NamaField3 TipeData3, NamaField4 TipeData4, NamaField5
TipeData5, NamaField6 TipeData6, NamaField7 TipeData7, CONSTRAINT
pk_NamaTabel PRIMARY KEY (NamaField3, NamaField2, NamaField7) )

2. NOT NULL
Jika sebuat kolom pada tabel tidak boleh kosong maka constraint NOT NULL harus
diberikan.

3. UNIQUE
UNIQUE digunakan untuk menjamin bahwa nilai kolom adalah tunggal tidak
mempunyai duplikat. Primary key dan unique keduanya adalah kunci kata yang
mempunyai arti sama.
Ms.SQL Server mengijinkan field dengan constraint unique untuk mempunyai nilai
NULL. Bila satu kolom mempunyai nilai NULL, maka nilai NULL tidak boleh muncul
lagi. Primary key sebaliknya tidak boleh kosong karena primary key secara implicit
adalah NOT NULL.

4. CHECK
CHECK digunakan untuk menjamin bahwa nilai kolom dalah dalam ruang nilai
tertentu. Misalnya nilai mata kuliah dibatasi tidak boleh melebihi nilai 100.
Operator logika seperti AND, OR, dan NOT dapat disertakan dalam pembuatan
batasan ini.

5. FOREIGN KEY
FOREIGN KEY adalah kolom pada sebuah tabel yang menunjukkan bahwa kolom
tersebut adalah primary key pada tabel lain.

6. DEFAULT
Nilai default sebuah kolom dapat disuplai oleh system, jika pemakai tidak memberikan
nilai pada field tersebut. DEFAULT tidak berlaku untuk kolom dengan tipe data
timestamp atau field yang mempunyai property IDENTITY.

7. IDENTITY
IDENTITY merupakan property sebuah field, yaitu system menciptakan nomor urut
secara otomatis pada setiap memasukkan record baru.