Carregar apresentação
A apresentação está carregando. Por favor, espere
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)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.