1 / 134

Sistemas de Banco de Dados

Sistemas de Banco de Dados. Marcos André Gonçalves 2007-2. Introdução. O que é um banco de dados?. Definições Preliminares. [Chu, 1985] Um banco de dados é um conjunto de arquivos relacionados entre si [Date, 2000]

ringo
Download Presentation

Sistemas de Banco de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas de Banco de Dados Marcos André Gonçalves 2007-2

  2. Introdução

  3. O que é um banco de dados?

  4. Definições Preliminares • [Chu, 1985] • Um banco de dados é um conjunto de arquivos relacionados entre si • [Date, 2000] • Um banco de dados é uma coleção de dados operacionais armazenados usados pelas aplicações de uma determinada organização

  5. Outra Definição de Banco de Dados • [Elmasri & Navathe, 2000] • Um banco de dados é uma coleção de dados relacionados • Representando algum aspecto do mundo real (mini-mundo ou universo de discurso) • Logicamente coerente, com algum significado • Projetado, construído e gerado (“povoado”) para uma aplicação específica

  6. Sistema de Gerência de Banco de Dados • Um sistema de gerência de banco de dados (SGBD) é um conjunto de programasque permite a criar e manter um banco de dados • Um banco de dados juntamente com o SGBD que o gerência constitui um sistema de banco de dados

  7. Usuários/Programadores Consultas/Programas SGBD Catálogo (Meta-Dados) Banco de Dados Sistema de Banco de Dados

  8. Exemplo de um Banco de Dados • Mini-mundo: parte de uma universidade • Algumas entidades: • Alunos • Disciplinas • Departamentos • Alguns relacionamentos: • Disciplinas são oferecidas por Departamentos • Alunos estão matriculados em Disciplinas

  9. Exemplo de um Banco de Dados

  10. Exemplo de um Banco de Dados

  11. Características da Abordagem de BD • Auto-descrição dos dados • Isolamento entre programas e dados: abstração de dados • Suporte a múltiplas visões dos dados • Compartilhamento de dados e processa-mento de transações concorrentes

  12. Usuários em um Ambiente de BD • Administradores de banco de dados • Projetistas de banco de dados • Analistas de sistema e programadores • Usuários finais: • Usuários casuais • Usuários leigos • Usuários especializados

  13. Vantagens da Utilização de um SGBD • Controle de redundância dos dados • Controle de acesso (segurança) • Armazenamento persistente dos dados • Existência de múltiplas interfaces para os usuários • Representação de relacionamentos complexos entre os dados • Manutenção de restrições de integridade • Recuperação de falhas

  14. Implicações da Abordagem de BD • Adoção/imposição de padrões • Redução do tempo de desenvolvimento das aplicações • Flexibilidade • Atualidade da informação disponível • Economia de escala

  15. Quando não Utilizar um SGBD • Aplicações simples e bem definidas onde não se espera mudanças • Aplicações de tempo-real • Aplicações onde não é necessário acesso multi-usuário • Motivos: • Investimento inicial alto • Generalidade na definição e manipulação dos dados • Custo adicional para prover outras facilidades funcionais (manutenção de segurança, controle de concorrência, recuperação de falhas, etc.)

  16. Modelo de Dados, Esquema e Instância • Modelo de dados:Conjunto de conceitos usados para descrever a estrutura de um banco de dados • Abstração de dados • Estrutura = tipos de dados + relacionamentos + restrições (+operações ) • Esquema:Descrição (textual ou gráfica) da estrutura de um banco de dados de acordo com um determinado modelo de dados • Instância:Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo

  17. Modelo de Dados, Esquema e Instância Esquema do banco de dados de exemplo

  18. Instância do banco de dados de exemplo Modelo de Dados, Esquema e Instância

  19. Modelo de Dados Esquema Instância Regras para verificação das instâncias Regras para estruturação dos dados Relação entre Modelo de Dados, Esquema e Instância

  20. Modelo de Dados, Esquema e Instância • Estado do Banco • Dados do banco em qualquer ponto do tempo • Inicialmente vazio • Muda freqüentemente • Validade parcialmente guarantida pelo SGBD • Esquema do Banco • Armazenado no catálogo • Mudanças muito menos freqüentes

  21. Tipos de Modelo de Dados • Modelos conceituais • Utilizados para se descrever a estrutura de um banco de dados de uma forma mais próxima da percepção dos usuários (independente de aspectos de implementação) • Ex. Conceitos: entidades, atributos, relacionamentos • Exemplos: • Modelo entidade-relacionamento (ER) • Modelo funcional • Modelo orientado a objetos (OO)

  22. Tipos de Modelo de Dados • Modelos representacionais (lógicos) • Utilizados para se descrever a estrutura de um banco de dados da forma como será manipulado através de SGBD (mais dependente das estruturas físicas de armazenamento de dados) • Exemplos: • Modelo relacional • Modelo de rede (CODASYL) • Modelo hierárquico

  23. Tipos de Modelo de Dados • Modelos físicos • Utilizados para descrever como os dados são fisicamente armazenados

  24. Linguagens • Linguagem de definição de dados (LDD) • Usada para definir esquemas • Linguagem de manipulação de dados (LMD) • Recuperação, inserção, remoção, modificação do BD • Linguagem de consulta • LMD de alto nivel usada em modo “stand-alone” • Exemplo: SQL

  25. Utilitários • Carregamento • Backup • E.g. dumps do banco de dados • (Re-)Organização de arquivos • Monitoramento da performance

  26. Classificação dos SGBDs • Quanto ao modelo de dados adotado: • Relacionais • De rede • Hierárquicos • Orientados a objetos • Objeto-relacionais • Quanto ao número de usuários suportados: • Mono-usuários • Multi-usuários • Quanto à localização dos dados: • Centralizados • Distribuídos

  27. Exemplo de um BD Relacional Empregado Departamento

  28. Exemplo de um BD de Rede Empregado Departamento

  29. Exemplo de um BD Hierárquico Departamento Empregado

  30. Modelo Entidade-Relacionamento

  31. Mini-Mundo Análise de Requisitos Requisitos Funcionais Requisitos do BD Projeto Conceitual Análise Funcional Especificação das Transações (em alto nível) Esquema Conceitual (em um modelo de dados de alto nível) Independente de SGBD Projeto Lógico Esquema Lógico (em um modelo de dados lógico) Específico para um SGBD Projeto das Aplicações Projeto Físico Esquema Físico (para um SGBD específico) Implementação Programas Processo de Projeto de Bancos de Dados

  32. Aplicação exemplo • Banco de Dados de uma companhia • Organizada em departamentos que têm um nome e um número únicos e um empregado que gerencia o departamento. A data de quando o empregado começou a gerenciar o departamento deve ser registrada. Um departamento pode ter varias localizações • Um departamento controla um número de projetos, cada qual com um nome e número únicos e uma única localização

  33. Aplicação exemplo • Banco de Dados de uma companhia • Nós armazenamos para cada empregado seu nome, identidade, endereço, salário, sexo, e data de nascimento. Um empregado é assinalado a um departamento mas pode trabalhar em diversos projetos, os quais não são necessariamente controlados pelo mesmo departamento. Nos registramos o número de horas por semana que o empregado trabalha em cada projeto e o supervisor direto de cada empregado • Nós mantemos registro para cada empregado, do numero de dependentes (para seguro) e para cada dependente o primeiro nome, sexo, data de nascimento e relacionamento com o empregado.

  34. M Esquema conceitual

  35. Name = John Address = 2311 Kirby, Houston, TX Age = 55 e1 (Employee) Home Phone = 713-749-2630 Modelo ER - Conceitos • Entidades: • Objetos do mundo real que são de interesse para alguma aplicação • Atributos: • Propriedades utilizadas para descrever uma entidade

  36. Modelo ER - Conceitos • Tipos (classes) de atributo: • Simples ou compostos • Ex. Endereço (Endereço da Rua (número, nome da rua, número do apto), Cidade, Estado, CEP) • Monovalorados ou multivalorados • Ex. Profissão • Armazenados ou derivados • Data de Nascimento  Idade, Empregados trabalhando no departamento  NumeroDeEmpregados • Valores Null • Não aplicável • Ex. Número do apartamento • Desconhecido • Ex. Telefone de casa

  37. Modelo ER - Conceitos • Tipo de entidade: • Define um conjunto de entidades que têm os mesmos atributos (propriedades) • Descreve o esquema para um conjunto de entidades que compartilham a mesma estrutura • Exemplos: • Employee, Company

  38. Modelo ER - Conceitos • Chave de um tipo de entidade: • Atributo que possui valor único para cada entidade (instância) • Ex. Nome da companhia, identidade do empregado • Chave pode ser formada por vários atributos: chave composta • Registro do Veiculo: Numero de Registro e Estado • Domínio de um atributo: • Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente • Ex. Idade do Empregado: (16,70); Nome do Empregado:String

  39. Figura 3.5 Tipos de entidade e suas instâncias

  40. M Esquema conceitual

  41. Modelo ER - Conceitos • Relacionamentos: • Associações entre duas ou mais entidades distintas (instâncias) com um significado • Exemplo: • Employee John SmithWorks-for Department Research • Employee Fred BrownManages Department Research • Departament Research ControlsProject X

  42. Employee Works-for Department Modelo ER - Conceitos • Tipo de Relacionamento: • Define um conjunto de associações entre n tipos de entidade E1, E2,...,En • Exemplo: • Works-for entre Employee e Department

  43. Modelo ER - Conceitos • Tipo de Relacionamento: • Matematicamente, um tipo de relacionamento R é um conjunto de (instâncias de) relacionamentos ri, onde cada ri associa n (instâncias de) entidades (e1,...,en) e cada ej pertence a um tipo de entidade Ej • R ÍE1 x E2 x ... x En • ri = (e1,...,en) • Grau de um Tipo de Relacionamento • Número de tipos de entidade participantes de um tipo de relacionamento

  44. Instâncias de um tipo de relacionamento binário

  45. Instâncias de um tipo de relacionamento ternário

  46. M Esquema conceitual

  47. Modelo ER - Conceitos • Restrições sobre tipos de relacionamento: • Limitam as possiveis combinações de entidades que podem participar no conjunto de relacionamentos • Cardinalidade: Especifica o número de instâncias de um tipo de relacionamento do qual uma entidade pode participar • Participação: Especifica se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento parcial ou total • Ex. Todo empregado deve trabalhar para um departamento (total) • Ex. Nem todo empregado gerencia um departamento (parcial) • Cardinalidade + Participação Restrições Estruturais

  48. Cardinalidade 1:1

  49. Cardinalidade M:N

  50. M Esquema conceitual

More Related