Bagaimana mendefinisikan hubungan antara Daftar Tabel di database Access

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 304466 - Melihat produk di mana artikel ini berlaku.
Pemula: Membutuhkan pengetahuan tentang antarmuka pengguna pada komputer pengguna tunggal.

Artikel ini hanya berlaku untuk Microsoft Access database (MDB atau .accdb).
Untuk versi Microsoft Access 2000 artikel ini, lihat 304467.
Untuk versi Microsoft akses 97 artikel ini, lihat 304468.
Perbesar semua | Perkecil semua

Pada Halaman ini

Ringkasan

Artikel ini menjelaskan cara menetapkan hubungan dalam database Microsoft Access. Artikel ini mencakup topik-topik berikut:
  • Apakah hubungan Daftar Tabel?
  • Jenis hubungan Daftar Tabel
    • hubungan satu-ke-banyak
    • Hubungan banyak-ke-banyak
    • Satu-satu hubungan
  • Bagaimana mendefinisikan hubungan antara Daftar Tabel
    • Bagaimana mendefinisikan hubungan satu-ke-banyak atau satu-satu
    • Bagaimana mendefinisikan hubungan banyak-ke-banyak
  • integritas referensial
  • pembaruan kaskade dan menghapus
  • Bergabung dengan jenis

Informasi lebih lanjut

Apakah hubungan Daftar Tabel?

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Dalam sebuah database relasional, hubungan memungkinkan Anda untuk mencegah data redundansi. Misalnya, jika Anda merancang sebuah database yang akan melacak informasi tentang buku-buku, Anda mungkin memiliki sebuah Daftar Tabel yang bernama "Judul" yang menyimpan informasi tentang setiap buku, seperti judul buku, tanggal publikasi, dan penerbit. Ada juga informasi bahwa Anda mungkin ingin menyimpan tentang penerbit, seperti penerbit nomor telepon, alamat penyuratan, andZIP kode kode ZIP. Jika Anda untuk menyimpan semua informasi ini dalam "Judul" Daftar Tabel, nomor telepon penerbit akan diduplikasi untuk setiap judul yang penerbit sidik jari.

Solusi yang lebih baik adalah untuk menyimpan informasi penerbit hanya satu kali, didalam table yang terpisah yang akan kita sebut "Penerbit." Anda kemudian akan menempatkan pointer di "Judul" Daftar Tabel yang referensi entri dalam Daftar Tabel "Penerbit".

Untuk memastikan bahwa data tetap disinkronkan, Anda dapat menerapkan referensial integritas antara Daftar Tabel. Hubungan referensial integritas membantu memastikan bahwa informasi dalam satu tabel atak sesuai informasi lain. Sebagai contoh, setiap judul dalam "Judul" Daftar Tabel harus dikaitkan dengan penerbit tertentu dalam Daftar Tabel "Penerbit". Judul tidak dapat ditambahkan ke database untuk penerbit yang tidak ada di database.

Hubungan logis dalam database memungkinkan youto efisien query data dan membuat laporan.
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

Jenis hubungan Daftar Tabel

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Hubungan bekerja dengan mencocokkan data bukti kunci kolom, biasanya kolom (atau bidang) yang memiliki nama yang sama dalam Daftar Tabel kedua. Dalam kebanyakan kasus, hubungan tautan langsung bukti kunci primer, atau kolom pengidentifikasi unik untuk setiap baris, dari satu tabel atak ke sebuah field di tabel atak lain. Kolom dalam Daftar Tabel lain yang dikenal sebagai "kunci asing." Misalnya, jika Anda ingin melacak penjualan setiap judul buku, Anda membuat hubungan antara bukti kunci kolom utama (Mari kita menyebutnyatitle_ID) dalam "Judul" Daftar Tabel dan kolom dalam Daftar Tabel "Penjualan" yang bernama title_ID. Title_ID kolom dalam Daftar Tabel "Penjualan" adalah foreign key.

Ada tiga jenis hubungan antara Daftar Tabel. Jenis hubungan yang dibuat tergantung pada bagaimana berkaitan kolom didefinisikan.

