A aula aborda a conversão do modelo conceitual para o modelo lógico de banco de dados, discutindo diferentes notações para modelagem conceitual e lógica e tipos de dados no MySQL. Exemplos ilustram como representar entidades, atributos, relacionamentos e cardinalidades nos diagramas de tabelas do modelo lógico.
3. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Modelos
Diagrama Entidade e Relacionamento: Modelo Conceitual
4. prof. Gustavo Zimmermann | contato@gust4vo.com
Diagrama de Tabelas: Modelo Lógico
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Modelos
6. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Notação Peter Pin-Shan Chen
Modelo Conceitual
Funcionario Departamentopertence
N 1
Cardinalidade
7. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Notação Carlos Aberto Heuser
Modelo Conceitual
Funcionario Departamentopertence
(1 : N) (0 : 1)
Restrição de Cardinalidade
8. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Notação Charles Willian Bachman
Modelo Lógico
Setas
A notação de Bachman teve uma derivação gráfica que ficou conhecida
como notação de setas.
Cardinalidade
Notação original de
Bachman
Notação de Setas
1 : 1
1 : N
N : 1
M : N
9. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Notação James Martin
Modelo Lógico
Notação Pé de Galinha
Cardinalidade Representação
N
1
Opcional
Obrigatório
10. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Notação James Martin
Modelo Lógico
Notação Pé de Galinha
Restrições Representação
1 : 1
1 : N
0 : 1
0 : N
11. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Notação James Martin
Modelo Lógico
Notação Pé de Galinha
Profissional
PK CPF
FK
Nome
Profissao
Endereco
dataNasc
CNPJ
Empresa
PK CNPJ
Nome
Endereco
Telefone
12. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Notação James Martin
Modelo Lógico
Diagrama de Tabelas
Notação Pé de Galinha
14. prof. Gustavo Zimmermann | contato@gust4vo.com
Tipos de Dados no MySQL
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Tipos de Dados
• 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.
15. prof. Gustavo Zimmermann | contato@gust4vo.com
Tipos Numéricos
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Tipos de Dados
TIPO USO
FAIXA
SIGNED UNSIGNED
TINYINT Numérico Inteiro Muito Pequeno -128 127 0 255
SMALLINT Numérico Inteiro Pequeno –32768 32767 0 65535
MEDIUMINT Numérico Inteiro Tamanho Médio –8388608 8388607 0 16777215
INT Numérico Inteiro Tamanho Comum –2147483648 2147483647 0 4294967295
BIGINT Numérico Inteiro Tamanho Grande
–
9223372036854
775808
9223372036854
775807
0
1844674407370
9551615
DECIMAL Numérico Decimal de Ponto Fixo ilimitado
FLOAT
Numérico Ponto Flutuante de Precisão
Simples
–
3.402823466E+3
8
–1.175494351E-
38, 0
1.175494351E-
38
3.402823466E+3
8
DOUBLE
Numérico Ponto Flutuante de Precisão
Dupla
-
1.79769313486
23157E+308
1.79769313486
23157E+308
-
BIT ou Bool Campo de um Bit ou Booleano 0 1 -
16. prof. Gustavo Zimmermann | contato@gust4vo.com
Tipos Data
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Tipos de Dados
TIPO USO FAIXA
DATE Data: Formato: ‘YYYY-MM-DD’ ‘1000-01-01’ ‘9999-12-31’
DATETIME
Data e horário: Formato: ‘YYYY-MM-DD
HH:MM:SS’
‘1000-01-01 00:00:00’
‘9999-12-31
23:59:59’
TIMESTAMP Marcação de Tempo ‘1970-01-01 00:00:00’
aproximadamente
2037
TIME Tempo: formato: ‘HH:MM:SS’ ‘-838:59:59’ ‘838:59:59’
YEAR
Anos com 2 ou 4 dígitos. O padrão é
4 dígitos
1901 2155
1970 2069
17. prof. Gustavo Zimmermann | contato@gust4vo.com
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Tipos de Dados
TIPO USO FAIXA
CHAR
String de tamanho fixo. Sempre é completada com espaços a direita
até o tamanho definido. Se for definido 10 caracteres e forem usados
8 os 2 restantes serão preenchidos com espaço em branco.
1 255
VARCHAR
String de tamanho variável. É usado exatamente o que foi
preenchido e no máximo o que foi limitado.
1 255
TINYTEXT - 0 255 (2^8 – 1) caracteres
TEXT - 0 65535 (2^16 – 1) caracteres
MEDIUMTEXT - 0 16777215 (2^24 – 1) caracteres
LONGTEXT - 0 4294967295 (2^32 – 1) caracteres
Tipos Texto
18. prof. Gustavo Zimmermann | contato@gust4vo.com
Diagrama de Tabelas: Modelo Lógico
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Conversões
Cliente
PK CPF: int (11)
Nome: varchar (30)
Endereco: varchar (50)
dataNasc: date
20. prof. Gustavo Zimmermann | contato@gust4vo.com
Exercício 1 (0,5):
Formas Normais e Diagrama de Tabelas
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Exercícios
Veiculo Clientepertence
1 1
Recepcionista
atende
N
1
(0 : 1) (0 : 1)
(0 : N)
(1 : 1)
endereco
nome
telefones
email
dataNasc
codClientecnh
placa fabricante
modelo
ano
cor
codAtendimento
problemaVeiculo
km
data
kmEntrada
kmRetirada
dataEntrada dataRetirada
21. prof. Gustavo Zimmermann | contato@gust4vo.com
Exercício 2 (1,0):
Formas Normais e Diagrama de Tabelas
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Exercícios
Aplique as Formas Normais nos Conjuntos de
Esquemas a seguir e aplique o Modelo Lógico
através dos Diagramas de Tabelas.
22. prof. Gustavo Zimmermann | contato@gust4vo.com
Exercício 2:
Formas Normais e Diagrama de Tabelas
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Exercícios
a) Empregado (Número Empregado, Nome do
Empregado, Número do Departamento, Nome do
Departamento, Número do Gerente, Nome do
Gerente, Número do Projeto, Nome do Projeto, Dia
de Início do Projeto, Número de horas trabalhadas
no projeto).
23. prof. Gustavo Zimmermann | contato@gust4vo.com
Exercício 2:
Formas Normais e Diagrama de Tabelas
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Exercícios
b) Ordem_Compra (cd_ordem_compra, dt_emissao,
cd_fornecedor, nm_fornecedor, endereço_fornecedor,
cd_material (n vezes), descricao_material (n vezes),
qt_comprada (n vezes), vl_unitário (n vezes), vl_total_item (n
vezes), vl_total_ordem).
24. prof. Gustavo Zimmermann | contato@gust4vo.com
Exercício 2:
Formas Normais e Diagrama de Tabelas
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Exercícios
c) Tabela de Notas Fiscais (Num_NF, Série, Data emissão,
Cod. Cliente, Nome cliente, Endereço cliente, CGC cliente,
Código Mercadoria, Descrição Mercadoria, Quantidade
vendida, Preço de venda, Total da venda da Mercadoria e
Total Geral da Nota). Cada nota pode ter mais do que uma
mercadoria.
25. prof. Gustavo Zimmermann | contato@gust4vo.com
Exercício 2:
Formas Normais e Diagrama de Tabelas
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Exercícios
d) Inscrição (Código do Aluno, Nome do Aluno, Telefone
para contato, Ano de Admissão, Código da Disciplina, Nome
da Disciplina, Nome do Curso, Data da Matricula).
e) Paciente (num_paciente, nome_paciente, num_quarto,
descricao_quarto, num_comodos_quarto, {cod_medico,
nome_medico, fone_medico}).
26. prof. Gustavo Zimmermann | contato@gust4vo.com
Exercício 3 (1,0):
MER, Formas Normais e Diagrama de Tabelas
Banco de Dados II – Aula 6: Conversão do Modelo Conceitual para o Modelo Lógico
Exercícios
Você foi convidado a elaborar um banco de dados para uma empresa de
consultoria que deseja registrar informações sobre seus projetos e consultores. De
acordo com o solicitado pelo seu cliente, para cada projeto você deverá
armazenar o código, nome e endereço da empresa que solicitou o projeto, o
número do projeto, a data de início e de término do projeto, o valor do projeto, o
número, nome, número do documento de identidade e especialização dos
consultores que participaram do projeto, as horas que trabalharam em cada
projeto e a função que exerceu (líder ou membro). Note que uma mesma
empresa pode solicitar diversos projetos e um mesmo consultor pode trabalhar
em diversos projetos.