Question

J'ai trouvé cet article écrit par Hugh Darwen pour éviter nulls dans ma base de données:

Était-ce utile?

La solution

peut être préférable de stocker PERS_INFO comme une seule table sous la couvertures, de sorte que les tables résultant de la décomposition peuvent être mis en œuvre comme des mappages à cela. Mais la technologie actuelle ne donne pas séparation propre de stockage physique de la conception logique.

Il parle des DBMS stocker sous forme d'une seule table, pas les stocker sous forme d'une seule table.

Le modèle relationnel lui-même ne dit rien sur le stockage physique. Il exige seulement que « la base de données soit perçue par l'utilisateur sous forme de tableaux.... Au niveau physique, en fait, le système est libre de stocker les données comme il le veut... » ( Une introduction à la base de données des systèmes , 7e éd., CJ Date, p 61)

Darwen dit que si le concepteur de la base déclare un ensemble de tables 6NF, ainsi que leur

  • candidats clés,
  • clés distribuées,
  • clés étrangères,
  • clés distribuées étrangères,
  • et ainsi de suite,

alors les DBMS est libre

  • outil qui ensemble de tables 6NF comme une seule table dans un espace de table SQL,
  • cacher que la mise en œuvre unique table de l'utilisateur, et
  • exposer aux utilisateurs un ensemble de vues actualisables qui sont impossibles à distinguer des tables 6NF le concepteur de la base déclarée.

Ceci étant dit, vous pourriez être en mesure de travailler autour du manque de DBMS soutenir en créant une seule table au-dessus des couvercles (pour ainsi dire), et de créer un ensemble de vues actualisables qui sont impossibles à distinguer de votre conception 6NF . Révoquer les autorisations sur la table unique, et que tous les utilisateurs d'utiliser uniquement les vues actualisables. Ce que vous ne peut pas faire est d'avoir les DBMS prendre soin de tous les détails sur la seule base sur une série de logique correcte, 6NF CREATE TABLE.

Autres conseils

Télécharger livre PDF gratuit du Dr Hugh Darwen, introduction à la théorie de base de données relationnelle . Plus précisément, le chapitre 7 et l'exemple de WIFE_OF_HENRY_VIII. En résumé, 6NF est toujours réalisable, mais ne peut pas toujours souhaitable dans la pratique si elle fait des contraintes plus difficiles à écrire.

Il est aussi brièvement mentionné dans Base de données, les types , et le modèle Relational .

Pour répondre à votre question, il semble que la suggestion est de créer des vues, peut-être avec des déclencheurs INSTEAD OF, basée sur une table de base puis retirer les privilèges de la table de base afin que les utilisateurs ciblent uniquement les opinions, mais que ces détails de mise en œuvre sont au-delà le champ d'application de son article.

Voir aussi page d'accueil Le troisième Manifeste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top