hubungan satu-ke-banyak

Hubungan satu-ke-banyak adalah jenis yang paling umum dari hubungan. Dalam hubungan semacam ini, baris dalam Daftar Tabel A dapat memiliki banyak pencocokan baris dalam Daftar Tabel B. Tetapi sebuah baris dalam Daftar Tabel B dapat memiliki hanya satu pencocokan baris dalam Daftar Tabel A. Sebagai contoh, Daftar Tabel "Penerbit" dan "Judul" memiliki hubungan satu-ke-banyak. Yaitu setiap penerbit menghasilkan banyak judul. Tetapi setiap judul berasal dari hanya satu penerbit.

Hubungan satu-ke-banyak dibuat jika hanya salah satu kolom terkait bukti kunci primer atau memiliki kendala unik.

Di jendela hubungan dalam akses, sisi bukti kunci primer hubungan satu-ke-banyak yang dilambangkan dengan nomor 1. Sisi bukti kunci asing hubungan yang dilambangkan dengan simbol tak terbatas.

Perkecil gambar iniPerbesar gambar ini
2878329


Hubungan banyak-ke-banyak

Dalam suatu hubungan banyak-ke-banyak, baris dalam Daftar Tabel A dapat memiliki banyak pencocokan baris dalam Daftar Tabel B, dan sebaliknya. Anda membuat suatu hubungan dengan mendefinisikan Daftar Tabel ketiga yang disebut tabel atak junction. bukti kunci primer Daftar Tabel junction terdiri dari bukti kunci asing dari Daftar Tabel A dan tabel atak B. Sebagai contoh, Daftar Tabel "Penulis" dan "Judul" Daftar Tabel memiliki hubungan banyak-ke-banyak yang didefinisikan oleh hubungan satu-ke-banyak dari masing-masing Daftar Tabel ke tabel atak "TitleAuthors". bukti kunci primer Daftar Tabel "TitleAuthors" adalah kombinasi dari kolomau_ID (primary key table "Penulis") dan kolom title_ID (primary key table "Judul").

Perkecil gambar iniPerbesar gambar ini
2878330


Satu-satu hubungan

Dalam hubungan satu-satu, satu baris dalam Daftar Tabel A dapat memiliki tidak lebih dari satu baris yang sesuai dalam Daftar Tabel B, dan sebaliknya. Satu-satu hubungan dibuat jika keduanya kolom terkait bukti kunci primer atau memiliki kendala-kendala yang unik.

Hubungan semacam ini bukanlah umum, karena kebanyakan informasi yang berhubungan dengan cara ini akan di satu tabel atak. Anda mungkin menggunakan hubungan satu-satu untuk mengambil tindakan berikut:
  • Membagi sebuah Daftar Tabel dengan banyak kolom.
  • Mengisolasi bagian dari Daftar Tabel untuk alasan keamanan.
  • Menyimpan data yang pendek dan dapat dengan mudah dihapus dengan menghapus Daftar Tabel.
  • Menyimpan informasi yang berlaku hanya untuk subset dari Daftar Tabel utama.
Dalam akses, sisi bukti kunci primer hubungan satu-satu yang dilambangkan dengan simbol bukti kunci. Sisi bukti kunci asing juga dilambangkan dengan simbol bukti kunci.
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

Bagaimana mendefinisikan hubungan antara Daftar Tabel

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Bila Anda membuat hubungan antara Daftar Tabel, bidang terkait tidak perlu memiliki nama yang sama. Namun, bidang terkait harus memiliki data yang sama jenis kecuali bidang bukti kunci utama adalah bidang AutoNumber. Anda dapat menyesuaikan bidang AutoNumber dengan bidang nomor hanya jika properti FieldSize kedua bidang pencocokan adalah sama. Misalnya, Anda dapat menyesuaikan bidang AutoNumber dan bidang nomor jika properti FieldSize dari kedua bidang Bilangan bulat panjang. Bahkan ketika kedua bidang pencocokan adalah kolom nomor, mereka harus memiliki pengaturan FieldSize properti yang sama.

