Access
 sql >> Teknologi Basis Data >  >> RDS >> Access

Pengantar Data Bergabung dan Hubungan

Opsi tentang Penggabungan Data

Data Bergabung dan Rekam Nullity

Kadang-kadang Anda akan memiliki tabel di mana bidang kehilangan beberapa catatan. Berikut adalah contoh daftar karyawan di mana beberapa catatan tidak menentukan departemen tempat karyawan tersebut berada:

SELECT Employees.EmployeeNumber AS [Employee #],
       Employees.FirstName,
       Employees.LastName,
       Employees.DepartmentCode AS Department
FROM Employees;

Ini akan menghasilkan:

Jika Anda membuat kueri gabungan dalam dari dua tabel yang memiliki hubungan dan beberapa rekaman tabel turunan kehilangan beberapa nilai di kolom kunci asing, kueri hanya akan menghasilkan rekaman yang memiliki nilai. Ini contohnya:

SELECT Employees.EmployeeNumber AS [Employee #],
       Employees.FirstName,
       Employees.LastName,
       Departments.DepartmentName AS Department
FROM   Departments INNER JOIN Employees
       ON Departments.DepartmentCode = Employees.DepartmentCode;

Ini akan menghasilkan:

Perhatikan bahwa kueri menghasilkan lebih sedikit catatan. Seperti yang terjadi, mesin database tidak menyukai catatan nol terutama pada bidang bersama, bidang yang terlibat dalam hubungan. Untuk memastikan bahwa semua rekaman tabel anak dihasilkan oleh kueri, buat nilai default untuk rekaman yang nilainya hilang. Jika hubungan menggunakan bilangan bulat sederhana, buat catatan dengan nilai 0. Jika hubungan menggunakan string, Anda dapat membuat catatan dengan nilai 'T/A'. Jika record diproses oleh komputer, Anda dapat membuat record dengan nilai generik/acak seperti 00000 atau semacamnya.

Pembelajaran Praktis:Menangani Penggabungan Data dan Rekam Nullity

  1. Mulai Microsoft Access
  2. Dari sumber yang menyertai pelajaran ini, buka database Altair Realtors3
  3. Pada Pita, klik Buat dan klik Desain Kueri
  4. Dalam kotak dialog Perlihatkan Tabel, klik dua kali Properti dan klik Tutup
  5. Dalam daftar Properti, klik dua kali PropertyNumber, Kota, dan Negara Bagian
  6. Mengalihkan kueri ke Tampilan Lembar Data:

  7. Perhatikan jumlah record:48.
    Alihkan kueri ke Tampilan Desain
  8. Klik kanan area kosong di sisi atas jendela dan klik Tampilkan Tabel
  9. Dalam kotak dialog Perlihatkan Tabel, klik dua kali PropertyTypes dan klik Tutup
  10. Dalam daftar PropertyTypes, klik dua kali PropertyType

  11. Ubah kueri ke Tampilan Lembar Data

  12. Perhatikan jumlah record kali ini:44.
    Tampilkan Tampilan SQL kueri dan ubah kodenya sebagai berikut:
    SELECT Properties.PropertyNumber,
           Properties.City,
           Properties.State,
           Conditions.Condition
    FROM   Properties INNER JOIN Conditions
           ON Properties.Condition = Conditions.Condition;
  13. Ubah kueri ke Tampilan Lembar Data

  14. Perhatikan jumlah record:38.
    Tutup kueri tanpa menyimpannya
  15. Di Panel Navigasi, klik dua kali formulir PropertyTypes
  16. Buat rekor baru sebagai berikut:
    Tipe Properti Deskripsi Tidak diketahui Jenis properti tidak tersedia atau tidak jelas. Ilustrasi
  17. Tutup tabel PropertyTypes
  18. Di Panel Navigasi, klik dua kali formulir Ketentuan
  19. Buat rekor baru sebagai berikut:
    Tipe Properti Deskripsi Tidak Diketahui Kondisi atau tampilan (interior dan/atau eksterior) properti saat ini belum diperiksa, tidak dinilai, atau tidak diketahui dengan jelas.
  20. Tutup tabel Ketentuan
  21. Di Panel Navigasi, klik kanan tabel Properti dan klik Tampilan Desain
  22. Di sisi atas jendela, klik PropertyType
  23. Di sisi bawah, klik Nilai Default dan ketik Tidak Diketahui
  24. Di sisi atas jendela, klik Kondisi
  25. Di sisi bawah, klik Nilai Default dan ketik Tidak Diketahui
  26. Simpan tabel dan alihkan ke Tampilan Lembar Data
  27. Di kolom PropertyType, untuk setiap sel kosong, pilih Tidak Diketahui
  28. Pada kolom Kondisi, untuk setiap sel kosong, pilih Tidak Diketahui
  29. Perhatikan bahwa ada nilai default untuk kolom PropertyType dan Condition
  30. Dengan hanya menyetel nilai yang ditunjukkan, buat catatan baru sebagai berikut:
    Properti # Jenis Properti Kota Negara Bagian Kode Pos Kamar Tidur Kamar mandi Ruang Bawah Tanah Selesai Garasi Dalam Ruangan Kondisi Nilai Pasar 476005 Single Family Hanover PA 17331 3 2,50 Diperiksa 425790 152466 Martinsburg WV 1 1.00 135670 427048 Kondominium Alexandria VA 3 2.00 Perlu Perbaikan 622845 297427 Matinsburg Luar Biasa 729336 Alexandria VA 3 2.50 Perlu Perbaikan 750000 300618 Harrisburg PA 17109 5 3.50 Diperiksa Sudah diperiksa Bentuk Bagus 515885

  31. Tutup tabel
  32. Pada Pita, klik Buat dan klik Desain Kueri
  33. Dalam kotak dialog Perlihatkan Tabel, klik dua kali Properti dan klik Tutup
  34. Dalam daftar Properti, klik dua kali PropertyNumber, Kota, dan Negara Bagian
  35. Ubah kueri ke Tampilan Lembar Data
  36. Perhatikan jumlah record:51.
    Alihkan kueri ke Tampilan Desain
  37. Klik kanan area kosong di sisi atas jendela dan klik Tampilkan Tabel
  38. Dalam kotak dialog Perlihatkan Tabel, klik dua kali PropertyTypes dan klik Tutup
  39. Dalam daftar PropertyTypes, seret PropertyType dan letakkan di Kota di sisi bawah
  40. Dalam daftar Properti, klik dua kali Kamar Tidur dan Kamar Mandi

  41. Ubah kueri ke Tampilan Lembar Data

  42. Perhatikan jumlah record kali ini:51.
    Tutup kueri tanpa menyimpannya
  43. Buka database Lambda Square Apartments1 yang dibuat dan digunakan sebelumnya
  44. Pada Pita, klik Buat dan klik Desain Kueri
  45. Dalam kotak dialog Perlihatkan Tabel, klik dua kali Pembayaran dan klik Tutup
  46. Dalam daftar Pembayaran, klik dua kali ReceiptNumber, PaymentDate, ProcessedBy, RegistrationNumber, dan PaymentAmount
  47. Ubah kueri ke Tampilan Lembar Data

  48. Perhatikan jumlah record:63.
    Alihkan kueri ke Tampilan Desain
  49. Klik kanan area kosong di jendela dan klik Tampilkan Tabel...
  50. Dalam kotak dialog Perlihatkan Tabel, klik dua kali Karyawan dan klik Tutup
  51. Seret EmployeeNumber dan letakkan di ProcessedBy
  52. Di bagian bawah jendela, ganti ProcessedBy dengan
    Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"

  53. Ubah kueri ke Tampilan Lembar Data

  54. Perhatikan jumlah record:46.
    Tutup kueri tanpa menyimpannya
  55. Pada Navigation Pane, klik dua kali tabel Employeees dan buat record baru sebagai berikut (ini untuk transaksi yang dilakukan di bank seperti tenant yang menyetor uang sewa langsung di bank):
    Nomor Karyawan Nama Depan Nama Belakang Judul 00000 Pemrosesan Transaksi Elektronik Otomatis
  56. Tutup tabel Karyawan
  57. Di Panel Navigasi, klik kanan tabel Pembayaran dan klik Tampilan Desain
  58. Di sisi atas jendela, klik Diproses Oleh
  59. Di sisi bawah, klik Nilai Default dan ketik "000000"
  60. Simpan dan tutup tabel
  61. Buka tabel Pembayaran
  62. Di kolom ProcessedBy, di setiap sel kosong, ketik 000000
  63. Tutup tabel Pembayaran
  64. Pada Pita, klik Buat dan klik Desain Kueri
  65. Dalam kotak dialog Perlihatkan Tabel, klik dua kali Pembayaran dan Karyawan
  66. Klik Tutup
  67. Seret EmployeeNumber dan letakkan di ProcessedBy
  68. Dalam daftar Pembayaran, klik dua kali ReceiptNumber dan PaymentDate
  69. Tekan Tab dan ketik
    Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
  70. Dalam daftar Pembayaran, klik dua kali RegistrationNumber dan PaymentAmount
  71. Ubah kueri ke Tampilan Lembar Data
  72. Perhatikan jumlah record:63.
    Tutup kueri tanpa menyimpannya

Bergabung Lebih dari Dua Tabel

Sejauh ini, pernyataan join kami hanya melibatkan dua tabel. Sebenarnya, Anda bisa menggunakan lebih banyak tabel dari itu. Rumus dasar untuk menggabungkan tiga tabel adalah:

SELECT field-name(s) FROM first-table
first-join-type second-table ON condition1
second-join-type third-table ON condition2

Anda memulai ekspresi dengan menggabungkan tabel pertama ke tabel kedua, yang berarti kedua tabel harus berbagi kolom dalam tipe hubungan primary key-foreign key. Dengan cara yang sama, Anda dapat membuat gabungan kedua. Tentu saja, tabel kedua dan ketiga harus memiliki kolom yang sama. Dalam kebanyakan kasus, harus ada kolom yang digunakan bersama oleh ketiga tabel. Sebagian besar waktu, hubungan dimulai dengan kolom kunci utama dari tabel induk. Kolom tersebut kemudian direpresentasikan sebagai kunci asing di dua tabel lainnya.

Pembelajaran Praktis:Menggabungkan Lebih dari Dua Tabel

  1. Pada Pita, klik Buat dan klik Desain Formulir
  2. Di Lembar Properti, klik tab Semua.
    Klik Rekam Sumber dan klik tombol elipsisnya
  3. Pada Tabel Perlihatkan, klik dua kali Karyawan, Pendaftaran, dan Apartemen
  4. Klik Tutup
  5. Seret EmployeeNumber dari daftar Karyawan dan letakkan di ProcessedBy pada daftar Pendaftaran
  6. Seret ApartmentCode dari daftar Apartemen dan letakkan di PropNbr di daftar Pendaftaran

  7. Dalam daftar Pendaftaran, klik dua kali RegistrationID dan RegistrationDate
  8. Tekan Tab dan ketik
    Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
  9. Dalam daftar Pendaftaran, klik dua kali FirstName, LastName, MaritalStatus, dan NumberOfChildren
  10. Tekan Tab dan ketik:
    Apartment: "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month"
  11. Menampilkan Tampilan SQL dari kueri:
    SELECT Registrations.RegistrationID AS [Regist #],
           Registrations.RegistrationDate AS [Regist Date],
           [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")" AS Employee,
           Registrations.FirstName,
           Registrations.LastName,
           Registrations.MaritalSituation AS Status,
           Registrations.NumberOfChildren AS Children,
           "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month" AS Apartment
    FROM   Apartments INNER JOIN (Employees INNER JOIN Registrations
           ON Employees.EmployeeNumber = Registrations.ProcessedBy)
           ON Apartments.ApartmentCode = Registrations.PropNbr;
  12. Tutup Pembuat Kueri
  13. Saat ditanya apakah Anda ingin menyimpan perubahan, klik Ya
  14. Simpan formulir sebagai Alokasi Sewa
  15. Klik dua kali tombol di persimpangan penggaris
  16. Di Lembar Properti, ubah karakteristik berikut:
    Keterangan:Apartemen Lambda Square - Alokasi Sewa
    Nilai Default:Formulir Berkelanjutan
    Pusat Otomatis:Ya
    Tombol Navigasi:Tidak
  17. Pada Pita, klik Desain
  18. Di bagian Alat, klik Tambahkan Bidang yang Ada
  19. Pada Field List, klik Apartment, tekan dan tahan Shift, klik Regist #, dan lepaskan Shift
  20. Seret pilihan ke formulir
  21. Pada Pita, klik Susun dan klik Tabular
  22. Seret pilihan ke kiri
  23. Tekan Ctrl + A untuk memilih semua kontrol
  24. Pada Pita, klik Hapus Tata Letak
  25. Selesaikan desain formulir. Berikut ini contohnya:

  26. Simpan dan tutup formulir

Penggabungan Data dan Analisis Rekaman

Menyortir Catatan

Dalam gabungan data yang telah kami buat sejauh ini, kami mempertimbangkan semua catatan dan membiarkan mesin basis data mencantumkannya hanya dengan menggunakan aturan gabungan bawaan SQL. Untuk membuat daftar seperti itu lebih ketat, Anda dapat menerapkan beberapa kondisi yang digunakan untuk mengisolasi beberapa catatan. Anda dapat membuat filter secara visual dalam Tampilan Desain kueri atau di jendela serupa. Anda juga dapat membuat filter dalam SQL. Seperti yang dilakukan dalam pelajaran sebelumnya, untuk memasukkan kriteria dalam PILIH pernyataan, Anda dapat membuat WHERE klausa.

Pembelajaran Praktis:Memperkenalkan Penggabungan dan Analisis Data

  1. Buka database Monson University1 yang digunakan sebelumnya
  2. Untuk memulai kueri, pada Pita, klik Buat dan klik Desain Kueri
  3. Pada kotak dialog Perlihatkan Tabel, klik Tutup
  4. Klik kanan sisi atas jendela dan klik Tampilan SQL
  5. Ubah pernyataan sebagai berikut:
    SELECT EmployeeNumber AS [Employee #],
           FirstName      AS [First Name],
           LastName       AS [Last Name],
           Title,
           DepartmentName AS Department
    FROM   Employees, Departments
    WHERE  Employees.DepartmentCode = Departments.DepartmentCode
    ORDER  BY LastName;
  6. Pratinjau hasil dalam Tampilan Lembar Data
  7. Jika perlu, pada Pita, klik Beranda.
    Ubah karakteristik berikut:
    Nama Font:Californian FB (jika Anda tidak memiliki font tersebut, pilih Times New Roman)
    Warna Font:Biru, Aksen 1, Lebih Ringan 80% (Warna Tema:kolom ke-5, baris ke-2)
    Warna Latar Belakang:Lebih Banyak Warna:Merah:195, Hijau:95, Biru:15
    Garis kisi:Horisontal
    Warna Baris Alternatif:Lebih Banyak Warna:Merah:128, Hijau:0, Biru:0

  8. Tutup kueri tanpa menyimpannya
  9. Tutup Microsoft Access

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menguraikan Driver Microsoft SQL Server ODBC dan OLEDB Baru

  2. Memahami Model ACID untuk Manajemen Basis Data

  3. Cara Membersihkan Basis Data Anda

  4. Visual Basic untuk Aplikasi di Microsoft Access

  5. Menggunakan Data MS Access dalam Gabungan Surat