Diagrammi E-R (Entità – Relazione) – Basi di dati

  • Creatore
    Topic
  • #74112
    Up
    0
    Down
    ::


    Buongiorno ragazzi,
    entro nel vivo della tesi, e dovrei creare dei Diagrammi E-R che faranno da supporto all’intero progetto. Ho caricato un file per farvi vedere di cosa tratta.

    E’ possibile realizzarli facilmente in LaTeX o mi devo poggiare su qualche applicativo, creare il documento e poi applicarlo alla tesi come file d’immagine? Questa soluzione la trovo poco ortodossa, passatemi il termine.

    Grazie per le idee e risposte,
    Simone

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 27 filoni di risposte
  • Autore
    Risposte
    • #74113
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        IneXperience” post=73031Buongiorno ragazzi,
        entro nel vivo della tesi, e dovrei creare dei Diagrammi E-R che faranno da supporto all’intero progetto. Ho caricato un file per farvi vedere di cosa tratta.

        E’ possibile realizzarli facilmente in LaTeX o mi devo poggiare su qualche applicativo, creare il documento e poi applicarlo alla tesi come file d’immagine? Questa soluzione la trovo poco ortodossa, passatemi il termine.

        Grazie per le idee e risposte,
        Simone

        Forse potrebbe piacerti qualcosa di più elaborato ripetto a codice TikZ di base come questo.

        Leggi il manuale di tikz-er2 disponibile in pdf.

        Esiste anche la possibilità di lavorare con pstricks.
        R.

      • #74114
        Up
        0
        Down
        ::

        robitex” post=73033

        Buongiorno ragazzi,
        entro nel vivo della tesi, e dovrei creare dei Diagrammi E-R che faranno da supporto all’intero progetto. Ho caricato un file per farvi vedere di cosa tratta.

        E’ possibile realizzarli facilmente in LaTeX o mi devo poggiare su qualche applicativo, creare il documento e poi applicarlo alla tesi come file d’immagine? Questa soluzione la trovo poco ortodossa, passatemi il termine.

        Grazie per le idee e risposte,
        Simone

        Forse potrebbe piacerti qualcosa di più elaborato ripetto a codice TikZ di base come questo.

        Leggi il manuale di tikz-er2 disponibile in pdf.

        Esiste anche la possibilità di lavorare con pstricks.
        R.

        Molte grazie robixl…
        non male, peccato per l’effetto shadow 🙂 … solo che forse non vengono implementati in modo completo tutti i costrutti del modello Entità-Relazione, ma credo che si tratterà di piccole modifiche risolvibili.

        Come inserisco e scarico il pacchetto tikz dell’esempio? Va nelle cartelle dove punta il path?

        Grazie…

      • #74115
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          IneXperience” post=73040

          [quote=”IneXperience” post=73031]Buongiorno ragazzi,
          entro nel vivo della tesi, e dovrei creare dei Diagrammi E-R che faranno da supporto all’intero progetto. Ho caricato un file per farvi vedere di cosa tratta.

          E’ possibile realizzarli facilmente in LaTeX o mi devo poggiare su qualche applicativo, creare il documento e poi applicarlo alla tesi come file d’immagine? Questa soluzione la trovo poco ortodossa, passatemi il termine.

          Grazie per le idee e risposte,
          Simone

          Forse potrebbe piacerti qualcosa di più elaborato ripetto a codice TikZ di base come questo.

          Leggi il manuale di tikz-er2 disponibile in pdf.

          Esiste anche la possibilità di lavorare con pstricks.
          R.

          Molte grazie robixl…
          non male, peccato per l’effetto shadow 🙂 … solo che forse non vengono implementati in modo completo tutti i costrutti del modello Entità-Relazione, ma credo che si tratterà di piccole modifiche risolvibili.

          Come inserisco e scarico il pacchetto tikz dell’esempio? Va nelle cartelle dove punta il path?

          Grazie…[/quote]
          Per il momento metti il file di stile (.sty) nella cartella dove si trova il sorgente.
          R.

        • #74116
          Up
          0
          Down
          ::

          robitex” post=73041
          Per il momento metti il file di stile (.sty) nella cartella dove si trova il sorgente.
          R.

          Ok, messo il file .sty dov’è presente un file con codice tikz-er2, in ogni modo compilo regolarmente i file LaTex, ma per il seguente codice:

          `\documentclass[a4paper,10pt]{report}
          \usepackage{ucs}
          \usepackage[utf8]{inputenc}
          \usepackage[spanish]{babel}
          \usepackage{tikz-er2}

          \usetikzlibrary{positioning}
          \usetikzlibrary{shadows}

          \tikzstyle{every entity} = [top color=white, bottom color=blue!30,
          draw=blue!50!black!100, drop shadow]
          \tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
          shadow yshift=-.7ex}]
          \tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
          draw=yellow, node distance=7em, drop shadow]
          \tikzstyle{every relationship} = [top color=white, bottom color=red!20,
          draw=red!50!black!100, drop shadow]
          \tikzstyle{every isa} = [top color=white, bottom color=green!20,
          draw=green!50!black!100, drop shadow]

          \begin{document}
          \begin{tikzpicture}[node distance=8em, every edge/.style={link}]
          \node[entity] (persona) {Persona};
          \node[attribute] (pid)

          {\key{id\_persona}} edge (persona);
          \node[attribute] (name) [below left of=persona] {nombre} edge (persona);
          \node[multi attribute] (fono) [above of=persona] {fono} edge (persona);
          \node[attribute] (anex)

          {anexo} edge (fono);
          \node[attribute] (number) [below left of=fono, node distance=5em] {number} edge (fono);
          \node[attribute] (email) [above right of=persona] {email} edge (persona);
          \node[relationship] (pertenece)

          {Pertenece} edge node[auto,swap] {1:1} (persona);

          \node[entity] (depto)

          {Depto} edge node[auto,swap] {0:N} (pertenece);
          \node[attribute] (iddepto) [above of=depto] {\key{id\_depto}} edge (depto);
          \node[attribute] (dname) [above right of=depto] {d\_name} edge (depto);
          \node[rectangle, draw=black, fit=(pertenece), inner sep=0em] (ipertenece) {};
          \node[relationship] (tieneun) [below of=pertenece] {Ocupa} edge node[auto,swap] {1:1} (pertenece);

          \node[entity] (cargo)

          {Cargo} edge node[auto,swap] {0:N} (tieneun);
          \node[attribute] (idcargo)

          {\key{id\_cargo}} edge (cargo);
          \node[attribute] (cname) [above right of=cargo] {c\_name} edge (cargo);
          \node[attribute] (plevel) [below right of=cargo] {nivel} edge (cargo);

          \node[relationship] (responde) [below of=persona] {Responde} edge node[auto,swap] {1:N} (ipertenece);

          \node[entity] (pregunta) [below of=tieneun] {Pregunta};
          \node[attribute] (idpreg) [below of=pregunta] {\key{id\_preg}} edge (pregunta);
          \node[attribute] (ptexto) [below right of=pregunta] {p\_texto} edge (pregunta);
          \node[attribute] (pnumber)

          {p\_numero} edge (pregunta);

          \node[relationship] (tiene) [below of=responde] {Tiene} edge node[auto,swap] {1:N} (pregunta) edge node[auto,swap] {0:N} (responde);
          \node[rectangle, draw=black, fit=(tiene), inner sep=0em] (itiene) {};

          \node[entity] (alternativa)

          {Alternativa} edge node[auto,swap] {1:1} (tiene);
          \node[attribute] (idalt) [above of=alternativa] {\key{id\_altern}} edge (alternativa);
          \node[attribute] (atexto) [below of=alternativa] {a\_texto} edge (alternativa);
          \node[attribute] (anumber) [below right of=alternativa] {a\_numero} edge (alternativa);
          \end{tikzpicture}
          \end{document}`

          ed ache quello di un semplice rettangolo ottengo solo codice scritto in pdf e nessuna figura.
          Che sbagli a compilare, o che debba aggiungere qualcosa?

          Grazie,
          Simone

        • #74117
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::


            Ciao,
            non ho capito il problema.
            Io userei questo codice per ottenere il pdf già ritagliato per inserirlo poi come normale immagine nel documento pronciplae (con \includegraphics):
            `\documentclass{standalone}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}

            \usepackage{tikz-er2}

            \usetikzlibrary{positioning}
            \usetikzlibrary{shadows}

            \tikzstyle{every entity} = [top color=white, bottom color=blue!30,
            draw=blue!50!black!100, drop shadow]
            \tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
            shadow yshift=-.7ex}]
            \tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
            draw=yellow, node distance=7em, drop shadow]
            \tikzstyle{every relationship} = [top color=white, bottom color=red!20,
            draw=red!50!black!100, drop shadow]
            \tikzstyle{every isa} = [top color=white, bottom color=green!20,
            draw=green!50!black!100, drop shadow]

            \begin{document}
            \begin{tikzpicture}[node distance=8em, every edge/.style={link}]
            \node[entity] (persona) {Persona};
            \node[attribute] (pid)

            {\key{id\_persona}} edge (persona);
            \node[attribute] (name) [below left of=persona] {nombre} edge (persona);
            \node[multi attribute] (fono) [above of=persona] {fono} edge (persona);
            \node[attribute] (anex)

            {anexo} edge (fono);
            \node[attribute] (number) [below left of=fono, node distance=5em] {number} edge (fono);
            \node[attribute] (email) [above right of=persona] {email} edge (persona);
            \node[relationship] (pertenece)

            {Pertenece} edge node[auto,swap] {1:1} (persona);

            \node[entity] (depto)

            {Depto} edge node[auto,swap] {0:N} (pertenece);
            \node[attribute] (iddepto) [above of=depto] {\key{id\_depto}} edge (depto);
            \node[attribute] (dname) [above right of=depto] {d\_name} edge (depto);
            \node[rectangle, draw=black, fit=(pertenece), inner sep=0em] (ipertenece) {};
            \node[relationship] (tieneun) [below of=pertenece] {Ocupa} edge node[auto,swap] {1:1} (pertenece);

            \node[entity] (cargo)

            {Cargo} edge node[auto,swap] {0:N} (tieneun);
            \node[attribute] (idcargo)

            {\key{id\_cargo}} edge (cargo);
            \node[attribute] (cname) [above right of=cargo] {c\_name} edge (cargo);
            \node[attribute] (plevel) [below right of=cargo] {nivel} edge (cargo);

            \node[relationship] (responde) [below of=persona] {Responde} edge node[auto,swap] {1:N} (ipertenece);

            \node[entity] (pregunta) [below of=tieneun] {Pregunta};
            \node[attribute] (idpreg) [below of=pregunta] {\key{id\_preg}} edge (pregunta);
            \node[attribute] (ptexto) [below right of=pregunta] {p\_texto} edge (pregunta);
            \node[attribute] (pnumber)

            {p\_numero} edge (pregunta);

            \node[relationship] (tiene) [below of=responde] {Tiene} edge node[auto,swap] {1:N} (pregunta) edge node[auto,swap] {0:N} (responde);
            \node[rectangle, draw=black, fit=(tiene), inner sep=0em] (itiene) {};

            \node[entity] (alternativa)

            {Alternativa} edge node[auto,swap] {1:1} (tiene);
            \node[attribute] (idalt) [above of=alternativa] {\key{id\_altern}} edge (alternativa);
            \node[attribute] (atexto) [below of=alternativa] {a\_texto} edge (alternativa);
            \node[attribute] (anumber) [below right of=alternativa] {a\_numero} edge (alternativa);
            \end{tikzpicture}
            \end{document}`

            Il risultato è questo:

            [attachment=313]ertest.pdf[/attachment]

            Un saluto.
            R.

            Attachments:
            You must be logged in to view attached files.
          • #74118
            Up
            0
            Down
            ::


            Grazie tante …. 😛
            Solo che a me non viene fuori. Ho posto il file tikz-er2.sty:
            `% The tikz-er2 package.
            % Ver. 1.0
            % (c) Pável Caldo
            % January 2009

            \NeedsTeXFormat{LaTeX2e}
            \ProvidesPackage{tikz-er2}[2009/01/31 Entity-relationship diagrams using the
            Tikz library]

            \RequirePackage{tikz}
            \RequirePackage[normalem]{ulem} % for the dashed underline

            \usetikzlibrary{shapes.geometric}
            \usetikzlibrary{arrows}
            \usetikzlibrary{fit}

            \tikzstyle{every entity} = []
            \tikzstyle{every weak entity} = []
            \tikzstyle{every attribute} = []
            \tikzstyle{every relationship} = []
            \tikzstyle{every link} = []
            \tikzstyle{every isa} = []

            \tikzstyle{link} = [>=triangle 60, draw, thick, every link]

            \tikzstyle{total} = [link, double, double distance=3pt]

            \tikzstyle{entity} = [rectangle, draw, black, very thick,
            minimum width=6em, minimum height=3em,
            every entity]

            \tikzstyle{weak entity} = [entity, double, double distance=2pt,
            every weak entity]

            \tikzstyle{attribute} = [ellipse, draw, black, very thick,
            minimum width=5em, minimum height=2em,
            every attribute]

            %\tikzstyle{key attribute} = [attribute, font=\bfseries]

            \tikzstyle{multi attribute} = [attribute, double, double distance=2pt]

            \tikzstyle{derived attribute} = [attribute, dashed]

            %\tikzstyle{discriminator} = [attribute, font=\itshape]

            \tikzstyle{relationship} = [diamond, draw, black, very thick,
            minimum width=2em, aspect=1,
            every relationship]

            \tikzstyle{ident relationship} = [relationship, double, double distance=2pt]

            \tikzstyle{isa} = [isosceles triangle, isosceles triangle apex angle=60,
            shape border rotate=-90,
            draw, black, very thick, minimum size=3em,
            every isa]

            % for text un key attributes
            \newcommand{\key}[1]{\underline{#1}}

            % for text in discriminator attributes
            \def\discriminator{\bgroup
            \ifdim\ULdepth=\maxdimen % Set depth based on font, if not set already
            \settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
            \markoverwith{\kern.15em
            \vtop{\kern\ULdepth \hrule width .3em}%
            \kern.15em}\ULon}`

            Dentro una cartella dove riesiede quel file che ti ho postato il codice poco fa… ma non me lo compila. O meglio ottengo un pdf con codice… che sbagli a compilare o a far qulacosa?

            Grazie
            Simone

          • #74119
            Up
            0
            Down
            ::

            robitex” post=73325Ciao,
            non ho capito il problema.
            Io userei questo codice per ottenere il pdf già ritagliato per inserirlo poi come normale immagine nel documento pronciplae (con \includegraphics):

            Leggo solo ora in cima al tuo precedente post, scusami.

            Il mio intento è di prendere il modello che tu hai fatto girare e utilizzarlo per fare lo schema della mia base di dati. Ovviamente ci devo lavorare su, ma se non compilarlo non ottengo lo stesso tuo risultato come faccio?

            Anche questa semplice istruzione:
            `\begin{tikzpicture}
            \node[entity] (person) {Person};
            \end{tikzpicture}`
            non mi fa ottenere il rettangolino col nome Person.

            Ho messo il file .sty dov’è il sorgente tex, ma non lo compila graficamente.

            Grazie,
            Simone

          • #74120
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              IneXperience” post=73327

              Ciao,
              non ho capito il problema.
              Io userei questo codice per ottenere il pdf già ritagliato per inserirlo poi come normale immagine nel documento pronciplae (con \includegraphics):

              Leggo solo ora in cima al tuo precedente post, scusami.

              Il mio intento è di prendere il modello che tu hai fatto girare e utilizzarlo per fare lo schema della mia base di dati. Ovviamente ci devo lavorare su, ma se non compilarlo non ottengo lo stesso tuo risultato come faccio?

              Anche questa semplice istruzione:
              `\begin{tikzpicture}
              \node[entity] (person) {Person};
              \end{tikzpicture}`
              non mi fa ottenere il rettangolino col nome Person.

              Ho messo il file .sty dov’è il sorgente tex, ma non lo compila graficamente.

              Grazie,
              Simone

              Occorre copiare alcune definizioni di stile:
              questo codice compila:
              `\documentclass{standalone}
              \usepackage[T1]{fontenc}
              \usepackage[utf8]{inputenc}

              \usepackage{tikz-er2}

              \usetikzlibrary{positioning}
              \usetikzlibrary{shadows}

              \tikzstyle{every entity} = [top color=white, bottom color=blue!30,
              draw=blue!50!black!100, drop shadow]
              \tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
              shadow yshift=-.7ex}]
              \tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
              draw=yellow, node distance=7em, drop shadow]
              \tikzstyle{every relationship} = [top color=white, bottom color=red!20,
              draw=red!50!black!100, drop shadow]
              \tikzstyle{every isa} = [top color=white, bottom color=green!20,
              draw=green!50!black!100, drop shadow]

              \begin{document}

              \begin{tikzpicture}
              \node[entity] (person) {Person};
              \end{tikzpicture}
              \end{document}`

              Funziona anche questo ma senza i colori:
              `\documentclass{standalone}
              \usepackage[T1]{fontenc}
              \usepackage[utf8]{inputenc}

              \usepackage{tikz-er2}

              \usetikzlibrary{positioning}
              \usetikzlibrary{shadows}

              \begin{document}
              \begin{tikzpicture}
              \node[entity] (person) {Person};
              \end{tikzpicture}
              \end{document}`
              R.

            • #74121
              Up
              0
              Down
              ::


              Secondo me c’è un problema alla base di tutto.

              Altri pacchetti scaricati del tipo gli esempi pgf di KarlheinzOchs li compila regolarmente. Quelli postati da noi no. Ho inviato i log che magari potrebbero servire.

              Grazie anche per la pazienza,
              Simone

            • #74122
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::

                IneXperience” post=73329Secondo me c’è un problema alla base di tutto.

                Altri pacchetti scaricati del tipo gli esempi pgf di KarlheinzOchs li compila regolarmente. Quelli postati da noi no. Ho inviato i log che magari potrebbero servire.

                Grazie anche per la pazienza,
                Simone

                Il pacchetto non sarà un gran che ma se la grafica ti soddisfa e non devi fare 1000 schemi, penso possa risolvere. A me il codice che ti ho postato compila correttamente.
                Semmai, pubblica qui il log, per la sola parte relativa all’errore.
                Ciao.

              • #74123
                Up
                0
                Down
                ::

                robitex” post=73330

                Secondo me c’è un problema alla base di tutto.

                Altri pacchetti scaricati del tipo gli esempi pgf di KarlheinzOchs li compila regolarmente. Quelli postati da noi no. Ho inviato i log che magari potrebbero servire.

                Grazie anche per la pazienza,
                Simone

                Il pacchetto non sarà un gran che ma se la grafica ti soddisfa e non devi fare 1000 schemi, penso possa risolvere. A me il codice che ti ho postato compila correttamente.
                Semmai, pubblica qui il log, per la sola parte relativa all’errore.
                Ciao.

                Si scusami, prima non l’ho neppure allegato per la fretta.

                Attachments:
                You must be logged in to view attached files.
              • #74124
                Up
                0
                Down
                ::

                IneXperience” post=73329Secondo me c’è un problema alla base di tutto.

                Altri pacchetti scaricati del tipo gli esempi pgf di KarlheinzOchs li compila regolarmente. Quelli postati da noi no. Ho inviato i log che magari potrebbero servire.

                Grazie anche per la pazienza,
                Simone

                Secondo me il problema alla base di tutto è che non ci hai detto quale distribuzione usi e come hai installato il pacchetto. 🙂 Che poi, trattandosi solo di definizioni con tikzstyle, secondo me fai molto prima nell’inserire tutto nel preambolo del tuo documento senza pensarci troppo. Ovviamente devi caricare gli stessi pacchetti che trovi nelle righe \RequirePackage e le librerie di TikZ caricate.

                Ciao
                CLaudio

              • #74125
                Up
                0
                Down
                ::


                EUREKA!

                Ce l’ho fatta, dovevo cambiare stile di compilatore in TeXWorks.
                Invece di farlo compilare in pdfTeX l’ho fatto in LaTeXmk e tutto si è risolto. Ora mi spacco la testa nel far uscire il mio schema, speriamo che non sia molto complicato il tutto.

                Grazie tante… saluti,
                Simone

              • #74126
                robitex
                Amministratore del forum
                  Up
                  0
                  Down
                  ::


                  Scusa ma stai compilando con pdftex e non con pdflatex!
                  Seleziona il compilatore guisto nel pulsante dell’editor.
                  eh eh eh.
                  R.

                • #74127
                  Up
                  0
                  Down
                  ::

                  robitex” post=73334Scusa ma stai compilando con pdftex e non con pdflatex!
                  Seleziona il compilatore guisto nel pulsante dell’editor.
                  eh eh eh.
                  R.

                  Infatti! 😆

                  😉
                  Simone

                • #74128
                  Up
                  0
                  Down
                  ::


                  Non è passato molto tempo dal breve successo di una compilazione, che a nuove sfide ed intoppi mi ritrovo.

                  Il seguente codice:
                  `\documentclass[a4paper,10pt]{report}
                  \usepackage{ucs}
                  \usepackage[utf8]{inputenc}
                  \usepackage[spanish]{babel}
                  \usepackage{tikz-er2}

                  \usetikzlibrary{positioning}
                  \usetikzlibrary{shadows}

                  %\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
                  %draw=blue!50!black!100, drop shadow]
                  %\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
                  %shadow yshift=-.7ex}]
                  %\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
                  %draw=yellow, node distance=7em, drop shadow]
                  %\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
                  %draw=red!50!black!100, drop shadow]
                  %\tikzstyle{every isa} = [top color=white, bottom color=green!20,
                  %&draw=green!50!black!100, drop shadow]

                  \begin{document}
                  \begin{tikzpicture}[node distance=15em, every edge/.style={link}]

                  \node[entity] (autore) {Autore};
                  \node[attribute] (pid)

                  {\key{ID}} edge (autore);
                  \node[attribute] (nome) [below left=0.5cm of autore] {Nome} edge (autore);
                  \node[attribute] (cognome) [above left=0.5cm of autore] {Cognome} edge (autore);
                  \node[attribute] (nomepubblico) [above=0.9cm of autore] {NomePubblico} edge (autore);
                  %\node[attribute] (anex)

                  {anexo} edge (fono);
                  %\node[attribute] (number) [below left of=fono, node distance=5em] {number} edge (fono);
                  \node[attribute] (annonascita) [below=0.7cm of autore] {AnnoNascita} edge (autore);
                  \node[attribute] (luogonascita) [above right of=autore] {LuogoNascita} edge (autore);
                  \node[attribute] (annomorte) [above right=0.5 of autore] {AnnoMorte} edge (autore);
                  \node[relationship] (pertenece)

                  {Pertenece} edge node[auto,swap] {1:1} (autore);

                  \node[entity] (depto)

                  {Depto} edge node[auto,swap] {0:N} (pertenece);
                  \node[attribute] (iddepto) [above of=depto] {\key{id\_depto}} edge (depto);
                  \node[attribute] (dname) [above right of=depto] {d\_name} edge (depto);
                  \node[rectangle, draw=black, fit=(pertenece), inner sep=0em] (ipertenece) {};
                  \node[relationship] (tieneun) [below of=pertenece] {Ocupa} edge node[auto,swap] {1:1} (pertenece);

                  \node[entity] (cargo)

                  {Cargo} edge node[auto,swap] {0:N} (tieneun);
                  \node[attribute] (idcargo)

                  {\key{id\_cargo}} edge (cargo);
                  \node[attribute] (cname) [above right of=cargo] {c\_name} edge (cargo);
                  \node[attribute] (plevel) [below right of=cargo] {nivel} edge (cargo);

                  \node[relationship] (responde) [below of=autore] {Responde} edge node[auto,swap] {1:N} (ipertenece);

                  \node[entity] (pregunta) [below of=tieneun] {Pregunta};
                  \node[attribute] (idpreg) [below of=pregunta] {\key{id\_preg}} edge (pregunta);
                  \node[attribute] (ptexto) [below right of=pregunta] {p\_texto} edge (pregunta);
                  \node[attribute] (pnumber)

                  {p\_numero} edge (pregunta);

                  \node[relationship] (tiene) [below of=responde] {Tiene} edge node[auto,swap] {1:N} (pregunta) edge node[auto,swap] {0:N} (responde);
                  \node[rectangle, draw=black, fit=(tiene), inner sep=0em] (itiene) {};

                  \node[entity] (alternativa)

                  {Alternativa} edge node[auto,swap] {1:1} (tiene);
                  \node[attribute] (idalt) [above of=alternativa] {\key{id\_altern}} edge (alternativa);
                  \node[attribute] (atexto) [below of=alternativa] {a\_texto} edge (alternativa);
                  \node[attribute] (anumber) [below right of=alternativa] {a\_numero} edge (alternativa);
                  \end{tikzpicture}
                  \end{document}
                  `

                  slavato dei colori, mi pone delle difficoltà perché:
                  1- dovrei innanzitutto ruotare il pdf appena compilato, nel senso che vorrei che le immagini si estendessero per orizzontale e non per verticale;
                  2- la cosa dura è che come potete vedere nell’entità Autore dovrei aggiungere ancora un paio di attributi, e se penso che le future entità Opera o File ne avranno sulla trentina di attributi io non riesco a capire come potrei distribuirli tutti intorno senza che collidano o si accavallino tra loro. Avete un’idea? io oltre a quei sette-otto attributi non riesco a mettere.

                  Grazie,
                  Simone

                • #74129
                  robitex
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::


                    Forse non è il caso di riportare tutti gli attributi ma solo quelli più significativi per caratterizzare l’oggetto, inserendone uno con dei puntini, per dire “ok, ci sono altri attributi meno importanti”. Lo schema grafico infatti è da intendersi come il mostrare le relazioni e quindi la struttura complessiva senza inserire dettagli che non influenzano la comprensione del concetto generale.

                    Se le specifiche devono essere complete, potresti riportarne i nomi e le caratteristiche in forma di una normale tabella.
                    Un saluto.
                    R.

                  • #74130
                    Up
                    0
                    Down
                    ::

                    robitex” post=73345Forse non è il caso di riportare tutti gli attributi ma solo quelli più significativi per caratterizzare l’oggetto, inserendone uno con dei puntini, per dire “ok, ci sono altri attributi meno importanti”. Lo schema grafico infatti è da intendersi come il mostrare le relazioni e quindi la struttura complessiva senza inserire dettagli che non influenzano la comprensione del concetto generale.

                    Se le specifiche devono essere complete, potresti riportarne i nomi e le caratteristiche in forma di una normale tabella.
                    Un saluto.
                    R.

                    Grazie tante, credo che sia un buon compromesso questo. Difatti i giorni precedenti ho preparato il Dizionario dei dati costituito da tutte le entità e tutte le relazioni inserite in una tabella coi propri attributi.

                    Farò come mi hai cosigliato,
                    buona serata.
                    Simone

                  • #74131
                    Up
                    0
                    Down
                    ::


                    Buongiorno ragazzi,
                    ho un piccolissimo problema che credo si possa risolvere facilmente.

                    Questo è il mio schema:
                    `\documentclass[a4paper,10pt]{report}
                    \usepackage[landscape]{geometry}
                    \usepackage{ucs}
                    \usepackage[utf8]{inputenc}
                    \usepackage[spanish]{babel}
                    \usepackage{tikz-er2}

                    \usetikzlibrary{positioning}
                    \usetikzlibrary{shadows}

                    %\tikzstyle{every entity} = [top color=white, bottom color=blue!30,
                    %draw=blue!50!black!100, drop shadow]
                    %\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
                    %shadow yshift=-.7ex}]
                    %\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
                    %draw=yellow, node distance=7em, drop shadow]
                    %\tikzstyle{every relationship} = [top color=white, bottom color=red!20,
                    %draw=red!50!black!100, drop shadow]
                    %\tikzstyle{every isa} = [top color=white, bottom color=green!20,
                    %&draw=green!50!black!100, drop shadow]

                    \begin{document}
                    \begin{tikzpicture}[node distance=9em, every edge/.style={link}]

                    \node[entity] (autore) {Autore};
                    \node[attribute] (id)

                    {\key{ID}} edge (autore);
                    \node[attribute] (ecc) [above=0.5em of autore]{…} edge(autore);

                    \node[relationship] (creazione)

                    {Creazione} edge node[auto,swap]{(0,N)} (autore);

                    \node[entity] (opera)

                    {Opera} edge node[auto,swap] {(0,N)} (creazione);
                    \node[attribute] (id)

                    {\key{ID}} edge (opera);
                    \node[attribute] (ecc) [below right=0.5em of opera] {…} edge (opera);

                    \node[relationship] (associazione) [below of=opera] {Associazione} edge node[auto,swap]{(0,N)} (opera);
                    \node[entity] (file) [below of=associazione] {File} edge node[auto,swap] {(0,1)} (associazione);
                    \node[attribute] (id) [above left=0.5em of file] {\key{ID}} edge (file);
                    \node[attribute] (ecc) [above right=0.5em of file] {…} edge (file);

                    \node[relationship] (esterna)

                    {Esterna} edge node[auto,swap]{(0,N)} (file);
                    \node[entity] (datir)

                    {DatiRipresa} edge node[auto,swap] {(0,N)} (esterna);
                    \node[attribute] (id)

                    {\key{ID}} edge (datir);
                    \node[attribute] (ecc) [above=0.5em of datir] {…} edge (datir);

                    \node[relationship] (diritto) [below of=file] {Diritto} edge node[auto,swap]{(0,N)} (file);
                    \node[entity] (copyright)

                    {Copyright} edge node[auto,swap] {(0,1)} (diritto);
                    \node[attribute] (id)

                    {\key{ID}} edge (copyright);
                    \node[attribute] (ecc) [below=0.5em of copyright] {…} edge (copyright);

                    \node[relationship] (inserimento)

                    {Inserimento} edge node[auto,swap]{(0,N)} (file);
                    \node[entity] (cartella) [above of=inserimento] {Cartella} edge node[auto,swap] {(0,1)} (inserimento);
                    \node[attribute] (id) [above=0.5em of cartella] {\key{ID}} edge (cartella);
                    \node[attribute] (ecc) [above right=0.5em of cartella] {…} edge (cartella);

                    \node[relationship] (condivisione)

                    {Condivisione} edge node[auto,swap]{(0,N)} (cartella);
                    \node[entity] (docente)

                    {Docente} edge node[auto,swap] {(0,1)} (condivisione);

                    \node[relationship] (correlazione) [above of=opera] {Correlazione} edge node[auto,swap]{(0,N)} (opera);
                    \node[entity] (descrizione)

                    {Descrizione} edge node[auto,swap] {(0,1)} (correlazione);

                    \node[relationship] (attribuzione)

                    {Attribuzione} edge node[auto,swap]{(0,1)} (descrizione);

                    \node[relationship] (istruzione)

                    {Istruzione} edge node[auto,swap]{(0,1)} (docente);
                    \node[entity] (insegnamento)

                    {Insegnamento} edge node[auto,swap] {(0,N)} (istruzione);

                    \draw[link] (inserimento) -|node [pos=0.85,auto, swap] {(0,N)} (docente)(docente) edge (docente);
                    \draw[link] (attribuzione) -| node [pos=0.95,auto, swap] {(0,N)} (docente)(docente) edge (docente);

                    \end{tikzpicture}
                    \end{document}
                    `

                    ove mancano un’associazione (rombo) ed un’altra entità (rettangolo) al fianco dell’entità Insegnamento (che dal pdf prodotto dalla compilazione non è visibile).

                    Non capisco perché a sx ho abbastanza spazio e non trasla tutto il diagramma in quella direzione invece di tagliare i nuovi rettangoli e rombi sulla parte dx del foglio.

                    Dovrei solo aggiungere questi due concetti poi il diagramma è finito, solo che non riesco a farcelo stare in una pagina sola, come posso fare?

                    Vi lascio anche il codice del file .sty in formato txt (da salvare con estensione .sty) che serve a visualizzare il tutto.

                    Grazie,
                    Simone

                    Attachments:
                    You must be logged in to view attached files.
                  • #74132
                    Up
                    0
                    Down
                    ::


                    buongiornon ragazzi,
                    sono riuscito alla fine a produrre lo schema (qui allegato), purtroppo quando lo inserisco come immagine, dopo averla ritagliata delle sue parti bianche ed inutili, ed inserita come immagine nel codice, nel prodotto finale del pdf ottengo il diagramma un po’ sgranato.

                    C’è qualche soluzione? Ho provato ad inserire il codice sorgente del diagramma nel file . tex solo che ottengo il diagramma in modo verticale. Volendo porre solo questa pagina in orizzontale come posso fare?

                    Grazie,
                    Simone

                    Attachments:
                    You must be logged in to view attached files.
                  • #74133
                    Up
                    0
                    Down
                    ::

                    IneXperience” post=73407buongiornon ragazzi,
                    sono riuscito alla fine a produrre lo schema (qui allegato), purtroppo quando lo inserisco come immagine, dopo averla ritagliata delle sue parti bianche ed inutili, ed inserita come immagine nel codice, nel prodotto finale del pdf ottengo il diagramma un po’ sgranato.

                    C’è qualche soluzione? Ho provato ad inserire il codice sorgente del diagramma nel file . tex solo che ottengo il diagramma in modo verticale. Volendo porre solo questa pagina in orizzontale come posso fare?

                    Grazie,
                    Simone

                    Per ottenere il diagramma in posizione orizzontale puoi ad esempio usare il comando rotatebox:

                    `
                    \usepackage{graphicx}

                    \rotatebox{90}{
                    \begin{tikzpicture}

                    \end{tikzpicture}
                    }
                    `

                    Ciao
                    Claudio

                  • #74134
                    robitex
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::


                      Ciao,
                      complimenti per il grafico!

                      Per quanto chiedevi, immagino che tu sappia che il tuo grafico esce in formato pdf vettoriale, e che quando lo inserisci con \inlcudegraphics, anche se scalato mantiene il carattere di grafico vettoriale, senza sgranature.
                      Può essere un problema di visualizzatore o forse hai convertito il pdf in un immagine raster?
                      Inserisci direttamente il pdf.
                      Un saluto.
                      R.

                    • #74135
                      Up
                      0
                      Down
                      ::


                      Provo ad indovinare: hai convertito l’immagine i .jpg per poterla ritagliare? Se è così perdi in qualità e ottieni l’effetto sgranato. O fai come suggerito da cfiandra oppure produci il pdf a parte e lo ritagli usando pdfcrop (da riga di comando) oppure inkscape che permette di agire sui pdf senza trasformarli in file bitmap (leggi la parte sulle immagini nella guida “L’arte di scrivere con LaTeX” per capire meglio le differenze tra immagine raster e vettoriale).

                      Ciao
                      Fra

                    • #74136
                      robitex
                      Amministratore del forum
                        Up
                        0
                        Down
                        ::

                        Spike” post=73411Provo ad indovinare: hai convertito l’immagine i .jpg per poterla ritagliare? Se è così perdi in qualità e ottieni l’effetto sgranato. O fai come suggerito da cfiandra oppure produci il pdf a parte e lo ritagli usando pdfcrop (da riga di comando) oppure inkscape che permette di agire sui pdf senza trasformarli in file bitmap (leggi la parte sulle immagini nella guida “L’arte di scrivere con LaTeX” per capire meglio le differenze tra immagine raster e vettoriale).

                        Ciao
                        Fra

                        Se il problema è ritagliare il pdf, la cosa migliore è usare la classe standalone con questa struttura:
                        `\documentclass{standalone}

                        \begin{document}
                        \begin{tikzpicture}

                        \end{tikzpicture}
                        \end{document}`

                        Produce direttamente il disegno in pdf ritagliato e non c’é più bisogno nemmeno di pdfcrop (che torna comunque sempre molto utile).
                        R.

                      • #74137
                        Up
                        0
                        Down
                        ::


                        Grazie a tutti per le risposte e per i complimenti 😳

                        Allora rispondo a voi tre andando in ordine di apparizione, sperando di risolvere il problema in modo agevole:


                        @cfiandra
                        : ho inserito il codice come riportato da te, tra l’opzione \{rotetebox}{90}{:
                        `\documentclass[a4paper,10pt]{report}
                        %\documentclass[landscape, 2pt]{report}
                        %\usepackage{pdflscape}
                        \usepackage[landscape]{geometry}
                        \usepackage{ucs}
                        \usepackage[utf8]{inputenc}
                        \usepackage[spanish]{babel}
                        \usepackage{tikz-er2}

                        \usetikzlibrary{positioning}
                        \usetikzlibrary{shadows}

                        \tikzstyle{every entity} = [top color=white, bottom color=blue!30,
                        draw=blue!50!black!100, drop shadow]
                        \tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
                        shadow yshift=-.7ex}]\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
                        draw=yellow, node distance=5em, drop shadow]
                        \tikzstyle{every relationship} = [top color=white, bottom color=red!20,
                        draw=red!50!black!100, drop shadow]
                        \tikzstyle{every isa} = [top color=white, bottom color=green!20,
                        draw=green!50!black!100, drop shadow]

                        \begin{document}

                        \rotatebox{90}{
                        \begin{tikzpicture}[node distance=9.4em, every edge/.style={link}]

                        \node[entity] (autore) {Autore};
                        \node[attribute] (id)

                        {\key{ID}} edge (autore);
                        \node[attribute] (ecc) [above=1em of autore]{…} edge(autore);

                        \node[relationship] (creazione)

                        {Creazione} edge node[auto,swap]{(0,N)} (autore);

                        \node[entity] (opera)

                        {Opera} edge node[auto,swap] {(0,N)} (creazione);
                        \node[attribute] (id)

                        {\key{ID}} edge (opera);
                        \node[attribute] (ecc) [below right=1em of opera] {…} edge (opera);

                        \node[relationship] (associazione) [below of=opera] {Associazione} edge node[auto,swap]{(0,N)} (opera);
                        \node[entity] (file) [below of=associazione] {File} edge node[auto,swap] {(0,1)} (associazione);
                        \node[attribute] (id) [above left=1em of file] {\key{ID}} edge (file);
                        \node[attribute] (ecc) [above right=1em of file] {…} edge (file);

                        \node[relationship] (esterna)

                        {Esterna} edge node[auto,swap]{(0,N)} (file);
                        \node[entity] (datir)

                        {DatiRipresa} edge node[auto,swap] {(0,N)} (esterna);
                        \node[attribute] (id)

                        {\key{ID}} edge (datir);
                        \node[attribute] (ecc) [above=1em of datir] {…} edge (datir);

                        \node[relationship] (diritto) [below of=file] {Diritto} edge node[auto,swap]{(0,N)} (file);
                        \node[entity] (copyright)

                        {Copyright} edge node[auto,swap] {(0,1)} (diritto);
                        \node[attribute] (id)

                        {\key{ID}} edge (copyright);
                        \node[attribute] (ecc) [below=1em of copyright] {…} edge (copyright);

                        \node[relationship] (inserimento)

                        {Inserimento} edge node[auto,swap]{(0,N)} (file);
                        \node[entity] (cartella) [above of=inserimento] {Cartella} edge node[auto,swap] {(0,1)} (inserimento);
                        \node[attribute] (id) [above=1em of cartella] {\key{ID}} edge (cartella);
                        \node[attribute] (ecc) [above right=1em of cartella] {…} edge (cartella);

                        \node[relationship] (condivisione)

                        {Condivisione} edge node[auto,swap]{(0,N)} (cartella);

                        \node[entity] (docente)

                        {Docente} edge node[auto,swap] {(0,1)} (condivisione);
                        \node[attribute] (matricola) [below left=2cm of docente] {\key{Matricola}} edge (docente);
                        \node[attribute] (ecc) [below right=1em of docente] {…} edge (docente);

                        \node[relationship] (correlazione) [above of=opera] {Correlazione} edge node[auto,swap]{(0,N)} (opera);

                        \node[entity] (descrizione)

                        {Descrizione} edge node[auto,swap] {(0,1)} (correlazione);
                        \node[attribute] (id) [above=1em of descrizione] {\key{ID}} edge (descrizione);
                        \node[attribute] (ecc) [below=1em of descrizione] {…} edge (descrizione);

                        \node[relationship] (attribuzione)

                        {Attribuzione} edge node[auto,swap]{(0,1)} (descrizione);
                        \node[relationship] (istruzione)

                        {Istruzione} edge node[auto,swap]{(0,N)} (docente);

                        \node[entity] (insegnamento) [below of=istruzione] {Insegnamento} edge node[auto,swap] {(0,1)} (istruzione);
                        \node[attribute] (id)

                        {\key{ID}} edge (insegnamento);
                        \node[attribute] (ecc)

                        {…} edge (insegnamento);

                        \node[relationship] (didattica) [below of=insegnamento] {Didattica} edge node[auto,swap]{(0,1)} (insegnamento);

                        \node[entity] (corsodilaurea)

                        {CorsoDiLaurea} edge node[auto,swap] {(0,N)} (didattica);
                        \node[attribute] (codice) [above=0.5em of corsodilaurea] {\key{Codice}} edge (corsodilaurea);
                        \node[attribute] (ecc) [below=0.5em of corsodilaurea] {…} edge (corsodilaurea);

                        \draw[link] (inserimento) -|node [pos=0.85,auto, swap] {(0,N)} (docente)(docente) edge (docente);
                        \draw[link] (attribuzione) -| node [pos=0.95,auto, swap] {(0,N)} (docente)(docente) edge (docente);

                        \end{tikzpicture}
                        }
                        \end{document}

                        `

                        purtroppo mi sparisce il diagramma e viene sostituito da tutto il codice, riportato in un pdf. Se tolgo la tua indicazione lo visualizzo correttamente. Non capisco dove possa errare.


                        @robitex
                        : il pdf prodotto è composto da due pagine una bianca o meglio vuota (e non capisco il motivo) ed una col diagramma corretto. Ho inserito il pdf utilizzando il codice sottostante purtroppo nel documento finale non ottengo l’effetto sperato, al posto del pdf vi è una mezza paginetta bianca (credo che si prenda la prima del pdf creato). Se inserisco direttamente il pdf non mi uscirà anche il numero di pagina sottostante al diagramma? Dovrei evitarlo
                        Se con lo stesso codice metto il jpg del diagramma ottengo correttamente quanto sperato solo che sgranato. L’ho convertito in jpg utilizzando gimp.

                        \begin{figure}[htbp]
                        \centering%
                        \includegraphics[height=18cm, width=20cm, angle=90,
                        keepaspectratio]{DaZero.pdf}%
                        \caption{Esempio d’uso delle opzioni}%
                        \end{figure}


                        @Spike
                        : hai indovinato ho fatto proprio come dici. Grazie del consiglio.

                        Solo che ora ho l’imbarazzo della scelta su quale via adottare. E vorrei evitare la sgranatura.

                        Grazie,
                        Simone

                      • #74138
                        Up
                        0
                        Down
                        ::

                        robitex” post=73414
                        Se il problema è ritagliare il pdf, la cosa migliore è usare la classe standalone con questa struttura:
                        `\documentclass{standalone}

                        \begin{document}
                        \begin{tikzpicture}

                        \end{tikzpicture}
                        \end{document}`

                        Produce direttamente il disegno in pdf ritagliato e non c’é più bisogno nemmeno di pdfcrop (che torna comunque sempre molto utile).
                        R.

                        Preso al volo il tuo consiglio, purtroppo mi taglia il pdf sulla parte destra ed anche un po’ in basso, come al solito, non centrando il tutto:
                        `\documentclass{standalone}
                        %\documentclass[landscape, 2pt]{report}
                        %\usepackage{pdflscape}
                        \usepackage[landscape]{geometry}
                        \usepackage{ucs}
                        \usepackage[utf8]{inputenc}
                        \usepackage[spanish]{babel}
                        \usepackage{tikz-er2}

                        \usetikzlibrary{positioning}
                        \usetikzlibrary{shadows}

                        \tikzstyle{every entity} = [top color=white, bottom color=blue!30,
                        draw=blue!50!black!100, drop shadow]
                        \tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
                        shadow yshift=-.7ex}]\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
                        draw=yellow, node distance=5em, drop shadow]
                        \tikzstyle{every relationship} = [top color=white, bottom color=red!20,
                        draw=red!50!black!100, drop shadow]
                        \tikzstyle{every isa} = [top color=white, bottom color=green!20,
                        draw=green!50!black!100, drop shadow]

                        \begin{document}

                        \begin{tikzpicture}[node distance=9.4em, every edge/.style={link}]

                        \node[entity] (autore) {Autore};
                        \node[attribute] (id)

                        {\key{ID}} edge (autore);
                        \node[attribute] (ecc) [above=1em of autore]{…} edge(autore);

                        \node[relationship] (creazione)

                        {Creazione} edge node[auto,swap]{(0,N)} (autore);

                        \node[entity] (opera)

                        {Opera} edge node[auto,swap] {(0,N)} (creazione);
                        \node[attribute] (id)

                        {\key{ID}} edge (opera);
                        \node[attribute] (ecc) [below right=1em of opera] {…} edge (opera);

                        \node[relationship] (associazione) [below of=opera] {Associazione} edge node[auto,swap]{(0,N)} (opera);
                        \node[entity] (file) [below of=associazione] {File} edge node[auto,swap] {(0,1)} (associazione);
                        \node[attribute] (id) [above left=1em of file] {\key{ID}} edge (file);
                        \node[attribute] (ecc) [above right=1em of file] {…} edge (file);

                        \node[relationship] (esterna)

                        {Esterna} edge node[auto,swap]{(0,N)} (file);
                        \node[entity] (datir)

                        {DatiRipresa} edge node[auto,swap] {(0,N)} (esterna);
                        \node[attribute] (id)

                        {\key{ID}} edge (datir);
                        \node[attribute] (ecc) [above=1em of datir] {…} edge (datir);

                        \node[relationship] (diritto) [below of=file] {Diritto} edge node[auto,swap]{(0,N)} (file);
                        \node[entity] (copyright)

                        {Copyright} edge node[auto,swap] {(0,1)} (diritto);
                        \node[attribute] (id)

                        {\key{ID}} edge (copyright);
                        \node[attribute] (ecc) [below=1em of copyright] {…} edge (copyright);

                        \node[relationship] (inserimento)

                        {Inserimento} edge node[auto,swap]{(0,N)} (file);
                        \node[entity] (cartella) [above of=inserimento] {Cartella} edge node[auto,swap] {(0,1)} (inserimento);
                        \node[attribute] (id) [above=1em of cartella] {\key{ID}} edge (cartella);
                        \node[attribute] (ecc) [above right=1em of cartella] {…} edge (cartella);

                        \node[relationship] (condivisione)

                        {Condivisione} edge node[auto,swap]{(0,N)} (cartella);

                        \node[entity] (docente)

                        {Docente} edge node[auto,swap] {(0,1)} (condivisione);
                        \node[attribute] (matricola) [below left=2cm of docente] {\key{Matricola}} edge (docente);
                        \node[attribute] (ecc) [below right=1em of docente] {…} edge (docente);

                        \node[relationship] (correlazione) [above of=opera] {Correlazione} edge node[auto,swap]{(0,N)} (opera);

                        \node[entity] (descrizione)

                        {Descrizione} edge node[auto,swap] {(0,1)} (correlazione);
                        \node[attribute] (id) [above=1em of descrizione] {\key{ID}} edge (descrizione);
                        \node[attribute] (ecc) [below=1em of descrizione] {…} edge (descrizione);

                        \node[relationship] (attribuzione)

                        {Attribuzione} edge node[auto,swap]{(0,1)} (descrizione);
                        \node[relationship] (istruzione)

                        {Istruzione} edge node[auto,swap]{(0,N)} (docente);

                        \node[entity] (insegnamento) [below of=istruzione] {Insegnamento} edge node[auto,swap] {(0,1)} (istruzione);
                        \node[attribute] (id)

                        {\key{ID}} edge (insegnamento);
                        \node[attribute] (ecc)

                        {…} edge (insegnamento);

                        \node[relationship] (didattica) [below of=insegnamento] {Didattica} edge node[auto,swap]{(0,1)} (insegnamento);

                        \node[entity] (corsodilaurea)

                        {CorsoDiLaurea} edge node[auto,swap] {(0,N)} (didattica);
                        \node[attribute] (codice) [above=0.5em of corsodilaurea] {\key{Codice}} edge (corsodilaurea);
                        \node[attribute] (ecc) [below=0.5em of corsodilaurea] {…} edge (corsodilaurea);

                        \draw[link] (inserimento) -|node [pos=0.85,auto, swap] {(0,N)} (docente)(docente) edge (docente);
                        \draw[link] (attribuzione) -| node [pos=0.95,auto, swap] {(0,N)} (docente)(docente) edge (docente);

                        \end{tikzpicture}
                        \end{document}`

                        Grazie,
                        Simone

                      • #74139
                        robitex
                        Amministratore del forum
                          Up
                          0
                          Down
                          ::


                          Ciao,
                          a me funziona perfettamente.
                          ecco il codice che ho leggermente corretto:
                          `\documentclass{standalone}
                          \usepackage[T1]{fontenc}
                          \usepackage[utf8]{inputenc}
                          \usepackage{tikz-er2}

                          \usetikzlibrary{positioning}
                          \usetikzlibrary{shadows}

                          \tikzstyle{every entity} = [top color=white, bottom color=blue!30,
                          draw=blue!50!black!100, drop shadow]
                          \tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex,
                          shadow yshift=-.7ex}]\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20,
                          draw=yellow, node distance=5em, drop shadow]
                          \tikzstyle{every relationship} = [top color=white, bottom color=red!20,
                          draw=red!50!black!100, drop shadow]
                          \tikzstyle{every isa} = [top color=white, bottom color=green!20,
                          draw=green!50!black!100, drop shadow]

                          \begin{document}
                          \begin{tikzpicture}[node distance=9.4em, every edge/.style={link}]

                          \node[entity] (autore) {Autore};
                          \node[attribute] (id)

                          {\key{ID}} edge (autore);
                          \node[attribute] (ecc) [above=1em of autore]{…} edge(autore);

                          \node[relationship] (creazione)

                          {Creazione} edge node[auto,swap]{(0,N)} (autore);

                          \node[entity] (opera)

                          {Opera} edge node[auto,swap] {(0,N)} (creazione);
                          \node[attribute] (id)

                          {\key{ID}} edge (opera);
                          \node[attribute] (ecc) [below right=1em of opera] {…} edge (opera);

                          \node[relationship] (associazione) [below of=opera] {Associazione} edge node[auto,swap]{(0,N)} (opera);
                          \node[entity] (file) [below of=associazione] {File} edge node[auto,swap] {(0,1)} (associazione);
                          \node[attribute] (id) [above left=1em of file] {\key{ID}} edge (file);
                          \node[attribute] (ecc) [above right=1em of file] {…} edge (file);

                          \node[relationship] (esterna)

                          {Esterna} edge node[auto,swap]{(0,N)} (file);
                          \node[entity] (datir)

                          {DatiRipresa} edge node[auto,swap] {(0,N)} (esterna);
                          \node[attribute] (id)

                          {\key{ID}} edge (datir);
                          \node[attribute] (ecc) [above=1em of datir] {…} edge (datir);

                          \node[relationship] (diritto) [below of=file] {Diritto} edge node[auto,swap]{(0,N)} (file);
                          \node[entity] (copyright)

                          {Copyright} edge node[auto,swap] {(0,1)} (diritto);
                          \node[attribute] (id)

                          {\key{ID}} edge (copyright);
                          \node[attribute] (ecc) [below=1em of copyright] {…} edge (copyright);

                          \node[relationship] (inserimento)

                          {Inserimento} edge node[auto,swap]{(0,N)} (file);
                          \node[entity] (cartella) [above of=inserimento] {Cartella} edge node[auto,swap] {(0,1)} (inserimento);
                          \node[attribute] (id) [above=1em of cartella] {\key{ID}} edge (cartella);
                          \node[attribute] (ecc) [above right=1em of cartella] {…} edge (cartella);

                          \node[relationship] (condivisione)

                          {Condivisione} edge node[auto,swap]{(0,N)} (cartella);

                          \node[entity] (docente)

                          {Docente} edge node[auto,swap] {(0,1)} (condivisione);
                          \node[attribute] (matricola) [below left=2cm of docente] {\key{Matricola}} edge (docente);
                          \node[attribute] (ecc) [below right=1em of docente] {…} edge (docente);

                          \node[relationship] (correlazione) [above of=opera] {Correlazione} edge node[auto,swap]{(0,N)} (opera);

                          \node[entity] (descrizione)

                          {Descrizione} edge node[auto,swap] {(0,1)} (correlazione);
                          \node[attribute] (id) [above=1em of descrizione] {\key{ID}} edge (descrizione);
                          \node[attribute] (ecc) [below=1em of descrizione] {…} edge (descrizione);

                          \node[relationship] (attribuzione)

                          {Attribuzione} edge node[auto,swap]{(0,1)} (descrizione);
                          \node[relationship] (istruzione)

                          {Istruzione} edge node[auto,swap]{(0,N)} (docente);

                          \node[entity] (insegnamento) [below of=istruzione] {Insegnamento} edge node[auto,swap] {(0,1)} (istruzione);
                          \node[attribute] (id)

                          {\key{ID}} edge (insegnamento);
                          \node[attribute] (ecc)

                          {…} edge (insegnamento);

                          \node[relationship] (didattica) [below of=insegnamento] {Didattica} edge node[auto,swap]{(0,1)} (insegnamento);

                          \node[entity] (corsodilaurea)

                          {CorsoDiLaurea} edge node[auto,swap] {(0,N)} (didattica);
                          \node[attribute] (codice) [above=0.5em of corsodilaurea] {\key{Codice}} edge (corsodilaurea);
                          \node[attribute] (ecc) [below=0.5em of corsodilaurea] {…} edge (corsodilaurea);

                          \draw[link] (inserimento) -|node [pos=0.85,auto, swap] {(0,N)} (docente)(docente) edge (docente);
                          \draw[link] (attribuzione) -| node [pos=0.95,auto, swap] {(0,N)} (docente)(docente) edge (docente);

                          \end{tikzpicture}
                          \end{document}`
                          Ed ecco il pdf già ritagliato:

                          [attachment=319]t1.pdf[/attachment]
                          Un saluto.
                          R.

                          Attachments:
                          You must be logged in to view attached files.
                        • #74140
                          Up
                          0
                          Down
                          ::


                          Grazie tante per la correzione,
                          funziona anche a me compilandolo.

                          Buona domenica,
                          Simone

                          p.s.: funziona anche il metodo cfiandra solo che eviterò di mettere tutto il sorgente nei capitoli della tesi.

                      Visualizzazione 27 filoni di risposte
                      • Devi essere connesso per rispondere a questo topic.

                      Go to top