creation d un prog de gestion dvd

Statut
N'est pas ouverte pour d'autres réponses.

ProfX

Elite
j ai un petit probleme de creation de fichier
bon je sais meme en vb y a des soluce "facile" utilise les trucs "tout fait"
moi je prefere mettre les mains dans le cambui
mais la je seche
je fait un programme de gestion de mes dvd
et la ou je seche , ben c est pour les acteurs ...
certain film demande 1 ou 2 entree d autre 10 voir plus ....
et c est la que ca se corse
comment faire pour que pour un film j ai acces au nom des acteurs et que depuis le nom d un acteur j ai acces a tous leur film ....
le tous sans avoir x champ vide
 

moustic

Touriste
Je supose que tu compte travailler avec une base de donnée access.

Pour gerer ce système tu peux travailler avec 2 tables + une faisant le lien car on a une relation N-N (un acteur peut jouer plusieurs films et un film à plusieurs acteurs)

Table Film :

n° : NuméroAuto -> cléprimaire (ou mieux mettre le titre en clé primaire)
Titre : Texte
Année : Date
Descriptif : Texte
etc...

Table Acteur :

n° : NuméroAuto -> clé primaire (ou mieux nom et prénom)
Nom : Texte
Prenom : Texte
etc...

Table lienFilmActeur :

RefFilm : Numérique
RefActeur : Numérique

Puis dans access tu fait des relations entre les tables

Outils Relations, tu sélectionne les 3 tables

tu relies N° de la table Film à reffilm (Table lienFilmActeur) et tu relies N° de la table acteur à refacteur (table lienFilmActeur ), tu relies en faisant glisser le N° sur le champ réf...

Une fenêtre apparait et là tu coche 3 cases à cocher (au moins "appliquer l'intégrité référencielle")

Tu as un truc du même genre :



A toi de voir si ça t'interresse de partir dans cette direction
 
1er
OP
ProfX

ProfX

Elite
justement non , je ne veut ni acces ni sql
juste des open "nomdufic" et un index
 

moustic

Touriste
Tu peux très bien remplacer les 3 tables par 3 fichiers,


1 fichier film,
1 fichier acteur,
1 fichier de lien

En tant qu'analyste programmeur, c'est la solution la plus propre qui me parait exister et qui te permet d'ajouter autant d'acteurs que tu veux à un film et autant de films que tu veux pour un acteur.

Pour ce qui est de faire un index dans un fichier avec vb, jamais entendu parler de ça. Mais je suis pas non plus un pro sur le VB donc je peux me tromper
 

zemicmic

Elite
windev...
Mais fo une clé materielle a 2.000 € et une mise a jour annuelle de 500€ :?

mais en gros, c'est tous en main, tu crees un db et tu remplis. ca te fait un exe pour la db.
 

ZyPh0s

Touriste
Bon pour ta requete c'est hyper facile quand on a déjà un peu joué avec le SQL

Tu fais 3 tables,
1 ere,
UID_film, Titre du film, durée, etc etc etc (mais pas d'acteurs)

2 eme table (pour économiser de la place, on pourrait bien le faire en 2 tables mais pour des requetes future, genre trouver tous les films ou Cameron Diaz a joué, c'est plus facile en 3 tables, et comme ça tu ne dois plus réintroduire le nom des acteurs a chaque fois)
UID_acteur, Nom acteur

3 eme table, comme a dit moustic,
UID_lien (on s'en fou bien mais il faut une primary key), UID_film, UID_acteur

Donc en concret pour avoir un exemple:

Table 1:
UID_film |Titre FR|...
...
124|Mary à tout prix|
...
Table 2:
UID_acteurs|nom
...
88|Cameron Diaz
...
145|Un autre acteur du film :p
...
Table 3:
UID_liens|UID_film|UID_acteurs
...
14578|124|88
14579|124|145
...
Voilà t'as les 2 acteurs dans ce film.
Pour la DB, 1 pc avec Apache + MySQL +PHP (tout est gratuit, et on peut choisir Windows ou Linux)

Et puis n'importe quel pc de ton réseau peut y accéder (suffit d'avoir un browser web)
 
cher profx... tu reviens àl'âge de la pierre en refusant sql, mais bon c'est ton droit ...

voici donc la formule la plus simple ( à première vue... faudrait que je replonge dans mon cours de fichiers séquentiels indexés) mais en gros ça donne un truc du genre.

Il te faut un fichier par type d'enregistrement, donc, un fichier titre, un fichier acteur par exemple. Ces deux fichiers doivent être construit d'une manière rigoureuse, à savoir (pour être le plus performant et éviter les erreurs), des champs d'une taille constante (vive la padding).

Exemple: tu prévois 10 caractère pour le numéro du DVD et 250 caractères pour le nom du DVD. (il te faut obligatoirement le premier champs qui te servira pour l'index).

Ensuite, il te faut un dernier fichier contenant la liste des couples DVD/Acteurs, toujours en longueur fixe.

Je sais pas si tu vois où je veux en venir... ? Ensuite, tu dois maintenir ces fichiers toi même, et pour des raisons de rapidité, tu dois, pour chaque modification de ton fichier index, soit remettre tout le bloc contenant les paires d'un même DVD à la fin ensemble, soit utiliser un système de pointeur interne chaînant les enregistrement d'un même DVD.

Tu peux imaginer mettre d'autres pointeurs pour gérer la lien inverse (acteur-> film), mais je te conseille de créer un autre fihcier d'index (en fait, le plus performant est un fichier par index.... )

Les fichiers doivent toujours être construit: identifiant, champs1, champs2, .... et le plus performant, des champs de longueur fixe pour permettre de naviguer dans le fichier en utilisant une simple multiplication pour atteindre l'enregistrement recherché.

J'espère que tu as tout compris quoi j'ai dit... si oui, alors, tu complètera toi-même les trous manquant .. si non, faudra qu'on se rencontre, que je te montre ça sur un tableau...

Je pense que décemment, tu devrais accepter l'idée d'un SQL.


:)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut