CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[BDD et sql] Les limites d'une BDD

Ion_Negatif
Ion_Negatif
Niveau 10
31 janvier 2009 à 18:51:56

Bonjour a tous :)

Voila j'aimerais vous poser une question d'ordre technique. En fait je me demandais quelles étaient les "limites" d'une base de donnée. Pour faire simple, je prend par exemple, un forum : comment l'organiser ? Si je fait par exemple une table par sujet, cela va rapidement creer un nombre considerable de table, et donc est ce que sa peut alourdir fortement voir ralentir le serveur ? Ou par exemple, je souhaite faire un site qui contiendra les fiches de chaque membre sous la forme d'une table "membre(id,nom,mdp, age, sexe, ville, blablabla...)". Cela va vite creer une table relativement enorme, et je me demande si les operations dans cette table ne vont pas prendre des plombes...

Alors voila : comment faire ? Est ce que la BDD est prévue pour, et un nombre de table tres elevé ne generais pas, ou au contraire faut il avoir peu de table, aussi grosses soient-elles ? :ouch2:

Bien entendu, je ne connais que php et sql, etant un peu débutant en base de données, donc si jamais pour les cas que j'ai cité, il existait une autre methode ou un autre moyen (genre postgresql, dont j'ai entendu parler mais que je ne connais pas du tout, ignorant jusqu'a son principe) ou tout simplement une autre maniere de faire, sa serait sympa si vous pouviez m'eclairer :)

Voila je demande ça parce que je suis en train d'essayer d'imaginer comment serait la base de donnée d'un site que je prévoie de coder pour m'entrainer, et qui impliquerait donc une table enorme ou alors enormement de tables, et j'ai peur de partir sur une fausse route :-(

Merci beaucoup a qui pourra m'aider :-d

greensheep29
greensheep29
Niveau 9
31 janvier 2009 à 19:06:04

Pour moi, il faut mieux avoir une grosse table que plein de petites.

deepblue
deepblue
Niveau 16
31 janvier 2009 à 20:10:54

Déjà, il faut comprendre le principe d'une base de données...ça éviterait d'écrire "Si je fait par exemple une table par sujet" ^^

Pour résumer brièvement :
- Ma base de données
|__ tables 1
|___|__entree de ma table 1
|___|__entree de ma table 1
|___|__entree de ma table 1
|__ tables 2
|___|__entree de ma table 2
|___|__entree de ma table 2
|___|__entree de ma table 2
|___|__entree de ma table 2
|___|__entree de ma table 2

Donc une base de données de type mysql est un ensemble de table dans lequelles sont stockées de données, qu'on appelle "entrée". Une entrée est constituée des attribus définissant ta table.

Créer alors une table/sujet devient donc simplement stupide et dénoué de sens :)

En ce qui concerne la quantité de données enregistrées dans une table, dans l'hypothèse où ta structure de données (mld : modèle logique de données) est cohérente, alors tu ne pourras pas faire autrement que d'avoir un grand nombre de données dans ta table. A savoir que suivant le type de base de données (mysql, postgresql, sqlite, oracle), les algos pour interagir avec les données sont différents donc suivant le type de données manipulée, et la quantité, les performances sont différentes.

Sqlite : modèle logique de donnée simple car c'est du sql version lite. Pas trop de données dedans sinon ça deviendra gênant.

Mysql : pas mal quand il s'agit de peu de données, ou quand il y en a un grand nombre (enfin, tout est relatif). A savoir que la version 5 s'approche des perf de postgresql

Postgresql : parfait pour un grand nombre de données, ses algos sont performants. Par contre, à éviter quand il y en a pas beaucoup, il faut privilégier mysql.

Oracle : payant, mais très puissant. Je n'ai pas eu l'occaz' de tester :)

Ion_Negatif
Ion_Negatif
Niveau 10
31 janvier 2009 à 20:20:20

Merci pour cette réponse :)

Oui en fait par base de donné je pensait a un truc du style soit :

topic_[idtopic](id_message, auteur, message) ou chaque message ferait une entré de plus, ce qui equivaut a une table par topic.

ou alors une table "topics(idtopic, sujet, auteur, date)" et une table "messages(idmessage, auteur, message, date, #idtopic)", mais sa ferais une table message énorme, puisque contenant tout ceux du forums...

Néanmoins, il est clair que c'est préférable a une quantité titanesque de tables ^^ je vais donc essayer sur cette voie puisque c'est visiblement celle a utiliser, en restant en mysql :) On verra ce que ça donne :-d

deepblue
deepblue
Niveau 16
31 janvier 2009 à 20:22:24

http://fr.wikipedia.org/wiki/Merise_(informatique)#Le_MLD_mod.C3.A8le_logique_des_donn.C3.A9es

http://fr.wikipedia.org/wiki/Mod%C3%A8le_conceptuel_de_donn%C3%A9es

Ion_Negatif
Ion_Negatif
Niveau 10
31 janvier 2009 à 20:31:50

Mcd et co.. c'est ce que je vois en cours ^^

Pour moi sa donne :d)

topics
---------
idtopic
¯¯¯¯¯
auteur
sujet
date
_______
|0,n
|
|
|
|
|1,1
|_________
messages
--------------
idmessage
¯¯¯¯¯¯¯¯¯¯
auteur
message
date

(dsl shema pas beau :-()

Ce qui donne apres transformation :d)

topics(idtopic, auteur, sujet, date)
...........¯¯¯¯¯
messages(idmessage,#idtopic, auteur, message, date)
.......................¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Est ce que ça peut le faire (en considerant un forum simple, avec une page affichant les n derniers topics) ? :)

Ion_Negatif
Ion_Negatif
Niveau 10
31 janvier 2009 à 20:33:36

(petite erreur, j'ai oublié la propriété "description" de la table topic, qui est en fait le message du topic) :desole:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment