Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

33
LAPORAN PRAKTIKUM SISTEM & TEKNOLOGI BASIS DATA MODUL II MEMBUAT TABLE, PRIMARY KEY, FOREIGN KEY MENGGUNAKAN TRANSACT SQL DISUSUN OLEH NAMA : DEVI NIM : 2012081043 KELAS : TI2012A

Transcript of Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Page 1: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

LAPORAN PRAKTIKUMSISTEM & TEKNOLOGI BASIS DATA

MODUL IIMEMBUAT TABLE, PRIMARY KEY, FOREIGN KEY MENGGUNAKAN

TRANSACT SQL

DISUSUN OLEHNAMA : DEVINIM : 2012081043KELAS : TI2012A

LABORATORIUM KOMPUTERFAKULTAS ILMU KOMPUTER

UNIVERSITAS KUNINGAN2013

Page 2: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

I. DASAR TEORI

1. Sejarah

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF

Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni

1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk

mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama

SEQUEL (Structured English Query Language).

Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis

data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan

hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL.

Implementasi basis data relasional dikenal dengan System/R.

Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat

server basis data populer yang bernama sama dengan nama perusahaannya.

Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat

ini menjadi standar de facto bahasa dalam manajemen basis data.

2. Pengertian SQL

 SQL yang merupakan kependekan dari Structured Query Language atau

yang sering disapa dengan query adalah bahasa komputer yang bersifat deklaratif.

Karena sifatnya yang deklaratif SQL lebih mudah dipelajari, dipahami dan

dihafal. Hal ini sangat berbeda dengan bahasa pemrograman yang bersifat

prodesural seperti ASP, PHP, C, Basic, Pascal, dll atau pun yang bersifat OOP

seperti Java dan saingannya dari Microsoft yang akrab disapa dengan

sebutan .NET.

Perbedaan tersebut karena kita dalam mempelajari bahasa prosedural dan

OOP otak akan dipusingkan dengan yang namanya looping, array, statement

percabangan sampai pada pendeklarasian variabel. Meskipun tidak menutup

kemungkinan SQL bisa menjadi prosedural jika digunakan sebagai stored

procedure. Singkatnya SQL adalah bahasa yang dipergunakan untuk mengakses

data dalam basis data relasional.

Page 3: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

3. Hubungan SQL, Database dengan bahasa pemrograman lain.

     Database adalah kumpulan data-data yang disimpan menjadi satu media.

Media yang digunakan umumnya berupa software database, disajikan dalam

bentuk tabel-tabel yang saling memiliki sebuah relasi. Pada umumnya

penggunaan, SQL akan disisipkan ke dalam bahasa pemrograman, sehingga dari

sisi pengguna tidak akan bisa melihat sintaks SQL yang digunakan.

Hubungan antara SQL, database dan bahasa pemrograman untuk

menghasilkan suatu aplikasi tertentu disebut dengan DBMS, kependekan dari

Database Management System, atau dalam bahasa indonesia adalah sistem

manajemen basis data. Diibaratkan sebagai jembatan untuk dapat berinteraksi

dengan database. SQL di database dapat digunakan untuk menampilkan data,

meng-edit data, menghapus data, membuat database, sampai pada menghapus

tabel.

         SQL juga bersifat case-insensitive, yaitu tidak membedakan besar dan kecil

penggunaan huruf pada penulisan bahasanya, sehingga lebih mudah dibuat.SQL

yang dibuat pertama kali oleh IBM telah didukung oleh banyak produk database,

mulai dari dari Ms.Access, SQL Server, MySQL, Postgre-SQL, Interbase sampai

dengan Ingres.

Sebelum memulai menulis sintaks SQL kita harus menentukan apakah

nantinya SQL tersebut akan digunakan pada sebuah produk atau hanya pada

produk yang spesifik saja. Sebaiknya hindari penggunaan keyword yang spesifik

untuk database tertentu apabila digunakan pada sema produk database, tujuannya

agar tidak ada masalah saat SQL tersebut dieksekusi

4. Pemakaian dasar

Dalam proses interaksinya dengan database, secara garis besar sintaks /

keyword SQL dibagi menjadi 2 yaitu :

a. DDL (Data Definition Language)

DDL digunakan untuk mendefinisikan database, misal untuk

membuat tabel, modifikasi tabel, membuat index, membuat view dan

kelengkapan databse serta tabel yang lain-lain. Secara garis besar DDL

digunakan untuk melakukan maintenance database.

Page 4: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Syntaks atau keyword yang masuk dalam kategori ini antara lain :

CREATE - digunakan untuk membuat objek baru,

DROP - digunakan untuk menghapus tabel atau database

UPDATE - digunakan untuk meng-ubah record

ALTER - digunakan untuk memodifikasi database.

b. DML (Data Manipulation Language)

DML digunakan untuk melakukan manipulasi atau pengolahan data

dalam database. Misalnya untuk mengambil data (record) dengan kriteris

tertentu, meng-ubah data pada tabel, menjumlahkan data dalam tabel, dan

menambahkan data kedalam tabel.

Syntaks atau keyword yang masuk dalam kategori ini antara lain

SELECT =    untuk menampilkan data

INSERT =    untuk menambahkan data baru

UPDATE =    untuk mengubah data yang sudah ada

DELETE =    untuk menghapus data

c. DCL (Data Control Language)

DCL adalah bahasa SQL untuk mengontrol pemakai data.

Page 5: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

II. PRAKTIKUM DAN PEMBAHSAN

A. Membuat tabel buku pada Database PERPUSTAKAAN dengan

pemberian primary key pada field BUKU

1. Klik Start klik Menu Microsoft SQL Server

2. Pilih Enterprise Manager, lalu klik, maka akan muncul tampilan jendela

Enterprise Manager, seperti berikut :

Pembahasan:

Untuk membuat tabel BUKU kita menggunkan cara manual, melalui

enterprise manager. Tabel terdiri dari baris dan kolom. Kolom atau field

berisi atribut atau variable sedangkan baris atau record adalah isi dari

atribut tersebut.

Dengan Microsoft SQL Server Anda bisa membuat tabel baik secara

permanen maupun sementara. Tabel permanen adalah sebuah tabel yang

disimpan secara permanen dalam media penyimpan data misalnya

harddisk, sedangkan tabel sementara adalah tabel yang disimpan dalam

memory. Tabel yang disimpan sementara ini tetap bisa digunakan selama

proses berlangsung. Jumlah kolom yang disediakan Microsoft SQL Sever

sangat besar hingga 1024 kolom dengan tipe dan jenis data yang berbeda-

beda.

3. Klik nama database yang akan dibuat tabel didalamnya lalu klik kanan.

4. Pilih New Table, akan tampil dialog design table berikut:

Page 6: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

5. Pada Column Name, ketik nama fieldnya

6. Pada Data Type, pilih jenis data yang diinginkan

7. Pada Length, tentukan lebar fieldnya

8. Pada Allow Null, tentukan apakah field tersebut wajib diisi atau boleh

kosong.

9. Ketikan struktur tablenya sebagai berikut:

Column Name Data Type Length Allow Null

Kode_buku Char 10

Katalog Char 20

Judul_buku Char 50

Pengarang Char 25

Harga_buku Money 8

Foto_cover Image 16

Ringkasan Varchar 50

Edisi Char 5

Page 7: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Pembahasan:

Mengenal Kolom

Fungsi Keterangan

Column Name Ini menunjukkan nama kolom atau field

Data Type Menunjukkan tipe data yang akan disimpan

dalam suatu kolom

Length Menunjukkan ukuran dari sebuah file dalam

karakter

Allow Nulls Apabila kolom ini dipilih, Microsoft

SQL Server akan mengizinkan nilai Null di

dalam sebuah field

Tipe Data

Data dalam Microsoft SQL Server sangat bervariasi, dan setiap

kolom dalam suatu tabel harus memiliki data sesuai dengan jenis dan

tipenya. Karena jika data yang dimasukkan ke dalam tabel tidak sesuai

Page 8: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

jenis dan tipenya Microsoft Server akan menolak. Untuk mengetahui

beberapa jenis data tersebut berikut ini akan dijelaskan tipe-tipe data

dalam Microsoft 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.

Page 9: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

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).

Batasan

Microsoft SQL Server memiliki beberapa batasan dimana

batasan tersebut memiliki prioritas di atas trigger, aturan dan nilai

