Tabel merupakan suatu tempat untuk menyimpan data pada database SQL Server secara
logikal. Secara fisik, data pada database SQL Server disimpan pada filegroup yang didefinisikan
pada awal pembuatan database. Selanjutnya, setiap tabel yang dibuat didefinisikan pada
filegroup mana akan disimpan. SQL Server 2008 mempunyai beberapa fitur baru dalam
membuat tabel, seperti data compression dan sparse column. Untuk membuat tabel pada SQL
Server 2008, kita bisa menggunakan SSMS (SQL Server Management Studio) dan script.
VARCHAR : Data type ini digunakan untuk column yang
menyimpan nilai yang berupa karakter
.
• CHAR : Data type ini juga digunakan untuk column yang
menyimpan nilai karakter. Bedanya dengan VARCHAR
adalah dengan CHAR akan tersimpan nilai yang fixed
length, sedangkan VARCHAR akan lebih variatif.
• DECIMAL : Data type ini digunakan untuk column yang
menyimpan nilai numeric dengan angka di belakang
koma.
Masing-masing data type tersebut memiliki karakteristik satu
sama lainnya. kita sebaiknya menggunakan sesuai dengan
data yang akan disimpan pada column tersebut.
Yang menarik adalah dengan adanya data type baru, yaitu
DATE. Dengan menggunakan data type DATE, maka SQL
Server 2008 hanya akan menyimpan nilai yang berupa
tanggal saja (dd/mm/yy). Ini akan membuat space lebih
kecil dibandingkan menyimpan data dengan data type
DATETIME, dimana menyimpan tanggal dan waktu.
Membuat Tabel Menggunakan SSMS
Pada SQL Server 2008, kita bisa menggunakan SSMS untuk
membuat tabel. Berikut langkah-langkah membuat tabel
menggunakan SSMS :
1. Klik kanan ServerName > Databases > DatabaseName >
Tables > New Table….
2. Pada workspace bagian kanan, masukkan
column-column yang akan didefinisikan.
Di setiap column tersebut pilih data type
yang sesuai dengan kebutuhan.
3. Tentukan primary key dengan memfokuskan
pada column tertentu dan pilih
tombol primary key pada toolbox.
4. Pada toolbox, klik Save dan tuliskan
nama tabel.
5. Setelah tabel disimpan, maka pada
Object Explorer akan terlihat tabel yang
kita definisikan.
Contoh di atas adalah pembuatan tabel
PELANGGAN dimana tabel tersebut telah
dibuat dan bisa dilihat Object Explorer SSMS.
Secara defaultnya, kita membuat tabel
dengan 5 langkah di atas menggunakan SSMS.
Membuat Tabel Menggunakan Script
Selain menggunakan SSMS, biasanya database
developer lebih senang membuat tabel pada
database menggunakan script, karena lebih
mudah dan flexibel.
Berikut contoh pembuatan tabel pelanggan
menggunakan script :
CREATE TABLE PELANGGAN
(
kd_plg VARCHAR(5) NOT NULL
PRIMARY KEY,
nm_plg VARCHAR(25) NULL,
alamat VARCHAR(25) NULL,
tgl_join DATE NULL)
stok INT NULL,
CONSTRAINT C_KdBrg CHECK
(kd_brg LIKE
'[B][0-9][0-9][0-9][0-9]')
) ON [FG_SECONDARY1]
Dengan adanya constraint tersebut, maka
data yang masuk ke column tersebut akan
divalidasi terlebih dahulu. Ini akan mencegah
masuknya data yang kurang diinginkan. Biasanya
constraint untuk column-column yang
bersifat fix.
Mendefinisikan Foreign Key
Foreign key merupakan suatu key yang
menghubungkan antar satu tabel ke tabel
lainnya. Di dalam suatu tabel boleh memiliki
lebih dari satu foreign key. Foreign key juga
merupakan salah satu constraint yang bisa digunakan
untuk memvalidasi data yang masuk
ke dalam suatu tabel.
Berikut script untuk mendefinisikan foreign
key pada saat membuat tabel :
CREATE TABLE PENJUALAN
(
penj_id INT NOT NULL
IDENTITY PRIMARY KEY,
tgl_trx DATETIME NULL,
kd_plg VARCHAR(5) NOT NULL
FOREIGN KEY REFERENCES
PELANGGAN (kd_plg),
jml_penj DECIMAL(29,2)
NULL,
mtd_pemb VARCHAR(5) NULL
) ON [FG_SECONDARY1]
Column yang memakai foreign key adalah
column kd_plg. Column tersebut mempunyai
relasi (hubungan) dengan tabel PELANGGAN
yang dihubungkan dengan column kd_plg.
Dengan menggunakan foreign key tersebut,
maka data integrity pada masing-masing
tabel tersebut lebih terjamin.
Jika kita tidak mendefinisikan filegroup saat
membuat tabel, maka secara default ditempatkan
pada primary filegroup. Untuk
mendefinisikan filegroup yang akan menyimpan
data pada suatu tabel, kita harus
menambahkan suatu script saat membuat
tabel.
Berikut script untuk membuat tabel dengan
mendefinisikan filegroup :
CREATE TABLE BARANG
(
kd_brg VARCHAR(5) NOT NULL
PRIMARY KEY,
nm_brg VARCHAR(25) NULL,
hrg_beli DECIMAL(29,2)
NULL,
hrg_jual DECIMAL(29,2)
NULL,
stok INT NULL
) ON [FG_SECONDARY1]
FG_SECONDARY1 merupakan salah satu filegroup
yang terdapat pada database dimana
tabel tersebut dibuat. Dengan mendefinisikannya
pada filegroup tersebut, maka data
akan disimpan pada filegroup tersebut.
Mendefinisikan Check Contraint
Constraint merupakan suatu rule yang diterapkan
pada suatu column di dalam tabel
untuk memvalidasi data-data yang akan
masuk ke dalam tabel tersebut. Contoh constraint
yang sudah digunakan sebelumnya
adalah NULL dan NOT NULL. Dengan didefinisikan
suatu column dengan NOT NULL,
maka data tidak boleh kosong (NULL).
Berikut script untuk membuat tabel dengan
menggunakan check constraint :
CREATE TABLE BARANG
(
kd_brg VARCHAR(5) NOT NULL
PRIMARY KEY,
nm_brg VARCHAR(25) NULL,
hrg_beli DECIMAL(29,2)
NULL,
hrg_jual DECIMAL(29,2)
NULL,
Mendefinisikan Computed Column
Computed column adalah suatu mekanisme
yang digunakan untuk mendefinisikan suatu
column menggunakan expression (+,-,*,/).
Dengan ini maka akan memudahkan untuk
bussines logic, karena tidak perlu melakukan
perhitungan pada aplikasi karena sudah didefinisikan
pada tabel tersebut.
Berikut script untuk membuat computed
column :
CREATE TABLE DETAIL_PENJUALAN
(
det _id INT NOT NULL
IDENTITY PRIMARY KEY,
penj_id INT NOT NULL
FOREIGN KEY REFERENCES
PENJUALAN (penj_id),
kd_brg VARCHAR(5) NOT NULL
FOREIGN KEY REFERENCES
BARANG (kd_brg),
hrg_jual DECIMAL(29,2)
NULL,
jumlah INT NULL,
total_harga
AS hrg_jual * jumlah
) ON [FG_SECONDARY1]
Column total_harga adalah contoh dari
penggunaan computed column tersebut. Pada
column tersebut digunakan hrg_jual * jumlah.
Hasil dari kedua nilai tersebut akan disimpan
pada column total_harga.
Data Compression dan Sparse Column
Data Compression dan Sparse Column
merupakan fitur baru pada SQL Server 2008.
Data Compression adalah suatu metode
penyimpanan dimana data yang disimpan
pada suatu tabel akan di-compress sehingga
lebih kecil datanya. Sedangkan Sparse
Column adalah suatu metode penyimpanan
data dimana data yang bersifat NULL akan
lebih kecil. Jika tidak menggunakan metode
ini, nilai yang berisikan data NULL value akan
disimpan sesuai tipe data yang didefinisikan.
Membuat Tabel pada Database SQL Server 2008
Jumat, Februari 13, 2015
/