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

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

Banco de Dados I Modelo Relacional. 2 Conteúdo  Parada técnica...onde estamos... de onde viemos.. e para onde vamos..  Modelo Relacional Características.

Apresentações semelhantes


Apresentação em tema: "Banco de Dados I Modelo Relacional. 2 Conteúdo  Parada técnica...onde estamos... de onde viemos.. e para onde vamos..  Modelo Relacional Características."— Transcrição da apresentação:

1 Banco de Dados I Modelo Relacional

2 2 Conteúdo  Parada técnica...onde estamos... de onde viemos.. e para onde vamos..  Modelo Relacional Características do Modelo Relacional Regras de Integridade Regras de Mapeamento  Exercício

3 3 Parada técnica Ciclo de vida do Proj. de Banco de Dados ou Engenharia de Software Projeto Conceitual (Análise) Projeto Lógico (Projeto) Projeto Físico (Implementação)

4 4 Parada técnica Ciclo de vida do Proj. de Banco de Dados ou Engenharia de Software Projeto Conceitual (Análise) (de onde viemos) Projeto Lógico (Projeto) (estamos aqui) Projeto Físico (Implementação) (para onde vamos)

5 5 Parada técnica Mundo Real Diag. Entidade Relacionamento (de onde viemos) Modelo de Dados Diagrama Relacional (estamos aqui) Modelo Lógico SQL (para onde vamos) Projeto Conceitual Projeto Lógico Projeto Físico

6 6 Projeto Lógico Diag. R (Modelo Relacional) Modelo de Dados Projeto Lógico O esquema Conceitual de alto nível- DER - é mapeado para modelo de implementação de dados do SGBD que será usado, no caso, modelo Relacional. Conceitos:  SGBDRelacional notação gráfica Diag. E-R ( Modelo ER) Modelo Lógico

7 7 Projeto Lógico  Baseado no Modelo* Relacional. Conjunto de 12 Regras, estabelecida por Edgard F Codd, 1977. Estas regras é que definem se um sistema pode ser chamada de Relacional ou não Toda coluna deve somente conter valores atômico (regra) Baseado na teoria de Conjunto: Álgebra Relacional Os modelos comerciais: Rede, Hieráquico, Relacional, Relacional Extendido, OO * O modelo é o que define as características e funcionalidades que o SGBD oferece

8 8 Modelo Relacional: regras Regras de Integridade Integridade identidade: chave primária: –única e –não nula... identifica um único elemento num conjunto Integridade referencial: chave estrangeira: –pode ser nula – ou existir uma chave primária

9 9 Regras de Mapeamento Transformação do DER em DR Clientes codigo nome fone* Pedidos número data possui N1 Tabelas

10 10 Entidade: ? Clientes codigo nome fone

11 11 1. Entidade: Toda entidade vira tabela seus atributos serão colunas, cuidado com os atributos composto* e multivalorado** atributo determinante = chave primária segue a mesma notação Clientes codigo nome fone Clientes codigo nome fone DER DR

12 12 2. Relacionamento Clientes codigo nome fone Pedidos número data possui N1 O que determina a estrutura de uma tabela: cardinalidade restrições de totalidade no relacionamento

13 13 Cardinalidade: 1:1 Motorista codigo nome fone* CNHabilitação número data_expedição possui 11 m1 cnh1 m2 cnh2 m3 cnh3 m4 cnh4

14 14 Cardinalidade: 1:1 Motorista codigo nome fone CNHabilitação número data_expedição possui 11 Motorista codigo nome fone CNHabilitação número data_expedição DER DR código (motorista) CNHHabilitação numerodata_expedicao 521001 12/05/2000 521002 15/07/1974 Motorista codigonomefone 521001José123333 521002Ana85256 cnh (CE) 521001 521002 Motorista (CE)

15 15 Cardinalidade: 1:1 Motorista codigo nome fone* CNHabilitação número data_expedição possui 11 Estratégias: 1. Chave estrangeira: Qualquer dos lados pode absorver a chave estrangeira, preferência do lado da totalidade, garante nunca vazia. ( em CNH) 2. Agrupar Tabelas: quando os dois relacioanmentos são totais. 3. Criar uma relação para o relacionamento, com cada uma das chaves Evitar colocar a chave em ambos os lados, dificuldade no gerenciamento

16 16 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 d1 f1 d2 f2 d3 f31 f4 Funcionário codigo nomesalario

17 17 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario Duas alternativas: 1: Departamento ter várias colunas para indicar os funcionários. ??? 2: Funcionário ter uma coluna adicionar para indicar o departamento???

18 18 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario Departamento codigo nome ramall Funcionário codigo nomesalario codigo (departamento) DER DR departamento(CE)

19 19 Cardinalidade: 1:N Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario Alternativas: 2: Funcionário ter uma coluna adicionar para indicar o departamento: o lado n absorve o lado 1

20 20 Cardinalidade: 1:N Particularidade: 1. Quando não há totalidade, pode-se criar uma tabela para representar o relacionamento: vantagem:  não terá coluna nula para representar informação  ganho de desempenho em determinadas consultas desvantagem:  uma tabela a mais  perda de desempenho na consultas (join) 2. Atributos do relacionamento? Sócio codigo nome ramall aluga N1 Fita codigodt_aquisição dt_retrada dt_prov_dev

21 21 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome possui NN p1 f1 p2 f2 p3 f31 f4 CGC*