defaultnya. Sebagai gambaran tabel berikut akan menjelaskan batasan-

batasan yang dimaksud.

Fungsi Keterangan

NOT NULL Menentukan bahwa kolom tidak bisa menentukan

nilai NULL

CHECH

Membatasi nilai yang bisa diletakkan ke dalam

kolom dengan menentukan suatu kondisi. Misalnya

nilai TRUE maka nilai yang diberikan dapat

dimasukkan ke dalam kolom sedangkan apabila

FALSE tidak

UNIQUE Memaksa kolom-kolom memiliki nilai eksklusif

PRIMARY

KEY

Membuat kata kunci primer atau kata kunci utama

dari sebuah tabel, kolom atau kombinasi dari kolom

dengan nilai yang harus bersifat eksklusif di dalam

tabel untuk mengenali baris.

FOREIGN

KEY Menentukan hubungan antara tabel-tabel.

10. Setelah selesai,pada menu bar pilih File+Save/ klik (X), akan tampil

dialog Save as

11. Ketik nama tabelnya: BUKU, lalu klik Ok

12. Buka kembali file BUKU

13. Sisipkan field baru (nama field : Pengarang, Data Type : Char, Field size,

Length 25)

Page 10: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Pilih posisi field yang akan disisipkan, lalu klik kanan dan pilih Insert

Column

Pada baris kosong yang baru ditambahkan, definisikan field baru.

14. Hapus field Edisi

Pilih posisi field yang akan dihapus lalu klik kanan dan pilih Delete

Column

Page 11: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

B. Membuat tabel Mahasiswa pada database AKADEMIK dengan

pemberian Primary key pada NIM menggunkan TRANSACT SQL

1. Aktifkan Query Analizer

2. Start All Program Microsoft SQL Server Query Analizer

3. Ketik script berikut:

USE AKADEMIK

CREATE TABELE [MAHASISWA](

[NIM] [char] (12) NOT NULL,

[Nama] [char] (25) NOT NULL,

[Tmp_Lahir] [char] (12) NOT NULL,

[Tgl_Lahir] [datetime] NOT NULL,

[JK] [char] (10) NOT NULL,

[Prodi] [char] (25) NOT NULL,

[Jenjang] [char] (7) NOT NULL,

[Agama] [char] (10) NOT NULL,

[Alamat] [char] (25) NOT NULL,

[Telpon] [char] (12) NOT NULL,

CONSTRAINT [Pk_MAHASISWA] PRIMARY KEY (NIM)

)

Pembahasan:

Bentuk umum TRANSACT-SQL membuat tabel:

Pembahasan:

USE nama_database artinya adalah menggunkan database yang

berarti tabel tersebut akan disimpan pada nama_database.

USE nama_database

Create Table [nama_tabel](

[nama_kolom] [Tipe_data](length) Null | Not Null ,

CONSTRAINT [PK_nama tabel] PRIMARY KEY (nama kolom)

)

Page 12: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Create table adalah perintah untuk membuat tabel. [nama_tabel]

Adalah nama tabel yang akan dibuat

Baris kedua berisi nama_kolom atau atribut, tipe data dari atribut

tersebut, length adalah ukran dari tipe data, Null menyatakan suatu

nilai Null atau kosong, sedangkan Not Null menyatakan nilai Not

Null atau tidak kosong .

Baris terakhir adalah perintah untuk membuat primary key pada tabel

tersebut. CONSTRAINT dapat digunakan untuk menentukan

Primary Key atau Foreign Key.

Script diatas adalah untuk membuat tabel MAHASISWA

pada database AKADEMIK. Tabel tersebut berisikan 10 kolom atau

field yaitu : NIM, Nama, Tmp_Lahir, Tgl_Lahir, JK, Prodi, Jenjang,

Agama, Alamat dan Telepon. Yang menjadi PRIMARY KEY dalam

tebel MAHASISWA adalah NIM karena NIM tersebut bersifat unik

yang menjadi pembeda antara field yang satu dengan yang lain.

4. Test script dengan menggunakan tombol lalu aktifkan dengan menekan

►:

5. Isi datanya sebagai berikut:

Pembahasan:

Setelah mengetikan script pada Area pengetikan perintah SQL

maka kita klik tombol setelah itu klik ► maka script tersebut success

