Pourquoi Access n'est pas bien ? [SGBD] - SQL/NoSQL - Programmation
Marsh Posté le 10-06-2003 à 12:28:34
- Access n'est pas un SGBD client/serveur
- Access n'est pas fiable au delà d'environ 5 connections simultanées
- Les bases Access sont limitées à 1Go en taille
- Nécessité de partager un répertoire pour y accéder en réseau => sécurité à revoir
- Access est très lent
- Etc...
Marsh Posté le 10-06-2003 à 12:30:53
merci bcp t un pote
Marsh Posté le 10-06-2003 à 13:38:18
ne sait pas faire des requetes complexes,
ne respecte pas la norme SQL.
n'est pas multi-utilisateur
------
par contre,
est tres portable ( un seul fichier )
facile d'utilisation
très repandu
est gratuit à l'utilisation
ne necessite pas forcement access pour fonctionner.
Marsh Posté le 10-06-2003 à 14:36:37
merci beaucoup
euh... désolé si j'abuse mais
j'aurais la même question pour mon passage ASP -> PHP
pour l'instant g ça :
-langage propriétaire:
C’est un inconvénient dans la mesure où pour tout ajout de module indépendant, la communauté ASP étant très réduite, il faut payer pour l’obtenir.
- ensuite, il est bien moins utilisé que PHP donc, en cas de problème, il bien moins aisé de trouver une personne qui peut nous aider sur un forum ou autre.
Marsh Posté le 10-06-2003 à 14:41:56
sire de botcor a écrit : merci beaucoup |
Pour les composants, ils sont souvent payants, c'est un fait.
"La communauté ASP étant très réduite" "il est bien moins utilisé que PHP", par contre, c'est un poil n'importe quoi.
C'est pas parce qu'il n'y a à peu près que des PHPistes sur ce forum-ci que c'est le cas partout
Marsh Posté le 10-06-2003 à 14:43:05
DeliriumTremens a écrit : |
oui mais en comparaison...
c vrai j'aurais dû mettre plus réduite que celle de l'ASP
Marsh Posté le 10-06-2003 à 14:49:25
Par contre, une preuve tangible :
"asp" sur Google ne donne que 136'000'000, contre 224'000'000 pour "php"
Le jour et la nuit
Marsh Posté le 10-06-2003 à 15:02:52
plus réduite ça va quand même...
Marsh Posté le 10-06-2003 à 15:03:41
et puis il y a plus de mots qui contiennent asp que php !
(va placer php dans un mot...)
Marsh Posté le 10-06-2003 à 17:34:20
la viper a écrit : ne sait pas faire des requetes complexes, |
MySQL est également très limité au niveau SQL, j'ai pu faire des requêtes + complexes sous access que sous MySQL.
Marsh Posté le 10-06-2003 à 18:01:55
baggins a écrit : j'ai pu faire des requêtes + complexes sous access que sous MySQL. |
du genre?
Marsh Posté le 10-06-2003 à 18:13:05
baggins a écrit : |
+1
faites un sous-select ou un union avec mysql (sauf dernières versions je crois)
Marsh Posté le 10-06-2003 à 18:17:49
Harkonnen a écrit : - Access n'est pas un SGBD client/serveur |
perso j'aime pas access, mais faut vérifier pourquoi on l'utilise...
si on utilise ce produit c'est qu'on a pas besoin du client/serveur...
pas pour rien que dbase, paradoxe sont encore utilisé,
c'est des bd utilisé en monoposte, alors pas besoin de la lourdeur d'un client / serveur
de plus la limite est passé à 2gig pour la version 2000 et le nombre de connection simultané aussi
ça doit encore surement être plus pour la version 2002
pour l'utilisation qu'on demande de ce genre de produit les limites qu'il impose sont convenable
si on doit utiliser une bd en monoposte qui a une taille de 2 gig autant opté pour du client serveur
si c'est lent c'est que tu as mal fait tes schéma de taille
au collège nous avions des tables access avec plus de 500 000 enregistrement et c'était réactif... mais j'en ai vu d'autre qui en avait même pas 2000 qui était lent à mourir
c'est une question de design
Marsh Posté le 10-06-2003 à 18:19:36
la viper a écrit : ne sait pas faire des requetes complexes, |
il y a une bd qui respecte à 100% la norme sql?
je doute
Marsh Posté le 10-06-2003 à 18:28:40
Il demande juste les avantages et inconvénients, je les lui cite
Marsh Posté le 10-06-2003 à 19:30:22
sire de botcor > Déjà, je crois qu'il y a un souci là... Comment t'as pu choisir un outils plutôt qu'un autre sans connaître les avantages inconvénients de l'autre ?
Ce qu'a dit Harkonnen est globalement vrai. Pour certaines limitation qu'il a annoncé, y'a moyen de squizer plus ou moins certaines d'entre elles, mais rien de bien génial. Juste un petit bémole quant à la lenteur : si c'est pour gérer un faible volume d'information, les différences de vitesses sont très faibles, donc cet argument n'est pas toujours valable.
La limitation est taille physique est en fait dépendante de la FAT. (Access stock tout dans un gros fichier). En NTFS et un moteur récent d'access, cette limitation physique est bien pus importante. Cependant, la limitation logique d'access et de 500 000 lignes par tables au delà M$ ne garantissant pas le bon fonctionnement de la base.
la viper > Je ne suis pas d'accord quant aux requêtes complexes. A partir de la version 2000, access supporte rigoureusement la même syntaxe que SQL Server (mise à part la couche T-SQL qu'on peut émuler par macro).
Access respecte pas moins la norme SQL que MySQL, et d'ailleurs, mise à part Ingres (et non pas PosteGRE) AUCUN SGBD ne respecte la norme, cette dernière ayant cessé d'évoluer depuis un long moment déjà. A savoir qu'Access est plus conforme à la norme SQL que ne l'est Oracle, qui est pourtant le principal organisme garant de la norme et de son développement (je crois que ce n'est plus d'actualité par contre, mais ça l'était il y a encore quelques années)
Access EST multi-utilisateur pour ce qui des données par session (Access supprote notamment les transactions via MTS (Microsoft Transaction Server) qui vient se greffer sur le moteur MSJET via OLEDB.
Pour ce qui est de passer de l'ASP au PHP, personnellement, je ne vois pas pas de réel gain, si ce n'est le prix de l'hébergement, et encore, pour un hébergement pro, on tombe vites sous les mêmes tarifs.
Pour ce qui est de ASP moins répendu que PHP, c'est FAUX.
Ci dessous une analyse de l'état du web par NetCraft, l'équivalent de l'INSEE pour ce qui est des technos web.
Apache est effectivement en tête devant IIS. Seulement, comme l'explique l'article qui va avec, Apache est très souvent utilisé pour des serveurs mutualisés (Free ou Multimania par exemple), alors que c'est très rare pour IIS. Hors, leurs stats s'appuient sur l'analyse des sites, et non pas des serveurs. Le graph est afiné au niveau IP et DNS, seulement, une machine mutualisée a très souvent autant d'IP/DNS que de sites dessus. On se rend donc rapidement compte que Apache na pas tant d'avance que ça sur IIS. Deplus, mais c'est de moins en moins vrai, IIS n'est utilisé que pour des sites dynamiques à cause du prix de la licence Windows, alors que Apache héberge encore bon nombre de sites 100% statiques (Wanadoo par exemple), le PHP n'étant donc pas utilisé systématiquement.
Pour ce qui est de la communauté, elle n'est pas plus maigre que celle de PHP, et on trouve bon nombre d'excellents sites d'aide/tutoriaux pour l'ASP.
Pour ce qui est des composants externes, l'ASP est depuis le départ compatible COM/DCOM. Il suffit donc que tu prennes ton C++ à deux main et tu peux te faire tes propres composants ou filtres ISAPI. Le SDK pour ces derniers est d'ailleurs gratuit, quand au COM/DCOM, tu peux carrément interfacer un programme qui tourne sous Linux avec. Sinon, il est vrai toutefois que les composant tous faits sont généralement payant pour l'ASP alors qu'ils sont gratuits pour PHP, voir directement intégrés dans Apache.
DeliriumTremens > Bof, ça ne fait que 40% de plus... Avec 136 millions de sites traîtant de l'ASP, y'a déjà de quoi trouver son bonheur
Marsh Posté le 10-06-2003 à 19:31:24
DarkLord a écrit : |
T'as la mémoire courte... Y'a quelques semaines je t'ai pondu deux pages de requêtes faisable sous Access qui ne sont à ce jour supportées que par Oracle et SQL Server (et aucun autre SGBD)
SELECT * |
La première est assez classique, mais ne tourne pas surles versions actuelles de MySQL
Quant à la seconde, à cause du SELECT dans le SELECT (avant le FROM) elle n'est à ma connaissance supportée que par Oracle 8i et + ainsi que SQL Server 2000 et Access 2000 et +
PS: si tu me trouves ce que fait la seconde requête, t'as droit à une sucette
Marsh Posté le 10-06-2003 à 19:32:47
ReplyMarsh Posté le 10-06-2003 à 20:00:36
interresant,je suis en train de faire le meme type de projet pour mon stage
mais bon,c'est moi qui ai choisi d'utiliser php mysql
Marsh Posté le 10-06-2003 à 20:11:50
Urd-sama a écrit : faites un sous-select ou un union avec mysql (sauf dernières versions je crois) |
union est possible en 4.0 (dispo en finale) et les subqueries en 4.1 (dispo en alpha mais ça fonctionne)
Marsh Posté le 10-06-2003 à 20:13:09
os2 a écrit : il y a une bd qui respecte à 100% la norme sql? |
j'en ai trouvée une un jour, mais c'était plus expérimental qu'autre chose, je crois que ça s'appelait Ocelot et je l'avais trouvé sur un site spécialisé en bases de données. Il me semble que je cherchais de la doc sur la norme SQL 99 ce jour là.
Marsh Posté le 10-06-2003 à 20:14:07
DeliriumTremens a écrit : Par contre, une preuve tangible : |
en même temps c'est plus d'une centaine de millions pour chacun, c'est quand même énorme
Marsh Posté le 10-06-2003 à 20:17:19
drasche a écrit : |
elle n'est que : full SQL-92 Standard
Marsh Posté le 10-06-2003 à 20:21:27
os2 a écrit : elle n'est que : full SQL-92 Standard |
ce qui n'est déjà pas si mal
Marsh Posté le 10-06-2003 à 20:24:56
drasche a écrit : |
Pas besoin d'aller si loin Ingre support à 100% de SQL 92, puisque c'est à partir de leur application qu'a été écrite la norme
Marsh Posté le 10-06-2003 à 20:35:12
mon chef, qui n'est pas une source particulièrement fiable d'informations, mais grand fan d'Access, m'a dit dernièrement que officiellement, Microsoft ne supporte pas les MDB de plus de 20MB.
quelqu'un peut confirmer/infirmer?
Marsh Posté le 10-06-2003 à 20:44:12
drasche a écrit : mon chef, qui n'est pas une source particulièrement fiable d'informations, mais grand fan d'Access, m'a dit dernièrement que officiellement, Microsoft ne supporte pas les MDB de plus de 20MB. |
non il est vraiment pas fiable
une petite recherche sur google et tu trouveras aisément la réponse... de plus je ne crois pas que access serait populaire si on serait limité à 20 meg
Marsh Posté le 10-06-2003 à 20:45:42
drasche a écrit : mon chef, qui n'est pas une source particulièrement fiable d'informations, mais grand fan d'Access, m'a dit dernièrement que officiellement, Microsoft ne supporte pas les MDB de plus de 20MB. |
C'était le cas pour Access 2
Depuis, je n'ai jamais retrouvé de chiffre officiel de la part de M$.
Mais dans l'absolu la limite de 500 000 lignes par table est d'actualité, Access étant incapable d'indexer correctement les donées à partir de ce volume.
=> Risque d'oubli de lignes dans les requêtes/risque de contraintes violées pour cette raison
=> Temps énorménent long lors de la mise à jour des indexes
Marsh Posté le 10-06-2003 à 20:47:01
os2 a écrit : non il est vraiment pas fiable |
tu n'as pas bien lu mes mots, j'ai dit support officiel (donc si t'as des merdes et tout ça), ce qui n'est pas la même chose par rapport aux capacités réelles d'Access (j'ai des DBs en Access 97 qui avoisinnent les 500MB au boulot ). Donc je veux parler d'une vraie garantie de Microsoft plutôt que des capacités techniques d'Access.
Marsh Posté le 10-06-2003 à 20:50:52
DeliriumTremens a écrit : Par contre, une preuve tangible : |
Aspirine ?
Marsh Posté le 10-06-2003 à 20:52:16
J'ai pas tout lu, c'est issu de l'aide de Access XP :
|
Marsh Posté le 10-06-2003 à 23:56:32
sinon pour information access est tres utilisé par bcp d'entreprise ayant des tres gros system sous windows 2000 et bientot 2003 en effet la base des objet active directory est integralement stocké dans une base de données access (légerement modifié pour ke access lui meme puisse pa la lire), ad y stoke tou compte machine, OU, groupe, utilisateur, stratégie ect .....
Et la norme ad c 1 000 000 d'bjet donc une base access ca doit tenir la route ..............
Aller tou le monde panique pour son ad !!!!!! il est pa plus stable ke access
Marsh Posté le 11-06-2003 à 02:02:16
comprends pas pourquoi ces même entreprises utilisent pas SQL server si ils ont des serveurs win 2000...
Marsh Posté le 11-06-2003 à 07:53:09
uriel a écrit : comprends pas pourquoi ces même entreprises utilisent pas SQL server si ils ont des serveurs win 2000... |
pareil, à mon avis il confond Access et SQL Server. En tout cas si j'avais le choix entre les deux, je prends SQL Server de suite, faut pas rigoler non plus
Access est pour l'essentiel un produit plutôt grand public que professionnel à mon sens.
Marsh Posté le 11-06-2003 à 08:25:32
MagicBuzz a écrit :
|
Liste des articles avec le nom du dernier correcteur.
Je veux ma sucette !
Marsh Posté le 11-06-2003 à 10:57:22
tant qu'on est dans les bdd,vous pensez que c'est mieux mysql ou sql server ?
Marsh Posté le 11-06-2003 à 10:59:16
on ne va pas de nouveau rentrer dans ce troll infâme (enfin ça risque de tourner au troll).
Ca dépend de ton application et de ses besoins techniques, seule une bonne analyse te donnera des indications sur les fonctions attendues du serveur base de données.
edit: si ça se trouve aucun des deux ne sera bon.
Marsh Posté le 11-06-2003 à 11:03:02
drasche a écrit : on ne va pas de nouveau rentrer dans ce troll infâme (enfin ça risque de tourner au troll). |
ben c'est pour faire un site a base de php.J'ai préféré prendre mysql parce que c'est ce qu'il y a de plus utilisé avec php,mais si je dis ca le jour du bts, ca va faire top.
Vu que je n'ai jamais utilisé sqlserver,donc j'aurai pas d'argument de pourquoi j'ai pas utilisé sql server.
Marsh Posté le 10-06-2003 à 12:19:40
Salut !
Faut que je justifie mes choix pour un rapport de stage :
pourquoi je suis passé d'une base Access vers une base MySQL.
Qqun pourrait-il me donner d'autres idées ?
Genre, qu'est-ce qu'il y a comme bug, etc
merci d'avance
Message édité par sire de Botcor le 10-06-2003 à 12:29:09
---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron