conception de base de données relationnelle repose sur trois techniques principales : la relation one-to -many , la table de jointure , et la relation many-to -many . Pour comprendre la conception de base de données relationnelle , il est important de connaître ces techniques , ainsi que des concepts spécifiques concernant le champ clé. La relation One-to -Many
La technique de base de données relationnelle la plus fréquente est la relation one-to -many . Cela connecte un seul enregistrement de la table primaire (c'est-à -dire une base de données de fichier plat des dossiers et des champs ), avec un certain nombre d'enregistrements dans une table secondaire. One-to -many sont caractérisés par les connexions uniques dans la table secondaire ; chacun de ces enregistrements ne peut avoir plus d'un enregistrement lié dans la table primaire
Ces connexions sont réalisées en utilisant des « domaines clés» . qui sont entrées uniques dans la table primaire ; généralement ces champs sont créés et mis en œuvre par l'attribution automatique d' un numéro de série séquentiel à chaque nouvel enregistrement . Tout enregistrement dans la table secondaire qui partage ces données uniques sera lié à un dossier primaire.
Maintenant, explorer cela par un exemple base de données du carnet d'adresses . Dites que vous voulez une conception qui permet à chacun dans la base de données d'avoir plusieurs numéros de téléphone. C'est le moyen le plus commun pour accomplir ceci:
table People : Record 1: ( PersonID : 1, nom : « Franklin Roosevelt ») Fiche 2: ( PersonID : 2 Nom : « Lyndon Johnson" ) < br > Téléphones
de table : Record 1 : ( PersonID : 1, Téléphone: " 202-555-1932 " ) fiche 2 : ( PersonID : 1, Téléphone: " 202-555-1936 " ) fiche 3: ( PersonID : 2, Tél : « 202-555-1964 »)
Lorsque ces deux tables sont liées par le champ clé PersonID , Franklin aura deux numéros de téléphone , mais Lyndon n'aura qu'un seul . De même, chaque numéro de téléphone est associé uniquement à une seule personne à la table des gens .
Joindre des tables
Une deuxième technique est appelée une " jointure de table " , ce qui est utilisé pour les dossiers qui sont tirés de deux autres tables. Ceci est communément utilisé lorsque les données doivent être choisis dans les tableaux fixes; joindre les tables ne peuvent contenir que des données relationnelles , de sorte que toutes les données saisies dans les doivent être tirés à partir de tables existantes
Par exemple , supposons que vous souhaitez ajouter. un «travail» ou label « maison » pour chacun des numéros de téléphone dans la base de données exemple . Pour ce faire, en réécrivant la relation comme une table de jointure :
table People : Record 1: ( PersonID : 1, nom : « Franklin Roosevelt ») Fiche 2: ( PersonID : 2 Nom : « Lyndon Johnson" ) Photos
Téléphones tableau : Record 1 : ( PhoneID : 1, Téléphone: " 202-555-1932 " ) fiche 2 : ( PhoneID : 2, Tél : « 202-555-1936 ») dossier 3: ( PhoneID : 3, Tél : « 202-555-1964 »)
tableau PhoneType : Record 1: ( PhoneTypeID : 1 , Type: «travail») fiche 2: ( PhoneTypeID : 2 , Type: " maison " ) Photos
inscription tableau : Record 1: ( PersonID : 1, PhoneID : 1, PhoneTypeID : 1) Enregistrement 2: ( PersonID : 2, PhoneID : 2, PhoneTypeID : 2) Dossier 3: ( PersonID : 3, PhoneID : 3, PhoneTypeID : 1) Photos
Dans cette base de données, toutes les relations se connecter à la table de jointure , ce qui fait tout le travail concernant un nom à un numéro de téléphone , et deux d'entre eux à un numéro de téléphone Type . Une version plus efficace pourrait utiliser deux tables de jointure , puisque le nom de la personne n'a pas besoin d' être directement lié au type de téléphone : PersonID et PhoneID en table de jointure 1, PhoneID et PhoneTypeID à rejoindre le tableau 2
.
Utilisation d'inscription des tableaux pour créer plusieurs-à -plusieurs
joindre des tables , la relation one-to -many n'est plus appliquée. Si nous voulons, nous pouvons attribuer le même numéro de téléphone pour de nombreuses personnes , ou la «maison» ou l'étiquette de «travail» comme autant de téléphones que nous aimons. Cela nous permet de mettre en place plusieurs-à -plusieurs , où tout un enregistrement dans une table peut se connecter à plusieurs enregistrements dans d'autres tables. C'est une technique puissante base de données , mais comme il peut créer des relations de données complexes, il ne doit être utilisé là où une relation one-to -many ne suffira pas.