Comparatif des fonctionnalités PostGreSQL 9.2 SQL Server 2012

Voici une étude comparant les fonctionnalités de Microsoft SQL Server version 2012 et de PostGreSQL version 9.2.
Dans ce comparatif des fonctionnalités de nombreuses sources et explication sont fournies.
Comparaison PostGreSQL 9.2 Microsoft SQL Server 2012 fonctionnalités

Le site web sur le SQL et les SGBDR
MVP Microsoft SQL Server


Frédéric Brouard, alias SQLpro, ARCHITECTE DE DONNÉES
Expert  S.G.B.D  relationnelles   et   langage  S.Q.L
Moste  Valuable  Professionnal  Microsoft  SQL Server
Société SQLspot  :  modélisation, conseil, formation,
optimisation,  audit,  tuning,  administration  SGBDR
Enseignant: CNAM PACA, ISEN Toulon, CESI Aix en Prov.

L’ntreprise SQL Spot

4 réflexions au sujet de « Comparatif des fonctionnalités PostGreSQL 9.2 SQL Server 2012 »

    1. Avatar de SQLproSQLpro Auteur de l’article

      Oui, mais ce n’est justement pas le comportement attendu. Ceci n’a rien à voir avec la déferrabilité des contraintes. Lisez mon livre sur SQL et complétez par cet article :
      http://blog.developpez.com/sqlpro/p6025/langage-sql-norme/contraintes_sql_et_deferabilite
      L’usage de la defferabilité dans ce cas est parfaitement injustifiable car il n’y a pas de transaction portant sur plusieurs ordre SQL comme c’est le cas de références circulaire.
      Bref, c’est une solution de contournement à un problème que PostGreSQL ne sait pas résoudre (alors que tous les autres SGBSR comme Oracle, DB2, Sybase ou MS SQL Server le font…).
      En effet, la solution avec la déférabilité pourrait entacher le comportement global de la transaction avec un résultat inattendu, d’autant plus que PostGreSQL ne sait pas gérer les transactions dans les routines…

  1. Avatar de CinePhilCinePhil

    Bonjour Fred,
    J’ai lu le début et j’ai déjà plein de questions alors j’ai arrêté. Tu devrais donner des explications ou renvoyer vers des sources pour expliquer les termes que tu emploies.
    Par exemple…
    1) À « Serveur multibase », tu dis « oui » pour SQL Server et « oui (mais cloisonnement) » pour PostgreSQL.
    Chez MySQL, on peut créer plusieurs BDD sur un serveur mais il me semble que celles-ci sont étanches : on ne peut pas faire une requête sur plusieurs BDD en même temps mais on peut en faire sur plusieurs schéma à l’intérieur d’une BDD, contrairement à MySQL qui confond la notion de BDD et de schéma et qui autorise donc les requêtes « multi-bdd ».
    Cela veut-il dire que sur SQL Server, on peut faire une requête sur plusieurs BDD en même temps ?

    2) Qu’appelles-tu « Requêtes de mise à jour ensemblistes » ?
    Une requête UPDATE agit sur l’ensemble des lignes de la table, ensemble éventuellement restreint par une clause WHERE, dans tous les SGBD !

    1. Avatar de SQLproSQLpro Auteur de l’article

      1) dans MS SQL Server on peut par exemple faire une requête telle que :

      SELECT o1.name AS MASTER_NAME, o2.name AS MSDB_NAME
      FROM   master.sys.objects AS o1
             FULL OUTER JOIN msdb.sys.objects AS o2
                  ON o1.object_id = o2.object_id
      WHERE  o1.name IS NULL OR o2.name IS NULL;

      2) par requête ensembliste une requête qui bascule GLOBALEMENT l’état de l’ensemble des données d’un seul coup. par exemple :

      -- créons une table dotée d'une unique colonne
      -- les valeurs de cette colonne étant impérativement unique...
      CREATE TABLE T_SET (VAL INT UNIQUE)
      -- insérons quelques valeurs qui respectent l'unicité :
      INSERT INTO T_SET VALUES (-8)
      INSERT INTO T_SET VALUES (-7)
      INSERT INTO T_SET VALUES (-6)
      INSERT INTO T_SET VALUES (-5)
      INSERT INTO T_SET VALUES (-4)
      INSERT INTO T_SET VALUES (-3)
      INSERT INTO T_SET VALUES (-2)
      INSERT INTO T_SET VALUES (-1)
      INSERT INTO T_SET VALUES (0)
      INSERT INTO T_SET VALUES (1)
      INSERT INTO T_SET VALUES (2)
      INSERT INTO T_SET VALUES (3)
      INSERT INTO T_SET VALUES (4)
      INSERT INTO T_SET VALUES (5)
      INSERT INTO T_SET VALUES (6)
      INSERT INTO T_SET VALUES (7)
      INSERT INTO T_SET VALUES (8)

      UPDATE T_SET
      SET  VAL = POWER(VAL, 3)

Laisser un commentaire