Aula Formas Normais

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 5

Faculdades Metropolitanas Unidas

Departamento de Ciências Exatas e Gerenciais

FORMAS NORMAIS
1ª FORMA NORMAL

A possibilidade de excluir duplicidade, ATOMICIDADE, para isso coloque no Modelo Conceitual o


ATRIBUTO IDENTIFICADOR ou CHAVE, que vai se tornar CHAVE PRIMÁRIA – PRIMARY KEY – PK.

Sem PK não há possibilidade de relacionamento entre tabelas.

Atributo Composto – Modelo Conceitual

Atributo Composto – Modelo Lógico

1
Faculdades Metropolitanas Unidas
Departamento de Ciências Exatas e Gerenciais

Atributo Composto – Modelo Físico

FUNCIONARIO
Nome da Coluna Tipo Condensado Permite Valor Nulo
CD_FUNCIONARIO int Não
NM_FUNCIONARIO varchar(50) Não
NR_RG varchar(15) Sim
NR_CPF varchar(11) Sim
DS_SEXO char(1) Sim
VL_SALARIO numeric(18, 2) Sim
NR_TELEFONE int Sim
DT_ADMISSAO date Sim
QT_ANOS int Sim
DS_LOGRADOURO varchar(50) Sim
DS_COMPLEMENTO varchar(20) Sim
DS_BAIRRO varchar(20) Sim
DS_CEP varchar(8) Sim

PESQUISA COM IGUAL (=) DEVE TER O TEXTO COMPLETO COMO ABAIXO:
SELECT * FROM FUNCIONARIO
WHERE DS_ENDERECO = 'AV BRASIL, 100, CASA 1A, JD. EUROPA, 040209900'

PODEMOS USAR NO LUGAR DO IGUAL (=) O LIKE


PESQUISA COMEÇANDO POR AV
SELECT * FROM FUNCIONARIO WHERE DS_ENDERECO LIKE 'AV%'

PESQUISA TERMINANDO POR 800


SELECT * FROM FUNCIONARIO WHERE DS_ENDERECO LIKE '%800'

PESQUISA QUE TENHA BELA VISTA EM QUALQUER PARTE DO TEXTO


SELECT * FROM FUNCIONARIO WHERE DS_ENDERECO LIKE '%BELA VISTA%'

ALTERAÇÃO DA ESTRUTURA DA TABELA


ALTER TABLE FUNCIONARIO ADD DS_LOGRADOURO VARCHAR(50)
ALTER TABLE FUNCIONARIO ADD DS_COMPLEMENTO VARCHAR(20)
ALTER TABLE FUNCIONARIO ADD DS_BAIRRO VARCHAR(20)
ALTER TABLE FUNCIONARIO ADD DS_CEP VARCHAR(8)

ALTERAÇÃO DOS DADOS DA TABELA


UPDATE FUNCIONARIO SET DS_LOGRADOURO='AV BRIG. LUIZ ANTONIO, 917',DS_COMPLEMENTO='1Oo
ANDAR',DS_BAIRRO='BELA VISTA',DS_CEP='01020800' WHERE CD_FUNCIONARIO=2
UPDATE FUNCIONARIO SET DS_LOGRADOURO='AV BRASIL, 100',DS_COMPLEMENTO='CASA
1A',DS_BAIRRO='JD. EUROPA',DS_CEP='04020990' WHERE CD_FUNCIONARIO=3
UPDATE FUNCIONARIO SET DS_LOGRADOURO='AV BRIG. LUIZ ANTONIO, 917',DS_COMPLEMENTO='TORRE
A',DS_BAIRRO='MOEMA',DS_CEP='05020100' WHERE CD_FUNCIONARIO=4
UPDATE FUNCIONARIO SET DS_LOGRADOURO='RUA HUMAITÁ, 230',DS_BAIRRO='BELA
VISTA',DS_CEP='01020700' WHERE CD_FUNCIONARIO=5
UPDATE FUNCIONARIO SET DS_LOGRADOURO='AV LIBERDADE,
1000',DS_COMPLEMENTO='FUNDOS',DS_BAIRRO='LIBERDADE',DS_CEP='05020600' WHERE CD_FUNCIONARIO=6

2
Faculdades Metropolitanas Unidas
Departamento de Ciências Exatas e Gerenciais

EXCLUSÃO DE COLUNA
ALTER TABLE FUNCIONARIO DROP COLUMN DS_ENDERECO

3
Faculdades Metropolitanas Unidas
Departamento de Ciências Exatas e Gerenciais

FUNCIONARIO
Nome da Coluna Tipo Condensado Permite Valor Nulo
CD_FUNCIONA... int Não
NM_FUNCION... varchar(50) Não
NR_RG varchar(15) Sim
NR_CPF varchar(11) Sim
VL_SALARIO numeric(18, 2) Sim
DS_SEXO char(1) Sim
DS_ENDERECO varchar(80) Sim
NR_TELEFONE int Sim
DT_ADMISSAO date Sim
CD_BAIRRO int Não

BAIRRO
Nome da Coluna Tipo Condensado Permite Valor Nulo
CD_BAIRRO int Não
NM_BAIRRO varchar(20) Não

2ª FORMA NORMAL

3ª FORMA NORMAL
DROP TABLE FUNCIONARIO

CREATE TABLE BAIRRO


(CD_BAIRRO INT IDENTITY(1,1) NOT NULL,
NM_BAIRRO VARCHAR(30) NOT NULL,
CONSTRAINT PK_BAIRRO PRIMARY KEY(CD_BAIRRO),
CONSTRAINT UNICO_BAIRRO UNIQUE(NM_BAIRRO))

CREATE TABLE FUNCIONARIO


(CD_FUNCIONARIO INT IDENTITY(1,1) NOT NULL,
NM_FUNCIONARIO VARCHAR(50) NOT NULL,
NR_RG VARCHAR(15) NULL,
NR_CPF VARCHAR(11) NULL,
VL_SALARIO NUMERIC(18,2) NULL,
DS_SEXO CHAR(1) NULL,
DS_LOGRADOURO VARCHAR(30) NULL,
DS_COMPLEMENTO VARCHAR(20) NULL,
DS_CEP VARCHAR(8) NULL,

4
Faculdades Metropolitanas Unidas
Departamento de Ciências Exatas e Gerenciais

NR_TELEFONE INT NULL,


DT_ADMISSAO DATE NULL,
CD_BAIRRO INT NOT NULL,
CONSTRAINT PK_FUNCIONARIO PRIMARY KEY(CD_FUNCIONARIO),
CONSTRAINT FK_FUNCIONARIO FOREIGN KEY(CD_BAIRRO) REFERENCES BAIRRO(CD_BAIRRO),
CONSTRAINT CHECK_SEXO CHECK(DS_SEXO IN ('F','M')))

INSERT INTO BAIRRO VALUES ('BELA VISTA')


INSERT INTO BAIRRO VALUES ('LIBERDADE')
INSERT INTO BAIRRO VALUES ('MOEMA')
INSERT INTO BAIRRO VALUES ('BRÁS')

INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('ANA',1)


INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('FERNANDO',1)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('EDUARDO',1)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('NORMA',1)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('ELIANA',2)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('PAULO',2)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('JULIA',2)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('FERNANDO',2)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('EDUARDO',3)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('NORMA',3)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('ELIANA',3)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('PAULO',4)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('ARI',4)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('CARLOS',4)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('SILVIA',4)
INSERT INTO FUNCIONARIO (NM_FUNCIONARIO,CD_BAIRRO) VALUES ('MARIA',4)

Você também pode gostar