Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho...
-
Upload
lara-machuca -
Category
Documents
-
view
218 -
download
0
Transcript of Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho...
![Page 2: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/2.jpg)
Bancos de Dados Relacionais
• Um conjunto de dados organizados em Tabelas e estruturas auxiliares– Tabelas: Linhas e Colunas– Estruturas Auxiliares: Para acesso rápido a
dados: Clusters, Índices, Segmentos de RollBack.
• As estruturas auxiliares são concebidas para o melhor funcionamento do banco – Administração (BDA)
![Page 3: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/3.jpg)
Bancos de Dados Relacionais
• Projetando a estrutura de tabelas• A partir do MER• A princípio, deseja-se que toda entidade
seja uma tabela– Atributos Colunas– Linhas Instâncias
![Page 4: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/4.jpg)
Bancos de Dados Relacionais
• Por exemplo, a entidade Aluno se torna uma tabela da seguinte forma:
Aluno-Matrícula-Nome-Endereço
Create Table Aluno (matricula char(11),nome varchar2(50),endereçovarchar2(100)
)
![Page 5: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/5.jpg)
Bancos de Dados Relacionais
• Tabelas, em geral, devem ter uma ou mais colunas escolhidas como chave primária– Chave Primária: Coluna cujo valor não pode se
repetir numa tabela, e que identifica unicamente uma instância
– Não pode ser nulo– Pode ser natural ou artificialmente construída
para o sistema
![Page 6: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/6.jpg)
Bancos de Dados Relacionais
• Por exemplo, numa tabela Automóvel a chave primária pode ser a coluna Placa ou Renavan a depender da abordagem.
• Numa tabela de Matrículas, a identificação de uma instância só poderá ser feita sabendo-se o aluno e a turma em que ele está matriculado
![Page 7: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/7.jpg)
Bancos de Dados Relacionais
• Escolhida a chave primária de cada tabela, alguns aspectos devem ser observado a respeito dos relacionamentos:– Relacionamentos 1 para 1 – Uma chave segue,
como única (alternativa) em outra tabela– Relacionamentos 1 para N – Uma chave segue
para outra tabela– Relacionamentos N para N – Uma nova tabela é
criada
![Page 8: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/8.jpg)
Bancos de Dados Relacionais
• Relacionamentos 1 para 1• Uma instância de uma entidade relaciona-se
a uma e somente uma instância de outra e a recíproca é verdadeira
• Por exemplo: Cliente e Cônjuge
![Page 9: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/9.jpg)
Bancos de Dados Relacionais
• Relacionamentos deste tipo são feitos com:– Cópia da chave primária de uma tabela para a
outra (surge uma nova coluna dita chave estrangeira)
– Restrição de Unicidade da Chave Estrangeira
![Page 10: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/10.jpg)
Bancos de Dados Relacionais
• Note, no exemplo, que se a chave estrangeira não for única (unique, em SQL) a relação não é de 1 para 1
Matrícula NomeP01 JoséP02 CarlosP03 MariaP04 Éverton
Cod Máquina OperadorM01 Olivetti P01M02 Xerox P03
M03 HP P02M04 IBM P04
![Page 11: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/11.jpg)
Bancos de Dados Relacionais
• Obrigatoriedade: Deve-se permitir ou não que a chave estrangeira seja nula a depender da obrigatoriedade ou não da relação
Matrícula NomeP01 JoséP02 CarlosP03 MariaP04 Éverton
Cod Máquina OperadorM01 OlivettiM02 Xerox P03
M03 HPM04 IBM P04
![Page 12: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/12.jpg)
Bancos de Dados Relacionais
• Deve-se escolher como tabela mandatória (que exporta a chave) a que possui maior independência semântica– O lado não-obrigatório da relação (se houver)– A entidade menos dependente da outra, caso
contrário
![Page 13: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/13.jpg)
Bancos de Dados Relacionais
• Relacionamentos 1 para N• Uma instância de uma entidade se relaciona
com várias instâncias da outra, mas a recíproca não é verdadeira
• Por exemplo Automóvel e Proprietário
![Page 14: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/14.jpg)
Bancos de Dados Relacionais
• Relacionamentos deste tipo são feitos com:– Cópia da chave primária de uma tabela para a
outra (surge uma nova coluna dita chave estrangeira)
– Sem restrições de unicidade
![Page 15: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/15.jpg)
Bancos de Dados Relacionais
• Note, no exemplo, que se a chave estrangeira for única a relação não é de 1 para N
Matrícula ProfessorP01 DegasP02 DiegoP03 Vânia
Cod Disciplina ProfessorD01 BD P01D02 IA P02
D03 LabBD P01D04 RecComp P03
![Page 16: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/16.jpg)
Bancos de Dados Relacionais
• Obrigatoriedade: Deve-se permitir ou não que a chave estrangeira seja nula a depender da obrigatoriedade ou não da relação
Matrícula ProfessorP01 DegasP02 DiegoP03 Vânia
Cod Disciplina ProfessorD01 BD P01D02 IA P02
D03 LabBDD04 RecComp P03
![Page 17: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/17.jpg)
Bancos de Dados Relacionais
• Observações gerais para relacionamentos 1 para 1 e 1 para N– A tabela que exporta a chave nunca é
obrigatoriamente relacionada (a não ser via programação)
– A tabela que recebe a chave estrangeira pode ser dependente da relação se esta coluna for obrigatória
![Page 18: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/18.jpg)
Bancos de Dados Relacionais
• Relações de dependência ocorrem quando– Uma instância de uma entidade é parte de outra,
e não tem sentido sem ela – Setor e Empresa– Uma instância de uma entidade não pode existir
sem a ocorrência de outra – Automóvel e Proprietário
– Boas modelagens especificam casos assim
![Page 19: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/19.jpg)
Bancos de Dados Relacionais
• Relacionamentos N para N• Uma instância de uma entidade se relaciona
com várias instâncias da outra, e a recíproca é verdadeira
• Por exemplo Cliente e Conta
![Page 20: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/20.jpg)
Bancos de Dados Relacionais
• Relacionamentos desse tipo são feitos com– Criação de uma tabela (chamada tabela-
relacionamento)– Esta tabela recebe chaves estrangeiras das duas
entidades– Restringindo-se a unicidade (chave primária) ao
par das chaves relacionadas (talvez com mais alguma(s) coluna(s))
![Page 21: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/21.jpg)
Bancos de Dados Relacionais
• Por exemplo:
Cod DescriçãoP01 BielaP02 VirabrequimP03 PistãoP04 Mancal
Cod DescriçãoF01 GP PeçasF02 MM MotoresF03 KV Válvulas
Pç FornP01 F01P02 F02P03 F01P04 F02P01 F02P03 F02P04 F01
![Page 22: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/22.jpg)
Bancos de Dados Relacionais
• Relações mostradas:– O fornecedor GP Peças fornece Biela, Pistão e Mancal– O fornecedor MM Motores fornece Biela, Virabrequim,
Pistão e Mancal– KV Válvulas não oferece nada– Biela, Pistão e Mancal são ofertados por MM Motores
e GP Peças– Virabrequim é ofertado apenas por MM Motores
![Page 23: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/23.jpg)
Bancos de Dados Relacionais
• No exemplo anterior a chave primária da tabela-relacionamento é composta pelas duas chaves estrangeiras que ela recebe.
• Com efeito não há sentido registrar-se mais de uma vez que MM Motores oferece Biela
![Page 24: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/24.jpg)
Bancos de Dados Relacionais
• Em alguns casos, porém, é necessário que a chave primária de tabelas deste tipo abranja mais que as chaves estrangeiras:
![Page 25: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/25.jpg)
Bancos de Dados Relacionais
• Exemplo:Mat AlunoM01 JoséM02 MariaM03 JulioM04 Esmeralda
Cod DisciplinaD01 IAD02 BDD03 Redes
Mat Disc Nota SemM01 D01 4.5 00.1M02 D02 10.0 00.2M01 D01 7.2 01.2M02 D03 9.0 01.1M01 D02 7.0 00.2M03 D01 4.5 01.2M03 D03 5.0 02.1M02 D03 8.0 01.2
![Page 26: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/26.jpg)
Bancos de Dados Relacionais
• A chave primária não pode ser o par (Mat, Disc) porque ele pode se repetir até que o aluno tenha uma nota maior ou igual a cinco.– Não pode igualmente ser a tripla (Mat, Disc,
Nota)– Pode ser (Mat, Disc, Sem) ou as quatro colunas
(por considerações de performance)
![Page 27: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/27.jpg)
Bancos de Dados Relacionais
• Atributos de Relacionamentos– Muitas vezes os relacionamentos possuem
atributos– Nos casos de relacionamentos 1 para 1 e 1 para
N os atributos devem seguir o caminho da chave, e migrar para uma das tabelas
– Nos casos de relacionamentos N para N estes ficarão alojados na tabela-relacionamento – e possivelmente farão parte da chave primária
![Page 28: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/28.jpg)
Bancos de Dados Relacionais
• Relacionamentos de Agregação• Alguns relacionamentos especiais entre
entidades, chamados de Agregação ou Todo-Parte, indicam que uma entidade é parte de outra– Por exemplo, no domínio do RH de uma
universidade, Professor e Departamento.
![Page 29: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/29.jpg)
Bancos de Dados Relacionais
• Estes relacionamentos são modelados como uma relação de 1 para N, sendo mandatória (que exporta a chave) a tabela Todo.– Professor tem uma coluna indicando o
departamento onde está alocado
![Page 30: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/30.jpg)
Bancos de Dados Relacionais
• Caso se estabeleça uma relação de dependência da parte com o todo (uma classe não pode existir sem a outra) deve-se exigir a obrigatoriedade da chave estrangeira– Ex: Vinho e Vinícola
![Page 31: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/31.jpg)
Bancos de Dados Relacionais
• Relacionamentos de Generalização• Muitas vezes as entidades se associam
formando uma relação de Generalização ou Especialização (ou Supertipos e Subtipos)
• Neste caso há uma entidade que contém os atributos que serão compartilhados pelas demais
![Page 32: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/32.jpg)
Bancos de Dados Relacionais
• Por Exemplo as entidades Automóvel, Automóvel Passeio e Automóvel Utilitário
Automóvel Passeio
Automóvel Utilitário
Automóvel
![Page 33: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/33.jpg)
Bancos de Dados Relacionais
• Neste exemplo, os atributos que AutomóvelPasseio e AutomóvelUtilitário têm em comum são colocados na entidade Automóvel
• Cada subtipo fica com seus atributos específicos
![Page 34: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/34.jpg)
Bancos de Dados Relacionais
• Automóvel– Ano, Fabricante, Placa
• AutomóvelPasseio– NumPortas, ArCond(s/n)
• AutomóvelUtilitário– PesoMaximo, VolMaximo
![Page 35: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/35.jpg)
Bancos de Dados Relacionais
• Como se projeta?• Duas alternativas
– Criar uma tabela com todos os atributos• A identificação do tipo é feita com um flag
– Criar todas as tabelas e relacioná-las entre si por chave estrangeira
![Page 36: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/36.jpg)
Bancos de Dados Relacionais
• Uma única tabela• Terá tantas colunas quantas forem
necessárias para mapear todos os atributos• Uma coluna a mais identificará o sub-tipo
que de fato está sendo considerado
![Page 37: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/37.jpg)
Bancos de Dados Relacionais
• No exemplo:– Automóvel(Ano, Fabricante, Placa, NumPortas,
ArCond(s/n), PesoMaximo, VolMaximo, Tipo(P,U))
– Tipo identifica se é de Passeio ou utilitário• Se o tipo for P as colunas PesoMaximo, VolMaximo
devem ser nulas• Se o tipo for U as colunas NumPortas, ArCond(s/n)
devem ser nulas
![Page 38: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/38.jpg)
Bancos de Dados Relacionais
• Em SQL:– Check((Tipo = ‘U’ and NumPortas is null and ArCond is null) or
(Tipo = ‘P’ and PesoMaximo is null and VolMaximo is null))
![Page 39: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/39.jpg)
Bancos de Dados Relacionais
• Tabelas relacionadas• Duas alternativas: Chave exportada do
supertipo para o subtipo ou o contrário
![Page 40: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/40.jpg)
Bancos de Dados Relacionais
• Exportando a chave do supertipo para o subtipo
• Cria-se uma tabela com colunas para todos os atributos do supertipo
• Cria-se tabelas com colunas para todos os atributos dos subtipos, acrescidas de uma chave-estrangeira referenciando o Supertipo
![Page 41: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/41.jpg)
Bancos de Dados Relacionais
• No exemplo:– Automóvel(Ano, Fabricante, Placa)– AutomóvelPasseio(NumPortas, ArCond(s/n),
Placa)– AutomóvelUtilitário(PesoMaximo,
VolMaximo, Placa)
![Page 42: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/42.jpg)
Bancos de Dados Relacionais
• Exportando a chave do subtipo para o supertipo• Cria-se uma tabela com colunas para todos os
atributos do supertipo, mais tantas colunas quantos forem os subtipos possíveis – serão chaves estrangeiras
• Cria-se tabelas com colunas para todos os atributos dos subtipos, acrescidas de uma chave primária gerada pelo sistema
![Page 43: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/43.jpg)
Bancos de Dados Relacionais
• No exemplo:– Automóvel(Ano, Fabricante, Placa, AutPasseio,
AutUtilitário)– AutomóvelPasseio(Cod, NumPortas,
ArCond(s/n), Placa)– AutomóvelUtilitário(Cod, PesoMaximo,
VolMaximo, Placa)
![Page 44: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/44.jpg)
Bancos de Dados Relacionais
• Observar que em Automóvel(Ano, Fabricante, Placa, AutPasseio, AutUtilitário) as chaves estrangeiras AutPasseio e AutUtilitário são mutuamente exclusivas – Quando uma tiver valor a outra será nula e vice-versa)
![Page 45: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/45.jpg)
Bancos de Dados Relacionais
• Em SQL:– Check(((AutPasseio is null and AutUtilitario is not null) or
(AutPasseio is not null and AutUtilitario is null))
![Page 46: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/46.jpg)
Bancos de Dados Relacionais• Resumindo, para se implementar a
generalização em Bancos de Dados Relacionais há as seguintes opções:
Uma Tabela Várias Tabelas
Generalização
Chave SuperTipo Chave SubTipo
![Page 47: Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho alvaro.degas@terra.com.br.](https://reader036.fdocument.pub/reader036/viewer/2022062411/5706383f1a28abb8238f10d8/html5/thumbnails/47.jpg)
Projeto de BDs Relacionais
FIM!
“Não é que eu tenha medo de morrer. É que eu não quero estar lá na hora que isso acontecer”
Woody AllenEscher