PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 07-06-2011 17:36:22

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

base de données relationnelle ou modèle de données relationnel

Bonjour,

Je cherche des informations pratiques sur base de données relationnelle :
Les avantages et les inconvénients d'avoir une base de données relationnelle?
Est-ce que peut-on avoir une base de données relationnelle avec MySql? Est-ce qu’on peut la monter sous PhpMySql?
Comment peut-on la monter?

Est-ce que vous avez des liens sur cela pour un débutant avec des exemples ?

Je sais que je peux aussi chercher sur Google mais je n'ai pas trouvé un document complet, clair pour un débutant...

Merci votre compréhension à ma question générale...


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#2 07-06-2011 18:32:27

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : base de données relationnelle ou modèle de données relationnel

Saluton,
D'aucuns, et non des moindres, affirment, non sans arguments, que MySQL ne serait pas vraiment un SGBDR.
Maintenant j'observe que, le plus souvent, ce n'est pas le SGBDR qui doit être critiqué ou mis en cause, mais la maladresse, voire l'amateurisme rédhibitoire de ceux qui ont la vélléité de l'utiliser.
J'ai vu "monter" des horreurs avec beaucoup de SGBR et de tout temps, et je vois des choses plutôt bien fouteues qui tournent avec SQLite.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 09-06-2011 14:22:39

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : base de données relationnelle ou modèle de données relationnel

Bonjour Maljuna Kris,

Merci pour ton lien qui a été écrit par une personne de Microsoft...

Moi j'utilise MySql parce que je suis un déboutant et je n'ai pas besoin d'une bdd performance et professionnelle.

voici un projet fictif :
J'ai un bd qui a 4 tables
table tb_marques contient 2 champs : id et chmps_marques
table tb_moteur contient 2 champs : id et chmps_moteur
table tb_annee contient 2 champs : id et chmps_annee
table tb_note contient 3 champs : id, chmps_id_note et chmps_notes


L’utilisateur affiche un formulaire avec 3 menus déroulants, "marques", "moteurs" et "année" dont les informations viennent de 3 différentes table et un champ de texte pour les notes.

Il sélectionne trois menus et il écrit ses notes dans le champ et valide le formulaire.

Je me demande si j'ai besoin d'un modèle de données relationnelles. Comment je fais la relation entre ces tables ? En fait, j'ai besoin de faire une relation entre les tables pour que j'affiche les résultats qui contient :
les notes, sur la marque, sur son moteur et sur l'année...


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#4 09-06-2011 15:48:35

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : base de données relationnelle ou modèle de données relationnel

phpdos a écrit :

Je me demande si j'ai besoin d'un modèle de données relationnelles.

Ça peut aider, à n'en pas douter.

phpdos a écrit :

Comment je fais la relation entre ces tables ? En fait, j'ai besoin de faire une relation entre les tables pour que j'affiche les résultats qui contient :
les notes, sur la marque, sur son moteur et sur l'année...

Du même auteur assez incontournable SQLPro, les jointures.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 09-06-2011 16:13:58

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : base de données relationnelle ou modèle de données relationnel

Je vois que tu as mis deux fers au feu, un ici, et un autre
Ce n'est généralement pas très apprécié de poster le même sujet sur plusieurs forums.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 09-06-2011 16:24:21

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : base de données relationnelle ou modèle de données relationnel

Bonjour Maljuna Kris,

Alors, je suis désolé, mais que je dois faire ? Je ferme ce ticket ? Ou bien ... Surtout ton tuto (SQLPro, les jointures) vient aussi sur ce site...

En outre, merci pour le tuto, je vais lire et ensuite je vais voir...

Désolé encore


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#7 09-06-2011 18:23:16

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : base de données relationnelle ou modèle de données relationnel

C'est pas grave, péché de jeunesse, j'imagine.
A l'avenir évite ou alors joue franc-jeu et préviens que tu as aussi posté ailleurs.
Je t'ai transmis par mail une traduction afférente à la conception des bases de données.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#8 10-06-2011 03:13:08

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : base de données relationnelle ou modèle de données relationnel

Salut Maljuna Kris,

J'ai lu ton documents, bravo bon traduction...:)

Alors comment je peux faire tout cela dans le pratique?

J'ai fait un essai avec deux tables simple sous PhpMyAdmin dans mon bdd MySql...

Voici ce que j'ai fait :


j'ai créé ma première table, nom, qui contient 2 colonnes :id_nom et prenom

ma requête :

CREATE TABLE nom (id_nom INTEGER PRIMARY KEY,
prenom TEXT NOT NULL

);

ensuite 2e table, ecole, avec 3 colonnes :id_ecole (clé première), nom_prof et nom_etud. Ce derniere est une clé étrangère (foreign key) qui vient du colonne 'id_nom' de table nom

ma requête :

CREATE TABLE ecole (id_ecole   INTEGER PRIMARY KEY,
nom_prof TEXT NOT NULL,
nom_etud INTEGER  NOT NULL REFERENCES nom(id_nom)

)

PHPmyAdmin crée les tables sans erreur, mais on ne voit pas du tout le concept de foreign key même si dans ma requête, il y avait "REFERENCES nom(id_nom)"

Alors comment je peux créer une table avec foreign key dans PhpMyAdmin ?:(:rolleyes:


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#9 10-06-2011 03:19:11

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : base de données relationnelle ou modèle de données relationnel

Je sais Maljuna Kris, ton document est pour SQLite et moi hmm j'utilise MySql:mad:


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#10 10-06-2011 05:31:11

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : base de données relationnelle ou modèle de données relationnel

Non, justement, la partie que j'ai traduite est très généraliste. Elle concerne la conception des bases de données quel que soit le SGBR support.
Je dirais même qu'elle concerne, principalement, le travail à faire en amont de la conception, la modélisation.
Et puis je te renvoie au titre de ton post, qui et c'est tout à fait à ton honneur, ne s'enfermait pas, a priori, dans un choix de SGBDR.
C'est d'autant mieux que c'est précisément un des atouts de PDO, la portabilité du code PHP, indépendamment du SGBDR support.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#11 10-06-2011 05:32:44

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : base de données relationnelle ou modèle de données relationnel

Pour ce qui concerne les FOREIGN KEYS avec MySQL il faut utiliser le moteur InnoDB et non MyISAM.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#12 13-06-2011 14:25:15

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : base de données relationnelle ou modèle de données relationnel

merci Malihuna Kris pour tes aides, ton document et tes liens...

il faudrait utiliser InnoDB comme tu dis et  mettre les Foreign Key,  en Index

alors c'est Résolu...


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

Pied de page des forums