IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Système de gestion de base donnée


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut Système de gestion de base donnée
    Bonjour,

    voila je veux réaliser un mini SGBD en c++. Alors j'ai crée une classe colonne qui contien deux membres de type char* : domaine(pour le type du colonne), et attribut (pour le nom du colonne) et un 3éme membre vetor<char*> pour stocker les valeurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class Colonne
    {
    private:
    	char *domaine;
    	char *attribut;
    	vector<char *> *tuple;
    public:
    	Colonne(char*,char*);
    	char * getDomaine();
    	char * getAttribut();
    	vector<char *> * getTuple();
    };
    Une autre classe Table qui contient un vector<colonne>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    class Table
    {
    private:
    	char* nom;
    	int nbrcol;
    	vector<Colonne>* col;
     
    public:
    	Table(char*,int);
    	void inserer();
    	void afficher();
    	void supprimer();
    	void modifier();
    	void rechercher();
    	char * getNom();
        vector<Colonne>* getCol();
    };
    Et la classe BD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    class BD{
    private:
    	char* nom;
    	int nbrtab;
    	vector<Table> *tab;
    public:
    	BD(char *,int);
    	void insertion();
    	void suppression();
    	void modification();
        void affichage();
    	void recherche();
    	void jointure();
    };
    Alors avant de continuer je veux savoir si ma conception est bonne ?

    Merci

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,

    Pour ce qui est du C++ pur et dur, je te conseille d'éviter le char* et d'utiliser plutôt le std::string. Ça te permettra de supprimer les risques liés aux pointeurs (mauvaise gestion de la mémoire).

    Bon courage
    "L'ordinateur obéit à vos ordres, pas à vos intentions." [Anonyme]

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut
    Salut

    Ok merci Spout pour votre remarque, je vais utiliser les std::string au lieu du char*

    Mais pour la conception des classes, c'est bien ce que j'ai fais ? y'en a pas une meilleure idée ?

  4. #4
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Disons que ça dépend toujours de ce que tu veux faire exactement avec tes classes.

    A première vue (et je dis bien à première vue), la conception a l'air pas trop mal mis à part que
    • tu ne passes/ressort aucune variable de tes fonctions de classe (hormis constructeur)
    • on ne sait pas ce que tu comptes faire dans tes fonctions --> il y a sûrement des const qui vont apparaître


    Cela dit, comme on ne sait pas comment tu comptes utiliser ta base de données dans ton appli (en bref, le contexte), personne ne pourra te dire si ce que tu fais là est bon ou pas.

    Bon courage
    "L'ordinateur obéit à vos ordres, pas à vos intentions." [Anonyme]

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/04/2013, 13h20
  2. Réponses: 1
    Dernier message: 09/07/2009, 21h55
  3. Réponses: 2
    Dernier message: 25/05/2007, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo