Loading
Selamat Datang di Waroeng PakDe College Blog's

Sekapur Sirih

Mohon beri Masukan, Saran, dan Kritikan mengenai isi kontens posting Blogspot ini, dan kalau diperlukan diharapkan kerjasama Anda dalam mengisi kontens posting Blogspot ini.
Terima kasih atas perhatian dan kerjasamanya
Admin - waroengpakde

Jumat, Desember 05, 2008

Tutorial SQL Server 2000

Gambaran SQL Server 2000

SQL Server 2000 terbagi dalam 2 bagian besar, yaitu DDL (Data Definition Leangue) dan DML (Data Manipulation Leangue).



<!--[if !supportLists]-->
<!--[endif]-->DDL mendefinisikan Struktur Basis Data, seperti pembuatan Basis Data, pembuatan table, dsb.

<!--[if !supportLists]-->
<!--[endif]-->DML merupakan bagian untuk memanipulasi basis data, seperti : pengaksesan data, menghapusan, menambahan, dan pengubahan data.

Sama seperti yang dimaksud diatas SQL Server 2000 menyediakan dua service (pelayanan) utama, yaitu

<!--[if !supportLists]-->
<!--[endif]-->Pelayanan untuk proses penyimpanan data.

<!--[if !supportLists]-->
<!--[endif]-->Pelayanan untuk proses analisa data.

Pelayanan Penyimpanan Data(Data Storage Service)

merupakan relational database engine yang modern memiliki scalable dan reliable yang tinggi

mendukung group database server, kapasitas penyimpanan data mampu mendukung ukuran hingga terabyte, dan bisa diakses oleh ribuan user dalam waktu yang bersamaan.

Engine ini mempunyai sistem security yang tinggi. Login authentication dapat diintegrasikan dengan windows authentication, oleh karena itu tidak ada password yang tersimpan dalam SQL server dan tidak ada password yang dikirim antar jaringan sehingga password ini tidak bisa dibaca oleh shiffer.

Engine ini dilengkapi dengan set up C2-level yang akan mengaudit semua user yang sedang mengakses database, engine ini menggunakan Secure Socket Layer (SSL) encryption, yang berfungsi untuk meng-encrypt semua data yang ditransfer dari aplikasi ke database.

Pelayanan Analisa Data (Analysis Data Service)

Microsoft SQL Server 2000 analysis service menyediakan tool untuk menganalisa data warehouses dan data mart. Proses analytical seperti membuat summary report dapat diambil dari OLTP sistem yang secara periodik membuat summary dan menyimpan data warehouse atau data mart.

Scalability and availability

SQL Server 2000 dapat digunakan untuk berbagai macam platform Microsoft Windows, mulai dari laptop yang menggunakan operating system Windows 98 sampai dengan server multiprocessor menggunakan operating system Windows 2000 Data Center Edition.

Enterprise-Level Database Features.

Berbeda dengan versi sebelumnya, SQL Server 2000 dapat dikoneksi dengan lebih dari satu database. RDBMS ini mampu mengatur ribuan user yang sedang mengakses database dalam waktu yang bersamaan.

Database

Database mirip dengan data file yang digunakan untuk tempat penyimpanan data. Seperti data file, database tidak menyajikan data secara langsung ke user akan tetapi, user akan mengakses data melalui aplikasi dengan format tertentu.

DBMS ini terdapat fasilitas :

<!--[if !supportLists]-->
<!--[endif]-->
Mengatur relationship (hubungan) antar data.

<!--[if !supportLists]-->
<!--[endif]-->
Memastikan bahwa data disimpan dengan benar.

<!--[if !supportLists]-->
<!--[endif]-->
Recovery data secara konsisten ketika sistem rusak.

Relational Database

Relational database merupakan sekumpulan teori matematika yang berisi perhitungan-perhitungan untuk menyelesaikan permasalahan dalam pengorganisasian data. Dalam relational database data dikumpulkan dalam table.

Table itu sendiri terdiri dari kolom (column) dan baris (row), atau dalam teori relational disebut attribute dan tuple.



Arsitektur Database

Pada dasarnya arsitektur database dalam SQL Server terbagi menjadi dua kelompok yaitu :

<!--[if !supportLists]-->
<!--[endif]-->
Logical Database Component

<!--[if !supportLists]-->
<!--[endif]-->
Physical Database Architecture

Data pada SQL Server 2000 disimpan dalam database, data dalam database tersebut diorganisasikan dalam logical database component. Secara fisik data tersebut tersimpan dalam beberapa file pada harddisk, namun physical file tersebut tidak diperlihatkan ke user dan hanya logical database component saja yang bisa diakses oleh user. Jadi ketika bekerja dengan SQL Server, user hanya bekerja dengan logical database component seperti table, view, stored procedure dan sebagainya.

Arsitektur Client/Server

Pada dasarnya sistem database client-server terdiri dari dua komponen yaitu:

<!--[if !supportLists]-->
<!--[endif]-->
Program yang menyediakan interface untuk client.

<!--[if !supportLists]-->
<!--[endif]-->
Database yang digunakan untuk mengolah dan menyimpan data di server.

Definisi Table

Table adalah sebuah object pada database yang digunakan untuk menyimpan semua data. Dalam sebuah table, data dikelompokkan menjadi baris (Row) dan kolom(Column) ini mirip seperti spreadsheet. Masing-masing row direprensentasikan sebagai unique record, sedangkan kolom direpresentasikan sebagai field.

Normalization

Tugas database desainer adalah merancang data yang terstruktur dengan cara menghilangkan duplikasi data, dan melayani cara pencarian data dengan cepat untuk memenuhi semua kebutuhan informasi. Proses penyaringan table, key, column dan relationship untuk membangun database yang efisien disebut normalization.

Manfaat normalization adalah :

<!--[if !supportLists]-->
<!--[endif]-->
Data integrity (karena tidak ada redundansi data).

<!--[if !supportLists]-->
<!--[endif]-->
Optimized queries (karena normalization menghasilkan table yang terstruktur sehingga proses join /penggabungan table lebih efisien).

<!--[if !supportLists]-->
<!--[endif]-->
Faster index creation and sorting (karena table mempunyai kolom yang sedikit).

<!--[if !supportLists]-->
<!--[endif]-->
Faster UPDATE performance (karena per table mempunyai index yang sedikit).

<!--[if !supportLists]-->
<!--[endif]-->
Improved concurrency resolution (karena proses locking table hanya mempengaruhi data yang kecil).

Contoh A:

Misalkan anda merancang form penjualan dengan model seperti dibawah ini.

NOTA

0001

Date

06/30/2004

Sales_Code

SL-01

Sales Name

John Smith

Code

Name

Price

QTY

Total

PC-01

PC

1000

1

1000

MS-01

Mouse

2

3

6

KB-01

Keyboard

5

3

15

TOTAL

1021

Dari contoh form diatas, jika dijadikan table maka akan menjadi seperti dibawah ini

Nota

Date

Sales

Code

Name

Price

Qty

0001

06/30/2004

John Smith

PC-01

PC

1000

1

0001

06/30/2004

John Smith

MS-01

Mouse

2

3

0001

06/30/2004

John Smith

KB-01

Keyboard

5

4

Dari table diatas dapat dapat anda lihat data Nota, Date dan Sales disimpan berulang-ulang sehingga terdapat beberapa redundansi data Nota, Date dan Sales. Jika anda menemui table seperti diatas, maka table tersebut termasuk golongan table tidak normal. Mengapa table diatas termasuk golongan table yang tidak normal? Saya ambil contoh kasus, misalkan anda ingin mengganti data date yang semula 06/30/2004 menjadi 08/06/2004, apa yang terjadi? Anda harus mengganti sebanyak 3 kali. Itu kalau datanya hanya 3 seandainya anda memiliki 100 data seperti diatas, maka anda harus menggati datanya sebanyak 100 kali. Begitu juga dengan Nota dan Sales.

Solusi dari kasus diatas adalah anda sebaiknya memecah table tersebut menjadi 2. Model pemecahan table bisa anda lihat seperti dibawah ini:

Table Header:

NOTA(PK)

Date

Sales

0001

06/30/2004

John Smith

0002

07/01/2004

Andrew

Table Detail

Nota(PF)

Code(PK)

Name

Price

QTY

Total

0001

PC-01

PC

1000

1

1000

0001

MS-01

Mouse

2

3

6

0001

KB-01

Keyboard

5

4

5

0002

MS-01

Mouse

3

3

9

0002

MON-01

Monitor

50

1

50

PK dalam table header adalah Primary key yang digunakan sebagai kunci yang membedakan antara record satu dengan record yang lain.

Coba anda lihat lagi contoh diatas, Nota 0001 pada table header sejumlah 1 sedangkan NOTA di table detail sejumlah 3. Jadi pola relationship table diatas dinamakan One-to-Many, hal ini dikarenakan satu data pada table header diturunkan menjadi banyak data di table detail.