22 22 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome possui NN CGC* Peças codigo descrição preço Fornecedores codigo nome CGC* Possui codigo (fornecedor) codigo (peca) DER DR peca(CE) fornecedor(CE)

23 23 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome CGC* Possui codigo (fornecedor) codigo (peca) DR Pecas Posssui Fornecedores pc forn 01 porca 1,0 01 01 01 Rei da Porca 02 parafuso 0,5 02 01 02 Rei do Parafuso 03 prego 0,1 01 02 02 02 03 01 peca(CE) fornecedor(CE)

24 24 Cardinalidade: N:N Peças codigo descrição preço Fornecedores codigo nome possui NN CGC*  Sempre gera tabela, novo símbolo para indicar que a tabela é originada de um relacionamento.  Os atributos do relacionamento se mantém na tabela do relacionamento.  As chaves primárias é no mínimo a combinação da chaves estrangeiras, e dependendo do negócio, é mais algum outra atributo.

25 25 Restrição de Totalidade Indica se uma determinada chave estrangeira poderá ser nula ou não Totalidade indica que a chave estrangeira não poderá ser NULA Ou seja, o codigo de departamento em funcionário deverá ser definido como nunca receber um valor NULO Departamento codigo nome ramall possui N1 Funcionário codigo nomesalario

26 26 Unário ou Auto-relacionamento DER 1 Funcionário codigo nome salario chefia N subordinado superior

27 27 Unário ou Auto-relacionamento O determina é a cardinalidade, portanto neste caso a tabela Fucnionário ganha uma nova coluna com o nome do papel (superior). Daí a importância dos nomes dos papéis nos auto- relacionamentos. 1 Funcionário codigo nome salario chefia N subordinado superior 1 Funcionário (superior) codigo nome salario superior (CE) DER DR

28 28 Relacionamento: ternário ou n-ário Funcionário codigo nome salario LinguagemPro codigo nome Projeto codigo nome participa NN N descrição DER

29 29 Relacionamento: ternário ou n-ário LinguagemPro codigo nome Projeto codigo nome codigo descrição participa (linguagem) Funcionário codigo nome salario codigo (projeto) (funcionário) linguagem(CE) funcionário(CE) projeto(CE) Relacionamentos ternários ou de grau maior (n-ários), sempre geram tabela. A chave primária desta nova tabela é a combinação de todas as chaves estrangeiras. Os atributos que existirem nete relacionamento mantém nesta tabela DR

30 30 Atendimento Agregação nome Medico codigo nome especialidade Paciente atende NN gera Exame codigo preço N N codigo nome nacimento

31 31 Agregação Medico codigo nome especialidade Paciente codigo nome nacimento nome Exame codigo preço atende codigo (medico) gera medico (CE) exame (CE) paciente (CE) codigo (paciente) medico (CE) paciente (CE) codigo(exame) medico, paciente (medico, paciente)

32 32 Generalização Conta numero saldo Conta_Poupança juros dt_niv Conta_Corrente limite tarifa

33 33 Generalização Conta numero saldo Conta_Poupança jurosdt_niv Conta_Corrente limite tarifa numero (numero) numero (CE) As Entidades filhas recebem a chave primária da entidade pai

34 34 Generalização cuidados Deleção/remoção yremover um elemento da classePai implica em remover um elemento da classeFilha (total), vários (sobreposto) ou nenhum (parcial) yinserção na classePai implica em incluir em 1(total e não sobreposto) na classeFilha ou mais de um (sobreposição)

35 35 Atributo Multivalorado Clientes codigo nome fone* Atributos atômico

36 36 Atributo Multivalorado Clientes codigo nome fone* Possui Clientes codigo nome fone codigo (cliente) Possui clientefone 521001 325144 521002 01997877

37 37 Entidade Fraca Funcionário codigo nome endereço possui N1 Dependente nomedata_nas Funcionário codigo nome endereço Dependente funcionário (CE) nome data_nas codigo (funcionário) DR DER Chave estrangeira na tabela Dependente: funcionário Chave Primaria na tabela Dependente: funcionário e nome

38 38 Descrição da Tabela Nome_da_Tabela nome_col1 nome_col2 nome_colN tipo Chave (CP/CE) Nulo (NN) tipo da coluna* tamanho exemplo * Tipos: numérico, caracter, data

39 39 Exercício 1. Locadora de Vídeo (Mapeamento) 2. João de Barro (Mapeamento) 3. Exercício 4 da prova (Mapeamento)

40 40 FIM!!!!

41 41 Próxima aula

42 42 Bibliografia 1. ELMASRI, R e NAVATHE S. Fundamentos de Sistemas de Banco de Dados. 3 ed. Rio de Janeiro: LTC 2002. Capítulo 7 2. MACHADO, Felipe Nery Rodrigues, ABREU, Maurício Pereira de. Projetos de Banco de Dados: uma visão prática. 4ed. São Paulo: Érica, 1998. 298p. Capítulo 13 3. KORTH, Henry F., Silberschatz, Abraham, Sistemas de Banco de Dados. 3ed. São Paulo: Makron Books 1999. 806p. Capítulo 2 – tópico 2.9


Carregar ppt "Banco de Dados I Modelo Relacional. 2 Conteúdo  Parada técnica...onde estamos... de onde viemos.. e para onde vamos..  Modelo Relacional Características."

Apresentações semelhantes


Anúncios Google