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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

BD relationelle-objet avec pgSQL


Sujet :

Requêtes PostgreSQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut BD relationelle-objet avec pgSQL
    Bonjour,
    Je suis un débutant en pgSQL. Je souhaite modéliser une base de données complexe en relationnelle objet. Je connais les requêtes Oracle pour le faire mais elles ne semblent pas être équivalentes avec pgSQL.
    Je souhaite connaître les requêtes pSQL correspondant au code oracle suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    CREATE TYPE TypeElementaire
    	AS OBJECT 
    		( x VARCHAR(30), y VARCHAR(30))
    /
     
    CREATE TYPE TypeSimple
    	AS OBJECT(
    		champ1 VARCHAR(30),
    		champ2 TypeElementaire,
    		pointeur REF TypeElementaire
    		)
    /
     
     
    CREATE OR REPLACE TYPE Ens_TypeSimple
    	AS TABLE OF TypeElementaire
    /
     
    CREATE TABLE TableCompose OF Ens_TypeSimple	(PRIMARY KEY (champ1))
    	NESTED TABLE Tab_Imb STORE AS Table1;
    J'ai beaucoup de questions de ce genre, si vous pouvez m'indiquer un cours de BD relationnelle-Objet avec pgSQL
    Je vous serai bien reconnaissant. Merci d'avance pour vos réponses

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    De mémoire, je crois qu'avec Postgresql, quand on crée un type, celui-ci est ensuite utilisable comme n'importe quel type standard de Postgresql.

    Pour plus d'info, il y a la doc Postgresql.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Bonne perspective
    CinePhil ,
    Je te remercie pour m'avoir répondu aussi vite. Je vais voir ça.
    Mais pour l'instant je ne vois toujours pas comment créer des pointeurs de type (REF) et des ensembles de type (CREATE TYPE Ens_TypeSimple AS TABLE OF TypeElementaire).


  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Mais pour l'instant je ne vois toujours pas comment créer des pointeurs de type (REF) et des ensembles de type (CREATE TYPE Ens_TypeSimple AS TABLE OF TypeElementaire).
    Dans Postgresql, il n'y a pas d'équivalent aux pointeurs d'Oracle, ni aux sous-tables.
    En revanche les tableaux (ARRAY) de n'importe quel type sont largement gérés.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Bonjour

    sinon, le type hstore (dans le module contrib), est aussi intéressant. Il permet d'avoir dans une colonne un tableau associatif = une liste de clés/valeurs:
    http://www.postgresql.org/docs/9.0/static/hstore.html

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Type tableau
    À chaque fois qu'un type défini par un utilisateur est créé, PostgreSQL crée automatiquement un type tableau associé dont le nom est composé à partir du type de base préfixé d'un tiret bas. Ce type tableau est super car il contient toutes les fonctions de son type père ainsi que deux autres fonctions d'entrée et sortie array_in et array_out. Le type tableau est supprimé quand le type de base l'est.
    Ref https://postgresql.developpez.com/do...tion/francais/

    Je vous remercie pour vos propositions . Je vais tous les analyser. Je suis en train de proposer à ma hiérarchie des bases de données plus structurées que celles que nous avons sur MySQL (au faite elles ne sont même pas structurées)

    C'est dommage qu'il n'y ait pas de pointeurs sur postgres car ça évite bien des répétitions.
    Je considère ce problème comme résolu, mais je viendrai le compléter pour que l'on y trouve les grands trait du relationnelle objet avec PostgreSQL. Je vous invite à y participer.

    Encore merci

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Sauf que le type tableau est contraires aux règles élémentaires de construction des bases de données et notamment à la première forme normale qui veut que 1 colonne d'1 ligne = 1 valeur !

    Je suis en train de proposer à ma hiérarchie des bases de données plus structurées que celles que nous avons
    Ben c'est pas avec le type tableau que ça va s'arranger !

    Si tu nous dis plus concrètement de quoi il s'agit, on pourra t'aider à modéliser dans le forum Schéma.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Pas de relationnelle
    J'évite justement de faire de la modélisation relationnelle car assez complexe pour mon problème: ma modélisation est totalement objet mais suit bien les règles 1, 2,3 NF. Mon but est de simplifier les requêtes.
    Pour l'instant je met ce projet en "stand-by". A très prochainement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Instancier un objet avec le nom de la classe
    Par shinchun dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 13h44
  2. nommer un objet avec une variable
    Par fatcat dans le forum C++
    Réponses: 4
    Dernier message: 11/12/2005, 16h16
  3. Help : Pb d'installation avec pgsql
    Par gueeyom dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 03/06/2004, 17h54
  4. Install TOra avec PgSQL
    Par ange dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 12h09
  5. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo