Vamos para o começo de tudo e relembrar o que é Banco de Dados Relacionais.

Agora, vamos criar um banco de dados para iniciarmos:

/* CRIANDO UMA DATABASE */
CREATE DATABASE [WILLDEGLAN]
GO

/* CONECTANDO A UM BANCO */
USE [WILLDEGLAN]
GO

Acima, foi criado o banco de dados [WILLDEGLAN] e foi dado o comando para selecioná-lo. Com a base criada e selecionada, vamos criar as tabelas [ALUNO], [ENDERECO] e [TELEFONE]:

/*CRIACAO DE TABELAS */
CREATE TABLE ALUNO(
	  IDALUNO INT IDENTITY
	, NOME VARCHAR(30) NOT NULL
	, SEXO CHAR(1) NOT NULL
	, NASCIMENTO DATE NOT NULL
	, EMAIL VARCHAR(30)

	  CONSTRAINT PK_IDALUNO PRIMARY KEY (IDALUNO)
	, CONSTRAINT UNK_EMAIL UNIQUE (EMAIL)
);
GO

/* CRIANDO A TABELA ENDERECO 1 X 1 */
CREATE TABLE ENDERECO(
	  IDENDERECO INT IDENTITY(10,1)
	, BAIRRO VARCHAR(30)
	, UF CHAR(2) NOT NULL CHECK (UF IN('RJ','SP','MG','DF'))
	, ID_ALUNO INT 

	  CONSTRAINT PK_IDENDERECO PRIMARY KEY (IDENDERECO)
	, CONSTRAINT UNK_ID_ALUNO UNIQUE (ID_ALUNO)
);
GO

/* CRIANDO A TABELA TELEFONES 1 X N */
CREATE TABLE TELEFONE(
	  IDTELEFONE INT IDENTITY
	, TIPO CHAR(3) NOT NULL
	, NUMERO VARCHAR(10) NOT NULL
	, ID_ALUNO INT

	  CONSTRAINT PK_IDTELEFONE PRIMARY KEY (IDTELEFONE)
	, CHECK (TIPO IN ('RES','COM','CEL'))
);
GO

Percebam que foram criadas algumas CONSTRAINTs juntamente com as tabelas. Agora vamos ver como criar as CONSTRAINTs em tabelas já criadas e formar as relações entre as duas tabelas:

/*CONSTRAINTS */
ALTER TABLE ALUNO
	ADD CONSTRAINT CK_SEXO CHECK (SEXO IN('M','F'))
GO

Foi criada uma CONSTRAINT CHECK para não ser inserido nenhum dado no campo SEXO diferente de ‘M’ ou ‘F’, abaixo será criada um Chave Estrangeira (FK) para montar o relacionamento entre as tabelas [ALUNO], [ENDERECO] e [TELEFONE].

/* CRIANDO A FK - RELACIONAMENTO */
ALTER TABLE ENDERECO ADD CONSTRAINT FK_ENDERECO_ALUNO
	FOREIGN KEY(ID_ALUNO) REFERENCES ALUNO(IDALUNO);
GO


ALTER TABLE TELEFONE ADD CONSTRAINT FK_TELEFONE_ALUNO
	FOREIGN KEY(ID_ALUNO) REFERENCES ALUNO(IDALUNO);
GO

Existe alguns procedimentos armazenados (SP) já criado pelo próprio SQL Server para visualizar informações sobre as tabelas ou objetos. Segue abaixo duas SPs como exemplo:

/* PROCEDURES - JA CRIADAS NO SQL SERVER */
SP_COLUMNS ENDERECO;
GO

SP_HELP ALUNO;
GO

Para encerrar essa postagem, vamos popular as tabelas com INSERT INTO:

/* POPULANDO AS TABELAS */ 
/* ALUNO */
INSERT INTO ALUNO VALUES('ANDREA','F','1981/12/09','[email protected]')
INSERT INTO ALUNO VALUES('ANAIR','F','1978/03/09','[email protected]')
INSERT INTO ALUNO VALUES('RUI','M','1951/07/09','[email protected]')
INSERT INTO ALUNO VALUES('JOAO','M','2002/11/09','[email protected]')
GO

/* ENDERECO */
INSERT INTO ENDERECO VALUES('RIO DE JANEIRO','RJ',1)
INSERT INTO ENDERECO VALUES('SAO PAULO','SP',2)
INSERT INTO ENDERECO VALUES('SANTA MARIA','DF',4)
INSERT INTO ENDERECO VALUES('ZONA SUL','SP',3)
GO

/* TELEFONE */
INSERT INTO TELEFONE VALUES('CEL','7899889',1)
INSERT INTO TELEFONE VALUES('RES','4325444',1)
INSERT INTO TELEFONE VALUES('COM','4354354',2)
INSERT INTO TELEFONE VALUES('CEL','2344556',2)
GO

Hoje criamos a database WILLDEGLAN e as tabelas ALUNO, ENDERECO e TELEFONE. Criamos constraints PK, FK, UNIQUE e CHECK. Vimos como realizar alterações na estrutura de tabela já criadas e por fim inserimos dados as tabelas com INSERT INTO.

Como bônus, vou deixar o diagrama da database criada nesse post:

7 comentários

  1. Maurício Barros em 03/01/2021 às 15:34

    Iniciativa fantástica! Parabéns!

    • Willdeglan em 20/01/2021 às 15:07

      Obrigado, veja também o vídeo demonstrativo que está incorporado, não esqueça de deixar um like e se inscreva lá no canal 😉

  2. Gilvan Alencar em 17/01/2021 às 13:15

    Parabéns pelo projeto.

    • Willdeglan em 20/01/2021 às 15:07

      Obrigado, veja também o vídeo demonstrativo que está incorporado, não esqueça de deixar um like e se inscreva lá no canal 😉

  3. Edson em 20/01/2021 às 11:40

    Muito boa a aula. Parabens.

    • Willdeglan em 20/01/2021 às 15:07

      Obrigado, veja também o vídeo demonstrativo que está incorporado, não esqueça de deixar um like e se inscreva lá no canal 😉

  4. Thaan Costa em 20/01/2021 às 15:33

    Parabéns meu caro!
    Muito sucesso nesse novo projeto.

Deixe um Comentário