Parte #1 – Inicio da Jornada – Criação da Base e tabelas
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:

I am regular reader, how are you everybody? This article posted at this site is really pleasant.
Aw, this was a really nice post. Finding the time and actual effort to generate a superb article… but what can I say… I hesitate a lot and don’t seem to get anything
done.
This design is incredible! You most certainly know how to keep a reader
entertained. Between your wit and your videos, I was almost moved to start my own blog
(well, almost…HaHa!) Fantastic job. I really
enjoyed what you had to say, and more than that, how
you presented it. Too cool!
For newest news you have to go to see the web and on world-wide-web I found this site as a finest web site for latest updates.
Greetings from Ohio! I’m bored to death at
work so I decided to browse your blog on my iphone during lunch break.
I enjoy the knowledge you present here and
can’t wait to take a look when I get home. I’m surprised at
how quick your blog loaded on my phone .. I’m not even using WIFI, just 3G
.. Anyways, very good site!
Also visit my homepage – best CBD for dogs
Excellent blog post. I definitely love this site. Keep it up!
Parabéns meu caro!
Muito sucesso nesse novo projeto.
Muito boa a aula. Parabens.
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 😉
Parabéns pelo projeto.
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 😉
Iniciativa fantástica! Parabéns!
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 😉