Pré-requisitos
- Uma conta do Azure com uma assinatura ativa.
- Uma instância do Azure SQL Database configurada.
- Acesso ao Portal do Azure ou ao SQL Server Management Studio (SSMS) para executar consultas SQL.
Conecte-se ao seu Azure SQL Database
Para começar, você precisa se conectar ao seu Azure SQL Database. Você pode usar o SQL Server Management Studio (SSMS), o Azure Data Studio ou qualquer outro cliente SQL que suporte conexões com o Azure SQL Database.
-- Using SQL Server Management Studio (SSMS)
-- Replace <server_name>, <database_name>, <username>, and <password> with your details
Server name: <server_name>.database.windows.net
Database name: <database_name>
Authentication: SQL Server Authentication
Login: <username>
Password: <password>
Criação básica de tabela
Depois de conectado, você pode começar criando uma tabela simples. Essa tabela vai armazenar informações de funcionários, como ‘ID do funcionário’, ‘nome’ e ‘departamento’.
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
EmployeeName NVARCHAR(100),
Department NVARCHAR(50)
);
Saída esperada:
Se a tabela for criada com sucesso, você verá uma mensagem como esta:
Commands completed successfully.
Criando uma tabela com constraints
Adicionar constraints à sua tabela ajuda a garantir a integridade dos dados. Por exemplo, você pode garantir que certos campos não sejam nulos ou adicionar constraints de unicidade.
CREATE TABLE Departments (
DepartmentID INT PRIMARY KEY,
DepartmentName NVARCHAR(100) NOT NULL UNIQUE,
CreatedDate DATETIME DEFAULT GETDATE()
);
Saída esperada:
Commands completed successfully.
Neste exemplo, a coluna DepartmentName não pode ser nula e deve ser única. A coluna CreatedDate assumirá automaticamente a data e hora atuais quando um novo registro for inserido.
Criando uma tabela com chave estrangeira
Chaves estrangeiras são usadas para estabelecer relacionamentos entre tabelas. Neste exemplo, vamos criar uma tabela que referencia a tabela Departments.
CREATE TABLE EmployeeDetails (
EmployeeID INT PRIMARY KEY,
EmployeeName NVARCHAR(100) NOT NULL,
DepartmentID INT,
CONSTRAINT FK_Department FOREIGN KEY (DepartmentID)
REFERENCES Departments(DepartmentID)
ON DELETE CASCADE
ON UPDATE CASCADE
);
Saída esperada:
Commands completed successfully.
As opções ON DELETE CASCADE e ON UPDATE CASCADE garantem que as alterações na tabela Departments sejam propagadas para a tabela EmployeeDetails, mantendo a integridade referencial.
Inserindo dados nas tabelas
Com as tabelas criadas, você pode inserir alguns dados para ver como elas funcionam juntas.
-- Insert data into Departments table
INSERT INTO Departments (DepartmentID, DepartmentName)
VALUES (1, 'HR'), (2, 'Engineering');
-- Insert data into EmployeeDetails table
INSERT INTO EmployeeDetails (EmployeeID, EmployeeName, DepartmentID)
VALUES (101, 'John Doe', 1), (102, 'Jane Smith', 2);
Saída esperada:
(2 rows affected)
(2 rows affected)
Consultando dados
Agora você pode consultar os dados para ver os relacionamentos entre as tabelas Departments e EmployeeDetails.
SELECT
e.EmployeeID,
e.EmployeeName,
d.DepartmentName
FROM
EmployeeDetails e
INNER JOIN
Departments d ON e.DepartmentID = d.DepartmentID;
Saída esperada:
| EmployeeID | EmployeeName | DepartmentName | |
|---|---|---|---|
| 101 | John | Doe | HR |
| 102 | Jane | Smith | Engineering |
Alterando uma tabela
Modificar uma tabela após a criação é uma necessidade comum. Você pode precisar adicionar uma nova coluna, alterar o tipo de dado de uma coluna ou definir valores padrão.
-- Add a new column to the EmployeeDetails table
ALTER TABLE EmployeeDetails
ADD Email NVARCHAR(255);
-- Set a default value for the new column
ALTER TABLE EmployeeDetails
ADD CONSTRAINT DF_Email DEFAULT 'example@example.com' FOR Email;
Saída esperada:
Commands completed successfully.
Excluindo uma tabela
Se você não precisa mais de uma tabela, pode excluí-la usando a instrução DROP TABLE. Tenha cuidado com essa operação, pois ela exclui permanentemente a tabela e seus dados.
DROP TABLE EmployeeDetails;
Saída esperada:
Commands completed successfully.
Conclusão
Criar e gerenciar tabelas no Azure SQL Database é um processo simples, mas entender as várias opções e constraints que você pode aplicar vai ajudar a projetar bancos de dados eficientes e escaláveis. Usando chaves estrangeiras, constraints e tipos de dados adequados, você garante a integridade dos dados e otimiza o desempenho.
Outros artigos que você pode gostar:
Beekeeper Studio é um cliente de banco de dados gratuito e open source
A melhor ferramenta de consultas e edição de SQL que já usei. Tem tudo o que preciso para gerenciar meu banco de dados. - ⭐⭐⭐⭐⭐ Mit
O Beekeeper Studio é rápido, intuitivo e fácil de usar. Ele suporta vários bancos de dados e funciona muito bem no Windows, Mac e Linux.
O que os usuários dizem sobre o Beekeeper Studio
"O Beekeeper Studio substituiu completamente meu antigo fluxo de trabalho com SQL. É rápido, intuitivo e torna o trabalho com bancos de dados prazeroso de novo."
"Já testei muitas GUIs de banco de dados, mas o Beekeeper encontra o equilíbrio perfeito entre recursos e simplicidade. Simplesmente funciona."