Page 13: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

atau tidaknya bisa dilihat dari area untuk menampilkan pesan. Jika

terjadi kesalahan pesan akan memberikan peringatan pada baris tersebut

dan memberikan kata kuncinya/keyword.

6. Simpan script SQL beri nama SQLMahasiswa

7. Buat tabel Mata Kuliah dengan Primary Key KODE_MK

USE AKADEMIK

CREATE TABLE [MKUL](

[KODE_MK] [char] (10) NOT NULL,

[Nama_MK] [char] (30) NOT NULL,

[SKS] [char] (20) NOT NULL,

CONSTRAINT [Pk_MKUL] PRIMARY KEY (KODE_MK)

)

Pembahasan:

Tabel diatas bernama MKUL yang tersimpan pada database

AKADEMIK, tabel tersebut mempunyai 4 field yang berisikan

KODE_MK, Nama_SKS dan SKS yang bertipe char, dan length

disesuaikan dengan kebutuhan. Tebel tersebut NOT NULL yang artinya

tidak boleh data atau record tersebut dikosongkan. Kunci utama

(Primary Key) selalu dispesifikasikan sebagai NOT NULL untuk

menjamin kunci utama relasi tidak menerima NULL yang memaksakan

integritas entitas.

Page 14: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

8. Simpan dan beri nama SQLMKUL

9. Buat tabel nilai yang menyertakan NIM dan KODE_MK sebagai foreign

key, scriptnya sebagai berikut:

USE AKADEMIK

CREATE TABLE [NILAI](

[KODE_NIL] [char] (5) NOT NULL,

[NIM] [char] (10) NOT NULL,

[KODE_MK] [char] (10) NOT NULL,

[UTS] [int] NOT NULL,

[UAS][int] NOT NULL,

CONSTRAINT [PK_NILAI] PRIMARY KEY (KODE_NIL)

CONSTRAINT [PK_NILAI_MKUL] FOREIGN KEY

(KODE_MK) REFERENCES [MKUL] (KODE_MK),

CONSTRAINT [FK_NILAI_MAHASISWA] FOREIGN KEY

(NIM) REFERENCES [MAHASISWA] (NIM)

)

10. Test dan jalankan lalu simpan dan beri nama SQLNilai

Pembahasan:

Page 15: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Tabel NILAI yang menggunakan database AKADEMIK

mempunyai 5 field yaitu KODE_NIL, NIM, KODE_MK, UTS dan UAS

yang bertipe int untuk UTS dan UAS karena menghasilkan bilangan

bulat dan sisanya bertipe char. Yang menjadi primary key dalam tabel

tersebut adalah KODE_NIL. Field KODE_MK adalah referensi foreign

key dari field KODE_MK yang ada pada tabel MKUL, field NIM adalah

referensi foreign key dari field NIM yang ada pada tabel MAHASISWA.

Catatan:

Baris CONSTRAINT tidak harus ada pada suatu tabel. Bisa saja

suatu tabel tidak memiliki PRIMARY KEY maupun FOREIGN

KEY.

Bisa juga suatu tabel memiliki dua FOREIGN KEY tanpa

PRIMARY KEY

Suatu tabel juga bisa memiliki FOREIGN KEY yang merujuk pada

dirinya sendiri.

PRIMARY KEY: Merupakan field kunci yang mewakili field-field

lain dalam tabel tersebut. Bersifat unik: tidak boleh ada nilai

PRIMARY KEY yang sama dalam satu tabel.

PRIMARY KEY dapat berjumlah 0, 1, 2, 3 atau berapa saja.

FOREIGN KEY merupakan suatu field yang merujuk pada nilai

pada tabel lain. Misalkan pada tabel penggajian terdapat FK

idPegawai, nilai yang disimpan pada field ini cukup PK dari tabel

pegawai saja. Field lain dalam tabel pegawai, misalkan nama,

tglLahir, dan alamat, dapat diambil dengan menggunakan JOIN.

Field rujukan harus memiliki tipe yang sama dengan field yang

dirujuk.

Page 16: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

III.TUGAS PRAKTIKUM

1. Apa perbedaan Primary Key dan Foreign Key

Primary Key adalah field kunci / utama dari suatu tabel yang

menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi

