IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Quel SGBD choisir : Oracle ou Microsoft SQL-Server ?

Le , par dellibmdell

0PARTAGES

0  0 
Dois-je choisir Oracle ou MS SQL-Server?

Qui peut me donner les points forts et les points faibles de chacun de ces SGBD?

En fait je voudrais avoir une idée générale sur les points forts d'oracle comparativement à MS sql/server.

Si je dois les comparer quels sont les points essentiels que je dois aborder.

Merci beaucoup

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de orafrance
Expert éminent sénior https://www.developpez.com
Le 16/06/2009 à 10:10
Et en général c'est l'application qui fait un alter session en fonction du contexte pour éviter d'allourdir les requêtes. Le site web d'Oracle est un parfait exemple pour montrer que l'internationalisation est possible.

Les clients dont tu parles sont entourés d'incompétents c'est tout
2  0 
Avatar de taupe31
Membre à l'essai https://www.developpez.com
Le 14/12/2007 à 23:49
Bonjour,
ayant une assez bonne experience des bases de données (Oracle, Sybase, SQL Server, ACCESS, MySQL, DB2, etc...), je me permets de donner mon avis.

Comparer Oracle à SQL Server sans connaitre le contexte d'utilisation est impossible.
Ces 2 SGBD ont leurs points forts et leurs points faibles et ne sont, à mon sens, pas en concurrence.

Oracle est bien plus riche en fonctionnalités que SQL Server et le PL/SQL est inifiment plus riche que T-SQL.
Mais tout le monde n'a pas besoin de toutes ces fonctionnalités et ne veut pas se noyer dans des concepts qu'il n'utilisera jamais.

Les grands comptes ont des données sensibles et ces données SQL Server ne peut pas les protéger comme Oracle (meme sous windows, Oracle est beaucoup plus fiable).
Par contre, avoir un Oracle pour gerer des petits volumes de données ou des données non sensibles est une folie et un gachi enorme (en terme d'argent et de perte de temps).
C'est vouloir tuer un moustique avec un bazooka.

Ce qui m'enerve le plus, ce sont les gens qui essaient d'utiliser les mauvais outils pour travailler, qui détournent les outils de leur utilisation.
A chaque metier son outil et le monde tournera rond.
1  0 
Avatar de TheLeadingEdge
Membre expert https://www.developpez.com
Le 27/03/2009 à 15:09
Ola Fred,

Citation Envoyé par SQLPro
Encore une fois dans la table ne figure pas les chemins inverses... Je te cite :

On a déjà eu cette discussion il me semble. C'est pas cool de déterrer des vieux topics pour polémiquer.
Si tu lis attentivement ce que tu as cité tu constateras qu'il existe déjà des aller-retours.

CLERMONT-FERRAND LYON 206,11
[..]
LYON CLERMONT-FERRAND 205,04
et
LYON MONTPELLIER 303,6
[..]
MONTPELLIER LYON 301,66
et aussi
MONTPELLIER TOULOUSE 241,3
[..]
TOULOUSE MONTPELLIER 242,34
et encore
CLERMONT-FERRAND MONTPELLIER 335,23
[..]
CLERMONT-FERRAND TOULOUSE 375,6

C'est donc 1 graphe valué orienté cyclique comportant plusieurs composantes fortement connexes.
Ajouter 1 ou plusieurs arêtes ne changera rien à la chose.
La requête déjà fournie retournera toujours un résultat juste au problème du plus court chemin.
Donc avec Oracle on peut gèrer les arbres, mais aussi les graphes. Et même les treillis (qui pour le coup est aussi un cycle Hamiltonien) comme dans l'exemple du ''traveller saleman problem de E. Rich'' ci-dessus.
[HS]Par contre dans ton article (pas mal fait par ailleurs) tu parles du ''problème du voyageur de commerce''. Je ne suis pas d'accord. Il ne s'agit que du plus court chemin ainsi que tu le dis dans cette discussion. [/HS]

Citation Envoyé par SQLPro
Allez, courage... Oracle va peut être te permettre de faire cela avec une requête encore plus tordue... ;-)

