Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.
Transcript of Sistemas de Banco de Dados Extraído do Material do Profº Marcos André Gonçalves.
Sistemas de Banco de Dados
Extraído do Material do ProfºMarcos André Gonçalves
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]
– Um banco de dados é uma coleção de dados operacionais armazenados usados pelas aplicações de uma determinada organização
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
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
Consultas/Programas
SGBD
Bancode
Dados
Usuários/Programadores
Catálogo(Meta-Dados)
Sistema de Banco de Dados
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
Exemplo de um Banco de Dados
Exemplo de um Banco de Dados
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
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
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
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
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.)
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
Modelo de Dados, Esquema e Instância
Esquema do banco de dados de exemplo
Modelo de Dados, Esquema e Instância
Instância do banco de dados de exemplo
Relação entre Modelo de Dados, Esquema e Instância
Modelo de Dados
Esquema InstânciaRegras para
estruturação dosdados
Regras para verificação das
instâncias
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
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)
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
Tipos de Modelo de Dados
• Modelos físicos– Utilizados para descrever como os dados são
fisicamente armazenados
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
Utilitários
• Carregamento• Backup
– E.g. dumps do banco de dados• (Re-)Organização de arquivos• Monitoramento da performance
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
Exemplo de um BD Relacional
NumEmp
NomeEmp Salário Dept
032 J Silva 380 21
074 M Reis 400 25
089 C Melo 520 28
092 R Silva 480 25
112 R Pinto 390 21
121 V Simão 905 28
130 J Neves 640 28
NumDept NomeDept
Ramal
21 Pessoal 142
25 Financeiro 143
28 Técnico 144
Empregado
Departamento
Exemplo de um BD de Rede
21 Pessoal
142
25 Financeiro 143
28 Técnico
144
032 J Silva 380
112 R Pinto 390
121 V Simão 905
130 J Neves
640
092 R Silva 480
089 C Melo 520
074 M Reis 400
Departamento
Empregado
Exemplo de um BD Hierárquico
21 Pessoal
142 25 Financeiro
143 28 Técnico 144
032 J Silva 380
112 R Pinto
390 121 V Simão
905
130 J Neves 640
092 R Silva
480
089 C Melo
520074 M Reis
400
Departamento
Empregado
Modelo Entidade-Relacionamento
Processo de Projeto de Bancos de Dados
Mini-Mundo
Análise deRequisitos
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
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
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.
Esquema conceitual
M
Modelo ER - Conceitos
• Entidades:– Objetos do mundo real que são de interesse
para alguma aplicação• Atributos:
– Propriedades utilizadas para descrever uma entidade
Name = JohnAddress = 2311 Kirby, Houston, TX
Age = 55Home Phone = 713-749-2630
e1
(Employee)
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
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
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
Figura 3.5
Tipos de entidade e suas instâncias
Esquema conceitual
M
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
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
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
Instâncias de um tipo de relacionamento binário
Instâncias de um tipo de relacionamento ternário
Esquema conceitual
M
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
Cardinalidade 1:1
Cardinalidade M:N
Esquema conceitual
M
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
Figure 3.11
1 – Supervisor2 - Supervisee
Esquema conceitual
M
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
Esquema conceitual
M
Notação ER(Resumo)