Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Modelo Relacional Tabelas e Relações Estrutura de dados utilizada no modelo relacional é a relação. − Definida como uma tabela constituída por linhas e colunas; − As colunas ou os campos representam os atributos e as linhas representam os registros ou as instâncias da relação; Tabelas e Relações Uma relação é uma estrutura bidirecional que obedece a um esquema determinado e possui zero ou mais instâncias. O esquema de uma relação é constituído por um ou mais atributos que traduzem o tipo de dados a ser armazenados; Cada instância de uma relação é chamada de tupla; A relação é a estrutura fundamental do modelo; O esquema da relação é constituído por um ou mais atributos; o número de atributos é fixo (grau da relação); Existem dois tipos: Relações base – que constituem o esquema do banco de dados; Relações virtuais (Views) – que não tem existência própria , pois derivam e estão associadas às Relações Base com o objetivo de proporcionar a criação de “Janelas” parciais sobre o esquema do banco de dados Tabelas e Relações Atributos/Colunas (Campos) Cada atributo está associado a um tipo de dados de acordo com o tipo de informação que irá armazenar; O domínio de um atributo corresponde aos valores admissíveis para esse atributo; Os atributos de uma relação devem ser identificadores distintos; O valor especial NULL é utilizado para identificar a “inexistência de valor”; Tuplas/Linhas Cada instância de um atributo corresponde aos valores admissíveis para esse atributo; As tuplas de uma relação devem ser distintas; A ordem das tuplas, tal como a ordem dos atributos (no seu esquema), não tem qualquer significado; Uma relação pode ter 0 ou mais tuplas (cardinalidade da relação); Definições importantes Grau de uma relação – corresponde ao número de atributos que constituem o esquema de uma relação; Cardinalidade – Corresponde ao número de tuplas (linhas) de uma relação (tabela); ID Nome Salário 265 Adilson 10 000 3545 Caio 12 000 82992 Luiza 11 000 232 Rony 10 500 Atributos (campos) Tuplas (Linha) Grau da Relação Cardinalidade da relação Chaves A única forma de relacionar dados que existem em uma tabela com dados que existem em outra tabela é através de atributos comuns. Chave primária – Chave selecionada entre as diferentes chaves candidatas para , efetivamente, identificar cada tupla; Chave estrangeira – Atributo ou conjunto de atributo de uma relação, que é chave primária em outra relação; Posteriormente… Superchave, Chave candidata. 9 Modelagem de Dados 10 Projeto de Banco de Dados Uma das fases mais importantes; O resultado desta servirá como base para todos os desenvolvimentos futuros; Qualquer erro se refletirá e será propagada o longo de toda a implementação. Divide-se nas seguintes etapas: Elaboração do projeto conceitual; Seleção do SGBD; Elaboração do projeto lógico; Elaboração do projeto físico; 11 Projeto Conceitual São utilizadas técnicas de modelagem de dados; MER (Modelo Entidade Relacionamento); Normalização; Permitem criar uma visão abstrata da estrutura do banco de dados que suportará os dados reais; Também denominado Modelo Conceitual; Dividido em três fases: Analise de dados e de requisitos; Modelagem de dados; Verificação do modelo de dados; 12 Seleção do SGBD Deve ser escolhido o SGBD que irá suportar o banco de dados; Levar em consideração os seguintes fatores críticos: Arquitetura; Requisitos de hardware; Características do SGBD; Plataforma; Custo; 13 Projeto Lógico Transformação do projeto conceitual em estruturas de dados passíveis de implementação no SGBD selecionado. O projeto lógico incluir a especificação de: Tabelas; Views; Índices; Transações; Controle de acessos; Especificação de chaves (primárias e estrangeiras) e das relações entre as tabelas; Especificação de integridade referencial, Constraints, etc; 14 Projeto Físico Definição de detalhes específicos (armazenamento dos dados) que têm que ser considerados na implementação do modelo lógico; Serão tomadas decisões que irão influenciar na performance de todo o sistema; São definidas nessa fase: Localização física dos dados; Definição de Tablespaces, storage groups, etc; Criação de índices especiais (cluster Index); Estratégia de aplicação de bloqueios (lokcs) e resolução de impasses (Deadlocks); 15 Modelagem de Dados Modelo de dados: Descrição formal da estrutura de um banco de dados; Modelos propostos: Modelo conceitual; Modelo Lógico; Modelo Físico; Projeto Físico Projeto Lógico Projeto Conceitual Níveis De Abstração Minimundo 16 Modelo conceitual (projeto conceitual) Modelo de dados abstrato que descreve a estrutura de um banco de dados independente de um SGBD Modelo lógico (projeto lógico) Modelo de dados que representa a estrutura dos dados de um banco de dados ; Dependente do modelo do SGBD; Modelo físico (projeto físico) Nível de Implementação; Depende do SGBD; ênfase na eficiência de acesso; Empregado Nome Endereço Empregado (Nome, Endereço) Modelagem de Dados 17 Modelo Entidade Relacionamento (ER) É a técnica mais conhecida; Tem como objetivo auxiliar na especificação geral do sistema; O modelo de dados é representado graficamente através de um Diagrama de Entidade-Relacionamento (DER); Principais conceitos do Modelo ER são: Entidades Atributos e Relacionamentos Notação: Criada por Peter Chen em 1976 Notação usada: Heuser Modelagem Conceitual Entidade Entidade É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no banco de dados É distinguível de outros objetos; Representada através de um retângulo, onde são colocados os seus nomes; Pode representar: objetos concretos (uma pessoa) objetos abstratos (um departamento) Departamento Contabilidade Financeiro Jurídico Pessoal Empregado João Pedro Paulo Maria Possui propriedades Atributos e Relacionamentos 19 Entidade Exemplos de Entidades: Sistema Bancário Cliente Conta Corrente Conta Poupança Agência Sistema de Controle de Produção de Industria Produto Empregado Departamento Estoque ... 20 Atributo É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento Exemplos de atributos de entidades: Empregado Nome Endereço Salário Departamento Descrição númeroDeFuncionários Para cada atributo, existe um conjunto de valores permitidos; Como um conjunto de entidades pode ter vários atributos, cada entidade pode ser descritas por um conjunto de pares (atributo, valor de dados), um par para cada atributo do conjunto de entidades; Um atributo, como usado no modelo ER, pode ser caracterizado pelos seguintes tipos de atributo: Atributos Simples e compostos; Atributos de valor único e de múltiplos valores; Atributo derivado. Atributo Atributos Simples: Os atributos simples não são divisíveis em subpartes, por exemplo o preço de um produto Atributos Compostos: Os atributos compostos são divididos em subpartes, por exemplo o endereço, que pode ser dividido em rua, cidade e estado. Isso normalmente acontece quando existe a necessidade do usuário realizar buscar especifica por um desses atributos; AtributosValor único: Os atributos de valor único, são aqueles que apresentam um valor único para de determinada entidade; Atributos Multivalorados: Os atributos multivalorados possuem mais de um valor para uma mesma entidade, por exemplo o número de telefone de um funcionário; Atributo Atributo derivado : São atributos que seu valor pode ser atribuído através de outros atributos ou entidades relacionadas, por exemplo a idade de funcionário pode ser calculada a partir da data de nascimento, nesse caso bastaria ter a data para calcular a idade; Atributo Determinante: Identifica cada entidade de um conjunto entidade (também conhecido com atributo chave) Ex.: Cod_Func Domínio de um Atributo: Conjunto de valores permitidos para o atributo Ex.: Sexo {M, F} Atributo • Parentesco – C Conjuge – F Filho(a) – I Irmao/Irma – P Pai/Mae • Sexo – M Masculino – F Feminino • UF (Unidade da Federação) – AC Acre – AL Alagoas – AM Amazonas Domínio de Atributo 25 Exercício Considerando um sistema acadêmico, envolvendo entidades que todos conhecemos, defina pelo menos 3 atributos para cada uma das entidades Aluno Veículo Professor Peças Relacionamentos Corresponde a uma ligação lógica entre entidades indicando a forma como as duas entidades se relacionam; 27 Relacionamento: É uma associação entre entidades Representado através de um losângulo e linhas que ligam as entidades relacionadas O nome do relacionamento é em geral apresentado como um tempo verbal, uma vez que simboliza a “ação” estabelecida entre as entidades envolvidas; nomeDoRelacionamentoA B Relacionamentos Exemplos de Relacionamentos Cliente ContaPossui Medico PacienteConsulta Cidade Reside Relacionamentos Relacionamentos Os relacionamentos são classificados de acordo com o seguinte conjunto de características; Grau – Número de entidades envolvidas no relacionamento; Obrigatoriedade (Cardinalidade Mínima) – Revela o caráter opcional ou obrigatório com que as entidades participam do relacionamento; Cardinalidade (Cardinalidade Máxima) – Relação entre o número de ocorrências de uma entidade com as respectivas ocorrências na outra entidade com que tem o relacionamento; Corresponde ao número de diferentes tipos de entidades que dele participam. Os relacionamentos mais comuns são aqueles de grau dois (relacionamentos binários). Por exemplo, um departamento é dirigido por um funcionário, e este funcionário só pode dirigir apenas um departamento. Para três tabelas – Ternário; Para quatro tabelas – Quaternário; Relacionamento - Grau Relacionamento Binário e Ternário Empregado Departamentotrabalha (1,N ) (1,1 ) Cidade Distribuidor Produto distribuição Binário Ternário (1,1) (1,N) (1,N) Relacionamento Um para Um – 1:1 Existe um relacionamento de 1:1 entre as entidades A e B quando para cada ocorrência da entidade A ocorre no máximo uma ocorrência da entidade B, e para cada ocorrência de B existe no máximo uma ocorrência de A. João Pedro Paulo Maria Jurídico Contabilidade Financeiro Conjunto A (Empregado) Conjunto B (Departamento) Empregado DepartamentoGerencia 11 33 Existe um relacionamento do tipo 1:N entre as entidades A e B quando para cada ocorrência da entidade A podem existir duas ou mais ocorrências na entidade B, e cada ocorrência de B existe, quando muito, uma ocorrência associada em A; Conjunto A (Departamento) EmpregadoDepartamento Lotação N1 Contabilidade Financeiro Ana Pedro João Sandro Conjunto B (Empregado) Relacionamento Um para Muitos – 1:N Relacionamento Muitos para Muitos – M:N ou N:N Para cada ocorrência da entidade A puderem estar associadas duas ou mais ocorrências da entidade B, e para cada ocorrência da entidade B puderem estar associadas duas ou mais ocorrências da entidade A. Sigmoda MM-TOM Sinpli AATOM Conjunto A (Empregado) Conjunto B (Projeto) Empregado ProjetoAtua NN João Pedro Paulo Maria Modelo Entidade-Relacionamento (ER) 35 Cardinalidade O modelo ER permite expressar cardinalidades mínimas e máximas em cada relacionamento Cardinalidade Mínima: número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B Representação: (cardinalidade mínima, cardinalidade máxima) Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0,N) Cardinalidade mínima = 1 (relacionamento obrigatório) Cardinalidade mínima = 0 (relacionamento opcional) Cliente ContaPossui(1,1) (1,N) Exemplo de Relacionamento Obrigatório: cada ocorrência de cliente está relacionado a no mínimo quantas contas e no máximo quantas contas? Cada ocorrência de conta está relacionada a no mínimo quantos clientes e no máximo quantos clientes? Exemplo de Relacionamento Opcional: Empregado DepartamentoGerencia (1,1) (0,1) Cardinalidade 37 Atributos também podem ter Cardinalidade Monovalorado: possui um valor único em uma entidade Exemplo: nome Multivalorado: possui mais de um valor para cada ocorrência da entidade Exemplo: telefone Empregado telefone (0,N) nome Endereço Salário Empregado nome Endereço Salário Cardinalidade mínima 1: atributo obrigatório 0: atributo opcional Cardinalidade máxima 1: atributo monovalorado N: atributo multivalorado TELEFONE (0,N) Cliente nome Endereço (1,N) Atributos também podem ter Cardinalidade Relacionamentos e Papéis Papel é a função que uma ocorrência da entidade cumpre dentro de uma ocorrência do relacionamento Não é obrigatória no Modelo ER Cliente ContaPossui(1,1) (1,N) movimenta É movimentada Empregado ProjetoParticipa (0,N)(1,N) alocado envolve Auto Relacionamento (Relacionamento Recursivo) Relacionamento recursivo ocorre quando uma mesma entidade aparece nas duas extremidades do relacionamento; A solução para o relacionamento recursivo 1:1 é semelhante ao relacionamento 1:N; Embora muito raros, é possível que ocorram relacionamentos M:N; Nos dois primeiros a solução, é apenas fazer a ligação entre as tabelas através de Chaves estrangeiras, para o outro é necessário criar uma tabela; Empregado (0,N) supervisiona supervisor (1,1) supervisionado Pessoa (0,1)(0,1) casado EsposaMarido Identificando Entidades Cada entidade deve ter um identificador Identificador (também conhecido como chave): É o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro Representação no Modelo Cliente CPF Nome Endereco Prateleira NumeroCorredor NumeroPrateleira 42 Identificando Relacionamentos Quando parte da chave é um relacionamento Exemplo: CPF do Empregado e numero sequencial na entidade Dependente Entidade Fraca: entidade sem chave A entidade é identificada por algum atributo da entidade + algum relacionamento Entidade Forte: entidade com chave A entidade é identificada por atributos da própria entidade Empregado Dependente Numero Nome Cpf Nome Endereco Chave=CPF + numero Entidades: Fortes: possuem existência autônoma independem de outras entidades para existir Pessoa física ou jurídica (funcionário, empresa, aluno, etc.) Local (departamento, unidade, etc.) Ente Material (matéria-prima,produto, etc.) Fracas: Sua existência é vinculada à existência de outra(s) entidade(s) Documento (nota fiscal, ordem de serviço, etc.) Histórico (histórico escolar, vendas acumuladas, etc.) Modelagem de dados: 44 Dr. Paulo Dr. Flora 22/10/2007 05/02/2009 20/03/2009 Relacionamento com Atributo Identificador Médico PacienteConsulta dataDaConsultaCRM nome celular CPF nome endereço Vania José Representações gráficas dos relacionamentos: utiliza veículomotorista 1 1 utiliza veículosmotorista 1 N utilizam veículosmotoristas N N utiliza veículomotoristas N 1 Modelagem de dados Atributos das Entidades: Chave Primária É o atributo ou grupamento de atributos cujo valor identifica unicamente uma identidade. Deve ter conteúdo reduzido e valor constante no tempo. Ex.: código do produto na tabela de produtos Chave Estrangeira É quando um atributo de uma entidade é a chave primária de outra entidade. Ex.: código do produto na tabela de pedidos Revisando - Chaves Atributos das Entidades: Chave Composta ou Concatenada É formada pelo grupamento de mais de um atributo Ex.: código do titular + código do dependente Chave candidata Atributo que poderia substituir a chave primária identificando unicamente uma linha da tabela; Revisando - Chaves 48 Terminologia Entidade e instância Para referir-se a um objeto particular fala-se em instância ou ocorrência de entidade Diferentes terminologias Conjunto Elemento do conjunto Entidade Instância ou ocorrência Conjunto de entidades Entidade Classe objeto Heuser Peter Chen Orientação a Objetos (Bush)Departamento Contabilidade Financeiro Jurídico Pessoal Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48
Compartilhar