A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)

Apresentações semelhantes


Apresentação em tema: "Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)"— Transcrição da apresentação:

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.


Carregar ppt "Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)"

Apresentações semelhantes


Anúncios Google