Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 2184|Répondre: 0

[Communication] Conception de bases de données relationnelles : une compréhension populaire des trois paradigmes

[Copié le lien]
Publié sur 21/03/2024 10:53:13 | | | |
Lors de l’entretien, certains intervieweurs vont poser des questions sur le paradigme des bases de données, j’ai déjà étudié les bases de données à l’université, mais je n’en ai jamais entendu parler, ou le professeur l’a mentionné, et je n’ai pas fait attention ?

Il existe actuellement six paradigmes dans les bases de données relationnelles : le premier paradigme (1NF), le deuxième paradigme (2NF), le troisième paradigme (3NF), le paradigme Bass-Cod (BCNF), le quatrième paradigme (4NF) et le cinquième paradigme (5NF, également appelé paradigme parfait).

En général, nous utilisons le premier paradigme (1NF), le deuxième paradigme (2NF) et le troisième paradigme (3NF), qui sont les « trois paradigmes » à discuter dans cet article.

Premier paradigme (1NF) : Exige que chaque colonne de la table de la base de données soit un élément de données atomiques indivisible.

Illustrer:



Dans le tableau ci-dessus, ni les colonnes « Informations sur la famille » ni « Informations sur l’école » ne remplissent les exigences d’atomicité, elles ne répondent donc pas au premier paradigme, et sont ajustées comme suit :



On peut voir que chaque colonne ajustée est indivisible, donc elle satisfait le premier paradigme (1NF) ;

Paradigme 2 (2NF) : Sur la base de 1NF, les attributs non codés doivent dépendre entièrement des codes candidats (éliminer la dépendance partielle des attributs non primaires sur le code maître sur la base 1NF)

Le second paradigme doit s’assurer que chaque colonne de la table de la base de données est liée à la clé primaire, et non seulement une partie de la clé primaire (principalement pour les clés primaires fédérées).

Illustrer:



Dans le cas montré dans le schéma ci-dessus, la même commande peut contenir des produits différents, donc la clé primaire doit être une combinaison de « numéro de commande » et de « numéro de produit ».

Cependant, on constate que la quantité produit, la remise sur le produit et le prix du produit sont tous liés au « numéro de commande » et au « numéro du produit », mais que le montant et le délai de commande ne sont liés qu’au « numéro de commande » et n’ont rien à voir avec le « numéro de produit ».

Cela ne répond pas aux exigences du second paradigme, et est ajusté comme suit, qui doit être divisé en deux tableaux :



Troisième paradigme (3NF) : Sur la base de 2NF, tout attribut non principal ne dépend pas d’autres attributs non principaux (éliminant les dépendances de transmission sur la base de 2NF)

Le troisième paradigme doit s’assurer que chaque colonne de données de la table de données est directement liée à la clé primaire, et non indirectement.

Illustrer:



Dans le tableau ci-dessus, tous les attributs dépendent entièrement du nombre d’élèves, donc le second paradigme est rempli, mais le « genre de l’enseignant de classe » et « l’âge de l’enseignant de classe » dépendent directement du « nom de l’enseignant de classe ».

Au lieu de la clé principale « numéro d’élève », les ajustements suivants doivent être effectués :



De cette manière, les exigences du troisième paradigme sont remplies.

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

BCNF (Bovce Codd Paradigme Forme normale de Bacchus)

Le troisième paradigme de correction consiste à empêcher qu’une colonne de la clé primaire ne dépende des autres colonnes de la clé primaire. Lorsque 3NF élimine certaines dépendances de fonction et de transfert de dépendances de fonction sur le code principal de l’attribut, cela est appelé BCNF.

Caractéristique:

1. Tous les attributs principaux sont des dépendances entièrement fonctionnelles sur chaque code

2. Tous les attributs principaux dépendent entièrement de chaque code qui ne les contient pas

3. Il n’existe aucun attribut pleinement fonctionnel et dépendant d’un ensemble de propriétés non liées au code

Par exemple, la table d’inventaire (nom de l’entrepôt, nom de l’administrateur, nom du produit, quantité), la clé principale est (nom de l’entrepôt, nom de l’administrateur, nom du produit), qui satisfait les trois paradigmes précédents, mais il existe une dépendance entre le nom de l’entrepôt et celui de l’administrateur, donc supprimer un entrepôt entraînera la suppression de l’administrateur, et BCNF n’est pas satisfait.

4NF Quatrième Paradigme

Les attributs non primaires ne devraient pas avoir plusieurs valeurs. S’il existe une valeur multiple, cela viole le quatrième paradigme. 4NF est un schéma relationnel de restriction qui n’autorise pas les dépendances multi-valeurs non triviales et non dépendantes de la fonction entre propriétés.

Par exemple, le tableau d’informations de contact utilisateur (identifiant utilisateur, ligne fixe, téléphone mobile), où l’identifiant utilisateur est la clé principale, ce qui satisfait le BCNF, mais un utilisateur peut avoir plusieurs téléphones fixes ou mobiles, alors ce design est déraisonnable et devrait être modifié en (identifiant utilisateur, type de contact, numéro de téléphone).

Note : Si seules les dépendances de fonctions sont considérées, le paradigme avec le degré le plus élevé de normalisation des motifs relationnels est le BCNF. Si l’on considère les dépendances multi-valeurs, c’est 4NF.

5NF Cinquième paradigme

Le cinquième paradigme est le paradigme final, éliminant la dépendance de connexion dans 4NF, et le cinquième paradigme doit répondre aux exigences suivantes :

1. Le quatrième paradigme doit être respecté

2. Les tables doivent être décomposables en tables plus petites, sauf si ces tables ont logiquement la même clé primaire que la table d’origine.

Dans les applications pratiques générales, le cinquième paradigme n’a pas à être pris en compte.

Transféré depuis :La connexion hyperlientérée est visible.
Référence:La connexion hyperlientérée est visible.





Précédent:Alibaba Cloud remplace le réseau privé (commutateur virtuel) réseau est inaccessible
Prochain:Démarrez l’application Guardian ASP.NET Core avec PM2
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com