PDA

View Full Version : [postgresql]Informazioni iniziali


RaouL_BennetH
17-09-2008, 08:35
Ciao a tutti :)

Devo lavorare ad un progettino di tipo classico (interfaccia grafica + db) e come motore per i dati la richiesta è postgresql.

Ora, ho una macchina con installato il sistema operativo linux, sul quale è presente la versione 7.4 (non avrei problemi ad aggiornarla).

Quello che volevo chiedervi è se potreste indicarmi i primi passi.

Dalla documentazione ufficiale, non riesco a trovare queste informazioni:

1) Come accedere all'ambiente pgsql, nel senso che, volendo fare un paragone con mysql, io accedo facendo: mysql -u username -p password

C'è da fare qualcosa del genere anche su pgsql?

2) Devo settare una password per l'amministratore di sistema?
Se si, come?

Poi, un dubbio... non è che queste informazioni non le trovo perchè non ci sono queste procedure?

Grazie mille :)

RaouL.

RaouL_BennetH
17-09-2008, 09:25
OK, almeno per la prima fase credo di aver risolto.

Sono riuscito ad aggiungere il mio utente, creare un db di prova ed aprire il terminale interattivo.

Grazie a tutti :)

RaouL.

gokan
17-09-2008, 10:18
Come dicevo in qualche altro post, puoi usare pgAdmin per avere un'interfaccia più comoda.

http://www.pgadmin.org/

Ciao

RaouL_BennetH
17-09-2008, 10:34
Come dicevo in qualche altro post, puoi usare pgAdmin per avere un'interfaccia più comoda.

http://www.pgadmin.org/

Ciao

Grazie, darò un'occhiata.

Ora però avrei qualche domandina in merito alla creazione di alcune tabelle:

la mia situazione:

Ho dei cantieri dove vengono effettuati dei lavori
Ogni cantiere può avere diverse sedi di lavoro
In ogni cantiere si possono svolgere diversi lavori

Pensavo di iniziare a suddividere il tutto così:



tabellaCantieri
tabellaCantieriSedi
tabellaElencoServizi
tabellaCantieriLavori



Come approccio pensate sia giusto?

Grazie.

RaouL.

RaouL_BennetH
17-09-2008, 11:34
Considerando una tabella per volta, limitandomi alla tabellaCantieri, vorrei capire una cosa:

Ovviamente ho bisogno di una chiave primaria e mi chiedevo se impostare come chiave primaria un valore numerico che si auto incrementa, oppure la ragione sociale del cantiere. Su questa avrei dei dubbi, perchè potrebbe capitare di avere anche cantieri che per qualche ragione possano avere la stessa ragione sociale.

Se imposto quindi come pk un valore numerico auto_increment, potrei aggirare questo piccolo eventuale inconveniente, ma mi sorgerebbe un altro dubbio:

Si possono referenziare da altre tabelle campi che non sono chiavi primarie?

Lo chiedo perchè, facendo un esempio mi troverei ad avere questa situazione:



CREATE TABLE tabellaCantieri ( id serial primary key,
ragioneSociale varchar(100)
);

//caso in cui la chiave esterna è la chiave primaria della tabella

CREATE TABLE tabellaCantieriSedi(id serial primary key,
idCantiere int references tabellaCantieri(id),
descrizione varchar(100)
);


//caso in cui la chiave esterna NON è la chiave primaria (possibile?)
CREATE TABLE tabellaCantieriSedi(id serial primary key,
descrizione varchar(100) references tabellaCantieri(ragioneSociale)
);



Grazie per gli eventuali suggerimenti :)

RaouL.