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

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

Sistemas de Banco de Dados

Apresentações semelhantes


Apresentação em tema: "Sistemas de Banco de Dados"— Transcrição da apresentação:

1 Sistemas de Banco de Dados
Extraído do Material do Profº Marcos André Gonçalves

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 programas que 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 Banco de Dados Usuários/Programadores Catálogo (Meta-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 Modelo de Dados, Esquema e Instância
Instância do banco de dados de exemplo

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

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 (Re-)Organização de arquivos
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 NumEmp NomeEmp Salário Dept 032 J Silva 380 21 074 M Reis 400 25 089 C Melo 520 28 092 R Silva 480 112 R Pinto 390 121 V Simão 905 130 J Neves 640 Departamento NumDept NomeDept Ramal 21 Pessoal 142 25 Financeiro 143 28 Técnico 144

28 Exemplo de um BD de Rede Empregado Departamento 032 J Silva 380 074
M Reis 400 21 Pessoal 142 089 C Melo 520 25 Financeiro 143 092 R Silva 480 112 R Pinto 390 28 Técnico 144 121 V Simão 905 130 J Neves 640

29 Exemplo de um BD Hierárquico
Departamento 21 Pessoal 142 25 Financeiro 143 28 Técnico 144 Empregado 032 J Silva 380 074 M Reis 400 089 C Melo 520 112 R Pinto 390 092 R Silva 480 121 V Simão 905 130 J Neves 640

30 Modelo Entidade-Relacionamento

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

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 Modelo ER - Conceitos Entidades: Atributos:
Objetos do mundo real que são de interesse para alguma aplicação Atributos: Propriedades utilizadas para descrever uma entidade Name = John Address = 2311 Kirby, Houston, TX Age = 55 Home Phone = e1 (Employee)

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 Smith Works-for Department Research Employee Fred Brown Manages Department Research Departament Research Controls Project X

42 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 Employee Works-for 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

51 Modelo ER - Conceitos Papéis e relacionamentos recursivos
Entidades atuam com um determinado papel Significado do papel é dado por um nome, atribuído a cada tipo de entidade Nomes só são necessários em tipos de relacionamento que envolvam mais de uma vez o mesmo tipo de entidade  relacionamentos recursivos Exemplo: Supervision, onde Employee tem os papéis de Supervisor e Supervisee

52 Figure 3.11 1 – Supervisor 2 - Supervisee

53 M Esquema conceitual

54 Modelo ER - Conceitos Tipos de Entidade Fraca
Tipos de entidade que não têm chave própria As instâncias são identificadas através do relacionamento com entidades de outro tipo, chamado de dono ou identificador, juntamente com os valores de alguns atributos (chave parcial) Exemplo: Dependent

55 M Esquema conceitual

56 Notação ER (Resumo)


Carregar ppt "Sistemas de Banco de Dados"

Apresentações semelhantes


Anúncios Google