dengan data yang sama, / dengan kata lain Primary key menjadikan tiap

record memiliki identitas sendiri-sendiri yang membedakan satu sama

lainnya (unik). Primary key hanya ada satu dalam sebuat tabel karena

primary key merupan variable data yang menjadi identitas utama dari tabel

tersebut .

Foreign key adalah kunci tamu untuk menentukan hubungan antar

tabel. Foreign key merupakan suatu field yang merujuk pada nilai pada

tabel lain. Bila pada primary key hanya ada satu dalam setiap tabel lain

halnya dengan foreign key yang bisa lbih dari satu foreign key dalam setiap

tabel.

2. Buatlah tabel-tabel pada Database PENGGAJIAN dengan menggunaka

TRANSACT-SQL yang anda buat pada modul 1 :

Tabel Golongan dengan struktur tabel sebagai berikut:

Field Tipe Ukuran Keterangan

Gol Char 1 Harus diisi

TunjGol Money Harus diisi

Field Gol sebagai Primary Key

Page 17: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Pembahasan:

Script diatas adalah untuk membuat tabel GOLONGN pada

database PENGGAJIAN yang telah dibuat sebelumnya. Tabel tersebut

mempunyai 2 field yaitu Gol yang bertipe data char dan TunjGol yang

bertipe data money untuk bilangan pecahan 4 angka dibelakang koma

dan untuk perhitungan moneter. Fungsi allow field tersebut adalah not

null yang artinya data tidak boleh kosong. Yang menjadi kunci utama

dari tabel tersebut adalah Gol.

Tabel Jabatan dengan struktur sebagai berikut:

Field Tipe Ukuran Keterangan

Jabatan Char 10 Harus diisi

TunjJabatan Money Harus diisi

TunjKeluarga Money

Field Jabatan sebagai Primary Key

Pembahasan:

Page 18: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Tabel selanjutnya adalah tabel JABATAN yang menggunkan

database PENGGAJIAN. Tabel JABATAN ini memiliki 3 field yaitu

Jabatan yang bertipe data char, TunjJabatan dan TunjKeluarga yang

bertipe data money. Fungsi allow pada field TunjKeluarga null yang

artinya boleh dikosongkan. Primary key dalam tabel tersebut adalah field

Jabatan.

Tabel Pegawai dengan struktur sebagai berikut:

Field Tipe Ukuran Keterangan

NIP Char 10 Harus diisi

Nama Varchar 30 Harus diisi

Alamat Varchar 30

Kota Varchar 20 Harus diisi

TglLahir Datetime Harus diisi

TmpLahir Varchar 20 Harus diisi

TglMasuk Datetime Harus diisi

TglKeluar Datetime Harus diisi

Gol Char 1 Harus diisi

Jabatan Char 10 Harus diisi

StatusMenikah Char 1 Harus diisi

JumlahAnak Int Harus diisi

StatusAktif Char 1 Harus diisi

GajiPokok Money Harus diisi

Field NIP sebagai Primary Key

Page 19: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Pembahasan:

Tabel PEGAWAI yang menggunakan database PENGGAJIAN

mempunyai 14 field yaitu NIP, Nama, Alamat, Kota, TglLahir,

TmpLahir, TglMasuk, TglKeluar, Gol, Jabatan, StatusMenikah,

JumlahAnak, StatusAktif dan GajiPokok. Field Allamat fungsi allow

adalah null yang artinya data boleh kosong dan field yang lain not null

yang wajib diisi datanya. Primary key pada tabel PEGAWAI adalah NIP

yang isi dari dari kolom tersebut berbeda satu sama lain/unik.

Tabel Absensi dengan struktur sebagai berikut:

Field Tipe Ukuran Keterangan

TglAbsensi Datetime Harus diisi

NIP Char 10 Harus diisi

JamMasuk Datatime Harus diisi

JamKeluar Datetime Harus diisi

Jadikan field TglAbsensi dan NIP sebagai Primary Key

Page 20: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Pembahasan:

Tabel ABSENSI mempunyai 4 field yaitu TglAbsensi, NIP,

JamMasuk dan JamKeluar. Fungsi allow pada tabel tersebut adalah NOT

NULL yang berarti data tidak boleh dikosongkan. Yang menjadi primary

