2010-08-31 7 views
6

Mi manca qualcosa qui? Sembra che le uniche opzioni per creare una nuova tabella in un progetto di database in VS2010 è:Esiste un designer di tabelle per il progetto di database VS2010?

Creare un oggetto tabella come un file, quindi creare tutti i vincoli (default) come file separati, quindi creare ogni indice in un file separato , e la chiave primaria in un file separato e così via ...

O

creare l'intero schema della tabella utilizzando progettazione tabelle in SQL Server Management Studio e quindi usare il confronto schema strumento per creare un singolo file monolitico di SQL istruzioni per ogni elemento della tabella e copia ciascun blocco di codice in un file appena creato in VS.

Questa domanda è stata posta 2 anni fa e spero che la risposta sia cambiata. Per favore dimmi che c'è un designer di tabelle nascoste per il progetto di database in VS2010 che ho appena trascurato.

risposta

3

Sono quasi sicuro che non ce n'è uno!

Posso chiedere perché è necessario un designer di tabelle per creare e modificare i file di script di creazione per i nuovi oggetti? C'è qualcosa che questo non ti dà che sarebbe un designer?

+2

@David, preferisco un designer in questo caso per lo stesso motivo per cui uso altri strumenti di codifica (come VS), piuttosto che la codifica nel blocco note. Convenienza, maggiore produttività e affidabilità. Si spera che si possa essere d'accordo sul fatto che alcuni codici siano così "Boiler-plate" da essere generati e mantenuti più rapidamente e in modo più affidabile da uno strumento che da un umano. Quando sono "sotto la pistola", preferisco passare il mio tempo e i miei processi di pensiero alla logica aziendale piuttosto che alle dichiarazioni "ALTER TABLE xxx ADD CONSTRAINT xxx blah, blah blah". –

+0

@David, dopo aver esaminato il tuo profilo e visto che lavori per Red Gate, potrei aggiungere che altri strumenti di codifica che uso per ragioni simili includono: Prompt SQL, Refactor, Data Gen, Docs e in precedenza, Packager. Tu, fuori di tutto, dovresti capire il mio desiderio di un designer di tavoli. –

+1

L'intero punto sul modello di script offline di VS2010 è che non richiede di formulare istruzioni ALTER difficili da ricordare per modificare i propri oggetti. Stai definendo gli script CREATE (da un punto di partenza del modello) e quando questo viene distribuito in un database, le cose difficili vengono eseguite dal motore sottostante. –

0

Wow ... non posso credere che nessuno abbia avuto il tempo di rispondere a questo in tutto questo tempo. Ecco un esempio di script per la creazione di tabelle con alcuni semplici vincoli.

CREATE TABLE [User] 
(
    UserID    INT    NOT NULL IDENTITY (1,1), 
    UserName   NVARCHAR(20) NOT NULL, 
    UserPassword  NVARCHAR(20) NOT NULL, 
    EmailAddress  NVARCHAR(50) NOT NULL, 
    Location   NVARCHAR(100), 
    MobileNumber  VARCHAR(10), 
    CreatedDate   DATETIME  NOT NULL  
     CONSTRAINT User_CreatedDate_DF DEFAULT     (GETDATE()), 
     CONSTRAINT User_UserID_PK  PRIMARY KEY CLUSTERED (UserID), 
     CONSTRAINT User_UserName_UQ  UNIQUE     (UserName), 
     CONSTRAINT User_EmailAddress_CK CHECK     (EmailAddress LIKE '%@%.%'), 
     CONSTRAINT User_MobileNumber_CK CHECK     (MobileNumber LIKE '[2-9][0-9][0-9][2-9][0-9][0-9][0-9][0-9][0-9][0-9]') 
) 

È possibile utilizzare le funzioni per incorporare nei vostri vincoli di controllo, ma ancora una volta, questo è un exaxmple semplicistico.

+1

Grazie per il tempo dedicato a dare una risposta, ma, sfortunatamente, l'aggiunta di vincoli come parte dell'istruzione CREATE TABLE non è consentita nel progetto VSDB e, anche se lo fosse, eliminerebbe gli scopi nell'avere file separati per ogni database oggetto, che sono: 1. protezione tramite controllo del codice sorgente e 2. con singoli oggetti da confrontare nel processo di aggiornamento. Il mio problema è che creare questi singoli oggetti come file è un esercizio che richiede tempo. Con un designer di tabelle, ho potuto creare una tabella e tutti i vincoli e gli oggetti correlati come file in pochi minuti. –

+0

E a proposito, sono ben consapevole di come scrivere una sceneggiatura di creazione di tabelle con contrappesi, ma grazie lo stesso ... Anche io sono stupito di avere solo 2 risposte su questo. Particolarmente sorpreso di non avere una risposta da qualcuno della MS, forse nel team di Visual Studio. Oh bene .. –

1

Il modo in cui io uso il progetto di database in VS2010 è:

  1. Creare tutto con SQL Server Management Studio.
  2. Sincronizzarlo nel mio progetto di database.
  3. Quando è necessario modificare qualcosa, farlo in SQL Server Management Studio.
  4. Utilizzare i confronti schema per sincronizzare il progetto del database.
1

Ho appena notato che VS 11 Beta ora include un designer, anche se è approssimativo ai bordi (le relazioni, ad esempio, devono ancora essere digitate a mano).

+0

Ehi, grazie per la risposta. Sembra incoraggiante! Dovrà verificarlo. Abbiamo avuto altri problemi seri in particolare, aggiornamenti e limitazioni. Sono stato fuori da quella parte così a lungo, non conosco i problemi esatti, ma non è così utile come pensavamo sarebbe stato quando ci siamo impegnati. Spero che abbiano affrontato anche questi problemi. –

0

Come ho commentato here, il riferimento VS2010 indica che esiste un Table Designer in questo document.

Ma per qualche ragione, non importa che tipo di progetto che creo (progetto Server 2008/2005, 2008/2005 progetto di database) non riesco a ottenere il Table Designer viene mostrato.

+0

Penso che sia fondamentalmente il designer di tabelle di SSMS. Penso che sia progettato per l'interazione con un'istanza del server SQL o un file MDF, non per un progetto di database VSTS. Non sarebbe diverso dal semplice aprire SSMS (o la versione gratuita), progettare la tabella e copiare il codice SQL che lo strumento genera nei file di progetto. Dovresti comunque mantenere manualmente il codice per i vincoli come file di codice separati. Entrambi crediamo che sarebbe meglio per uno strumento di progettazione mantenere tutti i file relativi alla tabella. Non dubiterei se il progetto DB muore sulla vite, al posto di EF. –

Problemi correlati