Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
MODELO RELACIONAL
RESTRIÇÃO DE INTEGRIDADE
É hora da revisão
4
CONCEITUAL LÓGICO FÍSICO
MODELO RELACIONAL
MODELO RELACIONAL
MODELO RELACIONAL
MODELO RELACIONAL
CHAVE PRIMÁRIA
Atributo que identifica uma tupla de modo único
Não pode ser nula
Não pode ser repetir
Deve ter o menor tamanho possível
MODELO RELACIONAL
CHAVE ESTRANGEIRA
Sempre aponta para a chave primária de uma tabela
Pode ter valor nulo
Permite o relacionamento entre duas ou mais tabelas
MODELO RELACIONAL
CONTROLE DE INTEGRIDADE
São regras que tem o proposito de garantir
a integridade dos dados
• Integridade de Domínio
• Integridade de Chave
• Integridade Referencial
• Integridade Personalizada
REPRESENTAÇÃO EM
TABELAS
12
13 Cliente
Clientes
Nome Sobrenome Cidade CPF Fone
Maria Silva Novo Mundo 111.111.111-11 9999-1111
Gilmar Mendes Matupá 222.222.222-22 9999-2222
Maria Borges Matupá 333.333.333-33 9999-3333
Sérgio Chapelin Guarantã 444.444.444-44 9999-1111
Maria Silva Guarantã 555.555.555-55 9999-4444
Pedro Bial Peixoto 666.666.666-66 9999-5555
14 ENTIDADE
Entidade
Entidadee
Entidade
Entidade
ATRIBUTOS
15
Nome Sobrenome Cidade CPF Fone
Entidade
Entidade
Entidade
Entidade
Entidade
16
Entidade
Entidade
Entidade
Entidade
Entidade
DEFINIÇÕES
IMPORTANTES
17
18 Colunas são chamadas de
Atributos ou Campos
23
REGRAS PARA CHAVE PRIMÁRIA
30 (Primary Key – PK)
#1 #2 #3
VALOR VALOR VALOR NÃO
EXCLUSIVO NÃO NULO REPETE
31 TIPOS DE CHAVE PRIMÁRIA
CHAVE CHAVE
NATURAL SUBSTITUTA
Campo presente na tabela Campo criado e controlado
com condições de ser pelo sistema para cumprir o
eleito chave primária papel de chave primária
32 TIPOS DE CHAVE
Chave
natural
codCliente
Nome Nome
Sobrenome Sobrenome
Cidade Cidade
CPF CPF
Fone Fone
1
Maria Maria
Silva Silva
Novo Mundo Novo Mundo
111.111.111-11 111.111.111-11
9999-1111 9999-1111
2
Gilmar Gilmar
Mendes Mendes
Matupá Matupá
222.222.222-22 222.222.222-22
9999-2222 9999-2222
3
Maria Maria
Borges Borges
Matupá Matupá
333.333.333-33 333.333.333-33
9999-3333 9999-3333
4
Sérgio Sérgio
Chapelin Chapelin
Guarantã Guarantã
444.444.444-44 444.444.444-44
9999-1111 9999-1111
5
Maria Maria
Silva Silva
Guarantã Guarantã
555.555.555-55 555.555.555-55
9999-4444 9999-4444
6
Pedro Pedro
Bial Bial
Peixoto Peixoto
666.666.666-66 666.666.666-66
9999-5555 9999-5555
33 TIPOS DE CHAVE
Chave
substituta
codCliente NomeNome Sobrenome
Sobrenome Cidade
Cidade CPF CPF Fone Fone
2 Gilmar
Gilmar Mendes
Mendes Matupá
Matupá 222.222.222-22 9999-2222
222.222.222-22 9999-2222
3 MariaMaria Borges
Borges Matupá
Matupá 333.333.333-33 9999-3333
333.333.333-33 9999-3333
4 Sérgio
Sérgio Chapelin
Chapelin Guarantã
Guarantã 444.444.444-44 9999-1111
444.444.444-44 9999-1111
37
38 Sistema de vendas
codProf N N Codigo
nome Cliente compra Produto
sobrenome
CPF
Fone Cidade Descrição Preço Categoria
Data Quantidade
39
Tabela de Clientes
40
Tabela de Produtos
Clientes Produtos
41
Vendas
Cliente Produto
Clientes Produtos
42
04/04/2019 2 5 5
10/04/2019 10 3 1
10/04/2019 5 2 1
08/04/2019 1 4 3
Relacionamento entre tabelas é
caracterizado pela troca de chaves
entre elas.
44
”
45
46
47 CHAVE PRIMÁRIA
Todo equipamento tem número de série único dentro de sua marca. Mas pode
existir caso em que um equipamento de outra marca tenha o mesmo número
de série. Para evitar problemas desse tipo, basta transformar Marca em chave
primária junto com Número de série.
50 Ao escolher os campos que irão definir uma chave
primária deve-se considerar o seguinte:
51
52 CHAVE ESTRANGEIRA
53
54
Para representar esquemas relacionais serão usadas
duas notações: uma gráfica e outra textual acadêmica.
GRÁFICO TEXTO
55 MODO GRÁFICO
56 MODO TEXTO
Venda(Codigo: inteiro,
Valor_total: real(5,2),
data: data,
CodCliente: inteiro)
CodCliente referencia cliente
57 MODO TEXTO
Venda(Codigo: inteiro,
Valor_total: real(5,2),
data: data,
CodCliente: inteiro)
CodCliente referencia cliente
58 MODO TEXTO
Venda(Codigo: inteiro,
Valor_total: real(5,2),
data: data,
CodCliente: inteiro)
CodCliente referencia cliente
59 MODO TEXTO
60
61
Restrições de integridade são um conjunto de regras para
garantir que os dados estejam e permaneçam íntegros no banco.
Um banco íntegro reflete corretamente a realidade.
Uma das principais vantagens de se trabalhar com SGBD’s é que,
por padrão, eles já impõem ao programador suas regras. Mesmo
que se queira burlar uma regra ele não permite que isso
aconteça.
62
63
64
DOMÍNIO
É um conjunto de valores permitidos para um determinado campo
Exemplo domínios predefinidos:
Inteiro (11)
Texto(50)
Exemplos domínios personalizados
notasAlunos – números reais de 0 a 10
Idade – numero inteiro maior que 0
Status – texto “A” (para ativo) e “I” (inativo)
ETC.
65
INTEGRIDADE DE DOMÍNIO
Zela pelos valores ideais e necessários para um atributo. Para
isso definimos algumas regras de validação por meio de expressões
compostas de valores constantes.
Não permitir um estoque negativo
Impedir uma data de nascimento superior à data atual
Não permitir que o valor de um produto seja negativo
Notas dos alunos inferior a 0 e superior a 10
66 TIPOS DE DADOS DO MYSQL
Tipos Numéricos:
Inteiros: TinyInt, Bit ou Bool, SmallInt, MediumInt, Integer, Int, BigInt.
Ponto Flutuante: Float, xReal, Double, Decimal, Numérico.
Tipos de Data:
Date, DateTime, TimeStamp, Time, Year.
Tipos de Cadeia:
Char, VarChar, Blob, Text, Enum, Set.
67 TIPOS NUMÉRICOS
68 TIPOS DATA
69 TIPOS CADEIA
INTEGRIDADE DE CAMPO NULO
70
71
Campo nulo
Nos bancos de dados relacionais, ao criar uma nova tabela é
preciso definir, para cada campo, se aceitará valores vazios ou não.
Ao adicionar um novo registro, se um campo estiver definido como
NOT NULL (não vazio), se tentar deixar esse campo em branco,
certamente receberá uma mensagem de erro.
INTEGRIDADE DE CHAVE PRIMÁRIA
72
73
Integridade de chave primária
Uma chave primária deve sempre ser criada como NOT NULL. Isso
quer dizer que jamais poderá ser adicionado um registro com o
valor de campo chave primária em branco. Além disso, o banco tem
outra restrição: ele não permite inserir valores duplicados em
chaves primárias.
Primary key
INTEGRIDADE REFERENCIAL
74
75
INTEGRIDADE REFERENCIAL
O valor para uma chave estrangeira deve ser um valor que já tenha
sido cadastrado na chave primária correspondente ou um valor
nulo
Essa restrição é o que garante a integridade referencial do modelo
relacional. Ou seja, ela garante que não se faça referência a valores
que não existam na base de dados.
76 Restrição ao inserir
VENDA CLIENTES
Cod. DATA CLIENTE Cod. Nome Tel End Tipo
1 21/03/2019 1 1 Maria Santos 111111111 Av. Cedro, 100 Física
2 10/04/2019 1 2 José Pereira 222222222 Rua Oliva, 400 Física
3 08/04/2019 5 3 João Gomes 333333333 Trav. Sipó, 10 Física
79
80 1:1
1 1
Cliente Contrato
Num Data
Cod Nome
81 1:1
1 1
Cliente Contrato
Cod Nome Num Data
82 1:1
1 1
Cliente Contrato
Cod Nome Num Data
83 1:1
1 1
Cliente Contrato
Cod Nome Num Data
REGRAS DE CONVERSÃO 1:N
84
85 1:1
1 N
Pedido Produtos