Senin, 28 Mei 2012

Database Pertemuan Ke 8, SUPARMANTO


Entity Relatioship Diagram
Pengertian:
Entity Relationship Diagram (ERD) adalah menggambarkan relasi antar entitas / yang merukan sebuah model yang di gunakan untuk menggambarkan relasi antar entitas











ERD dibagi menjadi 3 yakni :
a)      One To One
b)      One To Many
c)      Many To One
A.    One To One
Yaitu entitas yang satu dengan entitas yang satu lagi harus memiliki satu hubungan
Saja, dan tidak bias lebih dari 1 hubungan. Sperti seorang pegawai hanya memilki 1 jbatan saja dan jabtan tersebut hanya di miliki 1 pegawai saja.
Contoh :
Sebelum membuat table kita harus membuat relasinya terlebih dahulu


 












Nah ini lah bentuk tablenya :
                Yang pertama kita buat adalah table jabatan.
create database perkantoran
use perkantoran
create table jabatan(
                kd_jabatan char(4)primary key,
                namajabatan varchar(30))
select*from jabatan

Kd_jabatan
Nama jabatan

                Lalu kita buat table pegawai.
create table pegawai(
                nip char(4)primary key,
                nama varchar(30),
                alamat varchar(30),
                jns_klmn char(1),
                agama varchar(30),
                kd_jbatan char(4)references jabatan(kd_jabatan))
select*from pegawai
nim
Nama
alamat
Jns_klmn
agama
Kd_jabatan

 untuk one to one  recot nim bisa di letalkan di table jabatan. Karena tujuannya untuk memperole informasi yang lebih jelas maka saya letakkan di table pegawai. 


B.   One to many
Lain halnya dengan one to many adlalah entitas yang satu dapat memiliki 2 hubungan dengan entitas yang  satu lagi, apabila seorang pegawai memiliki kd_gol c4 maka pegawai yang lain juga bias memiliki kd_gol c4 juga.
Contoh :






create table pegawai(
                nip char(4)primary key,
                nama varchar(30),
                alamat varchar(30),
                jns_klmn char(1),
                agama varchar(30),
                kd_jbatan char(2)references  golongan(kd_golongan))
insert into pegawai values (‘1111’,’wenda’,’siantar’,’l’,’islam’)
insert into pegawai values (‘1111’,’wenda’,’siantar’,’l’,’islam’)
insert into pegawai values (‘1111’,’wenda’,’siantar’,’l’,’islam’)

select*from pegawai
nip
Nama
alamat
jnsklmn
agama
Kd_jabatan
1111
Wenda
siantar
l
islam
C4
1112
Abdol
medan
l
islam
C4
1113
Rinci
tebing
p
islam
C5

create table jabatan(
                kd_jabatan char(4)primary key,
                namajabatan varchar(30))
insert into golongan  values (‘c4’,’pegawai’)
insert into golongan  values (‘c3’,’bendahara’)
insert into golongan  values (‘c5’,’sek’)
select*from golongan
Kd_golongan
Nama golongan
C4
pegawai
C3
bendahara
C5
Sek

                Pada table pegawai kd golongan bisa sama karena tidak hanya satu saja pegawai yang memiliki kd golongan c4,
Catatan : untuk one to many letak recot nim tidak bisa di letakkan di table golongan karena recot  kd golongan sudah primary key, nah jadi solusinya kd_golongan yg di letakkan di table pegawai.
C.    Many To One
 many to one adlalah entitas yang satu hanya dapat memiliki beberapa hubungan dengan entitas yang  kedua tetapi entitas yg kedua  hanya memiliki 1 hubungan saja, apabila seorang mahasiswa memiliki kelas maka dalam 1` kelas tersebut tidak hanya dimiliki oleh 1 mahasiswa saja melainkan ada beberapa mahasiswa di dalamnya.
Contoh:



create table kelas(
                kd_kelas char(4)primary key,
                namakls varchar(30))
select*from kelas
insert into kelas values (‘mi11’,’lab’)
insert into kelas values (‘mi12’,’teori’)

Kd_kelas
Namakls
Mi11
lab
M12
teori



create table mahasiswa(
                nim char(4)primary key,
                nama varchar(30),
                alamat varchar(30),
                jns_klmn char(1),
                agama varchar(30),
                kd_kelas char(2)references  kelas(kd_kelas))
insert into mahasiswa values (‘1111’,’doni’,’siantar’,’l’,’islam’)
insert into mahasiswa values (‘1111’,’ilham’,’siantar’,’l’,’islam’)
insert into mahasiswa values (‘1111’,’wenda’,’siantar’,’l’,’islam’)
select*from mahasiswa
nim
Nama
alamat
jnsklmn
agama
Kd_kelas
1111
doni
siantar
l
islam
Mi11
1112
ilham
medan
l
islam
Mi11
1113
Rinci
tebing
p
islam
Mi12

 nim tidak bisa di letakkan di table kelas karena tidak recot pada kd_kelas sudah primary key, nah jadi recort kd_kelas yang kita masukkan di table mahasiswa, jadi pengertiannya  doni berada di kelas mi11 dan ilham juga.