L'émergence de la technologie informatique dans notrela modernité a marqué une révolution de l'information dans toutes les sphères de l'activité humaine. Mais afin d'éviter que toutes les informations ne deviennent des déchets inutiles sur l'Internet mondial, un système de base de données a été inventé, dans lequel les matériaux sont triés, systématisés, ce qui permet de les retrouver facilement et de les présenter pour un traitement ultérieur. Il existe trois types principaux: les bases de données relationnelles, hiérarchiques et réseau sont distinguées.
Modèles fondamentaux
Pour en revenir à l'origine des bases de données, c'estdire que ce processus était assez complexe, il trouve son origine dans le développement d'équipements de traitement de l'information programmable. Il n'est donc pas surprenant que le nombre de leurs modèles atteigne actuellement plus de 50, mais les principaux sont considérés comme hiérarchiques, relationnels et en réseau, qui sont encore largement utilisés dans la pratique. Que sont-ils?
La base de données hiérarchique a une arborescencestructure et est composé de données de différents niveaux, entre lesquels il existe des connexions. Le modèle de réseau DB est un modèle plus complexe. Sa structure ressemble à une structure hiérarchique et le schéma est élargi et amélioré. La différence entre eux est que les données héréditaires d'un modèle hiérarchique peuvent avoir une connexion avec un seul ancêtre, tandis que les données réseau peuvent en avoir plusieurs. La structure d'une base de données relationnelle est beaucoup plus complexe. Par conséquent, il devrait être analysé plus en détail.
Concept de base d'une base de données relationnelle
Ce modèle a été développé dans les années 1970.par Edgar Codd, docteur en sciences. Il s'agit d'un tableau structuré logiquement avec des champs décrivant les données, leurs relations les unes avec les autres, les opérations effectuées sur celles-ci et, surtout, les règles qui garantissent leur intégrité. Pourquoi le modèle est-il appelé relationnel? Il est basé sur des relations (de lat. Relatio) entre les données. Il existe de nombreuses définitions pour ce type de base de données. Les tables relationnelles contenant des informations sont beaucoup plus faciles à organiser et à traiter que dans un modèle réseau ou hiérarchique. Comment cela peut-il être fait? Il suffit de connaître les fonctionnalités, la structure du modèle et les propriétés des tables relationnelles.
Le processus de modélisation et d'élaboration des principaux éléments
Afin de créer votre propre SGBD, vous devezUtilisez l'un des outils de modélisation, réfléchissez aux informations avec lesquelles vous devez travailler, concevez des tables et des relations relationnelles simples et multiples entre les données, remplissez les cellules d'entité et définissez des clés primaires et étrangères.
Modélisation de table et conception relationnelleles bases de données sont produites grâce à des outils gratuits tels que Workbench, PhpMyAdmin, Case Studio, dbForge Studio. Après une conception détaillée, vous devez enregistrer le modèle relationnel prêt pour le graphisme et le traduire en code SQL prêt à l'emploi. À ce stade, vous pouvez commencer à travailler avec le tri, le traitement et l'organisation des données.
Caractéristiques, structure et termes liés au modèle relationnel
Chaque source décrit ses éléments à sa manière, donc pour moins de confusion, je voudrais donner un petit indice:
- étiquette relationnelle = entité;
- layout = attributs = noms de champs = en-têtes de colonne d'entité;
- instance de l'entité = tuple = enregistrement = ligne de table;
- valeur d'attribut = cellule d'entité = champ.
Pour accéder aux propriétés d'une base de données relationnelle, vous devez savoir de quels composants de base elle se compose et à quoi ils servent.
- Essence.Il peut y avoir une table dans une base de données relationnelle, ou il peut y avoir tout un ensemble de tables qui caractérisent les objets décrits en raison des données qui y sont stockées. Ils ont un nombre fixe de champs et un nombre variable d'enregistrements. Une table de modèle de base de données relationnelle est composée de chaînes, d'attributs et d'une disposition.
- Record - un nombre variable de lignes affichant des données qui caractérisent l'objet décrit. Les enregistrements sont numérotés automatiquement par le système.
- Les attributs sont des données qui illustrent la description des colonnes d'entité.
- Domaine. Représente une colonne d'entité. Leur nombre est une valeur fixe définie lors de la création ou de la modification de la table.
Maintenant, connaissant les éléments constitutifs de la table, vous pouvez accéder aux propriétés du modèle relationnel de la base de données:
- Les entités de base de données relationnelles sont bidimensionnelles. Grâce à cette propriété, il est facile d'effectuer diverses opérations logiques et mathématiques avec eux.
- L'ordre des valeurs des attributs et des enregistrements dans une table relationnelle peut être arbitraire.
- Une colonne dans une table relationnelle doit avoir son propre nom individuel.
- Toutes les données d'une colonne d'entité ont une longueur fixe et le même type.
- Tout enregistrement est essentiellement considéré comme un élément de données.
- Les composants constitutifs des chaînes sont uniques. Il n'y a pas de lignes en double dans une entité relationnelle.
Sur la base des propriétés d'un SGBD relationnel, il est clair que les valeurs d'attribut doivent être du même type et de la même longueur. Considérons les caractéristiques des valeurs d'attribut.
Principales caractéristiques des champs de base de données relationnelle
Les noms de champ doivent être uniques dansune entité. Les types d'attribut ou de champ de base de données relationnelle décrivent les données de catégorie stockées dans les champs d'entité. Un champ de base de données relationnelle doit avoir une taille fixe en caractères. Les paramètres et le format des valeurs d'attribut déterminent la manière dont les données y sont corrigées. Il existe également un "masque" ou un "modèle d'entrée". Il est destiné à définir la configuration de l'entrée de données dans la valeur d'attribut. Il est impératif qu'un message d'erreur s'affiche lors de l'écriture d'un type de données incorrect dans un champ. En outre, certaines restrictions sont imposées sur les éléments des champs - conditions de vérification de l'exactitude et saisie des données sans erreur. Il existe une valeur d'attribut obligatoire qui doit être renseignée sans ambiguïté avec des données. Certaines chaînes d'attributs peuvent être remplies avec des valeurs NULL. La saisie de données vides dans les attributs de champ est autorisée. Comme la notification d'erreur, il existe des valeurs qui sont remplies automatiquement par le système - ce sont les données par défaut. Un champ indexé est destiné à accélérer la recherche de toutes les données.
Schéma de table de base de données relationnelle 2D
Nom d'attribut 1 | Nom d'attribut 2 | Nom d'attribut 3 | Nom d'attribut 4 | Nom d'attribut 5 |
Élément_1_1 | Élément_1_2 | Élément_1_3 | Élément_1_4 | Élément_1_5 |
Item_2_1 | Item_2_2 | Item_2_3 | Item_2_4 | Item_2_5 |
Item_3_1 | Item_3_2 | Item_3_3 | Item_3_4 | Item_3_5 |
Pour une compréhension détaillée du système de contrôleModèles avec SQL, la meilleure façon de regarder le schéma est par exemple. Nous savons déjà ce qu'est une base de données relationnelle. Un enregistrement dans chaque table est un élément de données. Pour éviter la redondance des données, il est nécessaire d'effectuer des opérations de normalisation.
Règles de base pour normaliser une entité relationnelle
1. La valeur du nom de champ d'une table relationnelle doit être unique, unique en son genre (la première forme normale est 1NF).
2. Pour une table déjà réduite à 1NF, le nom de toute colonne non identifiante doit dépendre de l'identifiant unique de la table (2NF).
3. Pour la table entière qui est déjà dans 2NF, chaque champ non identifiant ne peut pas dépendre d'un élément d'une autre valeur non reconnue (entité 3NF).
Bases de données: relations relationnelles entre les tables
Il existe 2 principaux types de relations de table relationnelle:
- Un-plusieurs.Se produit lorsqu'un enregistrement clé de la table n ° 1 correspond à plusieurs instances de la deuxième entité. Une icône de clé à une extrémité de la ligne dessinée indique que l'entité est du côté «un», l'autre extrémité de la ligne est souvent marquée d'un symbole de l'infini.
- Une relation «plusieurs-plusieurs» est formée dans le cas où il y a une interaction logique explicite entre plusieurs lignes d'une entité avec un certain nombre d'enregistrements dans une autre table.
- Si entre deux entités il y aconcaténation "one to one", ce qui signifie que l'identifiant clé d'une table est présent dans une autre entité, alors l'une des tables doit être supprimée, c'est superflu. Mais parfois, uniquement pour des raisons de sécurité, les programmeurs séparent délibérément les deux entités. Par conséquent, hypothétiquement, une relation un à un peut exister.
L'existence de clés dans une base de données relationnelle
Les clés primaires et secondaires définissentrelations de base de données potentielles. Les liens relationnels d'un modèle de données ne peuvent avoir qu'une seule clé potentielle, et ce sera la clé primaire. Comment est-il? Une clé primaire est une colonne d'entité ou un ensemble d'attributs qui vous permet d'accéder aux données d'une ligne particulière. Il doit être unique, unique et ses champs ne peuvent pas contenir de valeurs vides. Si la clé primaire se compose d'un seul attribut, alors elle est appelée simple, sinon ce sera un composant.
En plus de la clé primaire, il existe également un(clé étrangère). Beaucoup ne comprennent pas quelle est la différence entre eux. Examinons-les plus en détail à l'aide d'un exemple. Donc, il y a 2 tables: "Dean's office" et "Students". L'entité «Bureau du doyen» contient les champs: «ID étudiant», «Nom complet» et «Groupe». La table "Etudiants" a des valeurs d'attribut telles que "Nom", "Groupe" et "Moyenne". Étant donné que l'ID étudiant ne peut pas être le même pour plusieurs étudiants, ce champ sera la clé primaire. "Nom complet" et "Groupe" de la table "Etudiants" peuvent être les mêmes pour plusieurs personnes, ils font référence au numéro d'identification de l'étudiant de l'entité "Bureau du Doyen", ils peuvent donc être utilisés comme clé étrangère.
Exemple de modèle de base de données relationnelle
Pour plus de clarté, nous donnerons un exemple simple de modèle de base de données relationnelle composé de deux entités. Il y a une table appelée "Deanery".
Essence "Deanery" | ||
Carte d'étudiant | Nom complet | Groupe |
111 | Ivanov Oleg Petrovich | IN-41 |
222 | Ilya Lazarev | IN-72 |
333 | Konoplev Petr Vasilievich | IN-41 |
444 | Kushnereva Natalia Igorevna | IN-72 |
Vous devez établir des liens pourbase de données relationnelle à part entière. L'enregistrement «IN-41», comme «IN-72», peut être présent plus d'une fois dans la plaque «Bureau du doyen», et le nom, le nom et le patronyme des étudiants peuvent dans de rares cas coïncider, de sorte que ces champs ne peuvent pas être remplis une clé primaire de quelque manière que ce soit. Montrons l'entité "Etudiants".
Table "Etudiants" | |||
Nom complet | Groupe | Note moyenne | Téléphone |
Ivanov Oleg Petrovich | IN-41 | 3,0 | 2-27-36 |
Ilya Lazarev | IN-72 | 3,8 | 2-36-82 |
Konoplev Petr Vasilievich | IN-41 | 3,9 | 2-54-78 |
Kushnereva Natalia Igorevna | IN-72 | 4,7 | 2-65-25 |
Comme on peut le voir, les types de champs dans les bases de données relationnellescomplètement différent. Il existe des entrées numériques et symboliques. Par conséquent, les valeurs d'entier, de char, de vachar, de date et autres doivent être spécifiées dans les paramètres d'attribut. Dans le tableau «Bureau du doyen», seule la carte d'étudiant est une valeur unique. Ce champ peut être considéré comme une clé primaire. Le nom complet, le groupe et le numéro de téléphone de l'entité "Etudiants" peuvent être considérés comme une clé étrangère faisant référence à l'ID étudiant. La connexion a été établie. Ceci est un exemple de modèle de relation un-à-un. Hypothétiquement, l'une des tables est superflue, elles peuvent être facilement combinées en une seule entité. Pour éviter que les numéros d'identification des étudiants ne deviennent généralement connus, l'existence de deux tableaux est tout à fait réaliste.