Definisi Tabel dengan T- SQL

12.6.1. Definisi Tabel dengan T- SQL

Hampir semua aktivitas di dalam SQL Server dapat dilakukan dengan menggunakan perintah-perintah T-SQL. Termasuk membuat tabel. Pada sub bab sebelumya kalian telah membuat tabel-tabel dengan menggunakan fasilitas GUI . Kalian juga bisa membuat tabel-tabel tersebut dengan perintah-perintah SQL. Perintah-perintah yang berhubungan dengan definisi tabel termasuk dalam kategori DDL. Perintah untuk pendefinisian atau pembuatan tabel baru adalah CREATE TABLE. Sedangkan untuk menghapus kita menggunakan perintah DROP TABLE

Buat basis data baru dengan nama Lat-01_SQL. Kemudian pilih basis data tersebut. Buka jendela Query seperti pada Gambar 12.18. Kiata akan membuat tabel-tabel yang sama seperti pada Lat-01 tetapi dengan perintah SQL. Tabel pertama yang kita buat adalah tabel Siswa (lihat kembali struktur tabel ini pada Tabel 12.1 di atas). Ketikkan perintah berikut ini, kemudian jalankan dengan klik tanda seru (!).

CREATE TABLE [dbo].[Bidang]( [IdBidang] [smallint] NOT NULL, [NamaBidang] [nchar](20)NULL, [Deskripsi] [nchar](100)NULL, CONSTRAINT [PK_Bidang] PRIMARY KEY CLUSTERED

( [IdBidang] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]

340 Rekayasa Perangkat Lunak

Perintah CREATE TABLE diikuti dengan nama tabel yang akan kita buat ([ dbo] .[ Bidang] ) kemudian diikuti dengan daftar kolom yang ada pada tabel tersebut. Pada daftar kolom ini, tipe data, lebar data dan kondisi lainnya (misalnya NOT NULL atau NULL) harus dicantumkan. Setelah itu baru bagian CONSTRAI NT dari tabel tersebut dituliskan. Bagian CONSTRAI NT ini biasanya berisi pendefinisian Primary Key dari tabel tersebut. Perhatikan cara penulisan perintah-perintah di atas.

Setelah kalian jalankan, periksalah pada bagian node Tables apakah tabel kalian sudah terbentuk atau belum. Klik kanan pada Tables basis data kalian di Object Explorer kemudian pilih Refresh. Tabel baru yang kalian buat akan muncul di bawah Object Tables. Buatlah tabel-tabel lainnya dengan cara yang sama. Berikut ini perintah-perintah pembuatan masing-masing tabel.

Tabel Program CREATE TABLE [dbo].[Program](

[IdProgram] [smallint] NOT NULL, [NamaProgram] [nchar](20) NULL, [Deskripsi] [nchar](100) NULL,

CONSTRAINT [PK_Program] PRIMARY KEY CLUSTERED ( [IdProgram] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]

Tabel Guru CREATE TABLE [dbo].[Guru](

[NIP] [nchar](15) NOT NULL, [Nama] [nchar](20) NULL, [Alamat] [nchar](30) NULL, [Kota] [nchar](20) NULL, [Telepon] [nchar](15) NULL,

CONSTRAINT [PK_Guru] PRIMARY KEY CLUSTERED ( [NIP] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]

Tabel Sisw a CREATE TABLE [dbo].[Siswa](

[NoInduk] [nchar](10) NOT NULL, [Nama] [nchar](20) NULL, [Alamat] [nchar](30) NULL, [Kota] [nchar](20) NULL, [Telepon] [nchar](15) NULL, [IdProgram] [smallint] NULL,

CONSTRAINT [PK_Siswa] PRIMARY KEY CLUSTERED ( [NoInduk] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

Rekayasa Perangkat Lunak 341

) ON [PRIMARY] Tabel Guru_Program

CREATE TABLE [dbo].[Guru_Program]( [NIP] [nchar](15) NOT NULL, [IdProgram] [smallint] NOT NULL,

CONSTRAINT [PK_Guru_Program] PRIMARY KEY CLUSTERED ( [NIP] ASC, [IdProgram] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]

Tabel Guru_Bidang CREATE TABLE [dbo].[Guru_Bidang](

[IdBidang] [smallint] NOT NULL, [NIP] [nchar](15) NOT NULL,

CONSTRAINT [PK_Guru_Bidang] PRIMARY KEY CLUSTERED ( [IdBidang] ASC, [NIP] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY]

Pada perintah-perintah pembuatan tabel di atas, kita belum membuat relasi antar tabel. Relasi antar tabel pada SQL biasanya dinyatakan dalam hubungan FOREI GN KEY (lihat kembali pengertian FOREI GN KEY pada bab 10 dan 11). Kita perlu memodifikasi tabel dengan menambahkan CONSTRAI NT agar tabel dapat mengerti relasi antar tabel. Buka kembali jendela Query kemudian ketikkan perintah-perintah berikut ini.

ALTER TABLE [dbo].[Siswa] WITH CHECK ADD CONSTRAINT [FK_Siswa_Program] FOREIGN KEY([IdProgram])

REFERENCES [dbo].[Program] ([IdProgram]) ALTER TABLE [dbo].[Guru_Program] WITH CHECK ADD

CONSTRAINT [FK_Guru_Program_Guru] FOREIGN KEY([NIP]) REFERENCES [dbo].[Guru] ([NIP])

ALTER TABLE [dbo].[Guru_Bidang] WITH CHECK ADD CONSTRAINT [FK_Guru_Bidang_Bidang] FOREIGN KEY([IdBidang])

REFERENCES [dbo].[Bidang] ([IdBidang]) ALTER TABLE [dbo].[Guru_Bidang] WITH CHECK ADD CONSTRAINT

[FK_Guru_Bidang_Guru] FOREIGN KEY([NIP]) REFERENCES [dbo].[Guru] ([NIP])

Perintah untuk memodifikasi atau merubah struktur tabel adalah ALTER TABEL kemudia diikuti dengan nama tabel yang ingin dirubah. Perhatikan pada

baris ALTER TABLE [dbo].[Siswa] WITH CHECK ADD CONSTRAINT

[FK_Siswa_Program] FOREIGN KEY([IdProgram]) . Tabel yang ingin

342 Rekayasa Perangkat Lunak 342 Rekayasa Perangkat Lunak

merupakan FOREI GN KEY sehingga dituliskan sebagai FOREIGN

KEY([IdProgram]) . Kolom I dProgram ini berasal dari tabel program sehingga pada bagian akhir perintah harus dituliskan referensi tabelnya (ditulis dengan REFERENCES [dbo].[Program] ([IdProgram]) ). Dengan cara yang sama relasi-relasi antar tabel di atas dibuat.

Perintah DROP TABEL sangat mudah dilakukan yaitu tinggal

menambahkan nama tabel didepan perintah tersebut. Misalnya DROP TABLE

[dbo].[Bidang].