Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

aide Mysql

8 réponses
Avatar
Claude Boucher
Bonjour
je suis (vieux) débutant en sql et j'aimerais faire une base de gestion
d'articles de magazines.
avec différents noms de magazines,plusieurs numéros dans chaque
nom,plusieurs rubriques dans chaque numeros et plusieurs articles dans
chaque rubriques. Je me case la tête pour créer les tables et les jointures.
Pouvez vous m'aider?

8 réponses

Avatar
Yliur
Le Thu, 18 Feb 2010 17:51:29 +0100
Claude Boucher a écrit :

Bonjour
je suis (vieux) débutant en sql et j'aimerais faire une base de
gestion d'articles de magazines.
avec différents noms de magazines,plusieurs numéros dans chaque
nom,plusieurs rubriques dans chaque numeros et plusieurs articles
dans chaque rubriques. Je me case la tête pour créer les tables et
les jointures. Pouvez vous m'aider?



C'est le modèle de données que vous cherchez à faire ?
Vous devriez commencer par lister tout ce que vous voulez stocker dans
votre base, ce serait un bon point de départ.
Avatar
Yliur
Le Thu, 18 Feb 2010 17:51:29 +0100
Claude Boucher a écrit :

Bonjour
je suis (vieux) débutant en sql et j'aimerais faire une base de
gestion d'articles de magazines.
avec différents noms de magazines,plusieurs numéros dans chaque
nom,plusieurs rubriques dans chaque numeros et plusieurs articles
dans chaque rubriques. Je me case la tête pour créer les tables et
les jointures. Pouvez vous m'aider?



Pour la partie SQL, je trouve ce site assez complet, mais peut-être que
d'autres ici en auront d'autres à conseiller ?
http://sqlpro.developpez.com/
Avatar
Claude Boucher
Le 18/02/2010 18:34, Yliur a écrit :
Le Thu, 18 Feb 2010 17:51:29 +0100
Claude Boucher a écrit :

Bonjour
je suis (vieux) débutant en sql et j'aimerais faire une base de
gestion d'articles de magazines.
avec différents noms de magazines,plusieurs numéros dans chaque
nom,plusieurs rubriques dans chaque numeros et plusieurs articles
dans chaque rubriques. Je me case la tête pour créer les tables et
les jointures. Pouvez vous m'aider?



Pour la partie SQL, je trouve ce site assez complet, mais peut-être que
d'autres ici en auront d'autres à conseiller ?
http://sqlpro.developpez.com/



Merci pour votre réponse.
Effectivement ce site est très complet je vais potasser tout ça et je
pense avoir des réponses à mon problème.
Avatar
Eric Demeester
dans (in) fr.comp.applications.sgbd, Claude Boucher
ecrivait (wrote) :

Bonsoir Claude,

En complément des réponse de Yliur, qui a pas mal déblayé le terrain :

je suis (vieux) débutant en sql et j'aimerais faire une base de gestion
d'articles de magazines.



Il faut je pense distinguer deux choses dans votre question :

- la modélisation de votre base de données ;
- les ordres SQL pour la créer, l'enrichir, l'interroger, etc.

À mon sens le plus important est la modélisation (combien de tables,
quel contenu, quels index), car une fois le modèle élaboré, la façon
d'intéragir avec la base ne sera plus qu'une question de syntaxe à
adapter en fonction du sgdb choisi.

Il existe différentes méthodes (Merise, UML, etc.) pour modéliser une
base de données, toutes aussi performantes que difficiles à appréhender
quand on débute. Si le sujet vous intéresse, votre moteur de recherche
préféré vous fournira de la lecture :)

L'idée à retenir est qu'il faut éviter autant que faire se peut la
redondance d'informations entre les tables, et définir des index
pertinents permettant d'interroger la base.

Essayons de modéliser une structure en fonction de vos demandes :

avec différents noms de magazines,plusieurs numéros dans chaque
nom,plusieurs rubriques dans chaque numeros et plusieurs articles dans
chaque rubriques.



Nous avons donc :

- des noms de magazines ;
- des numéros de magazines ;
- des rubriques ;
- des articles.

Une chose saute aux yeux, les rubriques sont indépendantes des magazines
car elles peuvent être (ou pas) présentes dans différents magazines.
Nous allons donc créer une table des rubriques que nous appellerons
« rubriques », car même si on peut l'appeler n'importe comment, autant
que son nom soit parlant. Donc :

