Propriedades da Integridade
Referencial
152
Propriedades da Integridade
Referencial
Na inclusão não pode existir FK cujo
valor não exista para PK.
Na alteração e na exclusão de valores
de PK, pode acontecer:
Cascade; Restrict; Set Null.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
153
Propriedades da Integridade
Referencial - Cascade
Cascade
Ao se alterar a chave primária ou se excluir ocorrências altera-se ou exclui-se automaticamente ocorrências com FK de igual valor.
Representação – uma seta indo de 1 N com um C em cima da seta.
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 154
Propriedades da Integridade
Referencial - Restrict
Restrict
Não se altera ou excluir ocorrências cuja PK correspondente FK.
Representação – uma seta indo do 1 N com um R em cima da seta.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
155
Propriedades da Integridade
Referencial – Set Null
Set Null
Ao se eliminar / alterar valor de PK, toda FK de igual valor recebe valor igual a NULL (nulificação).
Representação – uma seta de 1 N com um S em cima da seta.
ECO031 Banco de Dados Aulas Teóricas
157
Dados em Tabelas
A representação em Tabelas é a mais usual Possibilita agrupar dados relacionados. Permite armazenar dados de forma compacta
Permite recuperar estes dados posteriormente de forma fácil.
É possível representar os dados definidos no Modelo Entidade Relacionamento utilizando tabelas
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes ECO022 - Banco de Dados - Aulas Teóricas -Fabiana Costa Guedes
158
Dados Relacionados
João, Márcia, Denise, Clara
R. 7 de Setembro, R. José Bonifácio, R. São Sebastião
Passos, São Paulo, Ribeirão Preto
159
Dados Relacionados
Só é possível representar por tabelas,
dados relacionados entre si.
No exemplo anterior, NOME x RUA x
CIDADE tinham uma relação:
Todos são atributos de uma pessoa; Qualquer pessoa pode possuir estes atributos.
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 160
Representação em Tabelas
Há“regras”que podem ser seguidas para representar um projeto de Banco de Dados feito com o Diagrama E-R por meio de tabelas.
Para “mapear”um Modelo Entidade-Relacionamento para este novo esquema, algumas regras podem ser seguidas de forma que:
Todos os dados deverão ser representados em tabelas.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
ECO022 - Banco de Dados - Aulas Teóricas - 161
Mapeamento Modelo
Er Tabela
1.Todo Conjunto de Entidade torna-se uma tabela e seus atributos as colunas desta tabela
162
Mapeamento Modelo
Er Tabela
2.Quando 2 Conjuntos de Entidades formam um Relacionamento 1-N é preciso:
Construir primeiro a entidade com cardinalidade 1 Construir depois a com cardinalidade N, que receberá um novo atributo: a chave primária da primeira entidade.
-163
Mapeamento Modelo
Er Tabela
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 164
Mapeamento Modelo
Er Tabela
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
165
Mapeamento Modelo
Er Tabela
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 166
Mapeamento Modelo
Er Tabela
3.Quando 2 Conjuntos de Entidades formam um Relacionamento N-N:
Construir primeiro tabelas das entidades O Relacionamento se tornará uma nova tabela, que ganhará como atributos as chaves primarias das outras 2 tabelas
A tabela gerada pelo relacionamento pode receber atributos próprios
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
167
Mapeamento Modelo
Er Tabela
ECO031 Banco de Dados Aulas Teóricas
-168
Mapeamento Modelo
Er Tabela
4.Quando 2 Conjuntos de Entidades formam um Relacionamento 1-1:
Tornam-se uma única tabela
Deve-se escolher a chave primária mais relevante e eliminar uma das chaves caso seja redundante Se uma das entidades é opcional, pode se criar duas tabelas
-169
Mapeamento Modelo
Er Tabela
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
170
Mapeamento Modelo
Er Tabela
5.Quando há um auto-relacionamento:
No caso de 1-N a tabela recebe um novo atributo que é a sua própria chave primária
No caso N-N segue-se a mesma regra do relacionamento N-N, criando-se nova tabela
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
171
Mapeamento Modelo
Er Tabela
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
172
Mapeamento Modelo
Er Tabela
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
173
Mapeamento Modelo
Er Tabela
Atributos compostos: incluir apenas os componentes simples de cada atributo composto
Chave-Primária: a chave mais relevante de uma entidade no modelo ER se torna a chave-primária, as demais chaves são chaves secundárias (unique keys)
Herança:ou criam-se várias tabelas com todos os atributos do pai e de cada filho, ou cria-se uma única tabela com todos os atributos dos pais e filhos na mesma tabela. É ideal criar uma tabela auxiliar de tipo.
ECO031 - Banco de Dados - Aulas Teóricas - 174
Resumo
Para armazenarmos dados na prática e preciso representá-los por meio de tabelas
É possível mapear o Diagrama Entidade Relacionamento, representando-o em diversas tabelas
Todo Conjunto de Entidades torna-se uma tabela Todo Relacionamento N-N torna-se uma nova tabela
Novos atributos podem ser inseridos nas tabelas para definir o relacionamento entre as tabelas, realizando a ligação entre elas.
-Dicionário de Dados
176
Dicionário de Dados
Junto com o modelo de Entidade e relacionamento, é necessário que se mantenha um documento com a explicação de todos os objetos nele criados. Este documento, que pode ser chamado de
Dicionário de Dados, permite que os analistas obtenham informações sobre todos os objetos do modelo de forma textual, contendo explicações por vezes difíceis de incluir no diagrama.
O objetivo do documento é ser claro e consistente.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
177
Dicionário de Dados
Um dicionário de dados (do inglês data dictionary) é uma coleção de metadados que contêm definições e representações de elementos de dados.
Dentro do contexto de SGBD, um dicionário de dados é um grupo de tabelas, habilitadas apenas para leitura ou consulta, ou seja, é uma base de dados.
ECO031 - Banco de Dados - Fabiana Costa Guedes-Aulas Teóricas
178
Dicionário de Dados
Um dos benefícios de um dicionário de dados bem preparado é a consistência entre itens de dados através de diferentes tabelas.
Por exemplo, diversas tabelas podem conter números de telefones; utilizando uma definição de um dicionário de dados bem feito, o formato do campo ‘número de telefone’ definido com “( )9999-9999″ deverá
ser obedecido em todas as tabelas que utilizarem esta informação.
ECO031 Banco de Dados Aulas Teóricas -Fabiana Costa Guedes
179
Necessidade do DD
Evitar redundância não planejada e inconsistente no desenvolvimento de sistemas de aplicação;
Reduzir a demora e o custo do
desenvolvimento de sistemas de aplicação; Suportar o estabelecimento e implantação de padrões relativos ao uso de
documentação de dados;
Minimizar o esforço necessário para definir dados em programas de aplicação e BD.
ECO031 - Banco de Dados - Aulas Teóricas - 180
Dicionário de Dados
Um DD deve possuir:
Tabela:deve ter seu nome e sua descrição Para cada tabela:
Tabela:é o nome da entidade que foi definida no DER Atributo:são os atributos da entidade
Tipo:podem ser numérico, texto, data e booleano. Tamanho:define a quantidade de caracteres que serão necessários para armazenar o seu conteúdo. Geralmente o tamanho é definido apenas para atributos de domínio texto. Descrição:é opcional e pode ser usado para descrever o que é aquele atributo
Nulo:Informa se o atributo pode ou não ser nulo Chave:primária, índice, único, estrangeira Formato:formato que o campo terá
-181
DD - Exemplo
ECO031 Banco de Dados Aulas Teóricas
-Fabiana Costa Guedes 182