Reka Bentuk Pangkalan Data Hubungan: Panduan Komprehensif
Reka bentuk pangkalan data perhubungan ialah asas sistem pangkalan data yang berkesan, memfokuskan pada penyusunan data dengan cekap sambil mengurangkan redundansi dan memelihara integriti data. Artikel ini menyediakan penerokaan menyeluruh tentang penguraian, normalisasi, kebergantungan fungsi dan kunci, memastikan anda mempunyai pemahaman yang lengkap tentang prinsip reka bentuk pangkalan data hubungan.
Penguraian dalam Reka Bentuk Pangkalan Data Hubungan
Penguraian ialah proses memecahkan hubungan (jadual) yang besar kepada hubungan yang lebih kecil dan bermakna untuk menghapuskan lebihan, meningkatkan konsistensi dan mengoptimumkan prestasi. Ia merupakan aspek kritikal penormalan.
Jenis Penguraian
-
Penguraian Rugi:
- Penguraian adalah rugi jika jadual asal tidak dapat dibina semula dengan sempurna dengan mencantumkan hubungan yang terurai.
- Ini berlaku apabila sesetengah data atau perhubungan hilang semasa penguraian.
-
Contoh:
Pertimbangkan jadual:
EmployeeID | ProjectID | ProjectManager
---------------------------------------
E1 | P1 | M1
E2 | P1 | M1
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Jika ini diuraikan menjadi:
- Jadual 1: EmployeeID | ProjectID
- Jadual 2: ProjectID | ProjectManager
Menyertai semula jadual ini boleh membawa kepada data pendua atau tidak konsisten, mengakibatkan penguraian yang hilang.
-
Penguraian Tanpa Rugi:
- Penguraian adalah tak rugi jika jadual asal boleh dibina semula dengan sempurna dengan menyertai perhubungan terurai tanpa kehilangan sebarang data atau memperkenalkan ketidakkonsistenan.
- Ini dicapai apabila penguraian mengekalkan semua kebergantungan berfungsi atau apabila atribut utama disertakan dalam setiap hubungan terurai.
Kebergantungan Fungsian
Satu kebergantungan fungsi (FD) menerangkan perhubungan antara dua atribut dalam perhubungan di mana nilai satu atribut (atau set atribut) menentukan nilai atribut lain (atau set atribut). Ia merupakan konsep asas dalam reka bentuk pangkalan data hubungan dan normalisasi.
Definisi:
Biar X dan Y menjadi set atribut dalam hubungan R. Kebergantungan berfungsi X → Y bermaksud bahawa untuk mana-mana dua tupel (baris) dalam R, jika tupel bersetuju dengan nilai X, mereka juga mesti bersetuju dengan nilai Y.
-
X: Penentu (atribut di sebelah kiri).
-
Y: Bergantung (sifat di sebelah kanan).
Contoh:
Pertimbangkan jadual yang menyimpan maklumat pelajar:
StudentID | Name | Major
----------------------------
S1 | Alice | CS
S2 | Bob | EE
S3 | Alice | CS
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Di sini, StudentID → Nama, Major kerana StudentID menentukan kedua-dua Nama dan Major secara unik.
Sifat Kebergantungan Fungsian:
-
Refleksitiviti: Jika Y ialah subset X, maka X → Y.
-
Pembesaran: Jika X → Y, maka XZ → YZ (menambah atribut pada kedua-dua belah pihak mengekalkan kebergantungan).
-
Transitiviti: Jika X → Y dan Y → Z, maka X → Z.
Kunci dalam Pangkalan Data Hubungan
Kunci adalah penting untuk mengenal pasti rekod secara unik dalam jadual dan menguatkuasakan integriti data.
Jenis Kunci:
-
Superkey:
- Satu set satu atau lebih atribut yang boleh mengenal pasti tuple secara unik dalam hubungan.
- Contoh: Dalam jadual dengan atribut EmployeeID dan Name, {EmployeeID}, {EmployeeID, Name} ialah superkey.
-
Kunci Calon:
- Kunci super minima, bermakna tiada subset yang betul juga merupakan kunci super.
- Contoh: Jika {EmployeeID} boleh mengenal pasti tuple secara unik, ia adalah kunci calon.
-
Kunci Utama:
- Kunci calon yang dipilih oleh pereka pangkalan data untuk mengenal pasti tupel secara unik.
- Contoh: EmployeeID dalam jadual Pekerja.
-
Kunci Asing:
- Atribut (atau set atribut) dalam satu jadual yang merujuk kunci utama dalam jadual lain, mewujudkan hubungan antara jadual.
- Contoh: DepartmentID dalam jadual Pekerja merujuk DepartmentID dalam jadual Jabatan.
-
Kunci Komposit:
- Kunci utama yang terdiri daripada dua atau lebih atribut.
- Contoh: (StudentID, CourseID) dalam jadual pendaftaran pelajar.
-
Kunci Unik:
- Kekangan utama yang memastikan semua nilai dalam lajur (atau gabungan lajur) adalah unik.
Normalisasi dan Bentuk Normal
Normalisasi ialah proses mengatur atribut dan perhubungan untuk mengurangkan lebihan dan pergantungan, memastikan integriti data. Ini dicapai dengan secara progresif memenuhi kriteria bentuk normal berturut-turut.
Borang Biasa (Gambaran Keseluruhan Komprehensif)
Bentuk Biasa Pertama (1NF)
Takrif:
Sesuatu hubungan dikatakan berada dalam Borang Biasa Pertama (1NF) jika ia memenuhi kriteria berikut:
-
Atomicity: Semua atribut (lajur) mesti mengandungi nilai atom. Ini bermakna bahawa nilai dalam setiap lajur tidak boleh dibahagikan dan tidak boleh dipecahkan lagi.
-
Entri Bernilai Tunggal: Setiap lajur dalam jadual hendaklah mengandungi nilai satu jenis data dan tiada lajur harus mempunyai set, senarai atau tatasusunan.
-
Keunikan Baris: Setiap baris mestilah unik, bermakna jadual harus mempunyai kunci utama untuk membezakan antara baris.
-
Tiada Kumpulan Berulang: Jadual tidak seharusnya mempunyai berbilang lajur untuk atribut yang sama (seperti Item1, Item2, dsb.), dan juga tidak boleh mempunyai berbilang nilai yang disimpan dalam satu sel.
Penjelasan:
-
Nilai Atom: Data dalam setiap sel mestilah dalam bentuk yang paling mudah. Sebagai contoh, daripada menyimpan berbilang item dalam satu sel, setiap item harus menduduki barisnya sendiri.
-
Kumpulan Berulang: Di sinilah berbilang lajur atau baris mewakili jenis data yang sama, menjadikan jadual tidak mematuhi 1NF.
-
Kunci Utama: Kunci utama memastikan setiap baris boleh dikenal pasti secara unik, yang merupakan keperluan asas untuk pangkalan data hubungan.
Contoh:
Jadual Tidak Patuh (Tiada dalam 1NF):
EmployeeID | ProjectID | ProjectManager
---------------------------------------
E1 | P1 | M1
E2 | P1 | M1
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
- Lajur Item melanggar atomicity kerana ia mengandungi berbilang nilai (cth., "Pen, Notebook").
- Terdapat kumpulan berulang kerana item disimpan dalam sel tunggal dan bukannya baris berasingan.
Jadual Patuh (Dalam 1NF):
StudentID | Name | Major
----------------------------
S1 | Alice | CS
S2 | Bob | EE
S3 | Alice | CS
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
- Di sini, lajur Item dipecahkan kepada nilai atom, dengan setiap item dalam baris yang berasingan.
- Tiada sel yang mengandungi berbilang nilai, memastikan atomicity.
- Jadual tidak mempunyai kumpulan atau tatasusunan berulang, menjadikannya mematuhi 1NF.
Bentuk Biasa Kedua (2NF)
Takrif:
Suatu hubungan adalah dalam Bentuk Normal Kedua (2NF) jika:
- Ia sudah berada dalam Borang Biasa Pertama (1NF) (iaitu, tiada kumpulan berbilang nilai atau berulang).
- Setiap atribut bukan prima bergantung sepenuhnya pada keseluruhan kunci utama.
-
Atribut bukan perdana: Atribut yang bukan sebahagian daripada mana-mana kunci calon.
-
Bergantung pada fungsi sepenuhnya: Atribut bukan utama mesti bergantung pada keseluruhan kunci utama komposit dan bukan hanya sebahagian daripadanya.
Penjelasan:
- Satu kebergantungan separa berlaku apabila atribut bukan perdana bergantung hanya pada sebahagian daripada kunci utama komposit, bukannya keseluruhan kunci.
-
2NF menghapuskan kebergantungan separa dengan menguraikan hubungan kepada hubungan yang lebih kecil, memastikan atribut bukan perdana bergantung hanya pada keseluruhan kunci utama atau kunci calon lain.
Langkah ini mengurangkan lebihan yang disebabkan oleh kebergantungan separa dan menyusun data dengan lebih baik.
Contoh:
Jadual Tidak Patuh (Tiada dalam 2NF):
Pertimbangkan jadual yang menyimpan maklumat kursus pelajar:
EmployeeID | ProjectID | ProjectManager
---------------------------------------
E1 | P1 | M1
E2 | P1 | M1
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
-
Kunci Utama Komposit: (ID Pelajar, ID Kursus).
-
Kebergantungan Separa:
-
Pengajar dan Jabatan hanya bergantung pada CourseID dan bukan pada keseluruhan kunci utama (StudentID, CourseID).
Ini melanggar 2NF kerana atribut bukan utama (Pengajar dan Jabatan) sebahagiannya bergantung pada kunci komposit.
Jadual Mematuhi (Dalam 2NF):
Untuk mengalih keluar kebergantungan separa, uraikan jadual kepada dua hubungan:
-
Jadual Kursus Pelajar:
StudentID | Name | Major
----------------------------
S1 | Alice | CS
S2 | Bob | EE
S3 | Alice | CS
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
-
Jadual Butiran Kursus:
OrderID | Items
-------------------
1 | Pen, Notebook
2 | Pencil
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Bentuk Normal Ketiga (3NF)
Takrif:
Suatu hubungan adalah dalam Bentuk Normal Ketiga (3NF) jika:
- Ia berada dalam Borang Normal Kedua (2NF) (iaitu, tiada kebergantungan separa).
-
Tiada pergantungan transitif wujud, yang bermaksud:
- Tiada atribut bukan perdana bergantung pada atribut bukan perdana yang lain.
- Atribut bukan perdana hendaklah bergantung hanya pada kunci calon, bukan melalui atribut bukan perdana yang lain.
-
Atribut bukan perdana: Atribut yang bukan sebahagian daripada mana-mana kunci calon.
-
Kebergantungan transitif: Kebergantungan di mana atribut bukan perdana bergantung secara tidak langsung pada kunci calon melalui atribut bukan perdana yang lain.
Penjelasan:
Dalam 3NF, kami menghapuskan kebergantungan transitif untuk mengurangkan lebihan dan meningkatkan ketekalan data.
-
Contoh Kebergantungan Transitif: Jika A → B dan B → C, maka A → C ialah kebergantungan transitif. Ini bermakna C secara tidak langsung bergantung kepada A hingga B.
- Kebergantungan sedemikian memperkenalkan lebihan, kerana perubahan kepada B boleh membawa kepada anomali apabila mengemas kini C.
Contoh:
Jadual Tidak Mematuhi (Tidak dalam 3NF):
OrderID | Item
---------------
1 | Pen
1 | Notebook
2 | Pencil
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kunci Calon: StudentID mengenal pasti setiap baris secara unik.
-
Isu: Atribut HOD bergantung pada Jabatan, bukan terus pada StudentID.
-
StudentID → Jabatan (Pergantungan langsung).
-
Jabatan → HOD (Pergantungan Transitif).
- Jadi, StudentID → HOD ialah kebergantungan transitif.
Struktur ini membawa kepada redundansi: jika HOD untuk jabatan CS berubah, berbilang baris perlu dikemas kini.
Jadual Patuh (Dalam 3NF):
Untuk menyelesaikan pergantungan transitif, uraikan jadual kepada dua hubungan:
-
Jadual Jabatan Pelajar:
EmployeeID | ProjectID | ProjectManager
---------------------------------------
E1 | P1 | M1
E2 | P1 | M1
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
-
Jadual HOD Jabatan:
StudentID | Name | Major
----------------------------
S1 | Alice | CS
S2 | Bob | EE
S3 | Alice | CS
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Borang Normal Boyce-Codd (BCNF)
Takrif:
Perhubungan adalah dalam Borang Normal Boyce-Codd (BCNF) jika:
- Ia berada dalam Bentuk Normal Ketiga (3NF) (iaitu, tiada kebergantungan separa atau transitif wujud).
-
Setiap penentu adalah kunci calon.
-
Penentuan: Atribut (atau set atribut) yang mana atribut lain bergantung secara fungsi.
-
Kunci Calon: Satu set atribut minimum yang boleh mengenal pasti secara unik setiap tuple dalam hubungan.
Perbezaan Utama Antara 3NF dan BCNF:
- Walaupun 3NF membenarkan beberapa kebergantungan di mana atribut bukan utama bergantung secara fungsi pada kunci calon, BCNF menghapuskan sebarang anomali sedemikian dengan memastikan setiap penentu ialah kunci calon.
Penjelasan:
BCNF adalah lebih ketat daripada 3NF dan menangani situasi di mana hubungan mungkin memenuhi 3NF tetapi masih mempunyai lebihan yang disebabkan oleh kebergantungan yang melanggar BCNF.
Apabila BCNF Diperlukan:
- BCNF diperlukan apabila atribut kunci bukan calon menentukan sebahagian daripada kunci calon, yang membawa kepada lebihan dan anomali.
Contoh:
Jadual Tidak Patuh (Tiada dalam BCNF):
OrderID | Items
-------------------
1 | Pen, Notebook
2 | Pencil
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kebergantungan Fungsian:
-
CourseID → Pengajar
-
Pengajar → Bilik
Kunci Calon: CourseID
Isu:
- Pengajar penentu bukanlah kunci calon tetapi menentukan Bilik.
- Ini melanggar BCNF, kerana tidak semua penentu adalah kunci calon.
Jadual Patuh (Dalam BCNF):
Untuk mencapai BCNF, uraikan jadual kepada dua hubungan:
-
Jadual Pengajar Kursus:
OrderID | Item
---------------
1 | Pen
1 | Notebook
2 | Pencil
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
-
Meja Bilik Pengajar:
StudentID | CourseID | Instructor | Department
----------------------------------------------
S1 | C1 | Dr. Smith | CS
S2 | C2 | Dr. Jones | EE
S1 | C2 | Dr. Jones | EE
Salin selepas log masuk
Bentuk Normal Keempat (4NF)
Takrif:
Suatu hubungan adalah dalam Bentuk Normal Keempat (4NF) jika:
- Ia berada dalam Boyce-Codd Normal Form (BCNF) (iaitu, tiada anomali separa, transitif atau lain-lain).
- Ia tidak mempunyai sebarang bergantungan berbilang nilai.
-
Kebergantungan Berbilang Nilai (MVD): Kebergantungan berbilang nilai wujud apabila satu atribut dalam jadual menentukan berbilang set atribut bebas. Dalam erti kata lain, jika hubungan mengandungi dua atau lebih atribut berbilang nilai bebas yang tidak berkaitan antara satu sama lain, ia melanggar 4NF.
Penjelasan:
Dalam 4NF, matlamat utama adalah untuk menghapuskan bergantungan berbilang nilai, yang berlaku apabila rekod mengandungi dua atau lebih atribut bebas yang tidak berkaitan secara langsung tetapi muncul bersama disebabkan pergantungan mereka pada kunci yang sama.
- Jenis kebergantungan ini membawa kepada lebihan kerana berbilang salinan maklumat yang sama diulang dalam baris.
- Dengan menguraikan hubungan untuk mengalih keluar MVD, kami menghapuskan lebihan dan meningkatkan ketekalan dalam pangkalan data.
Konsep Utama:
- Dalam 4NF, perhubungan tidak seharusnya mempunyai dua atau lebih atribut berbilang nilai yang bergantung pada kunci calon. Setiap pergantungan berbilang nilai mesti dihapuskan dengan menguraikan jadual dengan sewajarnya.
Contoh:
Jadual Tidak Mematuhi (Tidak dalam 4NF):
Pertimbangkan jadual yang menyimpan maklumat tentang pelajar, kursus yang mereka ambil dan kelab yang mereka sertai:
EmployeeID | ProjectID | ProjectManager
---------------------------------------
E1 | P1 | M1
E2 | P1 | M1
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kunci Calon: ID Pelajar
Kebergantungan Berbilang Nilai:
- ID Pelajar boleh menentukan kedua-dua set Kursus dan satu set Kelab, tetapi set ini bebas antara satu sama lain.
-
StudentID → {Courses} (Pergantungan berbilang nilai antara StudentID dan Courses)
-
StudentID → {Clubs} (Pergantungan berbilang nilai antara StudentID dan Clubs)
Jadual melanggar 4NF kerana StudentID menentukan kedua-dua kursus dan kelab secara bebas. Ini menyebabkan lebihan, kerana ID Pelajar yang sama diulang beberapa kali dengan kombinasi kursus dan kelab yang berbeza.
Jadual Mematuhi (Dalam 4NF):
Untuk menjadikan jadual mematuhi 4NF, kita mesti menghapuskan kebergantungan berbilang nilai dengan menguraikannya kepada dua jadual:
-
Jadual Kursus Pelajar:
StudentID | Name | Major
----------------------------
S1 | Alice | CS
S2 | Bob | EE
S3 | Alice | CS
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
-
Meja Kelab Pelajar:
OrderID | Items
-------------------
1 | Pen, Notebook
2 | Pencil
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kini, dua kebergantungan berbilang nilai dikendalikan secara berasingan:
- Jadual Kursus-Pelajar menyimpan perhubungan antara pelajar dan kursus yang mereka ambil.
- Meja Kelab Pelajar menyimpan perhubungan antara pelajar dan kelab yang mereka terlibat.
Bentuk Biasa Kelima (5NF)
Takrif:
Sesuatu hubungan adalah dalam Borang Biasa Kelima (5NF), juga dikenali sebagai Borang Biasa Unjuran-Sertai (PJNF), jika:
- Ia berada dalam Bentuk Normal Keempat (4NF) (iaitu, tiada kebergantungan berbilang nilai wujud).
- Ia tidak boleh diuraikan lagi tanpa kehilangan maklumat, bermakna hubungan itu tidak mengandungi sebarang kebergantungan gabungan atau penguraian gabungan tanpa rugi.
-
Kebergantungan Sertai (JD): Kebergantungan gabungan berlaku apabila hubungan boleh diuraikan kepada dua atau lebih hubungan, tetapi apabila ia dicantumkan semula, tiada maklumat yang hilang. Dalam erti kata lain, kebergantungan gabungan wujud apabila hubungan boleh dibahagikan kepada sub-hubungan, tetapi hubungan asal boleh dibina semula tanpa kehilangan sebarang data.
Penjelasan:
5NF berurusan dengan bergantungan sertai, dan ia memastikan data diuraikan sedemikian rupa sehingga semua maklumat boleh dibina semula daripada bahagiannya yang terurai tanpa kehilangan data. Perhubungan dalam 5NF direka bentuk sedemikian rupa sehingga semua kebergantungan gabungannya yang bukan remeh tersirat oleh kunci calonnya.
-
Lossless Join Decomposition: Apabila hubungan diuraikan kepada hubungan yang lebih kecil dan kemudian dicantumkan semula, hubungan asal boleh dibina semula sepenuhnya tanpa kehilangan data. Sesuatu hubungan berada dalam 5NF jika ia tidak boleh diuraikan lagi tanpa menyebabkan kehilangan maklumat.
-
Kebergantungan Sertaan Bukan remeh: Kebergantungan gabungan adalah bukan remeh jika kebergantungan gabungan tidak berpuas hati secara remeh (iaitu, tidak semua atribut daripada hubungan terdapat dalam kebergantungan gabungan).
Dalam istilah yang lebih mudah, 5NF mengambil berat untuk memastikan bahawa tiada redundansi yang disebabkan oleh penguraian yang tidak betul. Ia menjamin bahawa apabila perhubungan diurai dan kemudiannya disambung semula, semua data asal masih tersedia tanpa sebarang kehilangan atau kesamaran.
Contoh:
Jadual Tidak Patuh (Tidak dalam 5NF):
Pertimbangkan jadual yang menyimpan maklumat tentang pembekal mana yang membekalkan bahagian mana untuk projek yang berbeza:
EmployeeID | ProjectID | ProjectManager
---------------------------------------
E1 | P1 | M1
E2 | P1 | M1
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Kunci Calon: (Pembekal, Bahagian, Projek)
Sertai Ketergantungan:
Hubungan di atas mempunyai kebergantungan bergabung kerana ia boleh diuraikan menjadi hubungan yang lebih kecil tanpa kehilangan maklumat. Sebagai contoh, jadual boleh diuraikan kepada tiga sub-hubungan:
-
Jadual Bahagian Pembekal:
EmployeeID | ProjectID | ProjectManager
---------------------------------------
E1 | P1 | M1
E2 | P1 | M1
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
-
Jadual Projek Pembekal:
StudentID | Name | Major
----------------------------
S1 | Alice | CS
S2 | Bob | EE
S3 | Alice | CS
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
-
Jadual Bahagian-Projek:
OrderID | Items
-------------------
1 | Pen, Notebook
2 | Pencil
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Dengan menguraikan jadual kepada hubungan yang lebih kecil ini, kita masih boleh mencipta semula jadual asal dengan melakukan cantuman semula jadi pada tiga hubungan yang lebih kecil ini.
Namun, kerana penguraian ini mungkin, ia melanggar 5NF. Sebab ia melanggar 5NF adalah kerana maklumat tentang pembekal yang membekalkan bahagian mana untuk projek tertentu disimpan secara berlebihan merentas berbilang baris. Kami menyimpan fakta yang sama beberapa kali, yang tidak perlu dan boleh menyebabkan ketidakkonsistenan.
Jadual Patuh (Dalam 5NF):
Untuk mencapai 5NF, kami menguraikan jadual supaya hubungan tidak boleh diuraikan lagi tanpa kehilangan maklumat:
-
Jadual Projek Bahagian-Pembekal:
OrderID | Item
---------------
1 | Pen
1 | Notebook
2 | Pencil
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Dalam borang ini, perhubungan kini berada dalam 5NF kerana ia tidak boleh diuraikan lagi tanpa kehilangan data. Jadual ini mewakili maklumat yang sama seperti yang asal tetapi dalam bentuk yang lebih normal di mana setiap atribut bergantung sepenuhnya pada kunci calon dan tiada redundansi wujud disebabkan oleh penguraian yang tidak betul.
Konsep Utama dalam Reka Bentuk Perhubungan
-
Kebergantungan Berbilang Nilai: Apabila satu atribut menentukan berbilang nilai bebas.
-
Ketergantungan Sertai: Memastikan tiada tupel palsu dibuat semasa gabungan.
-
Pemeliharaan Kebergantungan: Memastikan semua kebergantungan berfungsi dipelihara selepas penguraian.
Panduan komprehensif ini melengkapkan anda untuk menguasai reka bentuk pangkalan data hubungan, memastikan sistem pangkalan data yang cekap, konsisten dan bebas anomali.
Atas ialah kandungan terperinci Reka Bentuk Pangkalan Data Hubungan: DBMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!