2008.1
Introdução aos SGBDs
Renata Viegas
[email protected]
2008.1
Motivação
• O que são Bancos de Dados?
• Quais os programas de Bancos de Dados
mais conhecidos no mercado?
• Quais as vantagens do uso de Bancos de
Dados nas empresas? Como eles podem
facilitar o trabalho das pessoas?
2008.1
Introdução
• O objetivo de um sistema de banco de dados
é oferecer uma visão “abstrata” dos dados
aos usuários.
• Os detalhes referentes a forma como estes
dados estão armazenados e mantidos não
interessam aos usuários
2008.1
Introdução
Mundo real
modelo
Representação em
computadores
2008.1
Introdução
• Seu principal propósito é armazenar
informações e permitir ao usuário buscar e
atualizar
essas
informações
quando
necessário
• Um Sistema de Banco de Dados proporciona
o controle centralizado dos dados
– Mas, na prática, o que isso significa?
2008.1
Introdução
• Banco de Dados - coleção de dados
organizados para satisfazer às necessidades
de informação dos usuários
• Sistema Gerenciador de Banco de Dados SGBD
– Conceito: organização de um conjunto de dados
em tabelas, associadas aos programas que
manipulam estes dados.
– Objetivo: proporcionar um ambiente mais eficaz
e mais eficiente para a recuperação e
armazenamento das informações de um banco de
dados
2008.1
Antes do SGBD...
• Redundância e inconsistência de dados
– Múltiplos formatos de arquivo, duplicação de
informações em diferentes arquivos
• Dificuldade de acessar os dados
– Necessidade de escrever um novo programa para
realizar cada nova tarefa
• Inconsistências de dados
– Inconsistência = incoerência
2008.1
Antes do SGBD...
• Problemas de Integridade
– Restrições de integridade (por exemplo, saldo da
conta > 0) se tornam “enterrados” no código do
programa em vez de serem declarados
explicitamente
• Anomalias no acesso concorrente
• Problemas de segurança
2008.1
Como resolver os problemas ?
• Um SGBD é uma coleção de arquivos e
programas inter-relacionados
– Permite ao usuário / programador o acesso para
consulta e alteração dos dados
– Oculta a complexidade das estruturas de níveis
mais baixo por meio de visões dos dados com
diversos níveis de abstração.
2008.1
SGBD
• Um banco de dados pode ser considerado
como uma coleção de dados relacionados.
• Por dado entendem-se fatos conhecidos que
podem ser armazenados e que possuem um
significado implícito.
2008.1
SGBD – Arquitetura Simplificada
2008.1
SGBD
• Níveis de Abstração para um Banco de Dados
– Nível Interno ou Físico: o nível de abstração
mais baixo e descreve como os dados estão de
fato armazenados (endereços de memória,
organização dos índices, etc)
– Nível Conceitual ou Lógico: este é o nível de
abstração médio, que descreve quais dados estão
armazenados no banco de dados e quais são os
inter-relacionamentos entre eles (Tabelas)
– Nível Externo ou Visões: Este nível de
abstração mais alto que representam as
diferentes versões do BD vistas pelos usuários,
de acordo com suas restrições de acesso
2008.1
Níveis de Abstração para um Banco de Dados
Visão
Externa 1
Visão
Externa 2
Esquema
Conceitual
Esquema
Interno
BD
Visão
Externa n
Nível Externo, Visão de cada
usuário
Nível Conceitual
Nível Físico, Visão de armazenamento
2008.1
SGBD
• Níveis de Abstração para um Banco de Dados
– Muitas visões externas (representação mais ou
menos abstrata de alguma porção do BD).
– Uma única visão conceitual (representação
abstrata do BD na sua totalidade).
– Uma única visão interna (representando o total
do BD como ele está realmente armazenado).
2008.1
SGBD
• Um banco de dados muda ao longo do tempo
por meio das informações que nele são
inseridas ou excluídas.
– O conjunto de informações contidas em
determinado banco de dados em um dado
momento é chamado Instância do banco de
dados.
– O projeto geral do banco de dados é chamado de
Esquema.
2008.1
SGBD
• Modelo
– Um modelo de dados é um conjunto de conceitos
para descrever um BD.
– Os conceitos são classificados como:
• estruturas de dados
• regras de integridade de dados (RI)
• operações sobre os dados.
2008.1
Exemplos de Modelos Lógicos
• Modelo Entidade-Relacionamento
– Define entidades (coisas ou objetos do mundo
real),
relacionamentos
(associações
entre
entidades) e atributos (características de uma
entidade ou relacionamento)
• Modelo Relacional
– Utiliza tabelas para representar entidades e
relacionamentos do mundo real
2008.1
Atribuições de um DBA
•
•
•
•
Definir o esquema conceitual
Definir o esquema interno
Definir restrições de segurança e integridade
Monitorar o desempenho da aplicação (tempo
gasto para a realização de consultas)
2008.1
Próximo Tópico...
Modelo Entidade - Relacionamento
Download

Introdução