Bagaimana mendefinisikan hubungan satu-ke-banyak atau satu-satu

Untuk membuat satu-ke-banyak atau hubungan satu-satu, ikuti langkah berikut:
  1. Tutup semua Daftar Tabel. Anda tidak dapat membuat atau mengubah hubungan antara Daftar Tabel terbuka.
  2. Dalam akses 2002 atau Access 2003, ikuti langkah berikut:
    1. Tekan F11 untuk beralih ke jendela Database.
    2. Pada alat menu, klik hubungan.

    Access 2007, Access 2010 atau akses 2013, klikhubungan dalam kelompok Tampilkan/Sembunyikan pada tab Database alat .
  3. Jika Anda tidak belum didefinisikan hubungan apapun dalam database Anda, kotak dialog tabel atak akan tampil secara otomatis. Jika Anda ingin menambahkan Daftar Tabel yang Anda ingin berhubungan tapi tabel atakkotak dialog tidak muncul, kliktabel atak pada menu hubungan .
  4. klik ganda nama-nama Daftar Tabel yang ingin Anda berhubungan, dan kemudian tutup kotak dialog tabel atak. Untuk membuat hubungan antara Daftar Tabel dan itu sendiri, menambahkan tabel atak dua kali.
  5. Tarik bidang yang Anda ingin berhubungan dari satu tabel atak ke bidang terkait dalam Daftar Tabel lainnya. Menyeret beberapa bidang, tekan Ctrl, klik masing-masing bidang, dan kemudian menyeret mereka.

    Dalam kebanyakan kasus, Anda menarik utama bidang bukti kunci (bidang ini ditampilkan dalam huruf tebal) dari satu tabel atak ke bidang serupa (bidang ini sering memiliki nama yang sama) yang disebut foreign key pada Daftar Tabel lainnya.
  6. Muncul kotak dialog Edit hubungan. Pastikan bahwa nama bidang isian yang ditampilkan dalam dua kolom benar. Anda dapat mengubah nama jika diperlukan.

    Tetapkan pilihan hubungan jika diperlukan. Jika Anda harus memiliki informasi tentang item tertentu di kotak dialogEdit hubungan , klik tombol tekan tanda tanya, dan kemudian klik item. (Pilihan ini akan dijelaskan secara rinci nanti dalam artikel ini.)
  7. Klik buat untuk menciptakan hubungan.
  8. Ulangi langkah 4 sampai 7 untuk setiap pasangan Daftar Tabel yang ingin berhubungan.

    Ketika Anda menutup kotak dialog Edit hubungan, Access menanyakan apakah Anda ingin menyimpan tata letak. Apakah Anda menyimpan tata letak atau tidak menyelamatkan tata letak, hubungan yang Anda buat akan disimpan dalam database.

    CatatanAnda dapat membuat hubungan tidak hanya dalam Daftar Tabel, tetapi juga dalam pertanyaan. Namun, integritas referensial belum dilaksanakan dengan queries.

Bagaimana mendefinisikan hubungan banyak-ke-banyak

