fundamentos de banco de dados e modelagem de dados 4... · disciplina: fundamentos de banco de...
TRANSCRIPT
![Page 1: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/1.jpg)
Universidade Federal de Mato GrossoInstituto de ComputaçãoPós Graduação Lato Sensu em Banco de Dados
Fundamentos de Banco de Dadose
Modelagem de Dados
Prof. Dr. Josiel Maimone de [email protected]
Abril - 2015
![Page 2: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/2.jpg)
Pós Graduação Lato Sensu em Banco de DadosDisciplina: Fundamentos de Banco de Dados e
Modelagem de Dados
Aula 4 Modelagem de Dados com Modelo Relacional
Abril – 2015
![Page 3: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/3.jpg)
Tópicos
➔ Conceitos básicos➔ O que é Modelagem Lógica
➔ Modelo Relacional➔ Mapeamento: Conceitual para Lógica
➔ MER Modelo Relacional→
➔ Exemplos➔ Exercícios
![Page 4: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/4.jpg)
O que é Modelagem➔ Arquitetura de Banco de Dados
SGBD
Conexão
Aplicação
Visão
Conceitual
Física
Lógica
MER ou UML
Modelo Relacional
![Page 5: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/5.jpg)
O que é Modelagem
SGBD
Conexão
Aplicação
Visão
Conceitual
Física
Lógica
Para implementar os sistemas temos de
usar uma linguagem de programação
é preciso modelar a manipulação dos dados pela linguagem
Diagrama de Classes
![Page 6: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/6.jpg)
O que é Modelagem
SGBD
Conexão
Aplicação
Visão
Conceitual
Física
Lógica
Para armazenar os dados temos de
usar um SGBD é preciso modelar conforme
modelo de dados do SGBDModelo RelacionalModelo Relacional-ObjetoModelo Orientado a
Objetos
![Page 7: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/7.jpg)
O que é Modelagem
SGBD
Conexão
Aplicação
Visão
Conceitual
Física
Lógica
É preciso transformar os dados da aplicação para permitir o armazenamento
Modelo de Persistênciamapeamento entre
modelos
![Page 8: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/8.jpg)
Artefatos
[Amber2001]
![Page 9: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/9.jpg)
9
Modelo Relacional
➔ Edgar Codd
➔ Pai do Modelo Relacional
➔ IBM San Jose
➔ Em 1970, Codd publicou:“A Relational Model of Data for Large Shared Data Banks.”
➔ Um modelo formal, baseado na teoria matemática dos conjuntos
![Page 10: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/10.jpg)
10
Histórico Modelo Relacional
➔ Primeiras implementações➔ System R – IBM
➔ Criou linguagem SEQUEL➔ Ingres – Berkeley
➔ Michael Stonebraker➔ Eugene Wong
➔ Principais produtos:
![Page 11: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/11.jpg)
11
Conceitos do Modelo Relacional
➔ Trabalha somente com Relações ou Tabelas
➔ O conceito de relação permite representar:➔ uma entidade
➔ um relacionamento
➔ Esquema Relacional
➔ conjunto de relações semanticamente ligadas por seus domínios de definição
![Page 12: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/12.jpg)
12
Conceitos do Modelo Relacional
➔ Uma Relação é composta por:➔ Um nome
➔ que deve ser único no mesmo esquema➔ Um conjunto de tuplas (ou registros ou linhas)
➔ que ocorrem em qualquer ordem➔ Um conjunto de atributos (ou campos ou colunas)
➔ cada atributo possui um domínio dom(a→i)
➔ cada atributo possui valor atômico➔ o número de atributos é o grau da relação➔ um subconjunto dos atributos deve possuir a
propriedade de identificar a tupla➔ atributo chave
![Page 13: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/13.jpg)
13
Conceitos do Modelo Relacional
➔ Tipos de atributos chave➔ Super-chave
➔ conjunto de atributos que identifica uma tupla.➔ Chave candidata ou secundária
➔ conjunto minimal de atributos que mantem a propriedade de identificação da tupla.
➔ Chave primária (pk)➔ chave candidata escolhida para ser utilizada
identificador.➔ Chave estrangeira (fk)
➔ um campo cujo valor referencia uma chave (primária ou secundária).
![Page 14: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/14.jpg)
14
Modelo Relacional
PILOTO Num-cad Nome CPF Endereço
João0101 123456 Recife
0035 José 234567 São Paulo
.
.
.
0987 Pedro 567890 Recife
Atributos
Tuplas
ChavePrimária
Chave Candidata
Conceitos do Modelo Relacional
![Page 15: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/15.jpg)
15
Modelo Relacional
➔ Restrições de Integridade:➔ Integridade de Entidade
➔ o valor da chave não pode ser nulo
➔ Integridade de Unicidade da Chave➔ em uma relação o valor da chave tem de ser
mantido único
k(ai)=k(a
j) i=j↔
➔ Integridade Referencial➔ uma chave estrangeira só pode assumir um valor
existente na chave primária que é referenciada
fk(a) = pk(a) ou fk(a) = nulo
![Page 16: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/16.jpg)
16
Modelo Relacional
ESTRUTURAS OPERADORES RESTRIÇÕES
RelaçãoAtributoDomínio
Chave PrimáriaChave Estrangeira
UniãoInterseçãoDiferençaSeleçãoProjeçãoJunçãoDivisão
Integridade de:DomínioEntidade
Referencial
Conceitos do Modelo Relacional
![Page 17: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/17.jpg)
Mapeamento Conceitual Lógico→
Apesar de certas equivalências entre os Modelos Conceituais (MER ou UML) com o Modelo Lógico Relacional
o processo de mapeamento pode gerar, para um mesmo Modelo Conceitual, vários Modelos Lógicos
![Page 18: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/18.jpg)
Mapeamento Conceitual Lógico→
Entidade
para cada entidade gera-se uma tabela equivalente
A chave da entidade é chave da tabela. Ex:
Pacienteidade
nome
Paciente = {nome, idade}
![Page 19: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/19.jpg)
Mapeamento Conceitual Lógico→
Entidade para cada entidade gera-se uma tabela equivalente. a chave da entidade é chave da tabela. atributos monovalorados geram campos equivalentes.
Ex:
Pacientepeso
nome
Paciente = {nome, peso}
![Page 20: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/20.jpg)
Mapeamento Conceitual Lógico→
Paciente
nome
Paciente = {nome, tel1,tel2, tel3}
atributo2telefone
Entidade atributos multivalorados
1º caso – gera-se um campo para cada ocorrência2º caso – gera-se uma tabela para o campo
Ex:
Paciente = {nome}Telefone = {nome, tel}
![Page 21: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/21.jpg)
Mapeamento Conceitual Lógico→
Paciente = {nome, peso, rua,bairro,cidade, uf}
Entidade atributos compostos
1º caso – gera-se um campo para cada subatributo2º caso – gera-se uma tabela para o campo
Ex:
Paciente = {nome, peso}Endereço = {nome, rua,bairro,cidade, uf}
Paciente
rua
bairroendereço
cidade
uf
peso
nome
![Page 22: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/22.jpg)
Mapeamento Conceitual Lógico→
Paciente = {nome, dataNascimento}
Entidade atributos derivados
caso o processamento para gerar o valor do atributo seja complexo,
• então seu valor é armazenado em um campo equivalente
• senão o valor é obtido em tempo de execução. Ex:
Pacienteidade
dataNascimento
![Page 23: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/23.jpg)
Mapeamento Conceitual Lógico→
Relacionamento O mapeamento depende do tipo da cardinalidade ou
multiplicidade.
![Page 24: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/24.jpg)
Mapeamento Conceitual Lógico→
Disciplina= {num, nome}
Relacionamento Muitos para Muitos
Gera-se uma nova tabela que equivale ao relacionamento e sua chave é composta pelas chaves das entidades.
Ex:
DisciplinaAluno CursouMN
cod numnome nome
Aluno = {cod, nome}
Cursou= {numDisciplina, codAluno}
![Page 25: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/25.jpg)
Mapeamento Conceitual Lógico→
Curso= {num, nome}
Relacionamento Um para Muitos
gera-se uma chave estrangeira na tabela que equivale ao lado 1.
Ex:
CursoAluno Faz1N
cod numnome nome
Aluno = {cod, nome, curso}
![Page 26: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/26.jpg)
Mapeamento Conceitual Lógico→
Carro= {placa, modelo,dono}
Relacionamento Um para Um
gera-se uma chave estrangeira em alguma das tabelas• sugere-se
• a que possui menor cardinalidade• a que possui participação total
Ex:
CarroPessoa Possui11
cod placanome modelo
Pessoa = {cod, nome}
![Page 27: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/27.jpg)
Mapeamento Conceitual Lógico→
Disciplina= {num, nome}
Relacionamento➔ Quando possui atributos, eles acompanham a chave
estrangeira
Ex:
DisciplinaAluno CursouMN
cod numnome nome
Aluno = {cod, nome}
Cursou= {numDisciplina, codAluno, nota, freq}
nota freq
![Page 28: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/28.jpg)
Mapeamento Conceitual Lógico→
Compra= {codCliente, codProduto, codFuncionario}
Relacionamento grau > 2 Gera-se uma nova tabela cuja chave é composta pelas
chaves das entidades participantes do relacionamento
Ex:
FuncionárioCliente compra
Produto
![Page 29: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/29.jpg)
Mapeamento Conceitual Lógico→
➔ Entidade Fraca
➔ A tabela equivalente à entidade fraca tem a chave composta pela chave dela mesma mais a chave da entidade forte.
➔ Ex:
TurmaDisciplina possui Turmapossui
Turma= {num, codDisciplina, hora}
num hora
![Page 30: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/30.jpg)
Mapeamento Conceitual Lógico→
FuncionárioCliente
Pessoa
➔ Generalização / Especialização
➔ 1º caso:➔ cria-se uma tabela para cada entidade.➔ a chave das especializações é uma chave
estrangeira da generalização.➔ Ex:
dataNasc
cod
salario
nome
Cliente= {cod, dataNasc}
Pessoa = {cod, nome}
Funcionario= {cod, salario}
![Page 31: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/31.jpg)
Mapeamento Conceitual Lógico→
➔ Generalização / Especialização
➔ 2º caso:➔ cria-se uma tabela para cada especialização.➔ todos os atributos da generalização são replicados
nas especializações.➔ Ex:
FuncionárioCliente
Pessoa
dataNasc
cod
salario
nome
Cliente= {cod, nome, dataNasc}
Funcionario= {cod, nome, salario}
![Page 32: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/32.jpg)
Mapeamento Conceitual Lógico→
➔ Generalização / Especialização
➔ 3º caso:➔ cria-se uma tabela para a generalização com
atributos booleanos representando as instâncias das especializações.
➔ Ex:
FuncionárioCliente
Pessoa
dataNasc
cod
salario
nome
Pessoa = {cod, nome, dataNasc, salario, cliente, funcionario}
![Page 33: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/33.jpg)
Mapeamento Conceitual Lógico→
➔ Generalização / Especialização
➔ 4º caso:➔ cria-se uma tabela para a generalização com um
atributo informando o tipo da instância.➔ Ex:
FuncionárioCliente
Pessoa
dataNasc
cod
salario
nome
Pessoa = {cod, nome, dataNasc, salario, tipo}
![Page 34: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/34.jpg)
Mapeamento Conceitual Lógico→
➔ Abstração de Agregação➔ 1º caso – os atributos do relacionamento podem ser
levados para a agregação➔ O relacionamento não é mapeado➔ Cria-se uma nova tabela cuja chave é composta pelas
chaves das entidades
MédicoPaciente atende
Consulta
data
Consulta= {codPaciente, codMedico, data}
![Page 35: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/35.jpg)
Mapeamento Conceitual Lógico→
➔ Abstração de Agregação➔ 2º caso – os atributos do relacionamento não podem ser
levados para a agregação➔ O relacionamento é mapeado também➔ Cria-se uma nova tabela cuja chave é composta pelas
chaves das entidades
DisciplinaProfessor ministra
Aula
data
Aula= {codProfessor, codDisciplina, data}Ministra = {codProfessor, codDisciplina, livroTexto}
livroTexto
![Page 36: Fundamentos de Banco de Dados e Modelagem de Dados 4... · Disciplina: Fundamentos de Banco de Dados e Modelagem de Dados Aula 4 ... (MER ou UML) com o Modelo Lógico Relacional o](https://reader035.vdocuments.net/reader035/viewer/2022081517/5b18273a7f8b9a32258b84be/html5/thumbnails/36.jpg)
Exercício1) Para o mapeamento da Generalização para o Relacional comente:
➔ todos os mapeamentos servem para todos os tipos de cobertura?
➔ Qual tem melhor desempenho?
2) Para as tabelas a seguir gere um possível MER
Cliente = {códigoCliente, nomeCliente, telefone,numCarro}
Funcionário={código,nome,especialidade,telefone}
Conserto={codFuncionário,codCarro,dataConserto,descrição}
Carro={códigoCarro,modelo,anoFabricação,fabricante}
UsouPeça={codFunc,codCarro,dataConserto, codPeça, qtde}
Peça = {cod, nome, fabricante}