Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Visualizzatore "Dipendenze" tabelle di Enterprise Manager

35 views
Skip to first unread message

Andrea Beretta

unread,
Feb 7, 2005, 12:40:30 PM2/7/05
to

Ho convertito un DB Access a SQL Server e rimosso manualmente i Triggers per
eliminazioni/aggiornamenti a catena creati automaticamente dal convertitore
(voglio
rifarli usando un Diagramma).

La cosa strana è che il visualizzatore di "Dipendenze" di Enterprise Manager
continua a visualizzare oggetti associati alle varie tabelle... (immagino
che le "Dependancies" vengano create sulla base dei suddetti triggers)

Non capisco quale criterio utilizzi per visualizzare dipendenze tra tabelle
dato che:

1) Triggers non ce sono più
2) Il diagramma delle relazioni deve ancora essere creato.

Se le inventa? ;-)
Scherzi a parte, può essere che le dipendenze siano rimaste memorizzate in
una tabella di sistema del Server ... ma come fare ad eliminarle
completamente?


Luca Bianchi

unread,
Feb 7, 2005, 1:10:31 PM2/7/05
to
Andrea Beretta wrote:
> Non capisco quale criterio utilizzi per visualizzare dipendenze tra
> tabelle

La presenza di vincoli di integrità referenziale (foreign keys)

> Scherzi a parte, può essere che le dipendenze siano rimaste
> memorizzate in una tabella di sistema del Server ... ma come fare ad
> eliminarle completamente?

Più precisamente un vincolo FK è una proprietà della tabella e possono
essere creati/rimossi utilizzando il comando ALTER TABLE.
Puoi interrogare le tabelle di sistema per conoscere i vincoli FK presenti
in un database utilizzando la vista
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS, quindi eseguendo la query

SELECT *
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

oppure puoi utilizzare la stored procedure di sistema sp_fkeys a cui puoi
passare come parametro il nome della tabella ed ottenere informazioni sui
vincoli di integrità referenziale impostati per la tabella in questione.

Fai riferimento al Book On Line (BOL) per ulteriori approfondimenti. Puoi
scaricarne la versione più aggiornata (se ancora non l'hai fatto) dal link

http://www.microsoft.com/sql/techinfo/productdoc/2000/books.asp

Bye

--
Luca Bianchi
Microsoft MVP - SQL Server
http://mvp.support.microsoft.com


Andrea Beretta

unread,
Feb 7, 2005, 3:09:12 PM2/7/05
to

"Luca Bianchi" <


Anzitutto grazie per la risposta :-)


> > Scherzi a parte, può essere che le dipendenze siano rimaste
> > memorizzate in una tabella di sistema del Server ... ma come fare ad
> > eliminarle completamente?

> Più precisamente un vincolo FK è una proprietà della tabella e possono
> essere creati/rimossi utilizzando il comando ALTER TABLE.
> Puoi interrogare le tabelle di sistema per conoscere i vincoli FK presenti
> in un database utilizzando la vista
> INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS, quindi eseguendo la query
>
> SELECT *
> FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
>
> oppure puoi utilizzare la stored procedure di sistema sp_fkeys a cui puoi
> passare come parametro il nome della tabella ed ottenere informazioni sui
> vincoli di integrità referenziale impostati per la tabella in questione.

Mi pare che anche Enterprise Manager consenta di vederli: struttura tabella,
scheda Indici/Relazioni...

Senti Luca, potresti farmi un esempietto di utilizzo di Alter Table per la
rimozione di un vincolo d'integrità referenziale?
La documentazione in linea è troppo dettagliata e non ho visto un esempio
pratico che faccia al caso mio: mi faresti risparmiare un mucchio di tempo!
:-)

Ciao, Andrea


Lorenzo Benaglia

unread,
Feb 7, 2005, 3:29:57 PM2/7/05
to
Andrea Beretta wrote:
> Senti Luca, potresti farmi un esempietto di utilizzo di Alter Table
> per la rimozione di un vincolo d'integrità referenziale?
> La documentazione in linea è troppo dettagliata e non ho visto un
> esempio pratico che faccia al caso mio: mi faresti risparmiare un
> mucchio di tempo! :-)

Ciao Andrea,

la sintassi è:

ALTER TABLE <owner>.<tabella>
DROP CONSTRAINT <constraint>

Per un esempio pratico leggi il seguente post:
http://groups.google.it/groups?selm=bdbq9r%24r4i4d%241%40ID-154627.news.dfncis.de

Ciao!

--
Lorenzo Benaglia


Microsoft MVP - SQL Server
http://mvp.support.microsoft.com

http://italy.mvps.org


Andrea Beretta

unread,
Feb 7, 2005, 3:51:11 PM2/7/05
to

"Lorenzo Benaglia"

> Ciao Andrea,

> la sintassi č:

> ALTER TABLE <owner>.<tabella>
> DROP CONSTRAINT <constraint>


GRAZIE ragazzi: area fantastica! ;-))

Andrea

0 new messages