Pengertian Atribut (Field)
Atribut adalah properti atau karakteristik yang menjelaskan sebuah entitas (entity) atau relasi (relationship). Contoh: entitas Mahasiswa bisa memiliki atribut NIM, Nama, Tanggal_Lahir, dll.
Tipe-Tipe Atribut
1. Simple / Atomic
- Tidak bisa dibagi lagi.
- Contoh: NIM, Jenis_Kelamin.
- Implementasi: satu kolom di tabel.
2. Composite (terdiri dari sub-atribut)
- Terdiri beberapa bagian.
- Contoh: Nama → (Nama_Depan, Nama_Belakang); Alamat → (Jalan, Kota, Provinsi).
- Notasi (Chen): oval bercabang ke sub-ovals.
3. ingle-valued vs Multi-valued
- Single-valued: satu nilai per instance (mis. Tanggal_Lahir).
- Multi-valued: bisa banyak nilai (mis. No_Telepon, Keahlian).
- Notasi: multi-valued biasanya digambar sebagai double oval.
4. Derived (diturunkan/terhitung)
- Nilainya dapat dihitung dari atribut lain.
- Contoh: Usia diturunkan dari Tanggal_Lahir.
- Notasi: oval bergaris putus-putus. Biasanya tidak disimpan di DB—hanya dihitung saat dibutuhkan (kecuali dimaterialisasi untuk performa).
5. Key attribute (atribut kunci)
- Menidentifikasi entitas secara unik (mis. NIM untuk Mahasiswa).
- Notasi: digarisbawahi pada nama atribut.
- Ada juga candidate key, primary key, dsb.
6. Optional / Mandatory (nullable / not null)
- Menyatakan apakah atribut harus ada nilainya. Beberapa notasi ER tidak menunjukkan ini grafis, tapi ini penting pada tahap desain fisik (DB).
7. Atribut pada relasi
- Relasi juga bisa punya atribut. Contoh: relasi Mengambil antara Mahasiswa dan MataKuliah punya atribut Nilai, Tanggal_Pendaftaran.
Notasi umum (Chen)
- Entitas: persegi/rectangle.
- Atribut: oval terhubung ke entitas.
- Kunci: digarisbawahi.
- Multi-valued: double oval.
- Derived: oval putus-putus.
- Composite: oval bercabang ke oval-sub.
Cara mengimplementasikan atribut ke basis data relasional (mapping rules)
- Simple / single-valued → jadikan kolom pada tabel entitas.
- Composite → biasanya dipecah jadi beberapa kolom (mis. nama_depan, nama_belakang).
- Multi-valued → buat tabel terpisah dengan foreign key (one-to-many). Jangan menyimpan banyak nilai dalam satu kolom terpisah koma (melanggar 1NF).
- Derived → umumnya tidak disimpan, dihitung saat query; jika disimpan, perlu mekanisme sinkronisasi (trigger/job).
- Atribut relasi (mis. untuk many-to-many) → disimpan di tabel asosiasi (join table) bersama FK ke kedua entitas + kolom atribut relasi.
Komentar
Posting Komentar