- Table « rubriques » :
id_rubrique (numérique, auto-incrément, index)
intitule_rubrique (texte)

id_rubrique est l'identifiant unique de la rubrique.
auto-incrément nous assure qu'à chaque fois qu'une nouvelle rubrique
sera créée, son identifiant sera unique.
intitule_rubrique est... l'intitulé de la rubrique.

Notez au passage que je n'utilise aucun caractère accentué dans la
définition du nom de la table et de ses champs. C'est exprès. Concernant
le _contenu_ des champs (les informations entrées dans la base), vous
pouvez utiliser des caractères spéciaux et/ou accentués pourvu que vous
ayez choisi le bon jeu de caractère pour les encoder. UTF-8 (sans BOM)
est a priori un bon choix, car relativement universel.

Passons aux autres tables.

- Table « magazines » :
id_magazine : (numérique, auto-incrément, index)
intitule_magazine : (texte)

Un enregistrement par magazine...

Passons aux numéros. Un numéro doit être associé à un magazine de façon
univoque, donc :

- Table « numeros » :
id_magazine (numérique, index)
id_numero (numerique)

Enfin, on associe un article à un magazine et à son numéro de parution :

- Table « articles »
id_magazine (numérique, index)
id_numero (numerique)
id_article (numérique)

Pouvez vous m'aider?



Je suis fatigué, j'ai probablement fait des erreurs dans mes
préconisations, mais l'idée est là...

Bon courage !

--
Eric
Avatar
Jacques Haddi
avec différents noms de magazines,plusieurs numéros dans chaque
nom,plusieurs rubriques dans chaque numeros et plusieurs articles dans
chaque rubriques. Je me case la tête pour créer les tables et les
jointures.
Pouvez vous m'aider?



Je verrais les tables suivantes :

table MAGAZINE
id_magazine
nom

table RUBRIQUE
id_rubrique
id_magazine
nom

table NUMERO
id_numero
id_magazine
numero

table ARTICLE
id_article
id_rubrique
id_numero

chaque id_XXX est un identifiant unique de type autoincrément

chaque RUBRIQUE est reliée à un MAGAZINE
chaque ARTICLE est relié à une RUBRIQUE et à un NUMERO

J.H.
Avatar
Serguei Tarassov
On 18/02/2010 17:51, Claude Boucher wrote:
je suis (vieux) débutant en sql et j'aimerais faire une base de gestion
d'articles de magazines.
avec différents noms de magazines,plusieurs numéros dans chaque
nom,plusieurs rubriques dans chaque numeros et plusieurs articles dans
chaque rubriques. Je me case la tête pour créer les tables et les
jointures.
Pouvez vous m'aider?



Bonjour Claude,

Il est super ton question ;)

S'il s'agit d'une petite BD contenant dizaine de tables et quelques
centaines de lignes pour chacune de ces tables, je te propose de prendre
MS Access et construre ta base de manière visuelle puis le transmettre à
MySQL.

Sinon c'est difiifce de conceiller car la conception/développement de BD
est la discipline que les étudiants apprennent pendant 0,5-1 ans...


A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com
Avatar
Claude Boucher
Le 21/02/2010 14:47, Serguei Tarassov a écrit :

S'il s'agit d'une petite BD contenant dizaine de tables et quelques
centaines de lignes pour chacune de ces tables, je te propose de prendre
MS Access et construre ta base de manière visuelle puis le transmettre à
MySQL.



Merci pour ton aide Sergei
étant sous Linux je ne dispose pas de MS Access mais j'ai bien MySQL.
Après les aides apportées par Eric Demeester et Jacques Haddi je pense
pouvoir m'en sortir.Le plus fastidieux maintenant est de rentrer les
données.
Avatar
Serguei Tarassov
On 23/02/2010 11:58, Claude Boucher wrote:
Merci pour ton aide Sergei
étant sous Linux je ne dispose pas de MS Access mais j'ai bien MySQL.
Après les aides apportées par Eric Demeester et Jacques Haddi je pense
pouvoir m'en sortir.Le plus fastidieux maintenant est de rentrer les
données.



Claude,

Il existe un outil de modélisation des données "Open System Architect"
sous Linux
http://www.codebydesign.com


A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com