Untuk membuat hubungan banyak-ke-banyak, ikuti langkah berikut:
  1. Buat dua Daftar Tabel yang akan memiliki hubungan banyak-ke-banyak.
  2. Buat Daftar Tabel ketiga. Ini adalah Daftar Tabel junction. Dalam Daftar Tabel junction, menambahkan Field baru yang memiliki definisi yang sama sebagai bidang bukti kunci utama dari setiap tabel atak yang Anda buat pada langkah 1. Dalam Daftar Tabel junction, bidang bukti kunci utama berfungsi sebagai bukti kunci asing. Anda dapat menambahkan bidang lain ke tabel atak junction, sebanyak yang Anda bisa untuk setiap tabel atak.
  3. Dalam Daftar Tabel junction, mengatur bukti kunci utama untuk meliputi bidang bukti kunci utama dari dua Daftar Tabel lainnya. Misalnya, "TitleAuthors" Daftar Tabel junction, bukti kunci primer akan terdiri dari bidang nomorPesanan dan ProductID .

    Catatan Untuk membuat bukti kunci primer, ikuti langkah berikut:
    1. Buka Daftar Tabel dalam Design view.
    2. Pilih bidang atau bidang yang Anda ingin mendefinisikan sebagai bukti kunci primer. Untuk memilih salah satu bidang, klik baris pemilih untuk bidang yang diinginkan. Untuk memilih beberapa bidang, tekan terus tombol tekan Ctrl, dan kemudian klik pada pemilih baris untuk setiap bidang.
    3. Dalam akses 2002 atau Access 2003, klik bukti kunci primer pada toolbar.

      Pada Access 2007, klik bukti kunci primer dalam kelompok alat pada tab desain .

      CatatanJika Anda ingin urutan menurun ladang di beberapa bidang bukti kunci primer berbeda dari urutan menurun tersebut Field dalam Daftar Tabel, klik indeks pada toolbar untuk menampilkan kotak dialog indeks, dan kemudian menyusun ulang nama bidang isian untuk indeks bernama PrimaryKey.
  4. Mendefinisikan hubungan satu-ke-banyak antara setiap Daftar Tabel primer dan Daftar Tabel junction.
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

integritas referensial

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
integritas referensial adalah sistem aturan bahwa akses menggunakan untuk memastikan bahwa hubungan antara data dalam Daftar Tabel terkait valid, dan bahwa Anda tidak sengaja menghapus atau mengubah data terkait. Anda dapat mengatur referensial integritas saat allthe kondisi berikut ini benar:
  • Bidang yang sesuai dari Daftar Tabel primer bukti kunci primer atau memiliki indeks unik.
  • Bidang terkait memiliki data yang sama jenis. Ada dua pengecualian. Bidang AutoNumber yang dapat terkait dengan bidang nomor yang memiliki suasana properti FieldSizePanjang Integer, dan AutoNumber bidang yang memiliki suasana propertiFieldSize id Replikasidapat terkait dengan bidang nomor yang memiliki suasana propertiFieldSize id Replikasi.
  • Daftar Tabel kedua milik akses database yang sama. Jika Daftar Tabel melink tabel-tabel, mereka harus Daftar Tabel dalam Access format, dan Anda harus membuka database di mana mereka disimpan untuk mengatur referensial integritas. integritas referensial tidak bisa ditegakkan untuk melink tabel-tabel dari database dalam format lain.
Aturan berikut berlaku ketika Anda menggunakan referensial integritas:
  • Anda tidak dapat memasukkan nilai di bidang bukti kunci asing Table terkait yang tidak ada di bukti kunci primer Daftar Tabel primer. Namun, Anda dapat memasukkan nilai Null dalam foreign key. Ini menentukan catatan tidak terkait. Misalnya, Anda tidak dapat memiliki perintah yang diberikan kepada pelanggan yang tidak ada. Namun, Anda dapat memiliki perintah yang diberikan kepada siapa pun dengan memasukkan nilai Null di bidang CustomerID .
  • Anda tidak dapat menghapus record dari Daftar Tabel primer jika ada catatan yang cocok dalam sebuah Daftar Tabel yang terkait. Misalnya, Anda tidak dapat menghapus catatan karyawan dari Daftar Tabel "Karyawan" jika ada perintah diberikan kepada karyawan dalam Daftar Tabel "Perintah".
  • Anda tidak dapat mengubah nilai bukti kunci primer pada Daftar Tabel primer jika catatan yang berkaitan dengan catatan. Misalnya, Anda tidak dapat mengubah ID karyawan dalam Daftar Tabel "Karyawan" jika ada pesanan yang ditetapkan untuk karyawan dalam Daftar Tabel "Perintah".
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

