Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 2184|Jawab: 0

[Komunikasi] Desain basis data relasional: pemahaman populer tentang tiga paradigma

[Salin tautan]
Diposting pada 21/03/2024 10.53.13 | | | |
Selama wawancara, beberapa pewawancara akan bertanya tentang paradigma database, saya pernah mempelajari database di perguruan tinggi sebelumnya, tetapi saya belum pernah mendengar tentang paradigmanya, atau guru telah menyebutkannya, dan saya belum memperhatikan?

Saat ini ada enam paradigma dalam database relasional: paradigma pertama (1NF), paradigma kedua (2NF), paradigma ketiga (3NF), paradigma Bass-Cod (BCNF), paradigma keempat (4NF) dan paradigma kelima (5NF, juga dikenal sebagai paradigma sempurna).

Biasanya kita menggunakan paradigma pertama (1NF), paradigma kedua (2NF), dan paradigma ketiga (3NF), yaitu "tiga paradigma" yang akan dibahas dalam artikel ini.

Paradigma Pertama (1NF): Mengharuskan setiap kolom tabel database menjadi item data atom yang tidak dapat dibagi.

Menggambarkan:



Pada tabel di atas, baik kolom "Informasi Keluarga" maupun "Informasi Sekolah" tidak memenuhi persyaratan atomisitas, sehingga tidak memenuhi paradigma pertama, dan disesuaikan sebagai berikut:



Dapat dilihat bahwa setiap kolom yang disesuaikan tidak dapat dibagi, sehingga memenuhi paradigma pertama (1NF);

Paradigma 2 (2NF): Berdasarkan 1NF, atribut non-kode harus sepenuhnya bergantung pada kode kandidat (menghilangkan ketergantungan fungsi parsial atribut non-primer pada kode master berdasarkan 1NF)

Paradigma kedua perlu memastikan bahwa setiap kolom dalam tabel database terkait dengan kunci primer, bukan hanya bagian dari kunci primer (terutama untuk kunci primer federasi).

Menggambarkan:



Dalam kasus yang ditunjukkan pada diagram di atas, pesanan yang sama mungkin berisi produk yang berbeda, sehingga kunci utama harus berupa kombinasi dari "nomor pesanan" dan "nomor produk".

Namun, dapat ditemukan bahwa jumlah produk, diskon produk, dan harga produk semuanya terkait dengan "nomor pesanan" dan "nomor produk", tetapi jumlah pesanan dan waktu pesanan hanya terkait dengan "nomor pesanan" dan tidak ada hubungannya dengan "nomor produk".

Ini tidak memenuhi persyaratan paradigma kedua, dan disesuaikan sebagai berikut, yang perlu dibagi menjadi dua tabel:



Paradigma ketiga (3NF): Berdasarkan 2NF, atribut non-utama apa pun tidak bergantung pada atribut non-utama lainnya (menghilangkan dependensi transmisi berdasarkan 2NF)

Paradigma ketiga perlu memastikan bahwa setiap kolom data dalam tabel data berhubungan langsung dengan kunci primer, bukan secara tidak langsung.

Menggambarkan:



Dalam tabel di atas, semua atribut sepenuhnya bergantung pada jumlah siswa, sehingga paradigma kedua terpenuhi, tetapi "jenis kelamin guru kelas" dan "usia guru kelas" secara langsung bergantung pada "nama guru kelas".

Alih-alih kunci utama "nomor siswa", penyesuaian berikut perlu dilakukan:



Dengan cara ini, persyaratan paradigma ketiga terpenuhi.

ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。

BCNF (Bovce Codd Bentuk Normal Paradigma Bacchus)

Paradigma koreksi ketiga adalah mencegah satu kolom kunci primer bergantung pada kolom kunci primer lainnya. Ketika 3NF menghilangkan beberapa dependensi fungsi dan mentransfer dependensi fungsi pada kode atribut utama, itu disebut BCNF.

Sifat:

1. Semua atribut utama adalah dependensi fungsional sepenuhnya pada setiap kode

2. Semua atribut utama sepenuhnya bergantung pada setiap kode yang tidak mengandungnya

3. Tidak ada atribut yang berfungsi penuh dan bergantung pada serangkaian properti non-kode apa pun

Misalnya, tabel inventaris (nama gudang, nama administrator, nama produk, kuantitas), kunci utama adalah (nama gudang, nama administrator, nama produk), yang memenuhi tiga paradigma sebelumnya, tetapi ada dependensi antara nama gudang dan nama administrator, sehingga menghapus gudang akan menyebabkan administrator dihapus, sehingga BCNF tidak puas.

4NF Paradigma Keempat

Atribut non-primer tidak boleh memiliki banyak nilai. Jika ada multi-nilai, itu melanggar paradigma keempat. 4NF adalah pola relasional pembatasan yang tidak mengizinkan dependensi multi-nilai non-sepele dan non-fungsi yang bergantung pada fungsi antar properti.

Misalnya, tabel informasi kontak pengguna (ID pengguna, telepon rumah, ponsel), di mana ID pengguna adalah kunci utama, yang memenuhi BCNF, tetapi pengguna mungkin memiliki beberapa telepon rumah atau beberapa ponsel, maka desain ini tidak masuk akal dan harus diubah menjadi (ID pengguna, jenis kontak, nomor telepon).

Catatan: Jika hanya dependensi fungsi yang dipertimbangkan, paradigma dengan tingkat normalisasi pola relasional tertinggi adalah BCNF. Jika Anda mempertimbangkan dependensi multi-nilai, itu adalah 4NF.

5NF Paradigma Kelima

Paradigma kelima adalah paradigma akhir, menghilangkan ketergantungan koneksi dalam 4NF, dan paradigma kelima perlu memenuhi persyaratan berikut:

1. Paradigma keempat harus dipenuhi

2. Tabel harus dapat diuraikan menjadi tabel yang lebih kecil, kecuali tabel tersebut secara logis memiliki kunci utama yang sama dengan tabel asli.

Dalam aplikasi praktis umum, paradigma kelima tidak perlu dipertimbangkan.

Ditransfer dari:Login hyperlink terlihat.
Referensi:Login hyperlink terlihat.





Mantan:Alibaba Cloud menggantikan jaringan pribadi (sakelar virtual) jaringan tidak dapat dijangkau
Depan:Mulai aplikasi Guardian ASP.NET Core dengan PM2
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com