Suatu model konseptual merepresentasikan realita dalam suatu bentuk abstraksi yang dapat
digunakan untuk mengembangkan suatu sistem informasi dalam berbagai format (relational,
object oriented, dll)
Tidak bergantung pada tipe model logika (logical model) apa pun
Suatu model logika merepresentasikan realita dalam format yang sesuai dengan model basis
data tertentu (contoh relational atau object-oriented)
Suatu model fisik (physical model) dibuat secara khusus untuk suatu paket s/w basis data
tertentu.
Bergantung pada h/w, s/w dan pada tipe model logika yang dipilih
A FOREIGN KEY dalam suatu tabel, adalah primary key dari tabel lain yang telah diposting pada tabel pertama untuk membentuk suatu hubungan diantara dua table.
Semua nilai dalam kolom dan baris harus mengikuti format data yang sama
(contoh: tanggal, teks, dll)
3. Tiap sel dalam suatu tabel basis data (perpotongan kolom-baris) hanya dapat
memilliki satu nilai saja (repeating groups tidak diperbolehkan).
Suatu primary key dalam suatu tabel tidak boleh memiliki nilai null (kosong)
Untuk memastikan keunikan entitas dan memungkinkan nilai primary key menjadi
acuan bagi nilai foreign key.
Nilai untuk suatu foreign key pada suatu tabel harus merupakan salah satu dibawah
ini:
Null (kosong)
Sama dengan nilai primary key pada tabel asalnya
Fakta = suatu pasangan nilai atribut kandidat kunci dengan nilai atribut lainnya
Fakta ditemukan pada extensional data
Tiap nilai dari tiap atribut pada suatu baris berpasangan dengan primary key,
sehingga bila suatu sel memiliki dua atau lebih nilai atribut, hal tersebut dikatakan
sebagai beberapa fakta pada satu lokasi (atau disebut juga sebagai repeating
group).
1A: Tiap atribut dari entitas menjadi kolom pada relational table
2A: Tiap instance (anggota) dari himpunan entitas menjadi baris pada relational table
Langkah 2-4 melibatkan penentuan apakah tiap hubungan dalam model konseptual harus
direpresentasikan sebagai suatu tabel terpisah atau di-posting sebagai foreign key
Kardinalitas
partisipasi
mengkomunikasikan
beberapa
informasi
mengenai
primary
key-nya.
Primary
key
ini
disebut
sebagai
suatu
Bila suatu foreign key di-posting pada kedua arah, redundancy akan menjadi suatu
masalah bagi many-to-many relationships.
3A: posting-lah primary key dari suatu tabel entitas pada tabel entitas lainnya sebagai
foreign key.
3B: tidak menjadi masalah primary key entitas mana yang di-posting pada tabel entitas
lainnya, tetapi jangan mem-posting keduanya :
Jangan membuat suatu tabel terpisah
Redundancy dihindari secara otomatis dan load bukan merupakan suatu masalah bila
suatu foreign key di-posting pada tabel manapun dalam hubungan (1,1)-(1,1)
Langkah 4 untuk hubungan lain yang memiliki partisipasi (1,1) dengan satu himpunan
entitas, posting-lah primary key entitas terkait pada tabel entitas (1,1) sebagai foreign key
atauuntuk pola kardinalitas partisipasi berikut : (0,N)-(1,1) (1,N)-(1,1) (1,1)-(0,N) (1,1)(1,N) (0,1)-(1,1) (1,1)-(0,1)
Jangan membuat tabel terpisah
Posting-lah suatu foreign key pada tabel entitas (1,1) dari tabel entitas lainnya
Redundancy akan dihindari dan load bukan merupakan suatu masalah bila
instruksi ini diikuti
Bila posting dilakukan pada arah yang berlawanan, redundancy [untuk maksimum
N] atau load [untuk minimum 0] akan menjadi suatu masalah
Langkah 5 untuk hubungan lainnya yang memiliki partisipasi (0,1) pada satu atau kedua
entitas, pertimbangkanlah load-nya atau untuk pola kardinalitas partisipasi berikut:
(0,N)-(0,1) (1,N)-(0,1) (0,1)-(0,N) (0,1)-(1,N) (0,1)-(0,1)
Aturan untuk maximum cards mengharuskan posting pada suatu (0,1) atau
membuat tabel terpisah; tidak boleh melakukan posting pada (0,N) atau (1,N).
5A posting-lah primary key entitas terkait pada tabel entitas (0,1) sebagai suatu foreign key
untuk hubungan manapun yang akan mengakibatkan high load
5B buatlah tabel terpisah untuk hubungan manapun dimana posting suatu foreign key akan
menyebabkan low load. Catatan: untuk (0,1)-(0,1), langkah 5A, posting pada arah manapun
akan mengakibatkan highest load; bila kedua arah tidak mengakibatkan high load, maka
ikuti langkah 5B
Contoh Load Considerations
Fakta-fakta apa saja yang memiliki beberapa lokasi pada tabel ini?
Dapatkan model ER yang direpresentasikan oleh tabel ini!
Apakah model ER-nya benar?
Model ER nya harusnya seperti apa?
Bagaimanakah relational model yang benar?
Contoh Lainnya :
Access Help
Halaman Muka
Microsoft Access
Setelah kita berhasil menamai tabel pertama tadi dengan sale, maka langkah berikutnya dalah
membuat tabel lainnya. Dengan cara, tutup tabel sale yang telah kita simpan tadi, dan buka
serta buat tabel baru lagi. Yang isinya antara lain : SalespersonID, Name dan Telephone dan
jadikan SalespersonID sebagai primary key pada tabel ini, kemudian simpan dengan file
Salesperson.
Sekarang kita telah memiliki 2 tabel yaitu sale dan saleperson. Lalu, icon relationship, ketika
telah muncul, maka drag kedua tabel tadi dan klik add, maka akan mucul edit relationship
tab, pada tab tersebut klik enforce referential integrity dan cascade update related fields,
setelah itu klik create. Enforced referential integrity merupakan pilihan yang sangat bagus
untuk di klik karena jika kita merubah customer ID maka hal tersebut juga akan mengubah di
seluruh tempat. Sedangkan opsi cascade update related fields merupakan opsi yang berfungsi
untuk tidak membiarkan kita kehilangan data data yang akan kita butuhkan di kemudian hari.
Edit Relationships
Setelah klik create, maka akan muncul tabel sale dan salesperson pada relational tabel kita.
Kemudian, klik salespersonID pada tabel salesperson dan drag ke salesperson pada tabel
sale, maka akan muncul ralationship layout sebabai berikut :
Relationships Layout
Terdapat angka 1 di SalespersonID pada tabel salesperson, hal tersebut menunjukkan bahwa
nilai partikular data untuk atribut tersebut bisa muncul di tabel maksimum satu kali. Hal
tersebut masuk akal, hal itulah yang disebut dengan parimary key dan primary key tidak bisa
memiliki nilai duplikasi (nilai yang sama). Sedangkan tanda infinity disamping salesperson
pada tabel sale menunjukkan bahwa nilai partikular data untuk atribut tersebut bisa muncul di
tabel untuk beberapa kali. Sebagai contoh Salesperson 654321 membuat penjualan terus
menerus dan bisa selalu muncul pada tabel sale untuk beberapa kali pula.
Relationships
Layout
Ketika ketiga tabel tersebut sudah berhasil dibuat, kemudian klik relationship icon. Ketika
sudah muncul tabel di relationship, maka : klik StudentID di tabel student dan drag ke
StudentID di tabel course serta klik CourseID di tabel course dan drag ke CourseID di tabel
takes. Maka hasilnya adalah sebagai berikut :
Menghapus
relationships
antar tabel
Datasheet view
Ketika
kita telah selesai membuat tabel yang hubungan antara beberapa tabel telah
dikomunikasikan dengan benar di Ms. Access, maka saat itulah kita telah siap untuk memulai
memasukkan data kedalam tabel. 2 views yang dapat membantu kita untuk memasukkan data
pada tabel antara lain : datasheet view dan form view. Di chapter ini, kita hanya akan
membahas datasheet view. Caranya, ketika kita ingin memasukkan beberapa field di dalam
tabel, kemudian ketik field-nya dan ketika ingin berpindah ke field berikutnya bisa dengan
menekan tombol TAB pada keyboard. Ketika kita berpindah ke field lain dengan
menggunakan TAB, maka ketika kita menekan TAB, software akan secara otomatis
menyimpan data yang telah kita masukkan. Kemudian sering juga kita melihat icon pensil,
hal itu menunjukkan data yang kita masukkan saat ini di posisi tersebut.
Hal yang harus diingat adalah ketika kita telah klik enforce referential integrity dan telah
memasukkan data ke dalam field yang sesuai, maka kita harus hati hati untuk memasukkan
datanya. Berusahalah hati hati dalam memasukkan data. Jika kita memasukkan data yang
salah, maka kita harus segera memperbaiki dengan segera dimana letak kesalahan data
tersebut sebelum kita memasukkan data berikutnya ke dalam tabel Ms. Access.
Concluding Comments
Di chapter ini kita telah mempelajari bagaimana cara mengambil representasi secara
konseptual dari enterprise yang nyata kemudian mengubahnya, pertama ke dalam logika
hubungan tabel dan kemudian praktik nyata ke dalam Microsoft Access software. Kita juga
mempelajari bagaimana memasukkan data pada tabel. Di chapter berikutnya, kita akan
mempelajari sesuatu yang bisa kita lakukan setelah memasukkan data pada database yang
relasional. Di situlah fungsi yang sesunggunya pada database relasional bisa kita temukan.
Ketika kita memasuki chapter tersebut, jangan lupakan apa yang telah kita dapatkan dan telah
kita pelajari di chapter ini. Pengertian yang kuat pada desain tabel adalah merupakan dasar
pengertin yang kuat pula untuk querying. Pengertian yang kuat tentang querying merupakan
dasar yang kuat untuk retrieval of valid data, yang kemudian hasil akhirnya sangat
mempengaruhi pengambilan keputusan. Inilah pentingnya mengapa pengguna sistem
enterprise harus benar benar mengerti dasar dari database relational.