pembaruan kaskade dan menghapus

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Untuk hubungan di mana integritas referensial ditegakkan, Anda dapat menentukan apakah Anda ingin akses ke otomatis cascade pembaruan atau penghapusan kaskade catatan yang terkait. Jika Anda menetapkan pilihan ini, menghapus dan update operasi yang biasanya dapat dicegah dengan integritas referensial aturan diaktifkan. Bila Anda menghapus catatan atau mengubah nilai-nilai bukti kunci primer dalam Daftar Tabel primer, akses membuat perubahan yang diperlukan untuk Daftar Tabel yang terkait untuk melestarikan referensial integritas.

Jika Anda mengklik untuk memilih kotak centang Cascade Update bidang terkaitketika Anda mendefinisikan sebuah hubungan, setiap saat yang Anda mengubah bukti kunci primer dari record di Daftar Tabel primer, Microsoft Access secara otomatis update bukti kunci primer untuk nilai baru di semua catatan yang terkait. Misalnya, jika Anda mengubah ID pelanggan dalam Daftar Tabel "Pelanggan", bidang CustomerIDdalam Daftar Tabel "Perintah" diperbarui secara otomatis untuk setiap pesanan pelanggan itu sehingga hubungan tidak rusak. Akses mengaliri update tanpa menampilkan setiap pesan.

Catatan Jika bukti kunci primer pada Daftar Tabel primer adalah bidang AutoNumber, memilih kotak centang Cascade Update bidang terkaittidak berpengaruh karena Anda tidak dapat mengubah nilai di bidang AutoNumber.

Jika Anda memilih kotak centang penghapusan kaskade terkait catatanketika Anda mendefinisikan sebuah hubungan, setiap saat bahwa Anda menghapus catatan dalam Daftar Tabel primer, akses secara otomatis menghapus catatan yang terkait dalam Daftar Tabel terkait. Misalnya, jika Anda menghapus catatan pelanggan dari Daftar Tabel "Pelanggan", pesanan pelanggan secara otomatis dihapus dari Daftar Tabel "Perintah". (Ini termasuk catatan dalam Daftar Tabel "Rincian pesanan" yang berkaitan dengan catatan "Order"). Bila Anda menghapus data dari formulir atau datasheet ketikapenghapusan kaskade catatan yang terkaitkotak dipilih, akses memperingatkan Anda yang berhubungan dengan catatan juga akan dihapus. Namun, bila Anda menghapus catatan dengan menggunakan query Hapus, akses secara otomatis menghapus catatan dalam Daftar Tabel terkait tanpa menampilkan peringatan.
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

Bergabung dengan jenis

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Ada tiga jenis bergabung. Anda dapat melihat mereka di Screenshot berikut:

Perkecil gambar iniPerbesar gambar ini
2878331


Opsi 1 mendefinisikan bergabung batin. Gabung batin adalah bergabung di mana catatan dari dua Daftar Tabel digabungkan dalam hasil query hanya jika nilai-nilai di bidang bergabung memenuhi kondisi yang ditetapkan. Dalam query, bergabung default adalah bergabung batin yang memilih catatan hanya jika nilai-nilai di bidang bergabung dengan cocok.

Opsi 2 mendefinisikan join luar kiri. Join luar kiri adalah bergabung di semua catatan dari sisi kiri operasi kiri JOIN di statement SQL query yang ditambahkan ke hasil query, bahkan jika ada nilai-nilai tidak cocok di bidang bergabung dari Daftar Tabel di sebelah kanan-atas.

Opsi 3 mendefinisikan right outer join. Join kanan-atas luar adalah bergabung di semua catatan dari sisi kanan-atas operasi tepat JOIN di statement SQL query yang ditambahkan ke hasil query, bahkan jika ada nilai-nilai tidak cocok di bidang bergabung dari Daftar Tabel di sebelah kiri.
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

Properti

ID Artikel: 304466 - Kajian Terakhir: 09 Oktober 2013 - Revisi: 5.0
Berlaku bagi:
  • Microsoft Access 2013
  • Microsoft Access 2010
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Kata kunci: 
kbdesign kbdatabase kbhowto kbmt KB304466 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.
Klik disini untuk melihat versi Inggris dari artikel ini: 304466

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com