Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBenedicto Sacramento Veiga Alterado mais de 8 anos atrás
1
Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
2
Composição de um Banco de Dados Relacional Tabelas –compostas de Linhas Colunas Chaves primárias –relacionadas através de Chaves estrangeiras
3
Terminologias
4
Tabelas
5
Características das tabelas Linhas de uma tabela não estão ordenadas Valor do campo –Atômico –monovalorado
6
Chaves Conceito usado para especificar restrições de integridade básicas de um SGBD relacional Três tipos: –chave primária –chave alternativa –chave estrangeira
7
Chave primária Uma chave primária é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela.
8
Chave primária
9
Chave estrangeira Uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. Mecanismo que permite a implementação de relacionamentos em um banco de dados relacional.
10
Chave estrangeira
11
Chave estrangeira validação pelo SGBD Quando da inclusão de uma linha na tabela que contém a chave estrangeira –o valor da chave estrangeira deve aparecer na coluna da chave primária referenciada. Quando da alteração do valor da chave estrangeira –o novo valor de uma chave estrangeira deve aparecer na coluna da chave primária referenciada.
12
Chave estrangeira validação pelo SGBD Quando da exclusão de uma linha da tabela que contém a chave primária referenciada pela chave estrangeira –na coluna chave estrangeira não deve aparecer o valor da chave primária que está sendo excluída.
13
Chave estrangeira na mesma tabela
14
Chave alternativa Mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais; Uma das colunas (ou combinação de colunas) é escolhida como chave primária; As demais colunas ou combinações são denominadas chaves alternativas.
15
Chave alternativa
16
Domínio de coluna Conjunto de valores que podem aparecer em uma coluna (atributo)
17
Valor vazio Um valor de campo pode assumir o valor especial vazio (“null” em inglês) Colunas nas quais não são admitidos valores vazios são chamadas de colunas obrigatórias Colunas nas quais podem aparecer campos vazios são chamadas de colunas opcionais
18
Valor vazio Abordagem relacional –todas colunas que compõem a chave primária devem ser obrigatórias; –demais chaves podem conter colunas opcionais
19
Restrições de integridade básicas Integridade de domínio Integridade de vazio Integridade de chave Integridade referencial Restrições acima –garantidas automaticamente por um SGBD relacional
20
Restrições de integridade semânticas Há muitas outras restrições de integridade que não se encaixam nas categorias básicas Essas restrições são chamadas de restrições semânticas (ou regras de negócio)
21
Restrições de integridade semânticas Exemplos de restrições semânticas: –Um empregado do departamento denominado “Finanças” não pode ter a categoria funcional “Engenheiro”. –Um empregado não pode ter um salário maior que seu superior imediato.
22
Implementação inicial de entidades Cada entidade é traduzida para uma tabela; Cada atributo da entidade define uma coluna desta tabela; Atributos identificadores da entidade correspondem a chave primária da tabela.
23
Implementação de entidade Pessoa (CodigoPess, Nome, Endereço, DataNasc, DataAdm)
24
Tradução de entidade relacionamento identificador Dependente (CodigoEmp, NoSeq, Nome)
25
Relacionamento identificador recursão Grupo (CodGrup,Nome) Empresa (CodGrup, NoEmpresa, Nome) Empregado (CodGrup, NoEmpresa, NoEmpreg, Nome) Dependente (CodGrup, NoEmpresa, NoEmpreg, NoSeq, Nome)
26
Implementação de relacionamentos 1:1
27
1:1 - ambas entidades opcionais exemplo Adição de colunas: Mulher (IdentM, Nome, IdentH, Data, Regime) IdentH referencia Homem Homem (IdentH,Nome)
28
1:1 - Uma entidade opcional outra obrigatória
29
1:1 - Ambas entidades tem participação obrigatória Fusão de tabelas: Conferência (CodConf, Nome, DataInstComOrg, EnderComOrg)
30
Relacionamentos 1:n
31
1:n - caso 1 A entidade que tem cardinalidade máxima 1 é obrigatória
32
1:n - caso 1 Adição de colunas: –Departamento (CodDept,Nome) –Empregado (CodEmp, Nome, CodDept, DataLota) CodDept referencia Departamento
33
1:n - caso 1 Tabela própria: –Departamento (CodDept,Nome) –Empregado (CodEmp,Nome, –Lotacao(CodEmp, CodDept, DataLota) CodDept referencia Departamento CodEmp referencia Empregado
34
1:n - caso 2 A entidade que tem cardinalidade máxima 1 é opcional.
35
1:n - caso 2 Adição de colunas: –Financeira (CodFin,Nome) –Venda (IdVend, Data, CodFin, NoParc, TxJuros) CodFin referencia Financeira
36
1:n - caso 2 Tabela própria: –Financeira (CodFin,Nome) –Venda (IdVend,Data) –Fianciam (IdVend, CodFin, NoParc, TxJuros) IdVend referencia Venda CodFin referencia Financeira
37
Relacionamentos n:n
38
Engenheiro (CodEng,Nome) Projeto (CodProj,Título) Atuação (CodEng,CodProj,Função) CodEng referencia Engenheiro CodProj referencia Projeto
39
Relacionamento grau > dois
40
Não são definidas regras específicas –O relacionamento é transformado em uma entidade; –São aplicadas regras de implementação dos relacionamentos binários.
41
Relacionamento grau > dois Produto (CodProd,Nome) Cidade (CodCid,Nome) Distribuidor (CodDistr,Nome) Distribuição (CodProd, CodDistr, CodCid, DataInicio) CodProd referencia Produto CodDistr referencia Distribuidor CodCid referencia Cidade
42
Implementação de generalização/especialização Duas alternativas básicas: –uso de uma tabela para cada entidade; –uso de uma única tabela para toda hierarquia;
43
generalização/especialização
44
Uma tabela por hierarquia Todas tabelas referentes às especializações são fundidas em uma única tabela Tabela contém: –Chave primária correspondente ao identificador da entidade mais genérica; –Caso não exista, adicionar uma coluna Tipo;
45
Uma tabela por hierarquia Tabela contém ( continuação ): –Uma coluna para cada atributo da entidade genérica –Colunas referentes aos relacionamentos dos quais participa a entidade genérica e que sejam implementados através da alternativa de adicionar colunas à tabela da entidade genérica
46
Uma tabela por hierarquia Tabela contém (continuação): –Uma coluna para cada atributo de cada entidade especializada (opcional) –Colunas referentes aos relacionamentos dos quais participa cada entidade especializada e que sejam implementados através da alternativa de adicionar colunas à tabela da entidade (campo opcional)
47
Uma tabela por hierarquia Emp (CódigoEmp, Tipo, Nome, CIC, CodigoDept, CartHabil, CREA, CódigoRamo) CódigoDept referencia Depto CódigoRamo referencia Ramo Depto (CódigoDept, Nome) Ramo (CódigoRamo,Nome) ProcessTexto (CódigoProc,Nome)
48
Uma tabela por hierarquia Domínio (CódigoEmp,CódigoProc) CódigoEmp referencia Emp CódigoProc referencia ProcessTexto Projeto (CódigoProj,Nome) Participação (CódigoEmp,CodigoProj) CódigoEmp referencia Emp CódigoProj referencia Projeto
49
Uma tabela por entidade especializada Criar uma tabela para cada entidade que compõe a hierarquia Incluir a chave primária da tabela correspondente à entidade genérica., em cada tabela correspondente a uma entidade especializada
50
generalização/especialização
51
Uma tabela por entidade especializada Emp (CódigoEmp, Tipo, Nome, CIC, CódigoDept) CódigoDept referencia Depto Motorista(CódigoEmp,CartHabil) CódigoEmp referencia Emp Engenheiro(CódigoEmp, CREA, CódigoRamo) CódigoEmp referencia Emp CódigoRamo referencia Ramo
52
Uma tabela por entidade especializada Depto (CódigoDept, Nome) Ramo (CódigoRamo,Nome) ProcessTexto (CódigoProc,Nome) Domínio (CódigoEmp,CódigoProc) CódigoEmp referencia Emp Código Proc referencia ProcessTexto Projeto (CódigoProj,Nome)
53
Uma tabela por entidade especializada Participação (CódigoEmp, CódigoProj) CódigoEmp referencia Engenheiro CódigoProj referencia Projeto
54
Vantagens da implementação com tabela única Dados referentes à entidade genérica + dados referentes às especializações em uma única linha Minimiza junções Menor número de chaves
55
Vantagens da implementação com uma tabela por entidade Possui apenas colunas opcionais que são referentes a atributos que podem ser vazios do ponto de vista da aplicação.
56
Bibliografia HEUSER Carlos A., Projeto de Banco de Dados, Ed. Sagra&Luzzatto, 4ª Edição.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.