CREATE DATABASE db_praktikum

ON

(NAME = praktikum_dat,

FILENAME = 'D:\PRAKTKUM\SQL_SERVER\praktikumdat.mdf',

SIZE = 10MB,

MAXSIZE = 50,

FILEGROWTH = 5)

LOG ON

(NAME = praktikum_log,

FILENAME = 'D:\PRAKTKUM\SQL_SERVER\praktikumlog.ldf',

SIZE = 5MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB)

GO

USE db_praktikum;

CREATE TABLE tb_mhs

(

id_mhs int not null,

nama char(15) not null,

alamat char (30) not null,

tgl_lahir datetime not null,

CONSTRAINT PK_IDmhs PRIMARY KEY (id_mhs)

)

go

select * from tb_mhs;

insert into tb_mhs (id_mhs,nama,alamat,tgl_lahir) VALUES ('1′,'BONE','KEBEL 2 A','12-08-2008′);

Tipe Data

Pada SQL Server, masing-masing column, local variable, ekspresi dan parameter memerlukan tipe data. SQL Server menyediakan sekumpulan system data type, yang mendefininisikan semua tipe data yang digunakan. Selain tipe data standard SQL Server juga menyediakan user-define data type (tipe data yang didefinisikan sendiri oleh user), dimana user-define type ini merupakan alias dari tipe data standard. Berikut ini sekumpulan tipe data yang disediakan oleh SQL Server

Exact Numerics (Angka Bulat)

Integers

bigint

Integer (angka bulat) dapat menampung data mulai dari -2^63 (-9223372036854775808) sampai dengan 2^63-1 (9223372036854775807).

int

menampung data berupa angka bulat mulai dari -2^31 (-2,147,483,648) sampai dengan 2^31 - 1 (2,147,483,647).

smallint

menampung angka bulat mulai dari 2^15 (-32,768) sampai dengan 2^15 - 1 (32,767).

tinyint

menampung angka bulat dari 0 sampai 255.

bit

bit

menampung data angka 1 atau 0.


decimal and numeric

decimal

Menampung data bulat maupun pecahan mulai dari -10^38 +1 sampai dengan

10^38 –1.

numeric

Mirip dengan decimal.

money and smallmoney

money

Menampung data Monetary mulai -2^63 (-922,337,203,685,477.5808) sampai dengan 2^63 - 1 (+922,337,203,685,477.5807), akurasi data sampai dengaan 10 ribu digit mata uang.

smallmoney

Menampung data Monetary mulai -214,748.3648 sampai dengan +214,748.3647, akurasi data sampai 10 ribu digit mata uang.

Approximate Numerics (Angka Pecahan)

float

menampung angka pecahan mulai dari -1.79E + 308 sampai dengan 1.79E + 308.

real

menampung angka pecahan mulai dari -3.40E + 38 sampai dengan 3.40E + 38.

datetime and smalldatetime

datetime

menampung data berupa tanggal mulai dari 1 Januari 1753, sampai dengan 31 Desember 9999, dengan akurasi 3 ribu detik atau 3.33 milliseconds.

smalldatetime

Menampung data mulai 1 Januari 1900 sampai dengan 6 Juni 2079, dengan akurasi 1 menit.

Character Strings

char

Menampung data karakter non-Unicode dengan panjang maksimum 8000 karakter.

varchar

Menampung data karakter non-Unicode dengan panjang maksimum 8000 karakter.

text

Menampung data karakter non-Unicode dengan panjang maksimum 2^31 - 1 (2,147,483,647) karakter.

Unicode Character Strings

nchar

Menampung data karakter Unicode dengan panjang maximum 4.000 karakter.

nvarchar

Menampung data karakter Unicode dengan panjang maximum 4.000 karakter.

ntext

Menampung data karakter Unicode dengan panjang maximum 2^30 - 1 (1,073,741,823) karakter.

Binary Strings

binary

Menampung data binary dengan panjang maximum 8.000 byte.

varbinary

Menampung data binary dengan panjang maximum 8.000 byte.

image

Menampung data binary dengan panjang maximum 2^31 - 1 (2,147,483,647) byte, data tipe ini digunakan untuk menyimpan data gambar (bmp, JPeg, Gif).

Other Data Types

timestamp

Merupakan nomor unique yang akan selelu di-update setiap terjadi perubahan pada record.


Tidak ada komentar:

Posting Komentar

Berikan Opini Anda tentang Topik ini