-
Mini SGBDR en C
Salut à tout le monde!
Notre prof de BD nous a soumis un projet. Il s'agit de developper en C un mini SGBDR avec possibilité de faire select,delete,insert. Le fichier de stockage est un fichier à accès direct et constitué de pages de 50Ko. Chaque page contient plusieurs nuplets et un entête, l'entête contient autant de bit que de nuplet qu'une page peut contenir. A travers l'entête on peut savoir s'il y a une place libre dans la page pour inserer un nuplet.
Supposons que j'ai des nuplets de 10 Ko et des pages de 50 Ko donc on aura 5 nuplets par page, l'entête aura 5 bits.
Comment faire en C des pages de 50 Ko? Comment ecrire en C un nuplet dans une page? comment manipuler l'entête? Comment faire un fichier à accès direct en C?
Tout explication,source,liens,suggestions serait bienvenu.
Merci de m'aider.
-
Grossièrement, une base de données c'est un ensemble de tables. Une table regroupe des enregistrements. On peut donc faire une table avec un tableau de structures (une structure = un enregistrement). Mais les tableaux montrent peu de souplesse devant les opérations d'ajout (insertion) et de suppression c'est pourquoi on préfèrera à leur place les listes chaînées. Si on se résume à une base de données constituée uniquement d'une table, au démarrage, le programme charge la liste (initialement vide ...) depuis un fichier. Il laisse ensuite l'utilisateur faire des modifications comme ajout, suppression, ou modification d'un enregistrement (ainsi que des opérations comme vider la liste, etc.). On fait donc le modifications sur la liste (donc en mémoire), pas directement dans le fichier. Lorsque l'utilisateur sauvegarde, c'est à ce moment seulement qu'on met à jour le fichier.
Tu peux trouver une source de liste chaînée ici mais si tu trouves l'utilisation des listes trop compliquée et que t'es pas trop maniac de performances, tu peux toujours te contenter d'un simple tableau.
Tu en as peut-être aussi besoin : [Tutoriel] Les fichiers.
Quant à l'organisation de ton fichier (pages, en-têtes et tout ça), c'est à toi de faire comme bon te semble.