chiche ... Tu sais bien que je ne vais pas résister. Mais c'est juste pour le fun. La requête que j'ai donné fonctionne trés bien.
Dans ma 1ere réponse j'ai dit que je ne voulais pas bricoler la chaîne trajets et que j'avais choisi de le faire en SQL.
(Petit apparté, si tu trouve tordu un classique appareillage maitre/détail, comment tu qualifies une division relationnelle alors ?)
En fait j'avais d'abord utilisé les expressions régulières pour faire le total.
Voilà ce que ça donne (et j'ai rajouté les 2 aller-retours de ton post, dsl, je n'ai pas trouvé le etc..)

Code SQL : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  
SQL> SELECT     * 
  2  FROM               Carte 
  3  ; 
PARIS                            CLERMONT-FERRAND                        422 
PARIS                            LYON                                    463 
CLERMONT-FERRAND                 PARIS                                   422 
CLERMONT-FERRAND                 LYON                                    206 
CLERMONT-FERRAND                 MONTPELLIER                             335 
CLERMONT-FERRAND                 TOULOUSE                                375 
LYON                             PARIS                                   463 
LYON                             CLERMONT-FERRAND                        205 
LYON                             MONTPELLIER                             303 
MONTPELLIER                      CLERMONT-FERRAND                        332 
MONTPELLIER                      LYON                                    301 
MONTPELLIER                      TOULOUSE                                241 
TOULOUSE                         CLERMONT-FERRAND                        374 
TOULOUSE                         MONTPELLIER                             242 
  
14 ligne(s) sÚlectionnÚe(s). 
  
