« Bases de données » : différence entre les versions
(Page créée avec « = Introduction = Cette introduction est tirée de : [https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1959710-introduction... ») |
Aucun résumé des modifications |
||
Ligne 2 : | Ligne 2 : | ||
= Introduction = | = Introduction = | ||
Cette introduction est tirée de : [https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1959710-introduction https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1959710-introduction] | Cette introduction est tirée de : [https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1959710-introduction https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1959710-introduction] | ||
== Concepts de base == | == Concepts de base == | ||
Ligne 8 : | Ligne 8 : | ||
Une base de données informatique est un ensemble de données qui ont été stockées sur un support informatique, organisées et structurées de manière à pouvoir facilement consulter et modifier leur contenu. | Une base de données informatique est un ensemble de données qui ont été stockées sur un support informatique, organisées et structurées de manière à pouvoir facilement consulter et modifier leur contenu. | ||
Ainsi, la base de données d'un site web pourrait contenir la liste des membres, les articles, etc... Cette abse de données doit non suelement exister, mais on doit pouvoir interagir avec et la gérer : on doit pouvoir utiliser des requêtes MySQL pour pouvoir modifier cette base. Nous avons donc besoin de : | Ainsi, la base de données d'un site web pourrait contenir la liste des membres, les articles, etc... Cette abse de données doit non suelement exister, mais on doit pouvoir interagir avec et la gérer : on doit pouvoir utiliser des requêtes MySQL pour pouvoir modifier cette base. Nous avons donc besoin de : | ||
*Une base de données | *Une base de données | ||
Ligne 16 : | Ligne 16 : | ||
== SGBD == | == SGBD == | ||
Un SGBD est un logiciel permettant de manipuler les données d'une base de données, c'est-à-dire les sélectionner, les afficher, les modifier, en ajouter ou en supprimer (CRUD : Create, Read, Update, Delete). MySQL est un SGBD. Les SGBD suivent en général le modèle client-serveur. | Un SGBD est un logiciel permettant de manipuler les données d'une base de données, c'est-à-dire les sélectionner, les afficher, les modifier, en ajouter ou en supprimer (CRUD : Create, Read, Update, Delete). MySQL est un SGBD. Les SGBD suivent en général le modèle client-serveur. | ||
== SGBDR == | == SGBDR == | ||
Le R en plus signifie "Relationnel". C'est un SGBD qui implémente la théorie relationnelle. La théorie relationnelle c'est compliqué, mais cela signifie en gros que les données sont contenues dans des relations, représentées sous forme de tables. Une relation est composée d'une en-tête et d'un corps. L'en-tête contient plusieurs attributs (pour un client on aura par exemple nom, prénom, adresse...). Le corps est quant à lui un ensemble de lignes (ou n-uplets) composé d'autant d'éléments qu'il y'a de d'attributs dans le corps. Exemple avec 4 lignes pour la relation client : | Le R en plus signifie "Relationnel". C'est un SGBD qui implémente la théorie relationnelle. La théorie relationnelle c'est compliqué, mais cela signifie en gros que les données sont contenues dans des relations, représentées sous forme de tables. Une relation est composée d'une en-tête et d'un corps. L'en-tête contient plusieurs attributs (pour un client on aura par exemple nom, prénom, adresse...). Le corps est quant à lui un ensemble de lignes (ou n-uplets) composé d'autant d'éléments qu'il y'a de d'attributs dans le corps. Exemple avec 4 lignes pour la relation client : | ||
{| class="hoveredCourseElement" data-claire-element-id="2235214" id="r-2062899" | {| class="hoveredCourseElement" data-claire-element-id="2235214" id="r-2062899" | ||
Ligne 90 : | Ligne 90 : | ||
|} | |} | ||
=== Les opérations : === | === Les opérations : === | ||
Différentes opérations peuvent être appliquées à ces relations pour en tirer des des informations (issues de la logique formelle et de la théorie des ensembles, apparement): | Différentes opérations peuvent être appliquées à ces relations pour en tirer des des informations (issues de la logique formelle et de la théorie des ensembles, apparement): | ||
[[File:OperSGBD.png|526x224px]] | [[File:OperSGBD.png|526x224px|OperSGBD.png]] | ||
| | ||
Exemple de la jointure : | Exemple de la jointure : | ||
| |||
[[File:Jointure.png|RTENOTITLE]] | |||
[[File:Jointure.png]] | |||
Ici, on relie les deux tables par le numéro de client. | Ici, on relie les deux tables par le numéro de client. | ||
Ligne 108 : | Ligne 108 : | ||
== Quelques SGBDR == | == Quelques SGBDR == | ||
*MySQL : L'un des plus utilisés, il utilise SQL. Il est open source. Il a été créé en 1994 par Widenius et Axmark, mais a depuis été racheté par Oracle, et a forké pour devenir MariaDB dans sa version Open source. Il est très utilisé mais a de nombreux défauts, car il ne suit pas toujours les normes officielles, et peux parfois manquer de certaines fonctions avancées. | *MySQL : L'un des plus utilisés, il utilise SQL. Il est open source. Il a été créé en 1994 par Widenius et Axmark, mais a depuis été racheté par Oracle, et a forké pour devenir MariaDB dans sa version Open source. Il est très utilisé mais a de nombreux défauts, car il ne suit pas toujours les normes officielles, et peux parfois manquer de certaines fonctions avancées. | ||
*PostGreSQL : Il est open source, lui aussi. Moins connu, il semble cependant actuellement équivalent à MySQL en termes de ressources. Le langage procédural qu'il utilise s'appelle le PL/pgSQL. | *PostGreSQL : Il est open source, lui aussi. Moins connu, il semble cependant actuellement équivalent à MySQL en termes de ressources. Le langage procédural qu'il utilise s'appelle le PL/pgSQL. | ||
*Access : propriété de Microsoft, il n'est pas du tout adapté aux gros volumes de données. Il a cependant une interface graphique ! :D | *Access : propriété de Microsoft, il n'est pas du tout adapté aux gros volumes de données. Il a cependant une interface graphique ! :D | ||
*SQLite : Pas en client-serveur, il stocke les données dans de simples fichiers. Il est adapté quand on a pas la possibilité d'installer un serveur de base de données. Il est très performant pour les tout petits volumes de données, mais difficile à sécuriser. | *SQLite : Pas en client-serveur, il stocke les données dans de simples fichiers. Il est adapté quand on a pas la possibilité d'installer un serveur de base de données. Il est très performant pour les tout petits volumes de données, mais difficile à sécuriser. | ||
== Organisation d'une base de données relationnelle == | == Organisation d'une base de données relationnelle == | ||
Comme nous dans la vie courante, une base de données classe les informations d'une façon logique. Les données sont représentées sous forme de tables : une base de données contiendra plusieurs tables. Dans chaque table se trouveront un certain nombre de colonnes. Ainsi, les données seront introduites sous formes de lignes dans la table. C'est tout simplement : UN TABLEAU ! Comme ça : | Comme nous dans la vie courante, une base de données classe les informations d'une façon logique. Les données sont représentées sous forme de tables : une base de données contiendra plusieurs tables. Dans chaque table se trouveront un certain nombre de colonnes. Ainsi, les données seront introduites sous formes de lignes dans la table. C'est tout simplement : UN TABLEAU ! Comme ça : | ||
{| class="hoveredCourseElement" data-claire-element-id="2235214" id="r-2062899" | {| class="hoveredCourseElement" data-claire-element-id="2235214" id="r-2062899" |
Version du 11 décembre 2018 à 23:04
Introduction
Cette introduction est tirée de : https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1959710-introduction
Concepts de base
Une base de données informatique est un ensemble de données qui ont été stockées sur un support informatique, organisées et structurées de manière à pouvoir facilement consulter et modifier leur contenu.
Ainsi, la base de données d'un site web pourrait contenir la liste des membres, les articles, etc... Cette abse de données doit non suelement exister, mais on doit pouvoir interagir avec et la gérer : on doit pouvoir utiliser des requêtes MySQL pour pouvoir modifier cette base. Nous avons donc besoin de :
- Une base de données
- un système pour la gérer
- Un langage pour transmettre des instructions
SGBD
Un SGBD est un logiciel permettant de manipuler les données d'une base de données, c'est-à-dire les sélectionner, les afficher, les modifier, en ajouter ou en supprimer (CRUD : Create, Read, Update, Delete). MySQL est un SGBD. Les SGBD suivent en général le modèle client-serveur.
SGBDR
Le R en plus signifie "Relationnel". C'est un SGBD qui implémente la théorie relationnelle. La théorie relationnelle c'est compliqué, mais cela signifie en gros que les données sont contenues dans des relations, représentées sous forme de tables. Une relation est composée d'une en-tête et d'un corps. L'en-tête contient plusieurs attributs (pour un client on aura par exemple nom, prénom, adresse...). Le corps est quant à lui un ensemble de lignes (ou n-uplets) composé d'autant d'éléments qu'il y'a de d'attributs dans le corps. Exemple avec 4 lignes pour la relation client :
Numéro |
Prénom |
Nom |
|
---|---|---|---|
1 |
Jean |
Dupont |
jdupont@email.com |
2 |
Marie |
Malherbe |
mama@email.com |
3 |
Nicolas |
Jacques |
Jacques.nicolas@email.com |
4 |
Hadrien |
Piroux |
happi@email.com |
Les opérations :
Différentes opérations peuvent être appliquées à ces relations pour en tirer des des informations (issues de la logique formelle et de la théorie des ensembles, apparement):
Exemple de la jointure :
Ici, on relie les deux tables par le numéro de client.
Quelques SGBDR
- MySQL : L'un des plus utilisés, il utilise SQL. Il est open source. Il a été créé en 1994 par Widenius et Axmark, mais a depuis été racheté par Oracle, et a forké pour devenir MariaDB dans sa version Open source. Il est très utilisé mais a de nombreux défauts, car il ne suit pas toujours les normes officielles, et peux parfois manquer de certaines fonctions avancées.
- PostGreSQL : Il est open source, lui aussi. Moins connu, il semble cependant actuellement équivalent à MySQL en termes de ressources. Le langage procédural qu'il utilise s'appelle le PL/pgSQL.
- Access : propriété de Microsoft, il n'est pas du tout adapté aux gros volumes de données. Il a cependant une interface graphique ! :D
- SQLite : Pas en client-serveur, il stocke les données dans de simples fichiers. Il est adapté quand on a pas la possibilité d'installer un serveur de base de données. Il est très performant pour les tout petits volumes de données, mais difficile à sécuriser.
Organisation d'une base de données relationnelle
Comme nous dans la vie courante, une base de données classe les informations d'une façon logique. Les données sont représentées sous forme de tables : une base de données contiendra plusieurs tables. Dans chaque table se trouveront un certain nombre de colonnes. Ainsi, les données seront introduites sous formes de lignes dans la table. C'est tout simplement : UN TABLEAU ! Comme ça :
Numéro |
Prénom |
Nom |
|
---|---|---|---|
1 |
Jean |
Dupont |
jdupont@email.com |
2 |
Marie |
Malherbe |
mama@email.com |
3 |
Nicolas |
Jacques |
Jacques.nicolas@email.com |
4 |
Hadrien |
Piroux |
happi@email.com |