Model data hubungan ialah pendekatan unik untuk mengurus parameter menggunakan struktur dan bahasa mengikut logik predikat tertib tunggal. Ia pertama kali diterangkan pada tahun 1969 oleh saintis Inggeris Codd. Dalam projek ini, semua parameter dibentangkan sebagai tupel yang dikumpulkan dalam perhubungan tertentu.
Tujuan model data hubungan…
…adalah untuk menyediakan kaedah deklaratif untuk menentukan model dan pertanyaan.
Pengguna mencatat secara langsung maklumat yang terkandung dalam pangkalan data dan teori yang mereka inginkan daripadanya. Dan juga biarkan perisian pengurusan pangkalan data menguruskan menerangkan struktur untuk menyimpannya. Prosedur mendapatkan maklumat untuk menjawab permintaan juga penting.
Kebanyakan RDB menggunakan definisi data SQL dan bahasa carian. Sistem ini melaksanakan apa yang boleh dilihat sebagai penghampiran kejuruteraan kepadamodel perhubungan.
Jadual dalam skema pangkalan data SQL sepadan dengan pembolehubah predikat. Kekangan utama dan pertanyaan SQL sepadan dengan predikat.
Walau bagaimanapun, pangkalan data sedemikian menyimpang daripada model hubungan dalam banyak butiran, dan Codd telah menentang keras perubahan yang menjejaskan prinsip asal.
Ikhtisar
Idea utama model data hubungan ialah perihalan keseluruhan pangkalan data sebagai satu set predikat untuk komponen akhir pembolehubah, menerangkan sekatan ke atas kemungkinan nilai dan gabungannya. Kandungan pada bila-bila masa adalah model terakhir (logik). Iaitu, satu set hubungan, satu per pembolehubah predikat, supaya semua komponen berpuas hati. Ini ialah model data hubungan.
Alternatif
Model lain ialah sistem hierarki dan rangkaian. Sesetengah daripada mereka, menggunakan seni bina lama, masih popular di pusat data berkapasiti tinggi. Atau dalam kes di mana sistem sedia ada adalah sangat kompleks dan abstrak sehingga peralihan kepada mereka menggunakan model hubungan akan sangat mahal. Dan juga yang perlu diperhatikan ialah pangkalan data berorientasikan objek baharu.
Pelaksanaan
Terdapat beberapa percubaan untuk mendapatkan wujud sebenar RMD, yang pada asalnya ditakrifkan oleh Codd dan dijelaskan oleh orang lainsaintis.
Model perwakilan data hubungan adalah model utama seumpamanya, yang diterangkan dalam istilah matematik formal. Pangkalan hierarki dan rangkaian wujud sebelum sistem perhubungan, tetapi spesifikasinya agak tidak formal. Setelah RMD ditakrifkan, banyak percubaan telah dibuat untuk membandingkan dan membezakan model yang berbeza - dan ini membawa kepada penerangan yang lebih ketat tentang sistem awal. Walaupun sifat prosedur antara muka manipulasi data untuk pangkalan data hierarki dan rangkaian mengehadkan kemungkinan untuk pemformalan.
Tema
Andaian asas tentang konsep model data hubungan ialah kesemuanya diwakili sebagai "p" matematik - hubungan tipikal, "Cn" - hubungan berpasangan, yang merupakan subset dalam hasil darab Cartesan beberapa domain. Dalam model matematik, penaakulan tentang data sedemikian dijalankan dalam logik predikat dua nilai, yang bermaksud bahawa untuk setiap ayat terdapat dua penilaian yang mungkin: sama ada benar atau salah (dan tidak ada nilai ketiga, seperti tidak diketahui atau tidak berkenaan., setiap satunya sering dikaitkan dengan konsep 0). Data diproses menggunakan kalkulus atau algebra, yang setara dalam kuasa ekspresif.
Jenis model data, model data hubungan
RMD membenarkan pembangun membuat paparan maklumat yang konsisten dan logik. Ini semua dicapai dengan memasukkan kekangan yang dinyatakan ke dalam reka bentuk pangkalan data, biasanya dirujuk sebagai skema logik. Teorinya adalah untuk membangunkan satu prosesnormalisasi model, di mana reka bentuk dengan sifat tertentu yang dikehendaki boleh dipilih daripada satu set alternatif yang setara secara logik. Dalam pelan akses dan pelaksanaan dan operasi lain, butiran dikendalikan oleh enjin DBMS dan tidak ditunjukkan dalam model logik. Ini berbeza dengan amalan biasa di mana penalaan prestasi sering memerlukan perubahan pada fungsi logik.
Model data perhubungan asas mewakili blok binaan - ia ialah domain atau jenis maklumat, biasanya dikurangkan kepada minimum. Tuple ialah set tertib nilai atribut. Dan mereka, pada gilirannya, adalah pasangan nama dan jenis. Ia boleh sama ada nilai skalar atau nilai yang lebih kompleks.
Perhubungan terdiri daripada pengepala dan badan
Yang pertama ialah set atribut.
Badan (dengan hubungan ke-n) ialah satu set tupel.
Pengepala tangensi juga merupakan subjek bagi setiap struktur.
Model data hubungan ditakrifkan sebagai set n-tuple. Dalam kedua-dua matematik dan MRD, satu set ialah himpunan tidak tertib unsur unik tidak berganda, walaupun sesetengah DBMS mengenakan urutan pada data mereka. Dalam matematik, tuple mempunyai susunan dan membolehkan penduaan. E. F. Codd pada asalnya menyediakan tupel menggunakan definisi matematik ini.
Kemudian salah satu idea hebat E. F. Codd ialah menggunakan nama atribut dan bukannya memesan akan menjadi lebih mudah (biasanyakes) dalam bahasa komputer berasaskan perhubungan. Kenyataan ini masih berguna hari ini. Walaupun konsepnya telah berubah, nama "tuple" tidak diubah. Akibat segera dan penting daripada perbezaan ini ialah dalam model hubungan produk Cartesian menjadi komutatif.
Jadual ialah representasi visual biasa perhubungan. Tuple adalah serupa dengan konsep rentetan.
Relvar ialah pembolehubah bernama bagi beberapa jenis tangen tertentu yang pada setiap masa beberapa hubungan jenis itu ditetapkan, walaupun pandangan mungkin mengandungi tuple nol.
Asas model data hubungan: semua maklumat diwakili oleh nilai maklumat dalam hubungan. Selaras dengan prinsip ini, pangkalan relasi ialah satu set relvar, dan hasil setiap pertanyaan diwakili sebagai tangen.
Konsistensi pangkalan data hubungan tidak dikuatkuasakan oleh peraturan yang dibina ke dalam aplikasi yang menggunakannya, tetapi oleh kekangan yang diisytiharkan sebagai sebahagian daripada skema logik dan dikuatkuasakan oleh DBMS untuk semua aplikasi. Sekatan dinyatakan dalam penggunaan pengendali perbandingan hubungan, yang mana hanya satu subset (⊆), secara teorinya mencukupi. Dalam amalan, beberapa pintasan berguna dijangka tersedia, yang mana kunci calon dan kekangan sumber luaran adalah yang paling penting. Inilah maksud model data hubungan.
Tafsiran
Untuk menghayati RMD sepenuhnya, adalah perlu untuk memahami tafsiran yang dimaksudkansebagai hubungan.
Badan sentuhan kadangkala dipanggil sambungannya. Ini kerana ia harus ditafsirkan sebagai mewakili peningkatan dalam beberapa predikat. Ini ialah set ayat benar yang boleh dibentuk dengan menggantikan setiap pembolehubah bebas dengan nama.
Terdapat surat-menyurat satu dengan satu antara model data perhubungan objek. Setiap tuple badan hubungan menyediakan nilai atribut untuk membuat instantiat predikat dengan menggantikan setiap pembolehubah bebasnya. Hasilnya ialah pernyataan yang dianggap benar kerana berlakunya tuple dalam badan hubungan. Sebaliknya, setiap proses yang tajuknya sepadan dengan nama perhubungan tetapi tidak muncul dalam kandungan dianggap palsu.
Andaian ini dikenali sebagai hipotesis dunia tertutup. Ia sering dilanggar dalam pangkalan data praktikal, di mana ketiadaan tuple mungkin bermakna kebenaran ayat yang sepadan tidak diketahui. Contohnya, ketiadaan istilah tertentu ("John", "Bahasa Sepanyol") dalam Carta Kemahiran Bahasa mungkin tidak semestinya menjadi bukti bahawa seorang budak lelaki bernama John tidak berbahasa Sepanyol.
Aplikasi kepada pangkalan data, teori penormalan
Subjek maklumat yang digunakan dalam RDM hubungan biasa mungkin merupakan set integer, set rentetan aksara yang membentuk tarikh, atau dua boolean benar dan salah, dan seterusnya. Nama subjek yang sepadan untuk angka ini boleh menjadi rentetan dengan nama "Indeks", "Lakukan kerja yang diperlukan","Masa", "Boolean" dan seterusnya dan seterusnya.
Walau bagaimanapun, adalah penting untuk memahami bahawa teori hubungan tidak menyatakan jenis yang harus disokong. Dan memang benar, pada masa ini dijangkakan bahawa peruntukan akan tersedia kepada entiti tersuai sebagai tambahan kepada entiti terbina dalam yang disediakan oleh sistem.
Atribut
Ini ialah istilah yang digunakan dalam teori untuk apa yang biasanya dipanggil lajur. Begitu juga, jadual biasanya digunakan untuk menggantikan istilah teoretikal tangensi (walaupun ia sama sekali tidak sinonim dengan hubungan dalam SQL). Struktur data jadual ditentukan sebagai senarai takrifan lajur, setiap satu dengan nama lajur unik dan jenis nilai yang dibenarkan untuknya.
Nilai atribut ialah entri di lokasi tertentu, seperti John Doe dan 35.
Tuple pada asasnya sama dengan baris, kecuali dalam SQL RDBMS, apabila makna lajur dalam satu baris disusun, tupel tidak dipisahkan. Sebaliknya, setiap nilai definisi dikenal pasti hanya dengan namanya, bukan dengan kedudukan ordinalnya dalam tupel. Nama atribut boleh menjadi Nama atau Umur.
Sikap
Ia ialah jadual definisi struktur bersama-sama dengan penampilan data dalam struktur tersebut. Takrifan ialah pengepala, dan data di dalamnya ialah badan, satu set baris. Pembolehubah hubungan biasanya dipanggil jadual utama. Tajuk nilai yang diberikan kepadanya dalambila-bila masa sepadan dengan yang dinyatakan dalam sel yang diberikan dan badannya sepadan dengan yang terakhir ditetapkan, menggunakan beberapa pernyataan kemas kini (biasanya INSERT, UPDATE atau DELETE).
Formulasi teori set
Konsep asas dalam model hubungan hubungan ialah nama dan nama atribut. Mereka perlu diwakili sebagai rentetan seperti "Orang" dan "Nama" dan biasanya perlu menggunakan pembolehubah untuk merentanginya. Konsep asas lain ialah satu set nilai atom yang mengandungi makna yang perlu dan penting seperti nombor dan rentetan.