ERD ( ENTITY RELATIONSHIP DIAGRAM )

Entity Relationship Diagram
ERD / Entity Relationship
Diagram merupakan model data berupa notasi grafis
dalam pemodelan data konseptual yang menggambarkan hubungan antara penyimpan
satu dengan penyimpan yang lain. Model data sendiri merupakan sekumpulan cara,
peralatan untuk mendeskripsikan data-data yang memiliki hubungan satu sama
lain, semantiknya, serta batasan konsistensi. Model data terdiri dari model
hubungan entitas dan model relasional. Diagram hubungan entitas ditemukan oleh
Peter Chen dalam buku Entity Relational Model-Toward a Unified of Data.
Pada saat itu diagram hubungan entitas dibuat sebagai bagian dari perangkat
lunak yang juga merupakan modifikasi khusus, karena tidak ada bentuk tunggal
dan standar dari diagram hubungan entitas.
ERD adalah suatu pemodelan
dari basisdata relasional yang didasarkan atas persepsi di dalam dunia nyata,
dunia ini senantiasa terdiri dari sekumpulan objek yang saling berhubungan
antara satu dengan yang lainnya. Suatu objek disebut entity dan hubungan yang
dimilikinya disebut relationship. Suatu entity bersifat unik dan memiliki
atribut sebagai pembeda dengan entity lainnya. Contoh : entity Mahasiswa,
mempunyai atribut nama, umur, alamat, dan nim.
Diagram hubungan
entitas digunakan untuk mengkonstruksikan model data konseptual, memodelkan
struktur data dan hubungan antar data dan mengimplementasikan basis data secara
logika maupun secara fisik dengan DBMS (Database Management system).
Dengan diagram hubungan entitas ini kita dapat menguji model dengan mengabaikan
proses yang harus dilakukan. Diagram hubungan entitas dapat membantu dalam
menjawab persoalan tentang data yang diperlukan dan bagaimana data tersebut
saling berhubungan.
Simbol Simbol dalam Entity Relationship Diagram
Simbol–simbol
yang digunakan dalam entity relationship diagram adalah sebagai berikut ini :
1. Entity (rectangler)
Digunakan untuk menggambarkan obyek yang diidentifikasikan ke dalam lingkungan.
1. Entity (rectangler)
Digunakan untuk menggambarkan obyek yang diidentifikasikan ke dalam lingkungan.
2. Atribut (oval)
Digunakan untuk menggambarkan elemen-elemen dari suatu entity, yang menggambarkan karakter entity.
3. Hubungan (diamond)
Entity dapat berhubungan satu sama lain. Hubungan ini disebut dengan relationshiP
4. Garis (line)
Digunakan untuk menghubungkan entity dengan relasi/hubungan, maupun entity dengan atribut.
Tahapan Perancangan ERD
1. Identifikasi dan menetapkan seluruh himpunan Entitas
2. Menentukan Atribut Key dari masing-masing himpunan entitas.
3. Identifikasi dan menetapkan seluruh himpunan Relasi di antara himpunan
Entitas yang ada beserta kunci tamunya (foreign key).
4. Derajat relasi untuk setiap himpunan relasi.
5. Melengkapi himpunan relasi dengan atribut- atribut deskriptif.
1.
Identifikasi dan menetapkan
seluruh himpunan Entitas
Sebagaimana telah
disebutkan, himpunan entitas mewakili sebuah kumpulan entitas yang jelas
eksistensinya dan dapat berdiri sendiri. Akan tetapi, himpunan entitas mana
saja yang kita pilih tidak hanya tergantung pada jenis topik/sistem yang kita
tinjau, tetapi juga ditentukan oleh seberapa jauh ruang lingkup yang kita ingin
akomodasi dalam rancangan basis data. Dalam lingkup sistem perkuliahan
sesungguhnya ada banyak sekali himpunan entitas yang bisa kita libatkan seperti
Mahasiswa, Kuliah, Praktikum, Dosen, Asisten, Ruang, Jurusan dll.
Namun dalam lingkup sistem perkuliahan yang sederhana,
kita dapat identifikasi adanya tiga buah himpunan entitas , yaitu Mahasiswa,
Kuliah dan Dosen
2.
Menentukan Atribut Key dari
masing-masing himpunan entitas.
Atribut-atribut key yang kita sertakan di masing-masing
himpunan entitas merupakan atribut terpenting yang dapat
mengidentifikasi(membedakan) setiap entitas yang ada didalamnya. Keberadaan
atribut ini juga akan memberikan
keyakinan tentang kebenaran eksistensi dari setiap himpunan entitas. Salah satu
ciri dari himpunan entitas adalah kemandiriannya. Dengan mudah dapat kita
sepakati, bahwa pengidentifikasi setiap entitas secara unik, dihimpunan entitas
Mahasiswa adalah atribut nim, lalu dihimpunan entitas Kuliah adalah atribut
kode_kul, dan dihimpunan entitas Dosen adalah atribut nama_dosen
3.
Identifikasi dan menetapkan
seluruh himpunan Relasi di antara himpunan Entitas yang ada beserta kunci
tamunya (foreign key).
Langkah ke-3 ini sangat penting dalam pembentukan Diagram
E-R. Ketepatan dalam menentukan relasi yang terjadi diantara himpunan entitas
akan menentukan kualitas rancangan basis data yang kita bangun. Relasi yang
kita tetapkan harus dapat mengakomodasi semua fakta yang ada dan menjamin
kebutuhan pengajian data, akan tetapi dalam sisi lain juga harus dibuat
seoptimal mungkin agar tidak memakai ruang penyimpanan yang lebih besar. Untuk
itulah , relasi yang sifatnya tidak langsung harus ditiadakan. Himpunan relasi
mempelajari dan mengajar merupakan relasi langsung yang terjadi diantara
himpunan entitas Mahasiswa dan Kuliah serta antara himpunan entitas Dosen dan
Kuliah , dapat di gambarkan sebagai berikut:
Himpunan relasi Mempelajari akan dapat mengakomodasi
adanya fakta tentang sejumlah Mhs yang menganmbil mata kuliah tertentu,
demikian juga dengan himpunan relasi mengajar yang dapat mengakomodasi fakta
tentang dosen yang mengajar mata kuliah tertentu.
4.
Menentukan derajat relasi untuk
setiap himpunan relasi.
Karena memang fakta memperlihatkan bahwa seseorang mahasiswa boleh
mengambil beberapa mata kuliah sekaligus, maka derajat relasi antara himpunan
entitas mahasiswa & kuliah adalah banyak ke banyak. Sementar itu fakta yang
menunjukan bahwa dosen dapat mengajar beberapa mata kuliah , maka derajat relasi
antara himpunan entitas dosen dan kuliah adalah satu ke banyak, maka dapat kita
gambarka Diagram E-R sebagai berikut:
5. Melengkapi himpunan relasi dengan atribut- atribut deskriptif
Langkah terakhir ini merupakan langkah pelengkap sehingga
tidak seperti langkah-langkah sebelumnya. Keberadaan atribut deskriptif ini
merupakan refleksi pengakomodasian terhadap fakta.
Menurut Al Bahra bin Ladjamudin B (2004:189) ERD adalah suatu
model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara
abstrak. Jadi, jelaslah bahwa ERD ini berbeda dengan DFD yang merupakan suatu
model jaringan fungsi yang dilaksanakan oleh sistem. Sedangkan ERD merupakan
model jaringan data yang menekankan pada struktur-struktur dan relationship
data.
Diagram hubungan entitas atau yang lebih dikenal dengan sebutan ER
diagram, adalah notasi grafik dari sebuah model data atau sebuah model jaringan
yang menjelaskan tentang data yang tersimpan (data storage) dalam sistem secara abstrak. Diagram hubungan entitas tidak
menyatakan bagaimana memanfaatkan data, membuat data, mengubah data, dan
menghapus data.
Elemen-elemen
Diagram Hubungan Entitas
- Entity
Pada ER
diagram, entity digambarkan dengan sebuah
bentuk persegi panjang. Entity adalah sesuatu apa
saja yang ada di dalam sistem, nyata maupun abstrak dimana data tersimpan atau
dimana terdapat data. Entitas diberi nama dengan kata benda dan dapat
dikelompokkan dalam empat jenis nama yaitu orang, benda, lokasi, kejadian
(terdapat unsur waktu di dalamnya).
- Relationship
Model relasional adalah model yang menggunakan sejumlah tabel
untuk menggambarkan data serta hubungan antara data-data. Setiap tabel memiliki
sejumlah kolom, setiap kolom memiliki nama yang unik. Model relasional memiliki
struktur record berformat tertentu dimana masing-masing isinya memiliki
tipe-tipe yang berbeda (Misalnya tipe data untuk nomor induk pegawai adalah string, tentu
berbeda dengan tipe data untuk nama [misalnya: string] yang panjangnya tidak
ditentukan, bergantung pada komputer tempat aplikasi diimplementasikan.
Pada ER diagram, relationship dapat digambarkan dengan sebuah
bentuk belah ketupat. Relationship adalah
hubungan alamiah yang terjadi antara entitas. Pada umumnya penghubung (Relationship) diberi nama dengan kata kerja dasar,
sehingga memudahkan untuk melakukan pmbacaan relasinya (bisa dengan kalimat
aktif atau kalimat pasif). Penggambaran hubungan yang terjadi adalah sebuah
bentuk belah ketupat dihubungkan dengan dua bentuk empat persegi panjang.
- Relationship
Degree
Relationship degree atau derajat relationship adalah jumlah
entitas yang berpartisipasi dalam satu relationship. Derajat relationship yang
sering dipakai di dalam ERD:
· Unary Relationship
Unary relationship adalah model relationship yang terjadi
diantara entity yang berasal dari entity set yang sama. Sering juga disebut sebagai Recursive Relationship atau Reflective Relationship.
· Binary Relationship
Binary relationship adalah model relationship antara
instance-instance dari suatu tipe entitas (dua entity yang berasal dari entity
yang sama). Relationship ini paling umum digunakan dalam pembuatan model data.
· Ternary Relationship
Ternary relationship merupakan antara instance-instance dari tiga
tipe entitas secara serentak.
- Atribut
Value
Atribut value atau nilai attribute adalah suatu occurrence
tertentu dari sebuah attribute di dalam suatu entity atau relationship. Ada dua
jenis atribut:
· Identifier
(key) digunakan untuk menentukan suatu entity secara unik (primary key).
· Descriptor
(nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu
entity yang tidak unik.
- Kardinalitas (Cardinality)
Kardinalitas
relasi menunjukkan jumlah maksimum tupel yang dapat berelasi dengan entitas
pada entitas yang lain. Terdapat tiga macam kardinalitas relasi yaitu:
· One to One
Tingkat
hubungan satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama,
hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan
sebaliknya.
Yang berarti setiap tupel pada entitas A
berhubungan dengan paling banyak satu tupel pada entitas B, dan begitu juga
sebaliknya setiap tupel pada entitas B berhubungan dengan paling banyak satu
tupel pada entitas A.
· One to Many atau Many
to One
Tingkat hubungan satu ke banyak adalah sama
dengan banyak ke satu. Tergantung dari arah mana hubungan tersebut dilihat.
Untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan
dengan kejadian pada entitas yang kedua. Sebaliknya satu kejadian pada entitas
yang kedua hanya dapat mempunyai satu hubungan dengan satu kejadian pada
entitas yang pertama.
o One to Many (satu ke banyak)
Yang berarti satu tupel pada entitas A dapat
berhubungan dengan banyak tupel pada entitas B, tetapi tidak sebaliknya, dimana
setiap tupel pada entitas B berhubungan dengan paling banyak satu tupel pada
entitas A.
o Many to One (banyak ke satu)
Yang berarti setiap tupel pada entitas A dapat
berhubungan dengan paling banyak satu tupel pada entitas B, tetapi tidak
sebaliknya, dimana setiap tupel pada entitas A berhubungan dengan paling banyak
satu tupel pada entitas B.
· Many to Many
Tingkat hubungan kebanyakan terjadi jika tiap
kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada
entitas lainnya. Baik dilihat dari sisi intitas yang pertama, maupun dilihat
dari sisi yang kedua.
Yang berarti setiap tupel pada entitas A dapat
berhubungan dengan banyak tupel pada entitas B, dan demikian juga sebaliknya,
dimana setiap tupel pada entitas B dapat berhubungan dengan banyak tupel pada
entitas A.
Macam
– macam kunci Relasional
Antara
data base dengan relasional merupakan data yang saling berhubungan. Pada dasar
nya basis data menggunakan model Relasional karena pada model ini menggunakan kunci
untuk membedakan antara satu table dengan table lainnya. Kunci-kunci yang
digunakan memiliki fungsi masing-masing dalam membedakan nya. Dibawah ini
macam-macam kunci pada sebuah model relasional.
1. Super Key
Super key merupakan
salah satu atau lebih atribut yang dimiliki agar dapat membedakan setiap baris
data dalam table secara unik. Seperti contoh nya untuk melihat akademik suatu
kampus dbutuhkan yang dapat membuka database akademik tersebut. Kata kunci nya
seperti npm, nama, mhs, tanggal lahir.
2. Candidate Key
Dalam candidate key ini merupakan atribut yang mempunyai nilai unik dan memiliki satu atribut yang dapat mengidentifikasi secara unik suatu kejadian nyata. Ada satu atribut juga yang menyatakan secara tidak langsung dimana tidak dapat membuang atribut tanpa merusak kepemilikan. Contohnya seperti npm dan nama mhs.
Dalam candidate key ini merupakan atribut yang mempunyai nilai unik dan memiliki satu atribut yang dapat mengidentifikasi secara unik suatu kejadian nyata. Ada satu atribut juga yang menyatakan secara tidak langsung dimana tidak dapat membuang atribut tanpa merusak kepemilikan. Contohnya seperti npm dan nama mhs.
3. Primary Key
Dapat
mengidentifikasi secara unik suatu kejadian tapi dapat juga mewakili setiap
kejadian dari suatu data. Candidate key dapat mewakili secara menyeluruh
terhadap data yang ada karna dapat menjadi peluang Primary Key. Contohnya : npm
4. Foreign Key
Atribut dengan
menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut
hanya atribut biasa dari suatu relasi memiliki atribut yg menuju ke Primary Key
dari relasi lain. Contohnya : npm, kode_matkul
5. Alternate Key
Atribut yang tidak terpilih atau tidak dipakai sebagai Primary Key dan Candidate Key
Atribut yang tidak terpilih atau tidak dipakai sebagai Primary Key dan Candidate Key
6. Composite Key
Merupakan atribut gabungan dua key atau lebih yang secara unik dapat mengidentifikasi sebuah tupel.
Merupakan atribut gabungan dua key atau lebih yang secara unik dapat mengidentifikasi sebuah tupel.
Untukmelakukanmapping
(pemetaan) dariskema ER Diagram keskemarelasiterdapatlangkah-langkah
yang harusdiperhatikan.
Langkah-langkah mapping:
-
Untuksetiapentitasskemarelasi
R yang menyertakanseluruhSimpleAtributedanSimpleAttributedariCompositeAttribute
yang ada, pilihsalahsatuatributkuncisebagaiPrimary Key.
-
Untuk
setiap Entitas Lemah, buatlah skema relasi R dengan mengikutsertakan seluruh
Simple Attribute. Tambahkan Primary Key dari entitas
kuatnya(Owner Entity type) yang akan digunakan sebagai Primary Key
bersama-sama Partial Key dari Entitas Lemah (digabung).
-
Untuk
setiap relasibinary1:1, tambahkan Primary Key dari sisi yang
lebih ”ringan” ke sisi (entitas) yang lebih ”berat”. Suatu sisi
dianggap lebih ”berat” timbangannya apabila mempunyai partisipasitotal.
Tambahkan juga Simple Attribute yang terdapat pada relasi
tersebut ke sisi yang lebih ”berat”.
Apabila kedua partisipasi adalah samatotal, maka kedua entitas
tersebut boleh digabung menjadi satu skema relasi.
-
Untuk
setiap relasi binary 1:N yang tidak melibatkan entitas lemah,
tentukan mana sisi yang lebih ”berat”. Sisi dianggap lebih ”berat”
timbangannya adalah sisi-N. Tambahkan Primary Key dari
sisi yang ”ringan” ke skema relasi sisi yang lebih ”berat”.
Tambahkan juga seluruhsimple attribute yang terdapat pada relasi
biner tersebut.
-
Untuk
setiap relasi binaryM:N, buatlah skema relasi baru R dengan
menyertakan seluruh simple attribute yang terdapat padarelasibiner
tersebut. Tambahkan masing-masing primary key dari kedua sisi ke skema
relasi R tersebut (sbg foreign key), lalu digabungmenjadi
satu membentuk Primary Keydari skema relasi R.
-
Untuk
setiap Multivalued Attribute, buatlah skema relasi R yang
menyertakan atribut dari multivalue tersebut. Tambahkan Primary
Key dari relasi yang memiliki multivalued tersebut. Kedua atribut tersebut
membentuk Primary Key dari skema relasi R.
-
Untuk
setiap relasi n-ary dengan n>2, buatlah skema relasi R yang menyertakan
seluruh Primary Key dari entitas yang ikut serta. Sejumlah n Foreign
Key tersebut akan membentuk Primary
Key untuk skema relasi R. Tambahkan seluruh Simple Attribute yang terdapat
pada relasi n-ary tersebut.
NORMALISASI DAN DENORMALISASI DATA
BAB 1
NORMALISASI
DATA
A. PengertianNormalisasi Data
Definisi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
Tujuan dari normalisasi
Untuk menghilangkan kerangkapan data
Untuk mengurangi kompleksitas
Untuk mempermudah pemodifikasian data
Untuk mengurangi kompleksitas
Untuk mempermudah pemodifikasian data
Proses Normalisasi
Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
B. Tahapan Normalisasi
Bentuk Tidak Normal
Menghilangkan perulangan group
Menghilangkan perulangan group
Bentuk Normal Pertama (1NF)
Menghilangkan ketergantungan sebagian
Bentuk Normal Kedua (2NF)
Menghilangkan ketergantungan transitif
Menghilangkan ketergantungan transitif
Bentuk Normal Ketiga (3NF)
Menghilangkan anomali-anomali hasil dari
ketergantungan fungsional
Menghilangkan anomali-anomali hasil dari
ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan Ketergantungan Multivalue
Menghilangkan Ketergantungan Multivalue
Bentuk Normal Keempat (4NF)
Menghilangkan anomali-anomali yang tersisa
Menghilangkan anomali-anomali yang tersisa
Bentuk Normal Kelima
Petunjuk
normalisasi ini adalah bersifat komulatif. Untuk suatu database menjadi bentuk
normal kedua (2NF), pertama harus terpenuhi dahulu seluruh kriteria bentuk
normal kesatu (1NF).
Sebuah tabel
dikatakan baik (efisien) / normal jika memenuhi 3 kriteria sbb :
1. Jika ada
dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman
(Lossless – Join - Decomposition). Artinya,
setelah tabel tersebut diuraikan / didekomposisi menjadi tabel – tabel
baru, tabel – tabel baru tersebut bisa menghasilkan tabel semula dengan nama
yang sama persis.
2. Terpeliharanya
ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3. Tidak
melanggar Boyce – Codd Normal Form (akan dijelaskan kemudian)
C. Tujuan
Normalisasi Data
1.
Untuk Menghilangkan Kerangkapan Data
2.
Untuk Mengurangi Kompleksitas
3.
Untuk Mempermudah Pemodifikasian Data
D. Proses
Normalisasi
-
Data diuraikan dalam bentuk tabel,
selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
-
Apabila tabel yang diuji belum memenuhi
persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel
yang lebih sederhana sampai memenuhi bentuk yang optimal.
BAB II
DENORMALISASI
DATA
A.
PENGERITAN
DENORMALISASI DATA
Denormalisasi database adalah pelanggaran aturan normalisasi atau
menjabarkan suatu tataan database yang telah normal untuk meningkatkan performa
pengaksesan data pada database. Database yang telah normal disini dimaksudkan
database yang redundansi datanya minim sehingga data yang disimpan tidak
mengalami kerancuan dalam proses pengaksesan.
Apakah perbedaan normalisasi dan denormalisasi? perbedaan
normalisasi dan denormalisasi adalah terletak pada redundansi data dan
kompleksitas query. Pada redundansi data normalisasi lebih strik atau harus
dihilangkan sebisa mungkin sehingga mengakibatkan apabila kita akan mengakses
data dalam suatu database membutuhkan query yang kompleks. Berbeda dengan
denormalisasi, denormalisasi disini tidak terlalu memikirkan tentang data yang
redundan sehingga dalam mengakses data lebih cepat.
Mengapa
Denormalisasi begitu penting?
Apabila kita menilik lebih lanjut tentang proses pengaksesan yang
dilakukan database sewaktu data yang berada dalam suatu tabel ada 1000 baris
dengan 100 juta baris. Hal itu akan terasa sangat beda proses kita menunggu
untuk dapat melihat data. Itupun apabila kita mengaksesnya dari beberapa tabel
yang setiap tabel berisikan jutaan data dan kita hanya menginginkan sebagian
saja. Dari situ denormalisasi diperlukan, untuk menjaga kestabilan performa
suatu sistem.
Bagaimanakah cara melakukan denormalisasi? Kita dapat
melakukan denormalisasi dalam 2 jenis :
- melalui
pembuatan kolom baru pada tabel / mengabungkan kolom pada tabel satu
dengan yang lain.
- melalui
pembuatan tabel baru.
Cara yang pertama dilakukan apabila data yang
didenormalisasi hanya kecil dan digunakan untuk mempermudah pengaksesan data
apabila diakses dalam satu tabel. Sedangkan yang kedua dilakukan apabila data
yang terdapat dalam tabel tersebut merupakan rangkuman / rekapitulasi dari satu
atau beberapa tabel yang pengaksesannya terpisah dari tabel yang ada.
contoh :
denormalisasi pertama : total sks yang telah diambil seorang mahasiswa. ini
dibentuk dari jumlah sks matakuliah yang pernah diambil.
denormalisasi kedua : pembuatan tabel jumlah kehadiran mahasiswa dalam satu
semester. data ini dibentuk dari penjumlahan data harian mahasiswa.
B.
BENTUK – BENTUK DENORMALISASI
- Atribut yang terderivasi (atribut turunan)
Atribut
yang nilainya bisa diperoleh dari nilai – nilai yang sudah ada pada atribut
lain
- Atribut yang berlebihan
1.
Atribut Terkodekan (encoded
attribute)
Atribut
yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya.
Contoh
: id_mk di tabel matakuliah yang didalamnya sudah terkandung data program
studi. Data origram studi ini sebenarnya tidak diperlukan lagi karena sudah ada
atribut prog_studi di tabelkuliah
Kode
kuliah SBD : ST022
|
|
2.
Atribut Gabungan (concatenated
attribute)
Atribut
dalam domain komposit
Contoh
: atribut nim di tabel mahasiswa merupakan gabungan dari tahun masuk / angkatan
dengan prigram studi dan no urut mahasiswa. Dengan demikian atribut ini
sebenarnya tidak atomik karena masih bisa dibagi lagi
NIM : 09.51.0062
Ket
: angkatan.jurusan.no urut
3.
Atribut Tumpang tindih
(overlapping attribute)
Atribut
dengan nilai yang tidak spenuhnya ekslusif
Contoh
:
Atribut
semester di tabel kuliah berisikan :
1.
: matakuliah ganjil
2.
: matakuliah genap
3.
: matakuliah ganjil dan genap
Nilai
3 mencakup semester genap dan ganjil sekaligus (jadi tidak ekslusif)
4.
Atribut Bermakna Ganda (Alternate
attribute)
Atribut
yang memiliki arti berbeda tergantung kelompok entitasnya
- Tabel Rekapitulasi (summary table)
Laporan
hasil rekapitulasi akan selalu merupakan hasil pengolahan datri semua tabel
yang ada, pengolahan tersebut meilbatkan banyak tabel sebhingga akan
membutuhkan waktu yang lama. Jika hal tersebut sering diakses dan diperlukan,
maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi
tersebut.
C. TAHAPAN DENORMALISASI
Databasedimaksudkanuntukproses
transaksi online(OLTP) biasanyalebihnormaldari
databasedimaksudkanuntukpengolahananalisis online(OLAP). AplikasiOLTPditandaidenganvolume tinggitransaksikecilsepertimemperbaruirekorpenjualandi
counterkasirsupermarket. Harapannyaadalahbahwasetiaptransaksiakanmeninggalkandatabasedalamkeadaankonsisten.
Sebaliknya, databasedimaksudkanuntukoperasiOLAPterutama"membacasebagianbesar"
database.AplikasiOLAPcenderunguntukmengambil
datahistoris yangtelahterakumulasiselamajangkawaktu yang panjang.Untuk databasetersebut, berlebihanatau"denormalized"
data dapatmemfasilitasiaplikasibisnisintelijen. Secarakhusus, tabeldimensidalamskemabintangseringmengandungdata
denormalized. Datadenormalizedatauberlebihanharushati-hatidikontrolselamaekstrak,
mengubah, beban(ETL) pengolahan,danpenggunatidakdiijinkanuntukmelihatdatasampaidalamkeadaankonsisten.
Alternatifdinormalisasidenganskemabintangadalahskemakepingansalju.Dalambanyakkasus, kebutuhanuntukdenormalizationtelahberkurangsebagaikomputerdanRDBMSperangkatlunaktelahmenjadilebihkuat,
tapikarenavolumedata yangumumnyameningkatseiringdengan
hardwaredankinerjaperangkatlunak, databaseOLAPseringkalimasihmenggunakanskemadenormalized.
Denormalizationjugadigunakanuntukmeningkatkankinerjapadakomputeryang lebihkecilsepertipadaperangkatcash-register dan mobilekomputerisasi, karenainidapatmenggunakandata untukmelihat-upsaja (lookup hargamisalnya). DenormalizationjugadapatdigunakanketikatidakadaRDBMSadauntukplatform(sepertiPalm), atautidakadaperubahan yangharusdibuatuntukdatadanresponcepatsangatpenting.
- Non-pertamaBentuk
normal (NF ² atau N1NF)
Denormalization adalah kata kebalikan dari normalisasi.
Dalam pengakuan bahwa denormalization dapat disengaja dan berguna, bentuk non-normal
pertama adalah definisi dari desain database yang tidak sesuai dengan bentuk normal
pertama, dengan memungkinkan "set dan set set menjadi atribut domain"
(Schek 1982). Bahasa yang digunakan untuk query dan memanipulasi data dalam model
harus diperluas sesuai untuk mendukung nilai-nilai tersebut.
Salah
satu cara untuk melihat hal ini adalah dengan mempertimbangkan nilai-nilai terstrukturs eperti menjadi jenis khusus nilai
(domain), dengan mereka sendiri domain-spesifik bahasa. Namun, apa yang
biasanya dimaksudd engan non-1NF model adalah pendekatan di mana model
relasional dan bahasa yang digunakan untuk query
itu diperluas dengan mekanisme umum untuk struktur tersebut, misalnya, model
relasional bersarang mendukung penggunaan hubungan sebagai domain nilai-nilai,
dengan menambahkan dua operator tambahan (sarangdanunnest) ke aljabar relasional
yang dapat membuat dan meratakan hubungan bersarang, masing-masing.
Bentuk
Pertama
Orang Favorite Colour
Bob Blue
Bob Red
Jane Green
Jane Yellow
Jane Red
Asumsikan
seseorang memiliki beberapa warna favorit. Jelas, warna favorit terdiri dari satu set
warna, dimodelkan oleh tabel yang diberikan. Untuk mengubah 1NF ke dalam tabel
² NF ("sarang” Operator) diperlukan sesuatu yang memperluas aljabar
relasional dari bentuk normal yang lebih tinggi. Menerapkan ("sarang"
operator) untuk tabel 1NF menghasilkan tabel berikut NF ²:
Non
Bentuk Pertama
Orang Favorite Colour
Bob Blue, Red
Jane
Green, Yellow,Red
Untuk mengubah ini kembali NF ² tabel menjadi 1NF suatu “perombakan”, Operator
diperlukan untuk memperluas aljabar relasional dari bentuk normal lebih tinggi.
Unnest, dalam hal ini, akan membuat "warna" ke dalam tabel sendiri.
Meskipun "perombakan" adalah invers matematika untuk "sarang", operator "sarang" tidak selalu kebalikan matematis "unnest". Kendala lain yang dibutuhkan adalah untuk operator untuk menjadi bijektif, yang ditutupi oleh Bentuk Normal partisi (PNF).
DESAIN SISTEM DAN STRUKTUR BASIS DATA
BAB 1
DESAIN SISTEM BASIS DATA
Dalam sebuah sistem basis data ada sebuah istilah
bernama entitas yang berarti :
Entitas adalah sesuatu yang ada dengan sendirinya,
meskipun tidak perlu eksistensi material. Secara khusus, abstraksi dan fiksi
hukum biasanya dianggap sebagai entitas. Secara umum, ada juga ada anggapan
bahwa suatu entitas itu bernyawa.
Dalam bisnis, suatu entitas adalah orang, departemen,
tim, perusahaan, koperasi, kemitraan, atau kelompok lain dengan siapa adalah
mungkin untuk melakukan bisnis.
Kadang-kadang, entitas digunakan dalam pengertian umum
makhluk, iya atau tidak memiliki rujukan keberadaan materi, misalnya, sering
disebut sebagai entitas tanpa bentuk jasmani (non-fisik entitas), seperti
bahasa.
The entitative adalah bentuk kata sifat dari entitas
benda. Sesuatu yang entitative adalah "dianggap sebagai entitas murni,
disarikan dari semua keadaan", yaitu, dianggap sebagai entitas sendiri,
terpisah dari keadaan petugas.
Entitas adalah sesuatu yang memiliki keberadaan yang
unik dan berbeda, walaupun tidak harus dalam bentuk fisik. Abstraksi, misalnya,
biasanya dianggap juga sebagai suatu entitas. Dalam pengembangan sistem,
entitas digunakan sebagai model yang menggambarkan komunikasi dan pemrosesan
internal seperti misalnya membedakan dokumen dengan pemrosesan pesanan.
Entitas
dalam informatika
1.
Analisis
Data, Informasi
Sebuah database dapat dimodelkan
sebagai
-
Sekumpulan
entitas
-
Hubungan
antarentitas
Entitas (entity) adalah sebuah
objek yang keberadaannya dapat dibedakan terhadap objek lain
Entitas dapat berupa orang,
benda, tempat, kejadian, konsep
Contoh:
Orang: MAHASISWA, DOSEN, PEMASOK, PENJUAL
Benda: MOBIL, MESIN, RUANGAN
Tempat: NEGARA, DESA, KAMPUNG
Kejadian: PENJUALAN, REGISTRASI
Konsep: REKENING, KURSUS
Sebuah
entitas memiliki sejumlah atribut
Contoh: mahasiswa memiliki nama dan
alamat
Himpunan entitas adalah sekumpulan entitas
yang berbagi atribut yang sama
Contoh: sekumpulan mahasiswa, dosen,
atau perusahan.
Entitas
adalah sesuatu yang ada dan dapat melaksanakan suatu kegiatan dan dapa berupa
subyek hukum tersendiri.
entitas itu suatu bagian dari suatu proses yang
meliputi data dan informasi dimana entitas itusendiri terlibat dalam suatu
proses pembuatan data berubah menjadi sebuah informasi yang dibutuhkan,
entitas itu sendiri dibagi menjadi 2 yaitu entitas luar dan dalam. entitasituobjek
(benda) di dunianyata yang dapatdibedakandariobjek lain. Entitas adalah orang, tempat, objek, kejadian,
atau konsep tentang data yang tercatat
RECORD / TUPEL
Dalam ilmu komputer, record (juga disebut tupel, struct, atau senyawa
data) adalah salah satu struktur data sederhana. Sebuah record adalah nilai
yang berisi nilai-nilai lain, biasanya dalam jumlah tetap dan berurutan dan
biasanya diindeks oleh nama. Unsur-unsur catatan biasanya disebut anggota.
Record (basis data) merupakan kumpulan dari elemen-elemen data
yang terkait dalam sebuah basis data. Secara ringkas, database dapat dikatakan
sebagai sebuah tabe yang memiliki baris alias record dan kolom atau field.
Setiap baris menyatakan elemen-elemen data yang saling berkaitan. Sebagai
contoh dalam suatu tabel memiliki kolom nama, alamat, tanggal lahir, pekerjaan.
Maka satu record adalah data sau orang yang terdiri atas nama, alamat, tanggal
lahir dan pekerjaan.
Kumpulan
elemen-elemen yang salingberkaitanmenginformasikantentangsuatuentitassecaralengkap.
Dan suatu tuple (record) mewakilisatu data atauinformasi.
Contoh : Record entry
mahasiswaadalahkumpulan data value dari field nobp, nama, jurusan, danalamat
per-barisnya. Dalam database, record disebutjugabaris.
Misalnya, tanggal dapat disimpan sebagai catatan yang
mengandung medan tahun numerik, bidang sebulan direpresentasikan sebagai
string, dan lapangan sehari-of-bulan numerik. Sebagai contoh lain, record
Personil mungkin berisi nama, gaji, dan pangkat. Sebagai contoh lain, rekor Lingkaran
mungkin berisi pusat dan radius. Dalam hal ini, pusat sendiri mungkin
direpresentasikan sebagai record titik yang mengandung koordinat x dan y.
record dibedakan dari array oleh fakta bahwa jumlah
mereka bidang biasanya tetap, masing-masing bidang memiliki nama, dan bahwa
setiap bidang mungkin memiliki jenis yang berbeda.
Sebuah tipe record adalah tipe data yang menggambarkan
nilai-nilai tersebut dan variabel. Bahasa komputer yang paling modern
memungkinkan programmer untuk menentukan jenis catatan baru. Definisi ini
mencakup menentukan tipe data setiap field dan sebuah identifier (nama atau
label) dengan yang dapat diakses. Dalam teori tipe, jenis produk (tanpa nama
field) umumnya lebih disukai karena kesederhanaan mereka, tetapi tipe catatan
yang layak dipelajari dalam bahasa seperti F-sub Sistem. Karena jenis-teoritis
mungkin berisi catatan kelas fungsi-diketik bidang selain data, mereka dapat
mengekspresikan banyak fitur dari pemrograman berorientasi objek.
Rekaman dapat ditemui di media penyimpanan, termasuk
memori utama dan perangkat penyimpanan massal seperti pita magnetik atau hard
disk. Rekaman adalah komponen fundamental dari struktur data yang paling,
struktur data terutama terkait. Banyak file komputer diatur sebagai array dari
catatan logis, sering dikelompokkan menjadi catatan fisik yang lebih besar atau
blok untuk efisiensi.
Parameter dari suatu fungsi atau prosedur sering bisa
dilihat sebagai bidang variabel catatan, dan argumen dilewatkan ke fungsi yang
dapat dipandang sebagai nilai tertinggi yang akan ditugaskan untuk variabel
yang pada saat panggilan. Juga, dalam panggilan stack yang sering digunakan
untuk menerapkan prosedur panggilan, setiap entri adalah record aktivasi atau
frame panggilan, yang berisi parameter prosedur dan variabel lokal, alamat
pengirim, dan bidang internal lainnya.
Sebuah objek dalam berorientasi obyek bahasa pada
dasarnya adalah sebuah catatan yang berisi prosedur khusus untuk menangani
rekaman itu, dan objek tipe data (sering disebut kelas obyek) merupakan elaborasi
dari jenis catatan. Memang, di sebagian besar bahasa berorientasi objek,
catatan kasus hanya khusus dari objek.
Sebuah record dapat dilihat sebagai analog komputer
dari matematika tupel. Dalam nada yang sama, tipe record dapat dilihat sebagai
analog bahasa komputer dari produk Cartesian dari dua atau lebih set matematis,
atau pelaksanaan suatu jenis produk abstrak dalam bahasa tertentu.
Dalam konteks database relasional, Row-juga disebut record atau
tupel, item tunggal implisit terstruktur data dalam tabel. Dalam istilah
sederhana, tabel database dapat dianggap sebagai terdiri dari baris dan kolom
atau bidang. Setiap baris dalam tabel merupakan sekumpulan data terkait, dan
setiap baris dalam tabel memiliki struktur yang sama.
Misalnya, dalam sebuah tabel yang mewakili perusahaan,
setiap baris akan mewakili satu perusahaan. Kolom mungkin mewakili hal-hal
seperti nama perusahaan, perusahaan alamat jalan, apakah perusahaan publik yang
dimiliki, nomor PPN, dll. Dalam tabel yang mewakili asosiasi karyawan dengan
departemen, setiap baris akan mengasosiasikan satu karyawan dengan satu
departemen.
Dalam penggunaan kurang formal, misalnya untuk
database yang tidak formal relasional, sebuah record setara dengan baris
seperti yang dijelaskan di atas, tetapi biasanya tidak disebut sebagai
berturut-turut.
Struktur implisit berturut-turut, dan makna dari
nilai-nilai data yang berturut-turut, mensyaratkan bahwa baris dipahami sebagai
menyediakan suksesi nilai data, satu di setiap kolom tabel. Baris tersebut
kemudian ditafsirkan sebagai relvar terdiri dari satu set tupel, dengan
masing-masing tuple yang terdiri dari dua item: nama kolom yang relevan dan
nilai baris ini menyediakan untuk kolom tersebut.
FIELD
/ ATTRIBUTE
Dalam komputasi, atribut adalah spesifikasi
yang mendefinisikan properti dari sebuah, elemen file objek, atau. Hal ini juga
dapat merujuk atau menetapkan nilai tertentu untuk contoh yang diberikan
tersebut.
Field adalah sebuah unit data yang berisi satu atau lebih karakter
(byte). Ia merupakan unit terkecil dari informasi berharga dalam database.
setiap field memiliki nama field yang menggambarkan jenis data yang harus
dimasukkan ke dalam field. Contoh field adalah nama pertama Anda, alamat jalan,
atau jenis kelamin Anda.
Untuk kejelasan, atribut harus lebih tepat
dianggap metadata. Namun, dalam penggunaan aktual, atribut panjang dapat dan
sering diperlakukan sebagai setara dengan properti tergantung pada teknologi
yang sedang dibahas.
Atribut dari sebuah objek biasanya terdiri dari nama
dan nilai, dari suatu elemen, jenis atau nama kelas, dari sebuah file, nama dan
ekstensi.
Setiap
atribut bernama memiliki seperangkat aturan yang disebut terkait operasi: satu
tidak menambahkan karakter atau memanipulasi dan memproses array integer
sebagai objek foto-satu tidak memproses teks sebagai titik jenis floating
(angka desimal).
Oleh karena
itu, definisi objek dapat diperpanjang dengan memaksakan mengetik data: format
representasi, nilai default, dan operasi hukum (aturan) dan pembatasan
("Pembagian dengan nol tidak akan ditoleransi!") Semua berpotensi
terlibat dalam mendefinisikan atribut, atau sebaliknya, dapat dikatakan sebagai
atribut dari tipe tersebut objek. Sebuah file JPEG tidak diterjemahkan oleh operasi
yang sama (namun sama mereka mungkin-ini semua grafis format data) sebagai file
PNG atau BMP, juga adalah nomor floating point diketik dioperasikan pada aturan
diterapkan pada bilangan bulat panjang diketik.
Sebagai contoh, dalam komputer grafis, obyek garis
dapat memiliki atribut seperti ketebalan (dengan nilai riil), warna (dengan
nilai deskriptif seperti cokelat atau hijau atau nilai-nilai yang didefinisikan
dalam model warna tertentu, misalnya RGB), atribut gagah, dll sebuah objek
lingkaran dapat didefinisikan dalam atribut yang sama ditambah asal dan
jari-jari.
Field
dapat didesain dengan panjang maksimun terntentu. Field juga dapat didesain
dengan tipe data berbeda, semisal hanya teks, atau hanya angka, tanggal, waktu,
atau bahkan hanya jawaban “ya” dan “tidak”, link web, gambar, suara dan video.
Contoh
Penggunaan Atribut
C #
Dalam bahasa pemrograman C #, atribut metadata melekat
lapangan atau blok kode seperti majelis, anggota dan jenis, dan setara dengan
penjelasan di Jawa. Atribut dapat diakses untuk kedua compiler dan pemrograman
melalui refleksi.
Pengguna bahasa melihat banyak contoh di mana atribut
yang digunakan untuk mengatasi masalah lintas sektoral dan mekanistik lain atau
menggunakan platform. Hal ini menciptakan kesan palsu bahwa ini adalah
satu-satunya tujuan mereka dimaksudkan. Dengan atribut, adalah mungkin untuk
memperpanjang atribut seperti abstrak, disegel, atau publik.
Penggunaan khusus mereka sebagai metadata yang tersisa
untuk pengembang dan dapat mencakup berbagai jenis informasi tentang setiap
kelas aplikasi yang diberikan, dan anggota yang tidak contoh spesifik.
Keputusan untuk mengekspos setiap atribut yang diberikan sebagai properti juga
diserahkan kepada pengembang seperti keputusan untuk menggunakannya sebagai
bagian dari kerangka aplikasi yang lebih besar.
Atribut diimplementasikan sebagai kelas yang berasal
dari System.Attribute. Mereka sering digunakan oleh layanan CLR, seperti COM,
serialisasi Remoting interoperabilitas, dan dapat dilihat pada saat runtime.
Contoh ini menunjukkan bagaimana atribut didefinisikan
di C #:
[Obsolete("Use class C1 instead", IsError =
true)]
public class C {...}
public class ObsoleteAttribute: Attribute {
public string Message{ get; }
public bool IsError{ get; set; }
public ObsoleteAttribute() {...}
public ObsoleteAttribute(string msg) {...}
public ObsoleteAttribute(string msg, bool error)
{...}}
[Obsolete]
[Obsolete("This is obsolete")]
[Obsolete("This is obsolete", false)]
[Obsolete("This is obsolete", IsError =
false)]
Parameter posisi seperti parameter pertama dari tipe
string di atas adalah parameter konstruktor atribut itu. Nama parameter seperti
parameter Boolean pada contoh adalah properti dari atribut dan harus menjadi
nilai konstan.
Atribut harus kontras terhadap dokumentasi XML yang
juga mendefinisikan metadata, tetapi tidak termasuk dalam perakitan dikompilasi
dan karena itu tidak dapat diakses pemrograman.
Multi-nilai
database
Pada banyak sistem database relasional pasca-atau
multi-nilai, relatif terhadap SQL, tabel file, baris item, dan kolom adalah
atribut. Baik dalam database dan kode, atribut ini identik dengan properti dan
variabel meskipun atribut dapat dijelaskan lebih jauh mengandung nilai-nilai
dan subvalues??.
Yang pertama dari database ini adalah sistem operasi
memilih. Dua platform saat ini termasuk Universe Rocket U2 dan 'Caché
InterSystems.
XML
Dalam XML, atribut adalah markup membangun terdiri
dari pasangan nama / nilai yang ada dalam tag-tag awal atau kosong-elemen.
Bahasa markup, seperti HTML dan XML, gunakan atribut untuk menggambarkan data
dan format data.
Sebuah contoh yang baik adalah proses nilai XML
menugaskan ke properti (unsur). Perhatikan bahwa nilai elemen ditemukan sebelum
tag akhir (terpisah), bukan dalam elemen itu sendiri. Unsur itu sendiri mungkin
memiliki sejumlah atribut yang ditetapkan (NAMA = "IAMAPROPERTY").
Jika elemen tersebut dapat dianggap sebagai properti
(CUSTOMER_NAME) dari entitas lain (katakanlah PELANGGAN), elemen dapat memiliki
nol atau lebih atribut (sifat) sendiri (CUSTOMER_NAME adalah TYPE =
"KINDOFTEXT").
RELASI
Dalam teori database relasional, relasi adalah satu
set tupel (d1, d2, ..., dj), di mana setiap elemen dn adalah anggota Dn, domain
data Setiap domain yang berbeda yang digunakan dalam definisi. hubungan disebut
atribut, dan setiap atribut biasanya bernama.
Satu set atribut (atribut nama dengan domain mereka
terkait) disebut skema relasi (atau skema relasi). Kadang-kadang skema relasi
diambil untuk memasukkan nama untuk hubungan itu sendiri. Sebuah skema relasi
juga disebut skema tabel (atau skema tabel). Suatu relasi sehingga dipandang
sebagai suatu Instansiasi dari skema relasi.
Namun perlu dicatat bahwa skema relasional dapat
merujuk ke skema satu seluruh (relasional) database.
Dalam implementasi, domain dari setiap atribut secara
efektif tipe data.
Dalam SQL, bahasa query untuk database relasional,
hubungan diwakili oleh tabel, di mana setiap baris tabel merupakan tuple
tunggal, dan di mana nilai-nilai dari masing-masing bentuk atribut kolom.
EF Codd awalnya digunakan istilah dalam arti
matematika dari hubungan finitary, satu set tupel pada beberapa set n set S1,
S2, .... , Sn.
Dimana semua nilai dari setiap atribut relasi adalah
atom, hubungan yang dikatakan dalam bentuk normal pertama.
Contoh:
Di bawah ini adalah contoh dari sebuah hubungan yang
tiga atribut bernama: 'ID' dari domain bilangan bulat, dan 'Nama' dan 'Alamat'
dari domain string:
ID (Integer) Nama (String) Alamat (String)
102 Yonezawa Akinori Naha, Okinawa
202 Murata Makoto Sendai, Miyagi
104 Sakamura Ken Kumamoto, Kumamoto
152 Matsumoto Yukihiro Okinawa, Okinawa
Dalam teori relasional, tapi tidak di SQL, tupel yang
unordered - salah satu tidak bisa mengatakan "The tuple dari 'Murata Makoto'
berada di atas tupel dari 'Matsumoto Yukihiro'", atau dapat dikatakan
"The tuple dari 'Yonezawa Akinori' adalah pertama tuple. "
Basis variabel dan diturunkan hubungan hubungan
variabel (tampilan)
Hubungan variabel (relvars) diklasifikasikan menjadi
dua kelas: variabel hubungan dasar dan variabel hubungan diturunkan. Dengan
menerapkan ekspresi aljabar relasional atau ekspresi kalkulus relasional untuk
satu atau lebih variabel hubungan, satu nilai hubungan baru berasal.
Sebuah variabel hubungan dasar adalah hubungan sumber
variabel yang tidak berasal dari setiap variabel hubungan lain. Dalam SQL,
bahasa database database relasional, tabel basis jangka secara kasar dapat
dianggap sebagai variabel relasi dasar. Dengan menggunakan Bahasa Definisi Data
(DDL), ia mampu mendefinisikan variabel dasar hubungan. Dalam SQL, dengan
menggunakan membuat sintaks TABLE, ia mampu mendefinisikan variabel dasar hubungan.
Berikut ini adalah contoh.
CREATE TABLE List_of_people (
ID INTEGER,
Name CHAR(40),
Address CHAR(200),
PRIMARY KEY
(ID)
)
Sebuah variabel hubungan diturunkan adalah variabel
hubungan yang berasal dari satu atau lebih variabel hubungan dengan menerapkan
ekspresi aljabar relasional atau ekspresi kalkulus relasional. A View dianggap
sebagai variabel hubungan diturunkan. A Data Definition Language (DDL)
digunakan untuk mendefinisikan variabel hubungan berasal. Dalam SQL, CREATE
VIEW sintaks yang digunakan untuk mendefinisikan variabel hubungan diturunkan.
Berikut ini adalah contoh.
CREATE VIEW List_of_Okinawa_people AS (
SELECT ID,
Name, Address
FROM
List_of_people
WHERE Address
LIKE '%, Okinawa' )
A. Primary Key dan Foreign Key :
Primary Key adalah merupakan attribute yang paling sedikit yang dapat membedakan setiap baris data dalam sebuah table secara unik yang dipilih berdasarkan seringnya diadikan acuan, lebih ringkas, dan lebih menjamin keunikan key.
Foreign Key adalah kolom yang diambil dari primary key entitas lain yang menunjukkan hubungan antar dua table tersebut.
Primary Key adalah merupakan attribute yang paling sedikit yang dapat membedakan setiap baris data dalam sebuah table secara unik yang dipilih berdasarkan seringnya diadikan acuan, lebih ringkas, dan lebih menjamin keunikan key.
Foreign Key adalah kolom yang diambil dari primary key entitas lain yang menunjukkan hubungan antar dua table tersebut.
B. Jenis-jenis Key Atribut dan Contohnya
:
~ Super Key :
Merupakan satu atau gabungan attribute yang dapat membedakan setiap baris data dalam sebuah table secara unik.
Contoh :
~ Super Key :
Merupakan satu atau gabungan attribute yang dapat membedakan setiap baris data dalam sebuah table secara unik.
Contoh :
Super Key untuk entitas Anggota
- No Anggota, Nama, Alamat, JenisKel
- No Anggota, Nama, Alamat
- No Anggota, Nama
- Nama (jika dijamin bahwa tidak ada yang sama)
- No Anggota
~ Candidat Key : Super Key yang jumlah attributnya paling sedikit
Contoh :
- No Anggota, Nama, Alamat, JenisKel
- No Anggota, Nama, Alamat
- No Anggota, Nama
- Nama (jika dijamin bahwa tidak ada yang sama)
- No Anggota
~ Candidat Key : Super Key yang jumlah attributnya paling sedikit
Contoh :
Candidat Key pada entitas Anggota
- Nama (jika dijamin tidak ada nama yang sama)
- No Anggota
~ Primary Key : Candidat key yang dipilih berdasarkan seringnya dijadikan acuan, lebih ringkas, dan lebih menjamin keunikan key.
Contoh :
- Nama (jika dijamin tidak ada nama yang sama)
- No Anggota
~ Primary Key : Candidat key yang dipilih berdasarkan seringnya dijadikan acuan, lebih ringkas, dan lebih menjamin keunikan key.
Contoh :
Primary Key untuk entitas Anggota
- No Anggota
- No Anggota
C. Relasi Entitas
Relasi menyatakan hubungan antar entitas, termasuk terhadap entitas itu sendiri (rekursif)
D. Jenis – jenis Relasi antar Entitas berdasarkan Derajat Kardinalitas dan Derajat Relasi Maksimum – Minimum
Relasi menyatakan hubungan antar entitas, termasuk terhadap entitas itu sendiri (rekursif)
D. Jenis – jenis Relasi antar Entitas berdasarkan Derajat Kardinalitas dan Derajat Relasi Maksimum – Minimum
~ Satu ke satu (one to one)
Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya.
Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya.
~ Satu ke banyak (one to many) atau Banyak ke satu
(many to one)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data di A.
~ Banyak ke banyak (many to many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian pula sebaliknya.
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data di A.
~ Banyak ke banyak (many to many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian pula sebaliknya.
Derajat Relasi Minimum-Maximum
Menunjukkan hubungan (korespondensi) minimum yang boleh terjadi dalam sebuah relasi antar entitas.
Misalnya: pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satu. Dalam arti lain, setiap pegawai minimal harus memiliki sebuah relasi terhadap Departemen, atau setiap pegawai selalu memiliki tempat di mana dia bekerja.
Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada sebuah relasi.
Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1.
Menunjukkan hubungan (korespondensi) minimum yang boleh terjadi dalam sebuah relasi antar entitas.
Misalnya: pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satu. Dalam arti lain, setiap pegawai minimal harus memiliki sebuah relasi terhadap Departemen, atau setiap pegawai selalu memiliki tempat di mana dia bekerja.
Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada sebuah relasi.
Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1.