Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Aprenda o design de banco de dados com o SQL Server Management Studio (SSMS) – Parte 2


É a segunda parte da série focada no uso do SQL Server Management Studio. Você aprenderá os principais conceitos e problemas de design de banco de dados e obterá um passo a passo para projetar um banco de dados SQL simples com SSMS (SQL Server Management Studio).

Pré-requisitos

  1. O SQL Server 2016/2017/2019 Express/Developer edition está instalado.
  2. A versão mais recente do SSMS (SQL Server Management Studio) está instalada.
  3. Os leitores têm um conhecimento básico dos bancos de dados SQL e das ferramentas acima.
  4. Os conceitos básicos de design de banco de dados são claros.
  5. Os leitores estão familiarizados com o cenário de design Aluno-Instrutor discutido na parte 1.

Consulte Aprenda o design de banco de dados com o SSMS do SQL Server Management Studio Parte 1 para obter mais informações sobre os requisitos acima.

Projetando banco de dados aluno-instrutor com SSMS


Começamos a criar nosso banco de dados SQL simples com a ajuda do SSMS. No entanto, é melhor recapitular o banco de dados planejado antes de começar a projetá-lo.

Recapitulação do banco de dados Aluno-Instrutor


Falamos sobre um banco de dados simples que consiste nas três tabelas a seguir:
  1. Aluno . Esta tabela contém registros pertencentes a alunos.
  2. Instrutor . Esta tabela armazena informações sobre todos os instrutores.
  3. Aluno-Instrutor . Este nos diz qual instrutor está atribuído a qual aluno.

Importante: mais de um aluno pode ser atribuído a um instrutor e mais de um instrutor pode ser atribuído a um aluno (para diferentes disciplinas).

Em outras palavras, muitos alunos podem ter muitos instrutores.

Substituindo a Tabela Aluno-Instrutor pela Tabela do Curso


Vamos refinar um pouco o banco de dados aluno-instrutor – renomeamos a tabela Aluno-Instrutor com tabela Curso.

Dessa forma, fica mais fácil entender que cada Curso pode ter vários alunos, e cada Instrutor pode ter vários alunos para o mesmo Curso.

Estamos planejando as seguintes colunas para essas tabelas:
  1. Aluno:StudentId, Nome.
  2. Instrutor:InstructorId, Nome.
  3. Curso:CouseId, Name, StudentId, InstructorId.

Iniciar SSMS (SQL Server Management Studio)


Digite SSMS na caixa de pesquisa do Windows e clique nele na lista de resultados para iniciar o software:

Observe que você verá a versão que instalou. No nosso caso, é o SSMS (SQL Server Management Studio) versão 18.0.

Conectar-se ao mecanismo de banco de dados do SQL Server


No Explorador de Objetos janela, clique em Conectar e selecione Mecanismo de banco de dados :

Selecione o nome do servidor (o nome do SQL Server que você instalou em sua máquina). Conecte-se ao Mecanismo de Banco de Dados com base em suas configurações padrão. No nosso caso, usamos o modo de autenticação do Windows:

Criar um novo banco de dados SQL StudentInstructor


Uma vez conectado, clique com o botão direito do mouse em Bancos de dados nó no Explorador de objetos e clique em Novo banco de dados… como mostrado abaixo:

Digite o nome do banco de dados StudentInstructor . Clique em OK, deixando as configurações padrão, a menos que você precise alterá-las:

O banco de dados deve ser criado agora.

Expanda os mesmos bancos de dados nó para localizá-lo:

Criar uma tabela de alunos


Agora precisamos criar as tabelas no banco de dados StudentInstructor.

Expanda StudentInstructor nó do banco de dados:clique nele e clique com o botão direito do mouse em Tabelas.

Vá para Novo -> Tabela… do seguinte modo:

Vamos adicionar colunas à tabela uma a uma. Começamos com StudentId .

Digite o StudentId nome da coluna e selecione int Tipo de dados, pois será numérico (apenas com números):

Definir chave primária


O StudentId coluna também será a chave primária da tabela. Isso nos ajudará a identificar um aluno (linha/registro) de forma exclusiva.

Clique com o botão direito do mouse na seta que aponta para o StudentId coluna e clique em Definir chave primária :

Adicionar identidade à chave primária (StudentId)


Uma identidade definida para uma coluna incrementa automaticamente seu valor quando novos registros são inseridos. É como um número de série, que aumenta a cada novo registro.

