Saya merasa agak malu di sini, saya selalu menggunakan istilah "kolom" dan "bidang" sepenuhnya secara bergantian, yang baru-baru ini menyebabkan beberapa kebingungan dalam diskusi teknis.
Namun saya diberitahu bahwa ini tidak benar, bahwa itu seharusnya (menerjemahkan setiap istilah ke dalam terminologi spreadsheet, mengabaikan tipe data dan semua hal lain yang membuat basis data berguna):
- Kolom Basis Data: seperti kolom spreadsheet
- Catatan Basis Data: seperti baris spreadsheet
- Basis Data Basis Data: seperti "sel" spreadsheet (kolom tertentu dari baris tertentu)
Apakah ini benar? Saya bisa bersumpah bahwa kolom dan bidang digunakan lebih bergantian dari itu. Saya tentu saja.
Jadi kami tidak menambahkan bidang ke tabel, kami menambahkan kolom ke tabel, dan bidang hanya relevan saat berbicara tentang data dalam catatan?
Pikiran lain pada kolom vs bidang?
Edit: untuk memperjelas, konteks saat ini adalah MS SQL Server. Latar belakang saya sebelum SQL server adalah MS Access, yang mungkin mempengaruhi penggunaan istilah-istilah ini.
sumber
Jawaban:
Teori basis data relasional tidak termasuk penggunaan kata Field. EF Codd, yang menulis serangkaian makalah yang memberikan dasar teoretis untuk RDBMS, tidak pernah menggunakan istilah itu. Anda dapat membaca makalah seminalinya tahun 1970, Model Relasional Data untuk Bank Data Bersama Besar jika Anda ingin memeriksanya.
Istilah seperti Domain, Tabel, Atribut, Kunci, dan Tuple digunakan. Salah satu alasan untuk ini, adalah bahwa makalahnya sebagian besar berkaitan dengan aljabar relasional, dan cara implementasi tertentu akan mendefinisikan tabel dalam database tidak dianggap oleh Codd sebagai penting. Vendor akan menyempurnakannya nanti. Orang-orang juga harus memahami bahwa secara historis, RDBMS berevolusi dari database hierarkis dan jaringan yang ada sebelum mereka, DAN cara kerja RDMBS yang masih harus berkaitan dengan organisasi data dan penyimpanan.
Umum digunakan, dan Anda dapat dengan mudah memverifikasi ini dengan hanya melakukan sedikit googling, Fields dan kolom yang hal yang sama.
Database PC seperti DBase, Access, dan Pembuat Film biasanya menggunakan "bidang" alih-alih "kolom". "Atribut" adalah istilah lain yang dapat digunakan secara bergantian.
Misalnya, inilah tautan ke manual MS Access tentang cara menambahkan " bidang " ke tabel. Jelas untuk melihat bahwa di MS Access sebuah "bidang" sama dengan "kolom".
Hal yang sama berlaku untuk Dbase dan Filemaker Pro.
Kadang-kadang orang akan merujuk ke nilai tertentu di baris tertentu sebagai "bidang" atau lebih tepatnya "nilai bidang" tetapi itu tidak membuat penggunaan "bidang" ketika merujuk ke kolom atau konsep setara kolom-kolom salah. Ini memang cenderung menyebabkan tingkat kebingungan karena orang telah menggunakan "bidang" untuk mengartikan hal yang berbeda selama bertahun-tahun. Dalam teori relasional - nilai atom tunggal disebut sebagai "Datum".
Jika seseorang menyatakan bahwa "bidang" adalah satu nilai dalam basis data relasional dan tidak sama dengan kolom, itu adalah pendapat mereka, karena "bidang" bukan bagian dari basis data relasional. Mereka tidak benar atau salah, namun, di seluruh dunia basis data, bidang lebih sering digunakan untuk berarti kolom.
Dengan mengatakan itu, proyek dan tim sering harus bekerja memahami bagaimana mereka ingin menggunakan terminologi tertentu dalam proyek untuk menghindari kebingungan.
Anda tidak salah, tetapi Anda juga mungkin memutuskan untuk hanya mengikuti konvensi yang sedang digunakan, atau menghindari menggunakan bidang kata sama sekali demi "kolom". Dengan database relasional, "Tabel" dan "Kolom" adalah blok bangunan yang ada di DDL dan yang terbaik adalah hanya menggunakan istilah-istilah itu dan menghindari "bidang" yang tidak digunakan, atau didefinisikan dengan jelas.
sumber
SQL yang lebih lama : 92 disebut
fields
sebagai komponen item datetime:Kolom di sini adalah tahun, bulan, dan seterusnya ... dan istilahnya
field
tersebut sepertinya tidak memiliki arti lain di dalam dokumen ini.Standar SQL: 2003 yang lebih baru memiliki ini:
dan kemudian:
Ini kontras dengan kolom, yang didefinisikan sebagai:
Kemudian nanti lagi, saat memperkenalkan tabel:
(penekanan milikku). Ini sepertinya mendukung apa yang Anda tulis dalam pertanyaan: kolom spesifik dari baris tertentu .
sumber
Dan berapa banyak malaikat yang bisa menari di sekitar kepala pin?
Orang yang mengoreksi Anda sendiri dapat dikoreksi.
Tabel = Relasi
Row = Tuple
Kolom = Atribut
Domain = Tipe Data
Lihat entri Wikipedia tentang database relasional di sini .
Saya bekerja untuk maskapai penerbangan dan kata "penerbangan" dapat digunakan dalam tiga cara berbeda tergantung pada apakah Anda berbicara dengan pilot / pramugari, insinyur atau pemasaran.
insinyur: satu lepas landas dan satu pendaratan, bisa menjadi tes, perbaikan, pelatihan (yaitu satu bandara kembali ke bandara yang sama) atau "kaki", yaitu satu bandara ke bandara lain - yang biasa disebut "warga sipil" sebagai penerbangan, seperti di "Saya akan pulang besok pagi"),
pemasaran: serangkaian "penerbangan" enam bulan (biasanya di luar atau di luar musim) dari / ke bandara tertentu dalam konteks kontrak.
Analogi spreadsheet lebih dari cukup baik untuk 99,99% kasus, bahkan dalam pidato teknis yang wajar (kecuali seseorang adalah profesor aljabar relasional). Apakah orang yang mengoreksi Anda menggunakan kata "siapa" dengan benar? 99,99% orang tidak dan itu benar-benar tidak masalah.
sumber
Saya biasanya menggunakan "bidang" dan "kolom" secara bergantian, baru-baru ini cenderung ke arah "kolom". Saya belum mendengar istilah "bidang" sendirian untuk menunjukkan "data". Saya juga belum pernah mendengar istilah "atribut" untuk menunjukkan "bidang" atau "kolom". Kolom / Kolom memiliki atribut, dapat diakses melalui Kelas FieldInfo misalnya.
Saya percaya "kolom" hanyalah evolusi dari terminologi. Desktop DB (xBASE, MSAccess) umumnya menggunakan "bidang". M204 menggunakan "bidang". Terminologi "bidang" ini dibawa ke dalam MSOffice xml dan lainnya. Dokumen untuk Oracle (tidak akan membiarkan saya memposting lagi tautan, maaf) dan MSSQL menggunakan "bidang" dan "kolom" secara bergantian di seluruh. Sybase (sekarang perusahaan SAP) sebagian besar menggunakan "kolom" tetapi kadang-kadang "bidang" dalam dokumentasinya.
Selama kelompok kerja Anda menyetujui istilah, tidak masalah yang mana. Ini adalah sindrom "mawar dengan nama lain".
sumber
Jadi saya menyadari ini adalah pertanyaan lama tetapi itu adalah pertanyaan yang sering saya dengar. Pendapat saya berasal dari keterlibatan tim data kami dengan tim pengembangan kami. Pengembang pasti memiliki bidang dalam catatan yang ditampilkan di layar dan bidang tersebut berisi data yang sering dapat dipetakan ke kolom dengan baris tertentu. Namun, dalam banyak kasus metode relasional yang digunakan untuk mengakses data dapat mengubah apa yang berakhir pada layar tertentu di bidang tertentu.
Saya mencatat adalah representasi dari nilai saat ini yang dikirimkan data. Seiring berjalannya waktu nilai-nilai itu mungkin dan mungkin akan berubah sehingga catatan juga berubah. Data untuk mendukung apa itu sekarang dan apa itu pada waktu tertentu dapat dengan mudah disimpan dalam satu set tabel. Hubungan antara data menentukan makna yang membentuk catatan pada waktu tertentu.
Logika yang menurunkan bidang adalah sesuatu yang dapat berubah seiring waktu. Sebagai contoh, seorang karyawan dipekerjakan sebagai Susan Jones dan dia dipekerjakan pada 12/01/2010 sebagai petugas penjualan di toko # 101 yang melapor kepada Bill Anderson sebagai manajer toko. Sebagai perusahaan yang progresif, mereka juga memiliki mentor yang ditugaskan untuk setiap karyawan. Mentor Susan adalah Mary Phillips. Mary Phillips adalah manajer toko tetapi dia juga manajer regional untuk toko tempat Susan bekerja. Pada 11/10/2011 Susan dipromosikan menjadi manajer toko. Kami tidak tahu apa yang terjadi pada Bill tetapi Susan sekarang adalah manajer toko.
Kami memiliki daftar karyawan dengan nama, nomor, tanggal perekrutan, posisi, dan lokasi.
Kami memiliki tabel mentor dengan nomor karyawan untuk mentor dan karyawan yang mereka bimbing ditambah tanggal yang menggambarkan awal dan akhir hubungan mentor.
Kami memiliki tabel wilayah dengan nama untuk wilayah dan nomor manajer yang ditugaskan.
Kami memiliki tabel lokasi lain dengan alamat, deskripsi, wilayah, dan nomor manajer.
Layar saya yang menampilkan informasi toko mungkin memiliki bidang untuk manajer toko. Nilai untuk manajer toko bukan bidang basis data tetapi nilai yang dapat dihitung yang dapat berubah seiring waktu. Manajer seseorang juga bisa berubah. Data yang mendukungnya masih disimpan dalam kolom tetapi hubungan antara kolom telah berubah dan ketika dirakit untuk tujuan tertentu, itu menjadi bidang.
sumber