È la seconda parte della serie incentrata sull'utilizzo di SQL Server Management Studio. Imparerai i concetti e i problemi di base della progettazione del database e otterrai una procedura dettagliata per progettare un semplice database SQL con SSMS (SQL Server Management Studio).
Prerequisiti
- È installata l'edizione Express/Developer di SQL Server 2016/2017/2019.
- È installata l'ultima versione di SSMS (SQL Server Management Studio).
- I lettori hanno una conoscenza di base dei database SQL e degli strumenti di cui sopra.
- I concetti di base per la progettazione del database sono chiari.
- I lettori hanno familiarità con lo scenario di progettazione Studente-Istruttore discusso nella parte 1.
Fare riferimento a Imparare la progettazione di database con SQL Server Management Studio SSMS, parte 1 per ulteriori informazioni sui requisiti di cui sopra.
Progettazione del database studenti-docenti con SSMS
Iniziamo a creare il nostro semplice database SQL con l'aiuto di SSMS. Tuttavia, è meglio fare un riepilogo del database pianificato prima di iniziare a progettarlo.
Riepilogo database studenti-istruttori
Abbiamo parlato di un semplice database composto dalle seguenti tre tabelle:
- Studente . Questa tabella contiene i record appartenenti agli studenti.
- Istruttore . Questa tabella memorizza le informazioni su tutti gli istruttori.
- Studente-Istruttore . Questo ci dice quale istruttore è assegnato a quale studente.
Importante: più di uno studente può essere assegnato a un istruttore e più di un istruttore può essere assegnato a uno studente (per materie diverse).
In altre parole, molti studenti possono avere molti istruttori.
Sostituzione del Tavolo Studente-Istruttore con il Tavolo del Corso
Perfezioniamo leggermente il database studente-insegnante:rinominiamo la tabella Studente-Istruttore con la tabella Corso.
In questo modo, è più facile capire che ogni Corso può avere più studenti e ogni Istruttore può avere più studenti per lo stesso Corso.
Stiamo pianificando le seguenti colonne per queste tabelle:
- Studente:ID studente, nome.
- Istruttore:IstruttoreId, Nome.
- Corso:CouseId, Name, StudentId, InstructorId.
Avvia SSMS (SQL Server Management Studio)
Digita SSMS nella casella di ricerca di Windows e fai clic nell'elenco dei risultati per avviare il software:
Nota che vedrai la versione che hai installato. Nel nostro caso, è SSMS (SQL Server Management Studio) versione 18.0.
Connetti a Motore di database di SQL Server
In Esplora oggetti finestra, fai clic su Connetti , quindi seleziona Motore di database :
Seleziona il Nome del server (il nome dell'SQL Server che hai installato sulla tua macchina). Connettiti al Motore di database in base alle tue impostazioni predefinite. Nel nostro caso, utilizziamo la modalità di autenticazione di Windows:
Crea un nuovo database SQL StudentInstructor
Una volta connesso, fai clic con il pulsante destro del mouse su Database nodo in Esplora oggetti e fai clic su Nuovo database... come mostrato di seguito:
Digita il nome del database StudentInstructor . Fare clic su OK, lasciando le impostazioni predefinite, a meno che non sia necessario modificarle:
Il database dovrebbe essere creato ora.
Espandi gli stessi database nodo per individuarlo:
Crea una tabella studenti
Ora dobbiamo creare le tabelle nel database StudentInstructor.
Espandi Istruttore Studente nodo database:fai clic su di esso, quindi fai clic con il pulsante destro del mouse su Tabelle.
Vai a Nuovo -> Tabella... come segue:
Aggiungeremo le colonne alla tabella una per una. Iniziamo con StudentId .
Digita StudentId nome della colonna e seleziona int Tipo di dati, poiché sarà numerico (solo con numeri):
Imposta chiave primaria
L' ID studente colonna sarà anche la chiave primaria della tabella. Ci aiuterà a identificare uno studente (riga/record) in modo univoco.
Fai clic con il pulsante destro del mouse sulla freccia che punta a StudentId colonna e fai clic su Imposta chiave primaria :
Aggiungi identità alla chiave primaria (StudentId)
Un'identità impostata su una colonna ne incrementa automaticamente il valore quando vengono inseriti nuovi record. È come un numero di serie, che aumenta ad ogni nuovo record.
Se non impostiamo la colonna della chiave primaria come colonna dell'identità, aggiungiamo manualmente l'ID per ogni nuovo record. Questo, è una buona idea configurarlo.
Ad esempio, il primo record inserito nella tabella Student avrà un ID automatico 1 e il successivo sarà StudentId 2, ecc. Se impostiamo l'Identità.
Scorri verso il basso le Proprietà della colonna finestra una volta che lo StudentId viene selezionata la colonna della chiave primaria finché non trovi la Specifica identità proprietà.
Imposta la specifica dell'identità come segue (iniziando con is Identity) :
Specifica di identità :Sì
(è identità) :Sì
Incremento identità :1
Seme di identità :1
Aggiungi una colonna Nome alla tabella degli studenti
Quindi, aggiungi un'altra colonna:Nome al tavolo. Usa varchar(45) Digita i dati e deseleziona Consenti valori nulli come segue:
Ricorda che VARCHAR(45) rappresenta i dati del carattere (tipo) fino a 45 caratteri da memorizzare nella colonna (Nome). Quando deselezioniamo Consenti valori nulli , dobbiamo fornire questo valore alla colonna per salvare uno Studente registrare.
Salva il tavolo (studente)
Il passaggio più importante è salvare le modifiche. Nel nostro caso, salviamo la tabella appena creata semplicemente facendo clic su Salva icona del disco sulla barra degli strumenti o tramite la scorciatoia da tastiera CTRL+S .
Digita il nome della tabella:Studente – al momento del salvataggio:
Visualizza la tabella degli studenti (Esplora oggetti)
Una volta che la tabella è stata salvata correttamente, espandi le Tabelle nodo dello Istruttore Studente database per individuare la tabella appena creata:
Crea una tabella istruttore con colonne InstructorId e Name
Allo stesso modo, fai clic con il pulsante destro del mouse sulle Tabelle nodo di nuovo. Questa volta, crea una nuova tabella chiamata Istruttore .
Quindi, aggiungi una nuova colonna denominata InstructorId di int tipo di dati e impostarlo come chiave primaria come mostrato di seguito:
Il passaggio successivo consiste nell'aggiungere Identità alla colonna InstructorId :
Successivamente, aggiungi il Nome colonna di VARCHAR(45) tipo di dati all'Istruttore Tabella e non consentire Null per questa colonna, proprio come per il Nome colonna dello Studente tabella:
Salvare e visualizzare una tabella istruttore (Esplora oggetti)
Salva la tabella premendo CTRL+S collegamento o facendo clic sull'icona Salva. Assegna al tavolo un nome Istruttore .
Fai clic con il pulsante destro del mouse sulle Tabelle nodo in Istruttore Studente database e fai clic su Aggiorna per vedere ora entrambe le tabelle:
Crea la tabella del corso con la colonna della chiave primaria CourseId con Identity
Dobbiamo aggiungere un'altra tabella al database:il Corso tabella, che conterrà gli ID di entrambe le tabelle Studente e Istruttore. Ci sarà una relazione molti-a-molti (molti studenti possono essere assegnati a molti istruttori, secondo i nostri requisiti).
Crea una nuova tabella Corso con CourseId chiave primaria:
Aggiungi Identity alla colonna come abbiamo fatto per StudentId e InstructorId colonne.
Aggiungi colonne Nome, ID Studente e ID Corso
Quindi, aggiungi un Nome colonna di tipo VARCHAR(45) al Corso tabella seguita dall'aggiunta di StudentId e ID corso colonne di int tipo di dati:
Non dimenticare di deselezionare Consenti valori nulli per garantire che un record non venga salvato senza l'immissione di questi valori di colonna.
In questo modo, garantiamo che un Corso deve avere uno Studente e un istruttore prima che possa essere salvato nel database. Inoltre, lo Studente e Istruttore devono esistere nelle loro tabelle originali.
Salva e verifica veloce
Salva la tabella e il nome è Corso:
Infine, Aggiorna tutte le tabelle e visualizzare la tabella appena creata insieme ad altre in Esplora oggetti :
Aggiungi tutte le tabelle al diagramma del database
Ora, dobbiamo creare una relazione tra i tavoli in modo che sia Studente e Istruttore i tavoli sono stati collegati al Corso tabella tramite le loro chiavi primarie.
Ad esempio, StudentId in lo Studente la tabella è collegata a StudentId nel Corso tavolo. Allo stesso modo, InstructorId nel Istruttore la tabella è collegata a InstructorId nel Corso tabella.
Possiamo ottenerlo con il diagramma del database.
Vai a Istruttore Studente database in Esplora oggetti e fai clic con il pulsante destro del mouse su Diagrammi database -> Nuovo diagramma del database :
Fai clic su Sì :
Usa il CTRL per selezionare tutte le tabelle esistenti e aggiungerle al Diagramma database :
Visualizza il diagramma del database e riordina le tabelle (clicca sulla tabella e spostala) per fare il Corso supporto da tavolo al centro, tra lo Studente e Istruttore tabelle:
Collega la tabella degli studenti con la tabella dei corsi
Dobbiamo creare una relazione tra Studente e Corso collegando StudentId nello Studente tabella con StudentId colonna nel Corso tabella.
Trascina la chiave StudentId e rilascialo nella colonna StudentId nella Tabella dei corsi . Fai clic su OK :
Creerà una relazione di chiave esterna tra le tabelle Corso e Studente – assicura che solo gli studenti salvati nella tabella Studente vengano salvati nella tabella Corso:
Collega il tavolo dell'istruttore con il tavolo del corso
Allo stesso modo, devi collegare l'Istruttore tavolo con il Corso tabella in modo che InstructorId colonna chiave primaria dell'Istruttore la tabella verrebbe passata a InstructorId nel Corso tabella.
In questo modo, ci assicuriamo che InstructorId la chiave primaria esiste come chiave esterna nel Corso tavolo. Significa che possiamo archiviare qualsiasi istruttore riga dal Corso tabella solo se quell'Istruttore esiste nel Istruttore originale tavolo. In questo modo, manteniamo la coerenza e l'integrità del database come da prassi standard.
Salva il diagramma del database
Infine, salva il diagramma del database facendo clic su Salva icona sulla barra degli strumenti:
Aggiungi dati alla tabella degli studenti
È ora di aggiungere alcuni dati alle tabelle create, partendo dalla tabella Studente. Aggiungeremo tre record di studenti alla tabella.
Fai clic con il pulsante destro del mouse sullo Studente tabella e fai clic su Modifica le prime 200 righe (non preoccuparti, non modificherai 200 righe):
Digita i seguenti nomi e fai clic su Invio per salvare questi record:
Quindi, chiudi la finestra:fai clic sulla croce in alto a destra o premi CTRL+F4.
Si noti che gli StudentId 1,2 e 3 vengono assegnati automaticamente ai record. Li useremo più avanti nel Corso tabella.
Aggiungi dati alla Tabella Istruttori
Ora dobbiamo aggiungere due istruttori chiamati Martin e Asad . Pertanto, aggiungi i seguenti dati al Istruttore tabella:
Allo stesso modo, tieni a mente questi ID 1 e 2. Puoi chiudere questa finestra per ora.
Aggiungi dati alla tabella dei percorsi
Abbiamo studenti da una parte e istruttori dall'altra. Ma possiamo aggiungere solo quegli studenti che sono già nella tabella Studenti, e lo stesso vale per i docenti.
Iscriviamo tutti e tre gli studenti ai Banche dati corso e assegna un istruttore a questo Corso anche:
Visualizza il contenuto della tabella del corso
Per visualizzare i dati, fai clic con il pulsante destro del mouse su Corso tabella -> Seleziona le prime 1000 righe:
Congratulazioni! Hai imparato con successo a progettare un semplice database con SSMS (SQL Server Management Studio). Inoltre ci siamo allenati per inserire nuovi record e visualizzare i dati inseriti.
Cose da fare
Ora che puoi progettare un database con SSMS, prova le seguenti cose per migliorare ulteriormente le tue abilità:
- Prova a visualizzare i contenuti delle tabelle Studente e Istruttore.
- Prova ad aggiungere un altro corso chiamato Business Intelligence e iscrivi tutti e tre gli studenti a quel Corso, insieme all'assegnazione dell'istruttore Asad (InstructorId:2)
- Ricorda che puoi migliorare la progettazione effettiva del database dall'articolo con le seguenti cose:
- Rinominare il Corso tabella come la Classe tabella;
- Rimozione del Nome colonna della Classe tabella;
- Sostituzione di CourseId con ClassId colonna;
- Creazione di un Corso separato tabella con le colonne CourseId e Name, proprio come per le tabelle Studente e Docente;
- Aggiunta di un nuovo CourseId colonna alla tabella Class e collegando CourseId del Corso Tabella con CourseId colonna nella Classe tavolo, proprio come Studente e Istruttore.