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

Modélisation Discussion :

Souci de conception


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 35
    Points
    35
    Par défaut Souci de conception
    Bonjour,

    Mes cours de SGBD (qui se donnaient sous Oracle) viennent de se terminer et pour mettre mes connaissances en application, je voudrais établir une base de données de tous mes films, séries, dessins animés.

    J'en ai un peu marre de concevoir mes listes sous Excel. Je voudrais être en mesure de créer une base de données qui me permettrait, via quelques requêtes, de trouver ce que je recherche sur base de certains critères. Oracle étant une vraie usine à gaz, j'ai pas spécialement envie de ralentir mon PC juste pour une base de données de films donc j'ai choisi Access puisque j'ai Microsoft Office 2007... on me l'a conseillé car il est très simple à prendre en main ! Pas si simple que ca, pourtant... sinon, je ne serais pas ici !

    Pour l'instant, je pense avoir concu tout le nécessaire pour établir la liste de mes films. Pour le reste, on verra plus tard. Toutefois, j'ai essayé de concevoir la base de données du mieux que j'ai pu en tenant compte de certains trucs... par exemple, un film n'est pas toujours réalisé par un seul réalisateur... il y a des collaborations et je voulais la possibilité d'encoder tous les réalisateurs lorsque le cas de figure se présentera.

    De même, pour certains films où il y a plusieurs acteurs principaux (exemple: Pulp Fiction où il y a Uma Thurman, John Travolta et Bruce Willis), je souhaite référencer tous les acteurs en question. Pourquoi ? Parce que si je référence Travolta et que dans 2 mois, je fais une recherche de tous les films où Bruce Willis joue, Pulp Fiction n'apparaitra pas...

    Pareil pour les genres... certains films sont difficiles à classer sous un seul genre... prenons l'exemple de Starship Troopers. Je considère qu'il s'agit d'un film de science-fiction mais je le vois aussi comme une comédie. Je ne veux pas être obligé de faire un choix entre les 2 genres car si je choisi S-F, je ne le trouverais pas le jour où je ferais une recherche de toutes mes comédies...

    Bref, je pense que vous avez saisi l'idée !

    Je vous invite à cliquer sur le lien ci-dessous pour avoir un apercu de mes tables ainsi que des relations que j'ai établi.

    http://img179.imageshack.us/img179/8...lationsml9.jpg

    Comme vous pouvez le constater, il y a toute une série de petites tables à gauche et à droite de l'image qui ne contiennent d'un champ ID (NuméroAuto) ainsi qu'un autre champ de type Texte. La table principale est la table FILMS.

    De plus, entre FILMS et LISTE_GENRES, LISTE_REALISATEURS, LISTE_ACTEURS, il y a 3 tables intermédiaires que j'ai intitulé FILMS-GENRES, FILMS-REALISATEURS et FILMS-ACTEURS. Grace à ces tables intermédiaires qui ne contiennent que des clés étrangères de FILMS et des 3 autres tables, je devrais être en mesure de référencer plusieurs réalisateurs/acteurs/genres pour un seul et même film.

    Et c'est maintenant que tout est construit que je sèche un peu sur la meilleure façon d'utiliser cette base de données. En effet, lorsque j'ouvre ma table FILMS et que je veux insérer un tuple, certains attributs (Saga, Langue, Support, Format, Vidéo, Audio) n'acceptent que des valeurs numériques. C'est normal puisque ce sont des clés étrangères liées aux autres tables mais cela complique grandement les choses puisqu'il m'est évidemment impossible de retenir toutes les valeurs correspondant à tel ou tel genre, à telle ou telle saga, ...

    Je cherche donc un moyen de remplir ma table FILMS (ainsi que les tables FILMS-GENRES, FILMS-REALISATEURS et FILMS-ACTEURS) d'une facon plus conviviale... j'ai tenté quelques trucs mais sans succès pour le moment... et j'avoue que je sèche un peu... entre les listes déroulantes qui m'affichent la liste des ID plutôt que les noms correspondants (ce qui ne m'aide pas vraiment) et les formulaires dont j'ai du mal à comprendre le fonctionnement...

    C'est pourquoi je ne serais pas contre un petit coup de pouce et quelques explications... à partir de la base de données soumises ci-dessus, comment procéderiez-vous ? Ajouter un nouveau réalisateur, un nouveau acteur, un nouveau genre, ... ne pose aucun problème, évidemment... suffit d'ouvrir la table correspondante et de créer un nouveau tuple. Là ou je sèche, c'est plutôt sur la meilleure facon de remplir ma table FILMS ainsi que les 3 tables intermédiaires...

    Des suggestions ? Et, si je puis me permettre, n'hésitez pas à me donner des explications abondantes sur la facon de procéder parce que comme je vous l'ai dit, je suis novice en Access et je pense que j'ai besoin qu'on me prenne pas la main...

    Merci du temps que vous m'accorderez !

    Cordialement,
    Firya.

  2. #2
    Membre habitué
    Inscrit en
    Février 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Février 2006
    Messages : 230
    Points : 176
    Points
    176
    Par défaut Filmographie sous access
    Bonjour,
    Plusieurs remarques :
    Je suis assez novice sur ce site et beaucoup moins expérimenté que beaucoup d'autres mais je sais que l'on aime les questions courtes.... Par ailleurs je dois reconnaître que lexposé est clair même s'il n'est pas synthétique et que ta structure de base est bien présentée. En fait tu nous demande de concevoir la base entière ! Plus sérieusement, je te propose de concevoir un formulaire principal Films constitué de trois ou quatre onglets (Données principales; Scénario; Casting; Divers...) qui sera la plaque tournante de la saisie pour peu que d'autres formulaires existent en parallèle pour alimenter les tables acteurs ou metteurs en scène par exemple. Ensuite tu procèdes par sous formulaires. Par exemple un sous formulaire continu "acteurs" qui te permet d'ajouter par l'intermédiaire d'une ligne déroulante autant d'acteurs que tu veux... Voilà comment je vois les choses. Ma base personnelle sur laquelle je travaille déjà depuis un an (je suis parti de zéro aussi) même si elle traite de choses très différentes ressemblent un peu à ce style de sgbd...
    Bon courage
    F

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    Je ne demandais pas plus que ce que tu viens de me fournir comme réponse. Non, je demande pas la conception de la base entière puisqu'elle est déjà concue... tout ce que je demandais, c'était quelques élements de réponse pour avoir une idée de la façon de la remplir au mieux... et avec les pistes que tu m'as donné (formulaire, onglets, ...), je pense pouvoir me débrouiller sans problème !

    Ensuite, pour la question courte... moi, perso, je préfère développer un poil mes questions histoire de montrer à ceux qui vont me lire que je me suis déjà un peu remué les méninges... je ne suis pas trop partisan du "j'ai fait ca, je fais quoi maintenant ?" parce que j'aurais effectivement eu le sentiment de demander qu'on fasse le boulot à ma place et je ne pense pas que ce soit le cas ici...

    De plus, lorsqu'on arrive et qu'on pose d'emblée une question sans donner de détails, la plupart du temps, la première réponse qu'on obtient, c'est une demande de détails supplémentaire. Ici, j'en ai donné suffisamment pour que ceux qui se donnent la peine de me lire puisse m'en fournir une... en gros, j'ai voulu perdre le moins de temps possible. Je ne vois pas où est le mal...

    Merci.

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Effectivement c'est un roman mais au moins on sait où on va ça fait plaisir

    Je cherche donc un moyen de remplir ma table FILMS (ainsi que les tables FILMS-GENRES, FILMS-REALISATEURS et FILMS-ACTEURS) d'une facon plus conviviale... j'ai tenté quelques trucs mais sans succès pour le moment... et j'avoue que je sèche un peu... entre les listes déroulantes qui m'affichent la liste des ID plutôt que les noms correspondants (ce qui ne m'aide pas vraiment) et les formulaires dont j'ai du mal à comprendre le fonctionnement...
    Donc voilà ici tes questions.
    Les listes déroulantes se paramètrent !! Car effectivmeent par défaut c'est la clé primaire qui s'affiche. Mais tu peux la masquer et afficher un autre champ.
    Plus la peine de se rappeler que le réalisateur 72 est Alfred Hitchock !!

    Bref. Tu as plusieurs propriétés sur la liste déroulante. Notamment : nombre de colonnes, largeur de colonnes.
    Affecte une chaine SQL à la source de ta liste basée sur la clé primaire et le 2ème champ. En nombre de colonne mets 2 et 0;5 pour largeur de colonnes.

  5. #5
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    D'abord, félicitation pour ton exposé.
    Contrairement à ce qu'à dit DelcroixF, je préfère un exposé (un peu) long et très clair qu'un exposé court et obscur.

    Ensuite, ton modèle a l'air nickel, au vu des raisons que tu exposes.

    Pour résoudre ton "problème", il y a deux solutions, suivant que tu es dans le cas "Codecs" (relation 1-n) ou "Auteurs" Relations (n-n)

    Dans le cas des relations 1-n, comme l'a indiqué Kikof, utilises les listes déroulantes.
    Tu peux les paramétrer directement dans les tables, au niveau des propriétés des champs. Il y a un onglet pour cela.
    je te donne un exemple concret :

    Définition de la liste du champ FILMS.SAGA
    Type de contrôle : Zone de liste déroulante
    Origine Source : Table/Requête
    Contenu : Select ID, Saga FROM LISTE_SAGAS ORDER BY Saga
    colonne liée : 1
    Nbre Colonnes : 2
    Largeurs colonnes : 0cm
    Ajout autorisé : non

    Dans le cas des relations n-n, tu as intérêt à te pencher sur la notion de sous-formulaires.
    Puisque ta table FILMS est liée à la table FILMS_GENRES (par exemple) et que FILMS_GENRES est liée à LISTE_GENRES, tu peux gérer, dans FILMS_GENRES la relation 1-n entre FILMS_GENRE et LISTE_GENRE comme décrit précédemment. Mais comment faire pour la saisie de plusieurs genres pour un seul film ?
    Fais un formulaire basé sur FILMS_GENRES, instantané tableau (Nouveau/instantané tableau/...)
    En mode création, tu vires la référence au champ ID_FILMS
    Tu enregistres
    Ensuite, dans ton formulaire FILMS, tu ajoutes un contrôle Sous-Formulaire/Sous-Etat qui pointe vers ce formulaire.

    voilà

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    Un tout grand merci à vous ! Vos réponses sont très claires et je vais mettre vos conseils en application aussi vite que possible !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Maxence HUBICHE
    Dans le cas des relations n-n, tu as intérêt à te pencher sur la notion de sous-formulaires.
    Puisque ta table FILMS est liée à la table FILMS_GENRES (par exemple) et que FILMS_GENRES est liée à LISTE_GENRES, tu peux gérer, dans FILMS_GENRES la relation 1-n entre FILMS_GENRE et LISTE_GENRE comme décrit précédemment. Mais comment faire pour la saisie de plusieurs genres pour un seul film ?
    Fais un formulaire basé sur FILMS_GENRES, instantané tableau (Nouveau/instantané tableau/...)
    En mode création, tu vires la référence au champ ID_FILMS
    Tu enregistres
    Ensuite, dans ton formulaire FILMS, tu ajoutes un contrôle Sous-Formulaire/Sous-Etat qui pointe vers ce formulaire.
    Bonjour,

    Vu que ce sont les vacances de Pacques, j'ai eu le temps de me pencher sur ma base de données et j'ai tenté de mettre tes conseils en application. J'ai réussi à faire le nécessaire pour les relations 1-n sans aucun problème et cela fonctionne parfaitement. Encore un tout grand merci !

    Donc, maintenant, dans la table FILMS, j'ai des listes déroulantes pour les champs "Saga", "Langue", "Format", "Vidéo" et "Audio" qui affichent le bon champ des tables correspondantes... cela rend l'encodage beaucoup plus convivial parce qu'il était naturellement impossible de retenir toutes les IDs !

    Par contre, je cale un peu sur la deuxième partie... et plus particulièrement à partir de "Mais comment faire pour la saisie de plusieurs genres pour un seul film ?" ...

    Si j'ai bien tout compris, je crée un formulaire basé sur FILMS-GENRES, je vire la référence à ID_FILMS, j'enregistre le formulaire... puis, je crée un formulaire basé sur FILMS et dans ce formulaire, en dessous, j'insère un contrôle "Sous-Formulaire/Sous-Etat" en sélectionnant le formulaire précédemment créé et là, je me retrouve avec ceci :

    http://img482.imageshack.us/img482/4...mulaireat4.jpg

    ... et je ne saisis pas trop comment je dois utiliser cela ! Déjà, est-ce que mes manipulations sont correctes ? Si oui, peux-tu me donner quelques précisions sur la manipulation de ce genre de formulaire contenant un sous-formulaire ? Ca m'aiderait beaucoup !

    Et une dernière précision... lors de la création du sous-formulaire, l'assistant passe par un écran où il me pose une question que je ne saisis pas bien... du coup, je suis pas sur de bien lui répondre. Voici l'écran en question :

    http://img482.imageshack.us/img482/9355/questionid5.jpg

    Serait-il possible d'avoir une petite explication sur ce charabia et, éventuellement, un conseil sur la réponse à donner ?

    Merci !

  8. #8
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    .....lors de la création du sous-formulaire, l'assistant passe par un écran où il me pose une question ......
    Réponse: Choisie la réponse par défaut Choisir à partir d'une liste.

    Ici, en plus l'assistant à directement choisi les bonnes relations entre ton formulaire et ton sous-formulaire (Afficher FILM-GENRES pour chaque enregistrement en FILMS......) Champs fils - champs pères (regarde dans les propriétés du sous-formulaire, tu y retrouveras ces liens...)
    En résumé, pour chaque ID du film de ton formulaire, ton sous-formulaire afficheras les renseignements correspondants.....

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Je vais répondre à cette question :
    Par contre, je cale un peu sur la deuxième partie... et plus particulièrement à partir de "Mais comment faire pour la saisie de plusieurs genres pour un seul film ?" ...
    Ce que je ferais, c'est un sous formulaire sur la table Films-genre, et la relation père fils sur Film dans les deux formulaires, ensuite une listé déroulante pour faire ton choix de genre.
    Mais astuce, la liste déroulante doit être indépendante et la valeur après mise à jour doit être collée dans le bon contrôle.

    Pour les autres tables, c'est le même principe.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    Heu, je pense avoir compris la réponse de FreeAccess mais pas trop cette dernière réponse...

    Je rappelle que je n'ai aucune formation sur Access donc les éventuelles subtilités qui sont implicites dans ta réponse, je ne les connais pas. Pourrais-tu prendre le temps de m'expliquer plus en détail ce que je dois faire pour procéder de la sorte, svp ?

    Je vais citer ton texte et mettre en bleu toutes les parties où je me suis dit "gné??" ! Peut-être que cela t'aidera à mieux voir où je m'y perd :

    Citation Envoyé par Heureux-oli
    Ce que je ferais, c'est un sous formulaire sur la table Films-genre, et la relation père fils sur Film (comment ??) dans les deux formulaires (lesquels ??), ensuite une listé déroulante pour faire ton choix de genre (où ? dans le formulaire FILMS ? Dans le FILM-GENRES ?).

    Mais astuce, la liste déroulante doit être indépendante et la valeur après mise à jour doit être collée dans le bon contrôle. (ici, je ne comprend absolument pas de quoi tu parles)

    Pour les autres tables, c'est le même principe.

  11. #11
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Ce que je ferais, c'est un sous formulaire sur la table Films-genre, et la relation père fils sur Film (comment ??)


    Lorsqu'un formulaire possède un sous formulaire, entre ceux deux formulaires, il y a une relation père-fils. C'est un lien de parenté. Ce que Access va faire, c'est pour l'enregistrement père, afficher tous les enregistrement relatifs.
    J'ai mis un fichier exemple.
    Dans le formulaire principal Film, j'ai ajouté un sous formulaire pour les genres.
    Si dans la dernière colonne (qui est un contrôle indépendant et une liste déroulante) tu choisis un genre, il est copié dans le contrôle genre qui lui est attaché à une table.
    Pourquoi cette manipulation ?
    Tu verras que si il y a deux enregistrement dans un sous formulaire en mode continu, tous les contrôles prennent la même valeur.


    dans les deux formulaires (lesquels ??)
    Un formulaire et un sous fomrulaire sont des formulaires.
    , ensuite une listé déroulante pour faire ton choix de genre (où ? dans le formulaire FILMS ? Dans le FILM-GENRES ?).

    Mais astuce, la liste déroulante doit être indépendante et la valeur après mise à jour doit être collée dans le bon contrôle. (ici, je ne comprend absolument pas de quoi tu parles)
    C'est expliqué plus haut et montré dans l'exemple.

  12. #12
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    je vois que tu es en de bonne main, je ne rentrais pas dans les échanges d'explications.

    je sais que je me mèle des choses qui ne me regarde pas puis ce que ta question n'est pas sur le MCD mais je pense qu'il serait utile aussi de mettre qq date dans tout ca, date de sortie du film, date d'emprunt et d'agrémenter de qq image, genre affiche du film qui ne sont pas trop difficile à ajouter.

    et puis d'autre détails qui me vienne comme ca:
    .si tu as en support un DVD tu as la possibilité de plusieurs langues, que tu ne gère pas, pour moi c'est utile puisque je parle plusieurs langue et quand je prête j'aime savoir si j'ai la traduction, et de savoir si c'est un sous titrage, mais bien sur : tu fais pas ca pour moi
    .tu as aussi les séries, je ne sais pas si c'est ca que tu appel saga.
    .un petit résumé c'est utile aussi.
    .une note d'appréciation du genre: nb d'étoiles.
    .si c'est un divx: sa qualité
    .la durée du film
    et j'en oublie surement encore puisque je n'utilise pas ce genre de base mais en tout cas c'est ce que j'en attendrais. (je suis parfois trop exigeant je l'avoue)

    enfin ca fait beaucoup pour une première

    pour une conception plus graphique:
    tu pourrais t'inspirer de mon exemple ici pour lister et selectionner le support.
    mais il faut passer voir aussi:
    http://cafeine.developpez.com/access...pseudocontinu/
    et
    http://dolphy35.developpez.com/artic.../FormContinus/

    enfin j'exagère peut être encore sur tes ambitions...

    en tout cas: bon courage !

Discussions similaires

  1. [AC-2007] Soucis de Conception a Double Associations
    Par Vipear dans le forum Modélisation
    Réponses: 4
    Dernier message: 31/01/2010, 16h25
  2. Soucis de conception
    Par polymorphisme dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 16/12/2009, 10h51
  3. [MySQL] souci sur conception requete
    Par fey dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 03/10/2008, 10h09
  4. Système de caméra, soucis de conception
    Par mister3957 dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 29/05/2007, 17h11
  5. [Conception]petit soucis de conception.
    Par le_niak dans le forum Modélisation
    Réponses: 5
    Dernier message: 14/03/2007, 15h48

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