Modul 07 B
Modul 07 B
MicrosoftAccess2007
DatabaseRelationshipsdanQuery
TimAsisten
20092010
MICROSOFTACCESS2007
DatabaseRelationship
Database relationship adalah relasi atau hubungan antara beberapa tabel dalam database yang kita
miliki.Relasiantartabeldihubungkanolehprimarykeydanforeignkey.
Untuk membuat relationship maka masingmasing tabel harus memiliki primary key dan foreign key
untukdapatmenghubungkanantaratabelindukdengantabelanak.
Adabeberapamacamrelationship,yaitu:
Person
Person
ishusbandofiswifeof
ismotherofhasmother
Sue
Sue
Mary
Adam
Jim
Terry
Mary
Bill
John
Eve
Mary
Norma
OnetoMany
OnetoOne
BirthDate
Person
wasbornon
isparentofischildof
Adam
Tom
Sue
Tom
Sue
Mary
Jim
Terry
May
June
May
Many to One
Mary
Mary
Bill
Bill
John
Many to Many
PrimaryKey
Tabel memiliki primary key, yaitu suatu atribut yang tidak hanya mengidentifikasi secara unik suatu
kejadiantetapijugamewakilisetiapkejadiandarisuatuentitas.
ContohKasus:
NIMdalamtabelMahasiswamerupakannilaiunikyangtidakmungkinbersifatganda.Karena
setiapmahasiswamemilikiNIMyangberbedaantaramahasiswayangsatudenganmahasiswa
yanglain.
ForeignKey
Foreign key adalah atribut yang melengkapi relationship dan menunjukkan hubungan antara tabel
indukdengantabelanak.Foreignkeyditempatkanpadatabelanak.
ContohKasus:
UKDW memiliki banyak fakultas yaitu Teknik, Biologi, Ekonomi, Teologi. Dimana satu fakultas
dapat dimiliki oleh banyak mahasiswa (One to Many). Relationship antar tabel dapat
digambarkansbb:
PadaGambardiatasterdapatrelationshipantaratabelMahasiswadanFakultas.Masingmasingtabel
memiliki primary key. NIM merupakan primary key pada tabel Mahasiswa sedangkan ID_Fakultas
merupakanprimarykeypadatabelFakultasdanforeignkeypadatabelMahasiswa.
Langkahlangkahuntukmembuatdatabaserelationship:
1. ClicktabDatabaseToolspadajendela
2. ClickRelationshippadaribbonShow/Hide
3. Kemudian akan muncul tab Relationship pada object tab dan kotak dialog Show Table,
kemudianpilihtabTables
4. Click tabel Buku dan Penerbit lalu click button Add, kemudian hubungkan ID_Penerbit pada
tabelPenerbitdenganID_PenerbitpadatabelBuku.
5. Kemudian akan muncul kotak dialog Edit Relationship. Click checkbox Enforce Referential
Integrity,laluclickbuttonCreate.
6. SetelahClickbuttoncreate,munculrelasitabelsepertigambardibawahini.
MembuatQuery
Query adalah permintaan yang diberikan oleh user untuk mengambil informasi yang tersimpan dalam
database.FungsidariQueryadalahuntukmenyaringdanmenampilkandatadariberbagaicriteriadanurutan
yangkitakehendaki.
Contoh:
MenampilkanmahasiswayangtinggaldikotaSemarang
MenampilkanmahasiswayangIPKnya>3
Menampilkanmahasiswayangmemilikinamatertentu
QuerypadaMicrosoftAccess
Langkahawalpembuatanqueryadalahdneganmengklikmenu/objectQuery:
QuerypadaMicrosoftAccessmemilikitigabentukyaitu:
1. SqlView
Perintahsqlyangdeiberkanuntuksebuahquery
2. QueryDesign
InterfaceyangdisediakanolehMicrosoftAccessuntukmelakukanquerysecaracepatdanmudah.
3. QueryWizard
Hasiltampilandatadariperintahquerysesuaidefinisidaridesignviewatausqlview
QuerydenganSQLView
SELECT
PerintahSQLuntukmenampilkandatamemilikicarapenulisansebagaiberikut:
SELECT*|[kolom1,kolom2,...]FROM<namatable>[WHERE<kondisi>];
SELECTartinyamemilihkolomataufieldmanayangakanditampilkan
Dapatberupalistkolom,suatupersamaan(operasiaritmatika),fungsi,obyektertentu
Dapatdiketikkan*yangartinyamenampilkansemuafieldyangdimilikiolehtabletersebut
FROMmenunjukkannamaTabelyangakanditampilkan
WHEREuntukmeletakkandefinisikondisipenyaringan
BerikutcontohquerydanperintahSQLuntukpenyelesaiannya:
1. Query:Tampilkansemuakolomyangadapadatablepegawai
SELECT*FROMpegawai;
2. Query:Tampilkankodebukudanjudulnya
SELECTkodebuku,judulFROMbuku;
3. Query:Tanpilkannim,nama,jenisKelamindantglLahirmahasiswadengannamafielddari
jenisKelamindiberialisSEXdantglLahirdiberialiasTanggalLahirdaritablemahasiswa;
SELECTnim,nama,jenisKelaminas[SEX],tglLahiras[TanggalLahir];
Operatorperbandinganyangdapatdigunakanadalah:
=(samadengan),
<>(tidaksamadengan)
LIKE(khususuntukdatachar/varcharyangmencaridataberdasarkanpola.Karakterkhususyangdapat
dimasukkandalamoperatorLIKEantaralain%untuksembaranglebihdarisatukarakter,_ataugaris
bawahuntukmewakilisembarangsatukarakter),
BETWEENnilai_awalANDnilai_akhir(untukmengujiapakahsuatunilaiberadadiantaranilai_awaldan
nilai_akhir),
>,>=,<,<=(lebihbesar,lebihbesaratausamadengan,lebihkecil,lebihkecilatausamadengan),
ISNULLatauISNOTNULL(digunakanuntukmengujiapakahnilaisuatukolomkosongatautidak)
Selainitu,jikaandamemilikiduaataulebihekspreisperbandingan,andaharusmenggunakansalahsatudari
operatorlogikaberikut:
AND,andaakanmenghasilkannilaitruejikadanhanyajikakeduanilaiyangdibangingkanbernilaitrue,
OR,akanmenghasilkannilaitruejikadanhanyajijasalahsatudariduanilaiyangdibandingkanbernilai
true
Contoh:
TampilkansemuaanggotayangberinisialisasiJONI.
SELECT*FROManggotaWHEREnamaLIKEJONI%;
KodekodelainuntukbarisCriteriayangdapatdipakaisesuaikebutuhan:
Tanda>untuklebihbesardari
Tanda<untuklebihkecildari
Tanda>=untuklebihbesardariatausamadengan
Tanda<=untuklebihkecildariatausamadengan
Tanda=untuksamadengan
Tanda?menunjukkansatukarakter.MisalkitamengetikkanE?artinyakitaakanmencarinamaEr,En,
Ek, Et, dan lainlain tetapi TIDAK akan mencari Erhans atau Eni atau yang lainnya yang lebih dari dua
huruf.
Tanda*Menunjukpadabanyakkarakter.MisalkitaketikE*artinyakitaakanmencarinamaErhansatau
EniataunamalainyangberhurufawalE.
NOT untuk TIDAK menampilkan. Misalnya kita tidak ingin menampilkan mahasiswa yang berasal dari
kota Yogyakarta maka pada tabel MAHASISWA dengan field KOTA di kolom isian Criteria kita ketik
dengannotYogyakarta
MengurutkanData
1. KlikdibarisSortpadatabelMAHASISWAdenganfieldNAMAjikainginmengurutkandatanama
2. mahasiswa.
3. KlikAscendinguntukmengurutkandariAhinggaZ.KlikDescendinguntukmengurutkandariZ
4. keA.Klik(notsorted)untukmembatalkanpengurutan.
5. PilihtoolbarDESIGNkemudianklik!Run
Caranya:
1.
masukketabCreate
2.
klikQuerydesign
3.
klikkanankemudianpilihSQLView
4.
ketikkanperintahquerynya
5.
setelahselesaikliktomboltandaseru
untukmengeRUNqueryanda
Latihan:
1.
Buatlah3tableyaitumahasiswa,matakuliahdanpeserta
Tablemahasiswa
Tablematakuliah
Tablepeserta
2.
Buatlahrelationshipdatabasenyaseperti
3.
Tampilkan
a. tampilkantablepesertadengansemuafieldditampilkan
b. tampilkantablemahasiswadengansemuafieldditampilkandimanafieldtglLahirdiberialiasTanggal
LahirdanfieldjenisKelamindiberialiasJenisKelamin
c. tampilkantablematakuliahdengansemuafieldditampilkandimanayangditampilkanadamatakuliah
denganhargakurangdarisamadengan3
d. tampilkan semua nilai dari tiap matakuliah yang diambil oleh mahasiswa dengan field yang
ditampilkan adalah kode matakuliah (urut secara ASCENDING), nim dan nilai dari table mahasiswa
danpeserta
e. tampilkan field kode matakuliah (urut secara ASCENDING), nama matakuliah, sks, nim, nama, nilai,
semesterdanipkdaritablematakuliah,mahasiswadanpeserta
DesignView
BerikutiniadalahbeberapalangkahpembuatanQuerydenganDesignView
1.
PilihtoolbarCreatekemudianpilihQueryDesign.
2.
Akanmunculsebuahjendelauntukmemilihtabel.KliknamatabelyangdipilihkemudianklikAdd.
Jika tabel yang akan dipilih lebih dari satu maka tabel tabel tersebut harus saling berkaitan
dalamrelationships.
3.
Kemudianakanmunculjendelasepertiberikut
4.
Masukkannamatabeldanfieldyangkitaperlukandalampembuatanquery
5.
TampilkanmahasiswayangmemilikiIPKkurangdarisamadengan3.
Caranya:ketikpadabarisCriteriayangkosongdengan<=3
SimpanQuerydengannamaIPK<=3klikrun
Tugasdirumah:
Belajarsendirimateriquerywizard!selamatmencoba.
QueryWizard
CaramembuatQuerydenganQueryWizardakanlebihmudahkarenakitaakandibantuolehMs.Access.
BerikutiniadalahlangkahlangkahmembuatQuerydenganQueryWizard:
1.
BukaFiledatabaseyangkitamilikikemudianpilihtoolbarCreatekemudianklikQueryWizard.
2.
KemudianakanmunculkotakNewQuery.LalukitapilihSimpleQueryWizard.KlikOK
3.
KemudiankitapilihtabelyangkitaperlukanpadapilihanTabel/Queries.
4.
Klik>untukmemilihfieldyangkitaperlukandalamquery.
5.
Klik<untukmembatalkan.
6. Klik>>jikakitamemerlukansemuafieldyangada.
7.
PilihfieldNIM,NAMAdanIPK.
8.
KlikDetail(showeveryfieldsofeveryrecord)atauSummary.
9.
KemudianklikNextakanmunculjendelabarukemudianberinamapadaqueryyangtelahdibuat
danpilihOpenthequerytoviewInformation.
10. KlikFINISH.