Se não configurarmos a coluna de chave primária como uma coluna de identidade, adicionamos manualmente o ID para cada novo registro. Isso, é uma boa idéia para configurá-lo.

Por exemplo, o primeiro registro inserido na tabela Aluno terá um id automático 1, e o próximo será AlunoId 2, etc. É se configurarmos a Identidade.

Role para baixo nas Propriedades da coluna janela uma vez que o StudentId coluna de chave primária é selecionada até você encontrar a Especificação de identidade propriedade.

Defina a especificação de identidade da seguinte forma (começando com é a identidade) :

Especificação de identidade :Sim
(é Identidade) :Sim
Incremento de identidade :1
Semente de identidade :1

Adicione uma coluna de nome à tabela do aluno


Em seguida, adicione outra coluna – Nome para a mesa. Use varchar(45) Tipo de dados e desmarque Permitir nulos do seguinte modo:

Lembre-se que VARCHAR(45) representa os dados de caracteres (tipo) até 45 caracteres a serem armazenados na coluna (Nome). Quando desmarcamos Permitir Nulos ,devemos fornecer este valor à coluna para salvar um Aluno registro.

Salve a tabela (aluno)


O passo mais importante é salvar suas alterações. No nosso caso, salvamos a tabela recém-criada simplesmente clicando no botão Salvar ícone de disco na barra de ferramentas ou pelo atalho de teclado CTRL+S .

Digite o nome da tabela – Aluno – ao salvá-lo:

Visualizar a Tabela do Aluno (Explorador de Objetos)


Depois que a tabela for salva com sucesso, expanda as Tabelas nó do StudentInstructor database para localizar a tabela recém-criada:

Criar uma tabela de instrutor com InstrutorId e colunas de nome


Da mesma forma, clique com o botão direito do mouse em Tabelas nó novamente. Desta vez, crie uma nova tabela chamada Instrutor .

Em seguida, adicione uma nova coluna chamada InstructorId de int tipo de dados e defina-o como a chave primária, conforme mostrado abaixo:

A próxima etapa é adicionar Identidade para a coluna InstructorId :

Depois disso, adicione o Nome coluna de VARCHAR(45) tipo de dados para o Instrutor Tabela e não permita Nulos para esta coluna, assim como para o Nome coluna do Aluno tabela:

Salvar e visualizar uma tabela de instrutor (Explorador de objetos)


Salve a tabela pressionando CTRL+S atalho ou clicando no ícone Salvar. Nomeie a tabela como Instrutor .

Clique com o botão direito do mouse nas Tabelas nó em StudentInstructor banco de dados e clique em Atualizar para ver as duas tabelas agora:

Criar a tabela do curso com a coluna de chave primária CourseId com identidade


Temos que adicionar mais uma tabela ao banco de dados – o Curso table, que conterá ids das tabelas Aluno e Instrutor. Haverá um relacionamento de muitos para muitos (muitos alunos podem ser alocados para muitos instrutores, conforme nossos requisitos).

Crie uma nova tabela Curso com o CourseId chave primária:

Adicione Identidade à coluna da mesma forma que fizemos para StudentId e InstructorId colunas.

Adicionar as colunas Nome, StudentId e CourseId


Em seguida, adicione um Nome coluna do tipo VARCHAR(45) para o Curso tabela seguida pela adição de StudentId e CourseId colunas de int tipo de dados:

Não se esqueça de desmarcar Permitir Nulos para garantir que um registro não seja salvo sem inserir esses valores de coluna.

Dessa forma, garantimos que um Curso deve ter um Aluno e um instrutor antes de poder ser salvo no banco de dados. Além disso, o Aluno e Instrutor devem existir em suas tabelas originais.

Salvar e verificar rapidamente


Salve a tabela e o nome é como Curso:

Por fim, Atualizar todas as tabelas e visualize a tabela recém-criada junto com outras no Explorador de Objetos :

Adicionar todas as tabelas ao diagrama de banco de dados


Agora, precisamos criar um relacionamento entre as tabelas para que tanto Aluno e Instrutor tabelas foram conectadas ao Curso tabela através de suas chaves primárias.

Por exemplo, StudentId no Aluno tabela está conectada com StudentId no Curso tabela. Da mesma forma, InstructorId no Instrutor tabela está conectada com InstructorId no Curso tabela.

