Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Requête de recherche [ Access / Requêtes ] (evay16)

mardi 19 décembre 2006 à 15:00:35 | Requête de recherche

evay16

Bonjour,

Voila, pour l'un de mes examens d'informatique, nous avons du concevoir sous Access, la base de données d'une vidéothèque.
J'ai organisé une Table "Films" avec les champs suivant :

IDFilm
Titre
Realisateur
Acteurs
Scenariste
Annee
Studio
Genre
GenreBis
DateSortie
Duree
Disponible
Support

J'ai placé le type du champ "Acteur" à 255 caractères (Texte) afin de pouvoir y placer le nom des différents acteurs les plus importants figurant dans chaque film.

A l'aide d'un formulaire indépendant, j'ai placé autant de filtre que de champs, c'est-à-dire que l'on pouvais, par exemple, rechercher le nom d'un acteur à travers la liste de film en se tablant sur le champ "Acteurs" de la table "Films".

Le but de l'examen étant ici de montrer l'utilisation de requêtes SQL, je n'ai donné la possibilité que de rechercher uniquement un acteur (en rechercher plusieurs aurait était facile, il fallais uniquement rajouter une zone de texte "ActeurBis" etc. comme je l'ai fait pour les genres du film.

Mon prof m'a alors dit que sur une base de donnée de plusieurs millier d'enregistrements (nous nous fixeront le nombre de 3000 enregistrements) la recherche serai lente de par le fait qu'il faille analyser le contenu d'un champ de 255 caractères pour chaque enregistrement pour retrouver celui ou ceux souhaité(s).

Il m'a donc proposé comme solution de créer une table "Acteur" comportant les noms de ceux ci (ainsi qu'un ID unique) et de créer une table qui servirai uniquement de relation entre les films et les acteurs en y placant les ID de ceux-ci en relation avec les ID des films dans lesquels ils ont joués.

Sur une base de données d'environs 3000 enregistrements, connaissant la puissance et la rapidité des requêtes SQL, la différences de temps n'est elle pas purement mathématique ? (Si toute fois il y a différence de temps)

Il ma aussi dit, que la base de donnée, serai plus grosse de par le fait de l'utilisation d'un champ de 255 caractères, d'un autre coté, mon champ de 255 caractères évite la création de 2 tables (la table qui met en relation les acteurs avec leur film ainsi que celle ou sont référencé tout les noms des acteurs avec leur ID)

Que pensez-vous de cette remarque ? Dans le cas d'une Vidéothéque, cela change-t-il vraiment quelque chose ? La base de donnée sera elle réelement plus grosse dans le cas de l'utilisation d'un champ de 255 caractères par rapport à 2 tables supplémentaires.

D'avance, merci pour vos réponse & Bonne prog a tous.




vendredi 22 décembre 2006 à 12:00:45 | Re : Requête de recherche

Malkuth

Membre Club
Réponse acceptée !
Ben en fait oui et non
2 choses :

Tu as raison pour 3000 enregistrement c'est pas grand chose(encore que Access...).

MAIS imagine que t'as viéothéque est en ligne et que ca cartonne et que tu as 300 requette secondes(Bon faut vraiment que ca cartonne!!!).
MAIS imagine que t'as vidéothèque Grossisse A 100000 enregistrements...
MAIS imagine que ton client est supercontent de sa vidéothèque et qu'il veuille créer un affichage par auteur(la tu vas galéré sans table à par et sans être impossible, la sollution demandera des ressources disproportionnée par rapport au problème)

ENFIN La solution de ton prof est plus éléguante, les bases de donnée sont prévu pour faire du relationnel, c'est là qu'elles se différencie d'un fichier Excel et c'est comme cà qu'il faut s'en servir, on le voi la solution a trois table est beaucoup plus évolutive, elle permetrat au administrateur de vérifier plus facilement les Auteur en doublon, et en plus on pourrat rajouter queques champs dans la table auteur (Naissance,Mort,Biographie...). dans la création d'une base de donnée, il faut toujours pensée a l'évolution future de celle-ci (c'est capiutale quand ton client change d'avis Trois ou quatres fois avant d'être satisfait, ou veut faire évoluer son produit).

c'est souvent un peu chiant au départ mais on en voi vite le bénéfice quand on a affaire a des client qui ne définissent jamais un cahier des charge parfait des le premier jet(quand il en font un).

vendredi 22 décembre 2006 à 16:20:43 | Re : Requête de recherche

evay16

Bonjour,

Merci pour votre réponse, effectivement, je me suis procuré diverses bases de données qui pourraient me servir d'exemple et on remarque que cette technique est très souvent utilisée.



Cette discussion est classé dans : base, table, champ, caractères, acteurs


Répondre à ce message

Sujets en rapport avec ce message

changer le nom d'un champ dans une base access [ par oluha ] BonjourJ'aimerai savoir s'il est possible de changer le nom d'un champ d'une base access avec une requête sql ?En cherchant sur le web j'ai trouvé ces somme terme a terme éléments d'un champ [ par negstar971 ] Comment je dois faire si avec un table comme la suivante | relevé ||    2     ||    3     ||    4     ||&nb COMMENT FAIRE UN CHAMP like UN AUTRE CHAMP [ par Delph83 ] Bonjour tout le monde Voilà j'ai un problème avec une requête sql et la clause LIKE : <P class=MsoNormal style="MARGIN: 0cm 0 erreur 1785 [ par sev622 ] Bonjour, Je crée des tables avec pas mal de foreign key et j'ai l'erreur suivante :Serveur : Msg 1785, Niveau 16, État 1, Ligne 1L'introduction d'une Base de données MSDE [ par moneyboss ] Bonjour, Pour des besoins professionnels, je vais utiliser MSDE mais je ne connais pas ce SGBD. 1 >Je voudrais savoir s'il existe de la doc à téléch probleme de comparaison de table [ par ehmarc ] SalutJe suis sous MySQL voici ma requetejai deux table t1 et t2 qui ont en gros une soixantaine d'entrer chacunneje veut faire ressortir les champ qui Accent dans un champ de base [ par Evangun ] Bonjour! Je sens que c'est une question qui est posée tous les jours mais.... J'ai installé EasyPHP 8 et bam! les caractères accentués des titres de Procédure Stockée Recherche dans une table [Urgent] [ par Mr Capone ] Bonjour, je souhaite a l'aide d'une procédure stocké savoir si une valeur existe dans une table mais j'y arrive pas. voici mon code : create proced Creation de table sql server [ par emmanuel9 ] Bonjour à tous, Je voudrais créer une base de données avec sql server : - en faite j'ai plusieurs table comme "personne" et pour cet table j'ai un Drop all table ? [ par Zart ] Bonjour,Je travaille sur une base PgSQL. Je voulais savoir si y avait une instruction pour vider le contenu d'une base totalement.La première chose qu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,856 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.