Senin, 10 Juni 2013

MANY TO MANY


1.      MEMBANGUN DATABASE  KAMPUS
create database kampus
use kampus
      create table mahasiswa (
Nim char (4)primary key,
Nama varchar (20),
Agama varchar (10),
Jns_kelamin varchar (1),
Alamat varchar (20))
select * from mahasiswa

Menambahkan record – recordnya :
insert into mahasiswa values('0123','Adit','Islam','L','P.Siantar')
insert into mahasiswa values('0124','Bobby','Hindu','L','Medan')
insert into mahasiswa values('0125','Cahyanti','Kristen','P','Perdagangan')
insert into mahasiswa values('0126','Dedek','Budha','P','P.Siantar')

3.     MEMBANGUN TABLE MATAKULIAH
create table matakuliah (
Kode_mk char (3)primary key,
Nama_mk varchar (20))
select * from matakuliah

Menambahkan record – recordnya :
insert into matakuliah values('MO1','Database')
insert into matakuliah values('MO2','P.Citra')
insert into matakuliah values('MO3','Web')

4.     MEMBANGUN TABLE KRS
create table krs (
Id_krs char (4) primary key,
Nim char (4) references mahasiswa (Nim),
Kode_mk char (3) references matakuliah (Kode_mk))
select * from krs

Menambahkan record – recordnya :
insert into krs values('K021','0123','MO1')
insert into krs values('K022','0124','MO2')
insert into krs values('K023','0125','MO3')
insert into krs values('K024','0126','MO1')
insert into krs values('K025','0124','MO3')



CROSS JOIN
select * from mahasiswa cross join matakuliah cross join krs

INNER JOIN
select m.Nama,m.Jns_Kelamin,t.Nama_mk from mahasiswa m inner join matakuliah t inner join krs k on k.Nim = k.Nim on k.Kode_mk = k.Kode_mk

LEFT OUTER JOIN
select m.Nama,m.Jns_Kelamin,t.Nama_mk from mahasiswa m left outer join matakuliah t left outer join krs k on k.Nim = k.Nim on k.Kode_mk = k.Kode_mk

RIGHT OUTER JOIN
select m.Nama,m.Jns_Kelamin,t.Nama_mk from mahasiswa m right outer join matakuliah t left outer join krs k on k.Nim = k.Nim on k.Kode_mk = k.Kode_mk

FULL OUTER JOIN
select m.Nama,m.Jns_Kelamin,t.Nama_mk from mahasiswa m full outer join matakuliah t left outer join krs k on k.Nim = k.Nim on k.Kode_mk = k.Kode_mk

CROSS JOIN DAN INNER JOIN





Cross Join adalah penggabungan yang meliputi lebih dari 1 tabel. Menghasilkan kombinasi baik yang berpasangan maupun yang tidak berpasangan.
Inner Join adalah menghasilkan output yang berupa kombinasi  baris-baris  yang  memiliki pasangan saja. Kombinasi baris yang bukan pasangan akan dieliminasi.

Create database Kepegawaian
Use Kepegawaian
Create table Jabatan (
            Kode_Jabatan char (4) not null primary key,
            Nama_Jabatan varchar (10))
Select * from Jabatan
Insert into Jabatan values ( '0011', 'Supervisor')
Insert into Jabatan values ( '0012', 'Kabag')
Insert into Jabatan values ( '0013', 'Komisaris')
Insert into Jabatan values ( '0014', 'HRD')
 
Create table Pegawai (
            NIP char (10) not null primary key,
            Nama varchar (15),
            Alamat varchar (25),
            Jenis_Kelamin varchar (10),
            Agama varchar (10),
            Kode_Jabatan char (4) references Jabatan (Kode_Jabatan))
Select * from Pegawai
Insert into Pegawai values ( '1234567801', 'Aisyah', 'Jln.Sunda No. 5c', 'P', 'Islam', '0011')
Insert into Pegawai values ( '1234567802', 'Kevin', 'Jln.Cokro No. 4c', 'L', 'Kristen', '0012')
Insert into Pegawai values ( '1234567803', 'Meylin', 'Jln.Medan No. 4i', 'P', 'Hindu', '0013')
Insert into Pegawai values ( '1234567804', 'Faruqi', 'Jln.Bali No. 8o', 'L', 'Islam', '0014')
Select * from Pegawai

Select * from Pegawai cross join Jabatan
Select P.Nama, P.Jenis_Kelamin, J.Nama_Jabatan from Pegawai P INNER JOIN Jabatan J ON P.Kode_Jabatan=J.Kode_Jabatan  


Primary Key & Foreign Key


1.      Primary Key
Adalah kunci utama dari suatu table yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa di isi dengan data yang sama dengan kata lain primary key menjadikan tiap  record mewakili identitas sendiri – sendiri yang membedakan satu sama lain.

2.      Foreign Key
Adalah satu atribute yang melengkapi satu relationship yang menunjukkan ke induknya.

Contoh Kasus :
A.    Membangun Database Kampus
1.      Bangun sebuah database kampus.
2.      Ketik di prompt perintah berikut Create database Kampus
3.      Lalu blog perintah di atas
4.      Jalankan dengan klik execute query (F5)

5.      Ketik di prompt perintah use kampus
6.      Lalu blog perintah di atas
7.      Jalankan dengan klik execute query (F5)
8.       


B.     Membangun Table Programstudi
1.      Ketik di prompt perintah perintah berikut :
create table prodi (
Kdprodi char(3) not null primary key,
Namaprodi varchar (25))
Select * from programstudi
2.      Blog semua perintah di atas.
3.      Jalankan dengan klik execute query (F5)

Untuk memasukkan record - recordnya lakukan perintah berikut :
4.      Ketik di prompt perintah berikut
insert into programstudi values ('P01', 'Manajeman Informatika')
insert into programstudi values ('P02', 'Komputerisasi Akuntansi')
Select * from programstudi
5.      Blog semua perintah di atas
6.      Lalu jalankan dengan klik execute query (F5)

catatan :
Kunci utamannya adalah Kdprodi, jadi kalau kita sudah memakai perintah primary key field yang menjadi kunci utama tidak bisa lagi di isi dengan data yang sama dengan kata lain primary key menjadikan tiap record mewakili identitas sendiri – sendiri yang akan membedakan satu sama lain.

C.    membangun Table Kelas
1.      Ketik di prompt perintah berikut :
create table kelas (
Kdkelas char (3) not null primary key,
Namakls varchar (10))
select * from kelas
2.      Blog perintah di atas
3.      Jalankan dengan klik execute query (F5)

Untuk memasukkan record - recordnya lakukan perintah berikut :
4.      Ketik di prompt perintah berikut :
insert into kelas values ('K01', 'KA 12-01')
insert into kelas values ('K02', 'MI 12-09')
insert into kelas values ('K03', 'MI 12-08')
select * from kelas
5.      Blog perintah di atas
6.      Jalankan dengan klik execute query (F5)

Catatan :
Kunci utamannya adalah Kdkelas, jadi kalau kita sudah memakai perintah primary key field yang menjadi kunci utama tidak bisa lagi di isi dengan data yang sama dengan kata lain primary key menjadikan tiap record mewakili identitas sendiri – sendiri yang akan membedakan satu sama lain.

7.      Untuk membuktikannya kita jalankan kembali record – recordnya untuk ke-2 kalinya.












D.    membangun Table Mahasiswa yang Berkaitan dengan Table Progrmstudi dan Table Kelas
1.      Ketik di prompt perintah –perintah berikut :
create table mahasiswa (
NIM char(15) not null primary key,
Nama varchar(15),
Alamat varchar(15),
Jnsklmn char(1),
agama varchar (10),
Kdprodi char(3) references programstudi(kdprodi),
Kdkelas char(3) references kelas(kdkelas))
select * from mahasiswa
2.      Blog semua perintah di atas
3.      Lalu jalankan dengan klik execute query (F5)


Untuk memasukkan record - recordnya lakukan perintah berikut :
4.      Ketik di prompt perintah – perintah berikut :
insert into mahasiswa values ('201201030001','Lola','Jln.Medan','P','Islam','P01','K01')
insert into mahasiswa values ('201201030002','Ocha','Jln.jawa','P','Kristen','P02','K02')
insert into mahasiswa values ('201201030003','Tasya','Jln.Diponegoro','P','Hindu','P01','K03')
insert into mahasiswa values ('201201030004','Doni','Jln.Makassar','L','Budha','P02','K01')
insert into mahasiswa values ('201201030005','Richo','Jln.Diponegoro','L','Islam','P01','K02')
select * from mahasiswa
5.      Blog perintah di atas
6.      Jalankan dengan klik execute query (F5)



Catatan :
Kunci utamannya adalah NIM, jadi kalau kita sudah memakai perintah primary key field yang menjadi kunci utama tidak bisa lagi di isi dengan data yang sama dengan kata lain primary key menjadikan tiap record mewakili identitas sendiri – sendiri yang akan membedakan satu sama lain.

7.      Untuk membuktikannya kita jalankan kembali record – recordnya untuk ke-2 kalinya.


keterangan :
·         Not null artinya tidak bisa tidak diisi (tidak kosong)
·         References artinya referensi dari table programstudi dan table kelas.