Podemos alcançá-lo com o diagrama de banco de dados.

Acesse o StudentInstructor banco de dados no Explorador de Objetos e clique com o botão direito do mouse em Diagramas de banco de dados -> Novo diagrama de banco de dados :

Clique em Sim :

Use o CTRL para selecionar todas as tabelas existentes e adicioná-las ao Diagrama de banco de dados :

Visualize o diagrama do banco de dados e reorganize as tabelas (clique na tabela e mova-a) para fazer o Curso suporte de mesa no meio, entre o Aluno e Instrutor tabelas:

Vincule a Tabela do Aluno com a Tabela do Curso


Precisamos criar um relacionamento entre Aluno e Curso conectando StudentId no Aluno tabela com o StudentId coluna no Curso tabela.

Arraste a chave StudentId e solte-o na coluna StudentId na Tabela de cursos . Clique em OK :

Isso criará um relacionamento de chave estrangeira entre as tabelas Curso e Aluno – garante que apenas os alunos salvos na tabela Aluno serão salvos na tabela Curso:

Vincule a tabela do instrutor com a tabela do curso


Da mesma forma, você precisa vincular o Instrutor tabela com o Curso tabela para que o InstructorId coluna de chave primária do Instrutor tabela seria passada para InstructorId no Curso tabela.

Dessa forma, garantimos que o InstructorId a chave primária existe como uma chave estrangeira no Curso tabela. Isso significa que podemos armazenar qualquer instrutor linha do Curso tabela somente se esse Instrutor existir no Instrutor original tabela. Dessa forma, mantemos a consistência e a integridade do banco de dados conforme a prática padrão.

Salvar o diagrama de banco de dados


Por fim, salve o diagrama de banco de dados clicando no botão Salvar ícone na barra de ferramentas:

Adicionar dados à Tabela do Aluno


É hora de adicionar alguns dados às tabelas criadas, começando pela tabela Aluno. Adicionaremos os registros de três alunos à tabela.

Clique com o botão direito do mouse no Aluno tabela e clique em Editar as 200 principais linhas (não se preocupe, você não vai editar 200 linhas):

Digite os seguintes nomes e clique em Entrar para salvar esses registros:

Em seguida, feche a janela - clique na cruz no canto superior direito ou pressione CTRL+F4.

Observe que StudentIds 1,2 e 3 são alocados automaticamente aos registros. Vamos usá-los mais tarde no Curso tabela.

Adicionar dados à tabela do instrutor


Agora, precisamos adicionar dois instrutores chamados Martin e Asad . Assim, adicione os seguintes dados ao Instrutor tabela:

Da mesma forma, mantenha esses IDs 1 e 2 em mente. Você pode fechar esta janela por enquanto.

Adicionar dados à tabela do curso


Temos alunos de um lado e professores do outro. Mas só podemos adicionar aqueles alunos que já estão na tabela Aluno, e o mesmo se aplica aos instrutores.

Vamos matricular os três alunos nos Bancos de dados curso e designe um instrutor para este Curso também:

Visualizar o conteúdo da tabela do curso


Para visualizar os dados, clique com o botão direito do mouse no Curso tabela -> Selecione as 1.000 principais linhas:

Parabéns! Você aprendeu com sucesso a projetar um banco de dados simples com SSMS (SQL Server Management Studio). Paralelamente treinamos para inserir novos registros e visualizar os dados inseridos.

Coisas para fazer


Agora que você pode projetar um banco de dados com SSMS, tente as seguintes coisas para melhorar ainda mais suas habilidades:
  1. Tente visualizar o conteúdo das tabelas Aluno e Instrutor.
  2. Tente adicionar outro curso chamado Business Intelligence e inscrever todos os três alunos nesse Curso, juntamente com a atribuição do instrutor Asad (InstructorId:2)
  3. Lembre-se de que você pode melhorar o design real do banco de dados do artigo das seguintes maneiras:
    • Renomeando o Curso tabela como a Classe tabela;
    • Removendo o Nome coluna da Classe tabela;
    • Substituindo o CourseId com o ClassId coluna;
    • Criando um Curso separado table com as colunas CourseId e Name, assim como para as tabelas Student e Instructor;
    • Adicionar um novo CourseId coluna para a tabela Class e vinculando CourseId do Curso Tabela com o CourseId coluna na Classe tabela, assim como Aluno e Instrutor.