Fundamentos de Bancos
de Dados
Profa. Dra. Vânia Maria Ponte Vidal Departamento de Computação Universidade Federal do Ceará
Sumário
Introdução
Exemplo, Características, Vantagens, Implicações
Quando não utilizar um SGBD
Conceitos e Arquitetura do SBD
Modelos de Dados, Esquemas e Instâncias
Categorias de Modelos de Dados
Arquitetura de Três Esquemas e Independência de Dados
Linguagens e Interfaces
Módulos de Componentes do SGBD e Utilitários
Classificação dos SGBDs
Introdução
1. Conceitos básicos 2. Exemplo 3. Características 4. Vantagens 5. Implicações1. O que é um 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
Sistema de Gerenciamento
de Banco de Dados
Um SGBD é um conjunto de programas que permite criar e manter um banco de dados
2. Exemplo de um Banco de
Dados
Mini-mundo: parte de uma universidade Alguns integrantes
Alunos Disciplinas
Departamentos
2. Exemplo de um Banco de
Dados
Disciplinas são oferecidas por Departamentos
2. Exemplo de um Banco de
Dados
2. Exemplo de um Banco de
Dados
3. Características da
Abordagem de BD
Auto-descrição dos dados
Isolamento entre programas e dados: abstração de dados abstração de dados Suporte a múltiplas visões dos dados
4. Vantagens da Utilização
de um SGBD
Controle de redundância dos dados
Compartilhamento informações replicadas
Manutenção de restrições de integridade
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
5. 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
6. Quando não Utilizar um
SGBD
Aplicações simples e bem definidas onde não se espera mudanças Aplicações de tempo-real
6. Quando não Utilizar um
SGBD
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.)
Conceitos e Arquitetura do
SBD
1. Modelos de Dados, Esquemas e Instâncias 2. Categorias de Modelos de Dados
3. Arquitetura de Três Esquemas e Independência de Dados 4. Linguagens e Interfaces
5. Módulos de Componentes do SGBD e Utilitários 6. Classificação dos SGBDs
1. Modelo de Dados,
Esquema e Instância
Modelo
Instânc
ia
Esque
ma
Regras para estruturação dos dados Regras para verificação das instânciasModelo de Dados, Esquema
e Instância
Modelo de dados: Conjunto de conceitos descrevem a estrutura de um BD Abstração de dados
Estrutura = tipos de dados + relacionamentos + restrições (+operações -> recuperação e atualização)
Modelo de Dados, Esquema
e Instância
Esquema: Descrição (textual ou gráfica) da estrutura de um BD de acordo com um determinado modelo de dados
Instância: Conjunto de dados armazenados em um BD em um determinado instante de tempo
Modelo de Dados, Esquema
e Instância
Modelo de Dados, Esquema
e Instância
Modelo de Dados, Esquema
e Instância
Esquema do BD
Armazenado no catálogo
Mudanças muito menos freqüentes
Estado do BD
Dados do banco em qualquer ponto do tempo
Inicialmente vazio
Muda frequentemente
Modelo de Dados, Esquema
e Instância
Modelo de dados: Conjunto de conceitos descrevem a estrutura de um BD Abstração de dados
Estrutura = tipos de dados + relacionamentos + restrições (+operações -> recuperação e atualização)
2. Categorias de Modelo de
Dados
MODELOS CONCEITUAIS
Descrevem a estrutura de um BD de uma forma
mais
próxima da percepção dos usuários
Independente de aspectos de implementação
Conceitos: entidades, atributos, relacionamentos
Exemplos:
Modelo entidade-relacionamento (ER)
Modelo funcional
Categorias de Modelo de
Dados
MODELOS REPRESENTACIONAIS (lógicos)
Descrevem a estrutura de um BD da forma
como será
manipulado através de SGBD
Mais dependente das estruturas físicas de
armazenamento de dados armazenamento de dados
Exemplos:
Modelo relacional
Modelo de rede (CODASYL)
Modelo hierárquico
Categorias de Modelo de
Dados
MODELOS FÍSICOS
Descrevem como os dados são fisicamente armazenados
Conceitos: formatos dos registros, ordenamento dos registros, caminhos de acesso (eficiência)
3. Arquitetura de um
Sistema de BD
Características do enfoque de BD Isolamento de programas e dados
Suporte de visões múltiplas de usuários
3. Arquitetura de um
Sistema de BD
Arquitetura de três níveis
Mantém independência de dados e programas Suporta múltiplas visões
Arquitetura de um Sistema
de BD
Componentes
1.
Esquema interno
•
Descreve armazenamento físico
2.
Esquema conceitual
•
Descreve entidades, tipos de dados,
relacionamentos, operações e restrições
•
Esconde detalhes de armazenamento
3.
Esquemas externos (visões)
•
Descreve porções do banco para
Arquitetura de um Sistema
de BD
Arquitetura de um Sistema
de BD
Exemplo 1
Esquema conceitual
Estudantes (eid: string, nome: string, login: string, idade: integer, gpa:real) Cursos (cid: string, cnome:string, creditos:integer)
Matricula (eid:string, cid:string, nota:string) Matricula (eid:string, cid:string, nota:string)
Arquitetura de um Sistema
de BD
Exemplo 1
Esquema Físico
Relações guardadas como arquivos desordenados Índices na primeira colunas de estudantes
Esquema externo (Visão):
Arquitetura de um Sistema
Independência de Dados
Capacidade de se alterar o esquema em um determinado nível sem alterar o esquema (ou esquemas) do nível imediatamente mais alto imediatamente mais altoIndependência de Dados
Capacidade de se alterar o esquema em um determinado nível sem alterar o esquema (ou esquemas) do nível imediatamente mais alto imediatamente mais altoVANTAGEM:
Imunidade dos programas em relação a mudanças na estrutura do banco de dados
Independência de Dados
Independência de dados lógica
Capacidade de alterar o esquema conceitual sem alterar esquema externo ou aplicações
Ex. Expansão ou redução
Independência de dados física
Capacidade de mudar o esquema interno sem mudar o esquema conceitual (ou externo)
4. Linguagens
Linguagem de definição de dados (DDL)
Usada para definir esquemas
Linguagem de manipulação de dados (DML)
Recuperação, inserção, remoção, modificação
Linguagem de consulta
DML de alto nível usada em modo “standalone”
Exemplo: SQL
Interfaces
Baseadas em menusBaseadas em formulários Gráficas (GUI), diagramas
Baseadas em linguagem natural Para leigos
5. Módulos de Componentes
do SGBD
Utilitários
Carga (loading)
Arquivos dados -> Banco de Dados
Cópia de segurança (backup)
Para restaurar em caso de falhas
(Re-)Organização de arquivos
Melhorar o desempenho
Monitoramento do desempenho
Fornece estatísticas para o DBA: informações sobre
desempenho -> reorganização
6. Classificação dos SGBDs
Quanto ao modelo de dados adotadoDe rede
Hierárquicos Relacionais
6. Classificação dos SGBDs
Orientados a objetosObjeto-relacionais
Quanto ao número de usuários suportados Mono-usuários
Multi-usuários
Quanto à localização dos dados Centralizados
Exemplo de um BD
Relacional
Exemplo de um BD
Hierárquico
Revisão
BD, SGBD, SBDModelos: conceitual, lógico, físico Independência de dados
DDL, DML