key adalah TglAbsensi dan NIP bukan sebagai Primary key karena

primary key hanya ada satu dalam sebuah tabel. NIP menjadi primary

key ditabel lain yaitu pada tabel PEGAWAI. Yang boleh lebih dari satu

dalam tabel adalah foreign key atau kunci tamu. NIP pada tabel

ABSENSI bisa menjadi kunci tamu, field NIP pada tabel pegawai bisa

menjadi refernsi foreign key dari field NIP yang ada pada tabel

PEGAWAI.

Tabel TidakMasuk dengan struktur tabel sebagai berikut:

Field Tipe Ukuran Keterangan

Tanggal Datetime Harus diisi

NIP char 10 Harus diisi

Alasan Varchar

Status Char Harus diisi

Field NIP dan Tanggal sebagai primary key

Page 21: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

Pembahasan:

Tabel terakhir adalah tabel TIDAKMASUK yang menggunkana

database PENGGAJIAN. Tabel ini mempunyai4 field yaitu Tanggal, NIP,

Alasan dan Status. Field alasan allownya adalah null yang boleh

dikosongkan. Field Tanggal merupakan primary key, NIP bukan primary

key karena seperti yang dijelaskan sebelumnya bahwa primary key hanya

ada satu dalam setiap tabel. Kecuali foreign key yang bisa lebih dari satu

dalam sebuah tabel.

3. Modifikasi tabel absensi dan jadikan field NIP menjadi referensi foreign key

dari field NIP di tabel Pegawai.

Pembahasan:

Untuk menambahkan constraint foreign key pada kolom suatu tabel

kita dapat menggunakan perintah ALTER. Karena perintah alter itu sendiri

untuk mengubah tabel, untuk menambahkan constraint foreign key

tambahkan perintah ADD. Jangan lupakan bahwa setiap syntax SQL selalu

diakhiri dengan tanda titik koma. Apabila tampil pesan “The Command(s)

completed succesfully” maka tabel foreign key telah berhasil dibuat.

Page 22: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

4. Modifikasi tabel Pegawai dan jadikan field Gol terhubung ke field Gol yang

terdapat di tabel Golongan dan sekaligus menghubungkan field jabatan yang

berada di tabel Jabatan.

Pembahasan:

Untuk memodifikasi tabel pegawai masih menggunkan perintah yang

sama seperti nomor 3. Membuat foreign key pada field Gol yang ada di tabel

Pegawai pada field Gol yang ada di tabel Golongan, dan membuat foreign

key pada field Jabatan yang ada pada tabel Pegawai pada field Jabatan yang

ada pada tabel Jabatan.

5. Modifikasi tabel TidakMasuk dan jadikan field NIP terhubung ke field NIP

yang ada tabel Pegawai.

Pembahasan:

Script diatas adalah membuat foreign key field NIP yang ada di tabel

TidakMasuk pada field NIP pada tabel Pegawai. Pesan pada dialog diatas

adalah the command (s) completed successfully, yang artinya foreign key

berhasil dibuat pada tabel TidakMasuk.

Page 23: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

IV. KESIMPULAN

Dari praktikum dan pembahasan diatas dapat diambil kesimpulan bahwa

hanya ada satu yang menjadi primary key dalam setiap tabel sedangkan foreign

key bisa lebih dari satu dalam setiap tabel.

Bahasa yang di gunakan dalam praktikum diatas adalah DDL (Data

Definition language). DDL digunakan untuk mendefinisikan database, misal

untuk membuat tabel, modifikasi tabel, membuat index, membuat view dan

kelengkapan databse serta tabel yang lain-lain. Secara garis besar DDL digunakan

untuk melakukan maintenance database.

Syntaks atau keyword yang masuk dalam kategori ini antara lain :

CREATE - digunakan untuk membuat objek baru,

DROP - digunakan untuk menghapus tabel atau database

UPDATE - digunakan untuk meng-ubah record

Page 24: Laporan praktikum modul 2 (membuat table, primary key,foreign key menggunakan transcact sql)

ALTER - digunakan untuk memodifikasi database.

V. DAFTAR PUSTAKA

http://heni-suryani.blogspot.com http://syella-herwanto-bdl.blogspot.com http://diyaneza.wordpress.com http://www.mdp.ac.id