PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 26/03/2013 11:34:22

SQLpro
Membre

Comparatif PostGreSQL 9.2 / SQL Server 2012

Bonjour,


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.

http://blog.developpez.com/sqlpro/p1185 … erver-2012


Vos commentaires sont les bienvenus


Sincères salutations


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

#2 26/03/2013 14:22:14

MitsuTomoe
Membre

Re : Comparatif PostGreSQL 9.2 / SQL Server 2012

Je débute en PG, mais on peut faire des transactions DDL :

conclavi_test=# begin;
BEGIN
conclavi_test=# create table a (x integer);
CREATE TABLE
conclavi_test=# rollback;
ROLLBACK
conclavi_test=# \dS a
Aucune relation nommée « a » n'a été trouvée.
conclavi_test=# begin;
BEGIN
conclavi_test=# \dS a
        Table « public.a »
 Colonne |  Type   | Modificateurs 
---------+---------+---------------
 x       | integer | 

conclavi_test=# drop table a;
DROP TABLE
conclavi_test=# rollback;
ROLLBACK
conclavi_test=# \dS a
        Table « public.a »
 Colonne |  Type   | Modificateurs 
---------+---------+---------------
 x       | integer | 

Du coup, j'ai des doutes sur le reste...

Hors ligne

#3 26/03/2013 14:34:31

MitsuTomoe
Membre

Re : Comparatif PostGreSQL 9.2 / SQL Server 2012

La richesse des types de données de PG n'est pas mise en avant.
Par exemple, je suis en train d'évaluer l'utilisation des types intervalle dans notre projet,
et il semble ne pas y avoir de type booléen dans SQL Server 2012.

Hors ligne

#4 26/03/2013 15:02:17

MitsuTomoe
Membre

Re : Comparatif PostGreSQL 9.2 / SQL Server 2012

Pour ce qui est de la conformité à la norme SQL, PG est plutôt conforme à SQL:2011 .
Extrait de la documentation :

PostgreSQL supports most of the major features of SQL:2011. Out of 179 mandatory features required for full Core conformance, PostgreSQL conforms to at least 160. 

Hors ligne

#5 26/03/2013 18:21:33

arthurr
Membre

Re : Comparatif PostGreSQL 9.2 / SQL Server 2012

Ce monsieur passe son temps à écrire ce genre d'articles TRÈS TRÈS orientés.
Et à la moindre critique il annonce que les gens de la communauté ne supportent pas la moindre critique.

Faut juste laisser passer : un jour il va se fatiguer (ou pas).

Hors ligne

#6 26/03/2013 18:53:39

SQLpro
Membre

Re : Comparatif PostGreSQL 9.2 / SQL Server 2012

MitsuTomoe a écrit :

La richesse des types de données de PG n'est pas mise en avant.
Par exemple, je suis en train d'évaluer l'utilisation des types intervalle dans notre projet,
et il semble ne pas y avoir de type booléen dans SQL Server 2012.


La comparaison ne portait pas sur les types, mais sur les fonctionnalités.
Il est vrai que le type INTERVAL n'existe pas sous SQL Server.
Cela dit, je trouve ce type épouvantable et il me semble PostGreSQL n'est pas conforme à le norme sur ce point. À me lire :
Le type INTERVAL de SQL et ses dangers


En revanche le booléen est représenté par le type BIT et l'on peut écrire MaColonneBit = true

A +


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

#7 26/03/2013 18:56:59

SQLpro
Membre

Re : Comparatif PostGreSQL 9.2 / SQL Server 2012

MitsuTomoe a écrit :

Je débute en PG, mais on peut faire des transactions DDL ...

Relisez bien ce que j'ai écrit, je parle des transactions dans les routines SQL. Je cite le papier :

[C] Transaction explicites : PostGreSQL ne permet pas de démarrer des transactions explicitement par BEGIN TRANSACTION (ou BEGIN WORK) ni des les terminer (COMMIT, ROLLBACK) dans le code des routines.

Exemple :

CREATE FUNCTION F () 
RETURNS VARCHAR(12) 
AS 
$code$ 
BEGIN 
create table a (x integer);
insert into a VALUES (1);
SELECT * FROM a;
ROLLBACK TRANSACTION;
end
$code$ 
LANGUAGE PLPGSQL
SELECT F ()

ERREUR:  la requête n'a pas de destination pour les données résultantes
HINT:  Si vous voulez annuler les résultats d'un SELECT, utilisez PERFORM à la place.
CONTEXT:  fonction PL/pgsql « f », ligne 6 à instruction SQL

********** Erreur **********


État SQL :42601


A +

Dernière modification par SQLpro (26/03/2013 19:03:15)


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

Pied de page des forums