SQL> WITH T AS 
  2  ( 
  3  SELECT     CONNECT_BY_ROOT depart || SYS_CONNECT_BY_PATH (destination, 
  4             SYS_CONNECT_BY_PATH (km, '+') AS x 
  5  FROM               Carte 
  6  WHERE      CONNECT_BY_ROOT depart = 'PARIS' 
  7  AND                destination = 'TOULOUSE' 
  8  CONNECT BY NOCYCLE PRIOR destination = depart 
  9  AND                destination <> CONNECT_BY_ROOT depart 
 10  ) 
 11  SELECT     CAST (t AS VARCHAR(48)), 
 12             CAST (x AS VARCHAR(16)), 
 13             CAST (SUM (CASE SUBSTR(x, LEVEL, 1) 
 14             WHEN '+' 
 15             THEN REGEXP_SUBSTR (SUBSTR (x, LEVEL, LENGTH(x)), '^[+][0-9 
 16             END) AS VARCHAR(8) ) 
 17  FROM               T 
 18  GROUP BY   t, 
 19             x 
 20  CONNECT BY  x = CONNECT_BY_ROOT x 
 21  AND                LEVEL <= LENGTH(x) 
 22  ; 
PARIS,CLERMONT-FERRAND,LYON,MONTPELLIER,TOULOUSE +422+206+303+241 1172 
PARIS,LYON,MONTPELLIER,CLERMONT-FERRAND,TOULOUSE +463+303+332+375 1473 
PARIS,CLERMONT-FERRAND,MONTPELLIER,TOULOUSE      +422+335+241     998 
PARIS,LYON,CLERMONT-FERRAND,MONTPELLIER,TOULOUSE +463+205+335+241 1244 
PARIS,LYON,MONTPELLIER,TOULOUSE                  +463+303+241     1007 
PARIS,CLERMONT-FERRAND,TOULOUSE                  +422+375         797 
PARIS,LYON,CLERMONT-FERRAND,TOULOUSE             +463+205+375     1043 
  
7 ligne(s) sÚlectionnÚe(s).
1  0 
Avatar de Waldar
Modérateur https://www.developpez.com
Le 19/05/2009 à 17:31
Un bout d'un post que j'ai mis dans le forum Oracle après l'intervention de SQL Pro, mais il a plus sa place ici.

************************************************

De mon côté j'ai une plus longue expérience SQL avec Oracle qu'avec SQL Server.
Je travaille dans la BI donc quand j'interviens les applications sont déjà terminées.

Ce que je trouve déroutant avec SQL Server ce sont les paramètres par défaut suivants :
- commit implicite si on ne déclare pas de transaction
- pas de format de date explicite (convert avec des type 101 102 et cetera, ou cast depuis les paramètre locaux ou format ISO si j'ai bien suivi)
- typage de donnée conservé sans regarder l'opérateur : 5/2 = 2
- collation CI plus ou moins par défaut : 'Aeé' = 'aEÉ'
- rtrim plus ou moins par défaut également : 'A' = 'A '

S'ajoute à celà un peu de retard en SQL sur Oracle :
- les analytiques de SQL:2008
- expressions régulières en SQL natif
- les jointures externes partitionnées
- la clause model non normative

Si je dis des inepties n'hésitez pas à me reprendre ça améliorera mon quotidien !
1  0 
Avatar de SQLpro
Rédacteur https://www.developpez.com
Le 15/06/2009 à 17:50
Oracle est pas gentil
Enfin, une vérité vraie !!!

A +
1  0 
Avatar de Fabien Celaia
Rédacteur/Modérateur https://www.developpez.com
Le 11/03/2003 à 9:31
En gros, l'administration d'Oracle est plus complexe que MS-SQL et sa demande en ressources plus importantes.
Par contre, il fonctionne sous NT et Unix et permet de gérer de gros volumes de données.
Il y a d'autres alternatives, de type Sybase ASE, qui permettent de gérer ses bases à la mode MS-SQL (c'est renversant de dire ça, compte tenu que MS-SQL vient de Sybase), tout en obtenant des performances élevées et en ayant la possibilité de travailler sur divers OS.

Ce que Oracle(9i) fait, mais pas MS-SQL(2000)
- sécurité au niveau ligne
- JVM inclue dans le moteur (mais sans support JIT)
- support SQLJ, niveau 0 et 1
- gestion cluster (optionnel), haute disponibilité (homis WSB)
- édition des plan d'exécution
- parallélisme pour insert et update (optionel)
- backup et restore parallèles
- tables de résumé
- roles définis par l'utilisateur
- gouverneur de ressources
- attribution de priorités (optionel)

Ce que MS-SQL(2000) fait, mais pas Oracle(9i)
- recherche XML (ce n'est plus vrai depuis la 9.0.2)
- verrouillage au niveau page
- gestion de données hétérogènes
- coût moindre

C'est pas une liste exhausitive... et je me réjouis de la rafraîchir avec les commentaires des autres membres.

Je suis de plus sûr qu'une des FAQ de SQLPro devrait conmprendre une lsite exhaustive...
0  0 
Avatar de vanquish
Membre chevronné https://www.developpez.com
Le 14/03/2003 à 16:12
Aux arguments de Fadade, j'ajouterais qu'à mon sens, MS SQL-Server est d'une prise en main beaucoup plus rapide qu'Oracle.

D'une façon générale, pour le meilleur et pour le pire on est tous habitué aux interfaces Microsoft.

MS SQL-Server propose aussi une version Lite gratuite nommé MSDE (gratuite pour peu qu'on utilise un langage MS - mais si ce n'est que cela je te fais un "hello world" en VB, auquel j'adjoint des plugins écrit en ce que je veux).

Il ne me semble pas qu'il y ai d'équivalent Oracle (en terme de gratuité et de redistribuabilité).
0  0 
Avatar de Maxence HUBICHE
Expert éminent https://www.developpez.com
Le 15/03/2003 à 11:58
MSDE, pour etre Lite c'est Lite :
Optimisé à 5 connexions concomittentes ....
Je suppose que, s'il faut comparer Oracle et SQL Serveur, c'est qu'il y a plus d'utilisateurs que ça !!!
0  0 
Avatar de SQLpro
Rédacteur https://www.developpez.com
Le 15/03/2003 à 16:51
grosso modo : Oracle est plus intègre mais moins rapide
MS SQL Server est plus rapide mais moins intégre.

Les volumes traités aujourd'hui sont comparable.

L'administration de SQL Server est un poil plus facile.
Le langage procédural de SQL Server est plus simple que celui d'Oracle. En gros le PL/SQL d'ORACLE ressemble à de l'Ada, celui de MS SQL Server (et de Sybase ASE) est plus direct, rapide et facile à écrire...
0  0 
Avatar de Fabien Celaia
Rédacteur/Modérateur https://www.developpez.com
Le 16/03/2003 à 11:35
MS-SQL ne gère pas un environement cluster. Il est possible toutefois de l'utiliser sur du NT cluster, et il réagira comme n'importe quel autre service (redémarrage du service sur le noeud valide lors d'un crash), mais cela n'en fait pas un serveur cluster.

Il n'est par exemple pas possible de travailler sur une même base partant de deux noeuds différents (en mode actif-actif), compte tenu que le service MSSQL ne peut être démarré que sur un noeud à la fois.
0  0