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
- Mulai Microsoft Access
- Dari sumber yang menyertai pelajaran ini, buka database Altair Realtors3
- Pada Pita, klik Buat dan klik Desain Kueri
- Dalam kotak dialog Perlihatkan Tabel, klik dua kali Properti dan klik Tutup
- Dalam daftar Properti, klik dua kali PropertyNumber, Kota, dan Negara Bagian
- Mengalihkan kueri ke Tampilan Lembar Data:
- Perhatikan jumlah record:48.
Alihkan kueri ke Tampilan Desain - Klik kanan area kosong di sisi atas jendela dan klik Tampilkan Tabel
- Dalam kotak dialog Perlihatkan Tabel, klik dua kali PropertyTypes dan klik Tutup
- Dalam daftar PropertyTypes, klik dua kali PropertyType
- Ubah kueri ke Tampilan Lembar Data
- 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;
- Ubah kueri ke Tampilan Lembar Data
- Perhatikan jumlah record:38.
Tutup kueri tanpa menyimpannya - Di Panel Navigasi, klik dua kali formulir PropertyTypes
- Buat rekor baru sebagai berikut:
Tipe Properti Deskripsi Tidak diketahui Jenis properti tidak tersedia atau tidak jelas. Ilustrasi - Tutup tabel PropertyTypes
- Di Panel Navigasi, klik dua kali formulir Ketentuan
- 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. - Tutup tabel Ketentuan
- Di Panel Navigasi, klik kanan tabel Properti dan klik Tampilan Desain
- Di sisi atas jendela, klik PropertyType
- Di sisi bawah, klik Nilai Default dan ketik Tidak Diketahui
- Di sisi atas jendela, klik Kondisi
- Di sisi bawah, klik Nilai Default dan ketik Tidak Diketahui
- Simpan tabel dan alihkan ke Tampilan Lembar Data
- Di kolom PropertyType, untuk setiap sel kosong, pilih Tidak Diketahui
- Pada kolom Kondisi, untuk setiap sel kosong, pilih Tidak Diketahui
- Perhatikan bahwa ada nilai default untuk kolom PropertyType dan Condition
- 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 - Tutup tabel
- Pada Pita, klik Buat dan klik Desain Kueri
- Dalam kotak dialog Perlihatkan Tabel, klik dua kali Properti dan klik Tutup
- Dalam daftar Properti, klik dua kali PropertyNumber, Kota, dan Negara Bagian
- Ubah kueri ke Tampilan Lembar Data
- Perhatikan jumlah record:51.
Alihkan kueri ke Tampilan Desain - Klik kanan area kosong di sisi atas jendela dan klik Tampilkan Tabel
- Dalam kotak dialog Perlihatkan Tabel, klik dua kali PropertyTypes dan klik Tutup
- Dalam daftar PropertyTypes, seret PropertyType dan letakkan di Kota di sisi bawah
- Dalam daftar Properti, klik dua kali Kamar Tidur dan Kamar Mandi
- Ubah kueri ke Tampilan Lembar Data
- Perhatikan jumlah record kali ini:51.
Tutup kueri tanpa menyimpannya - Buka database Lambda Square Apartments1 yang dibuat dan digunakan sebelumnya
- Pada Pita, klik Buat dan klik Desain Kueri
- Dalam kotak dialog Perlihatkan Tabel, klik dua kali Pembayaran dan klik Tutup
- Dalam daftar Pembayaran, klik dua kali ReceiptNumber, PaymentDate, ProcessedBy, RegistrationNumber, dan PaymentAmount
- Ubah kueri ke Tampilan Lembar Data
- Perhatikan jumlah record:63.
Alihkan kueri ke Tampilan Desain - Klik kanan area kosong di jendela dan klik Tampilkan Tabel...
- Dalam kotak dialog Perlihatkan Tabel, klik dua kali Karyawan dan klik Tutup
- Seret EmployeeNumber dan letakkan di ProcessedBy
- Di bagian bawah jendela, ganti ProcessedBy dengan
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- Ubah kueri ke Tampilan Lembar Data
- Perhatikan jumlah record:46.
Tutup kueri tanpa menyimpannya - 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 - Tutup tabel Karyawan
- Di Panel Navigasi, klik kanan tabel Pembayaran dan klik Tampilan Desain
- Di sisi atas jendela, klik Diproses Oleh
- Di sisi bawah, klik Nilai Default dan ketik "000000"
- Simpan dan tutup tabel
- Buka tabel Pembayaran
- Di kolom ProcessedBy, di setiap sel kosong, ketik 000000
- Tutup tabel Pembayaran
- Pada Pita, klik Buat dan klik Desain Kueri
- Dalam kotak dialog Perlihatkan Tabel, klik dua kali Pembayaran dan Karyawan
- Klik Tutup
- Seret EmployeeNumber dan letakkan di ProcessedBy
- Dalam daftar Pembayaran, klik dua kali ReceiptNumber dan PaymentDate
- Tekan Tab dan ketik
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- Dalam daftar Pembayaran, klik dua kali RegistrationNumber dan PaymentAmount
- Ubah kueri ke Tampilan Lembar Data
- 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
- Pada Pita, klik Buat dan klik Desain Formulir
- Di Lembar Properti, klik tab Semua.
Klik Rekam Sumber dan klik tombol elipsisnya - Pada Tabel Perlihatkan, klik dua kali Karyawan, Pendaftaran, dan Apartemen
- Klik Tutup
- Seret EmployeeNumber dari daftar Karyawan dan letakkan di ProcessedBy pada daftar Pendaftaran
- Seret ApartmentCode dari daftar Apartemen dan letakkan di PropNbr di daftar Pendaftaran
- Dalam daftar Pendaftaran, klik dua kali RegistrationID dan RegistrationDate
- Tekan Tab dan ketik
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- Dalam daftar Pendaftaran, klik dua kali FirstName, LastName, MaritalStatus, dan NumberOfChildren
- Tekan Tab dan ketik:
Apartment: "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month"
- 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;
- Tutup Pembuat Kueri
- Saat ditanya apakah Anda ingin menyimpan perubahan, klik Ya
- Simpan formulir sebagai Alokasi Sewa
- Klik dua kali tombol di persimpangan penggaris
- Di Lembar Properti, ubah karakteristik berikut:
Keterangan:Apartemen Lambda Square - Alokasi Sewa
Nilai Default:Formulir Berkelanjutan
Pusat Otomatis:Ya
Tombol Navigasi:Tidak - Pada Pita, klik Desain
- Di bagian Alat, klik Tambahkan Bidang yang Ada
- Pada Field List, klik Apartment, tekan dan tahan Shift, klik Regist #, dan lepaskan Shift
- Seret pilihan ke formulir
- Pada Pita, klik Susun dan klik Tabular
- Seret pilihan ke kiri
- Tekan Ctrl + A untuk memilih semua kontrol
- Pada Pita, klik Hapus Tata Letak
- Selesaikan desain formulir. Berikut ini contohnya:
- 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
- Buka database Monson University1 yang digunakan sebelumnya
- Untuk memulai kueri, pada Pita, klik Buat dan klik Desain Kueri
- Pada kotak dialog Perlihatkan Tabel, klik Tutup
- Klik kanan sisi atas jendela dan klik Tampilan SQL
- 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;
- Pratinjau hasil dalam Tampilan Lembar Data
- 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 - Tutup kueri tanpa menyimpannya
- Tutup Microsoft Access