Você está na página 1de 11

07/08/2011

Banco de Dados I
Introduo aos SGBDs
Ludmila de Almeida Pedrosa
ludmila.apedrosa@gmail.com

Motivao
Vamos considerar um exemplo de uma faculdade hipottica, na qual so executadas trs funes: Matrculas: esta funo concentra as atividades da faculdade relativas a matrcula dos alunos, nas disciplinas oferecidas em cada perodo. Emprstimos: esta funo concentra as atividades de emprstimos de livros, CDs, etc., aos alunos que so oferecidas pela biblioteca da faculdade. Pagamentos: esta funo concentra as atividades de cobrana e recebimento das mensalidades de cada aluno matriculado na instituio.

07/08/2011

Motivao
Sistema de Matrculas Sistema Emprstimos Sistema Cobrana

Arquivo de Matrculas

Arquivo de Emprstimos

Arquivo de Pagamentos

Alunos Cursos Disciplinas


Alunos Livros CDS

Alunos Boletos

Os dados dos alunos so usados em vrias funes/sistemas. Problema: redundncia, inconsistncia, ... Soluo: compartilhamento de dados.

Banco de Dados
Banco de Dados um conjunto de dados integrados que tem como objetivo atender a uma comunidade de usurios. (Heuser, 2009) Dados so fatos que podem ser gravados e que possuem um significado implcito. (Elmasri e Navathe, 2005)
Sistema de Matrculas Sistema Emprstimos Sistema Cobrana

Banco de Dados da Faculdade

Alunos

Cursos

Disciplinas

Livros

CDs

Boletos

...

07/08/2011

Banco de Dados
Propriedades:
Representa alguns aspectos do mundo real e as mudanas no mundo real so refletidas em um banco de dados. Deve ser uma coleo lgica e coerente dos dados com algum significado inerente. Um banco de dados projetado, construdo e povoado por dados, atendendo a uma proposta especfica. Pode ser de qualquer tamanho e de complexidade varivel. Pode ser gerado e mantido manualmente ou pode ser automatizado (computadorizado). Como gerenciar os bancos de dados? O SGBD a soluo.

Sistema Gerenciador de Banco de Dados


Um Sistema Gerenciador de Banco de Dados (SGBD) um software de prposito geral que facilita os processos de definio, construo, manipulao e compartilhamento dos dados entre vrios usurios e aplicaes. (Elmasri e Navathe, 2009) Definir um banco de dados implica em especificar os tipos de dados, as estruturas e as restries para os dados a serem armazenados. Construir um banco de dados o processo de armazenar os dados em algum meio que seja controlado pelo SGBD. Manipular uma base de dados indica a utilizao de funes como a de consulta, para recuperar dados especficos, modificao da base de dados para refletir mudanas no domnio da aplicao (inseres, atualizaes e remoes), e gerao de relatrios.

07/08/2011

Sistema Gerenciador de Banco de Dados


Compartilhar um banco de dados permite aos mltiplos usurios e programas acessar, de forma concorrente, o banco de dados.

Outras funes importantes: Proteger o sistema contra o mau funcionamento ou falhas no hardware ou software, e contra o acesso ou uso no autorizado. Manter um sistema de banco de dados que permita a evoluo dos requisitos requeridos pelo mundo real.

Sistema de Banco de Dados: Um Sistema de Banco de Dados composto pelo Banco de Dados e o software SGBD.

Sistema de Banco de Dados


Usurios/Programadores

Programas de Aplicaes / Consultas

Software SGBD

Programa para Processamento de Consultas e Aplicaes

Software para Acesso aos Dados Armazenados

Definio dos Metadados

Banco de Dados

Sistema de Banco de Dados

07/08/2011

Vantagens da Abordagem SGBD


Abordagem SGBD (atual)
Natureza auto-descritiva do banco de dados: catlogo do SGBD. Abstrao de dados: isolamento entre programas e dados. Compartilhamento dos Dados: evita a redundncia e a inconsistncia de informaes. Suporte a mltiplas vises dos dados. Restrio do acesso no-autorizado ao banco de dados e/ou uso no-autorizado dos dados. Garante o armazenamento de estruturas para o processamento eficiente de consultas.

Abordagem de Arquivos (antes)


Definio dos dados estavam dentro dos prprios programas de aplicao. Estrutura dos dados estava embutida no programa da aplicao. No havia compartilhamento de dados: cada programa tratava de seus prprios dados/informaes. As vises tinham que ser codificadas nas em novas aplicaes. Problemas com segurana!

Inexistente

Vantagens da Abordagem SGBD


Abordagem SGBD (atual)
Garante o Backup e Restaurao da base de dados. Fornece mltiplas interfaces com os usurios. Capacidade de representar uma grande variedade de relacionamentos complexos entre os dados, bem como recuperar e atualizar os dados relacionados fcil e eficientemente. Integridade das Informaes. Flexibilidade na manuteno dos dados e mudanas dos requisitos dos usurios e recuperao de dados para novas vises: reduo no tempo de desenvolvimento das aplicaes. .............

Abordagem de Arquivos (antes)


Inexistente Atravs da codificao dos programas. Inexistente.

Inexistente. Estima-se que o tempo gasto de desenvolvimento utilizando SGBD est entre 1/6 e do tempos gasto com o sistema de arquivos.

07/08/2011

Exemplo de SGBD MS SQL Server

Nveis de Abstrao do Banco de Dados

Nvel Externo

Viso Externa
...

Viso Externa

Mapeamento externo/conceitual

Nvel Conceitual
Mapeamento conceitual/interno

Esquema Conceitual/Lgico

Nvel Interno

Esquema Interno

Banco de Dados Armazenado

Arquitetura Trs-esquemas Trs-

07/08/2011

Nveis de Abstrao Interno ou Fsico


Nvel Interno ou Fsico: este esquema utiliza um modelo de dados fsico e descreve como os dados esto de fato armazenados (endereos de memria, organizao dos ndices, etc.).

Nveis de Abstrao Conceitual


Nvel Conceitual: este esquema oculta os detalhes das estruturas de armazenamento fsico e se concentra na descrio de entidades, tipos de dados, conexes, operaes de usurios e restries (Modelagem dos dados).

07/08/2011

Nveis de Abstrao Externo ou Vises


Nvel Externo ou Vises: cada esquema externo descreve a parte do banco de dados que um dado grupo de usurios tm interesse e oculta o restante do banco de dados deste grupo.

Modelo de Dados
Um Modelo de Dados um conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. (Elmasri e
Navathe, 2009)

Categorias (principais) de Modelos de Dados: Modelo de Entidade-Relacionamento (conceitual)*: utilizam conceitos como entidades (coisas ou objetos do mundo real), relacionamentos (associaes entre entidades) e atributos (caractersticas de entidades ou relacionamentos). Modelo Relacional (lgico)*: utiliza tabelas para representar entidades e relacionamentos do mundo real. Modelo de Dados Baseado em Objetos: uma extenso do modelo ER com noes de encapsulamento, mtodos e identidade de objeto.
* Modelos que sero estudados nesta disciplina.

07/08/2011

Projeto de um Banco de Dados


Mundo Real

Coleta e Anlise de Requisitos


Requisitos de dados

Projeto Conceitual
Esquema Conceitual Independente de SGBD Especfico para um SGBD

Projeto Lgico
Esquema Lgico

Projeto Fsico
Esquema Fsico Fluxo de criao de um projeto de banco de dados

Projeto de um Banco de Dados


Anlise de Requisitos: coleta e informaes sobre os dados. Projeto Conceitual: construo de um modelo conceitual, na forma de um diagrama de entidade-relacionamento (DER). Essa fase captura as necessidades da organizao em termos de armazenamento de dados, independentemente de implementao. Projeto Lgico: objetiva transformar o modelo conceitual obtido na fase anterior em um modelo lgico (relacional, orientado a objeto,etc.). O modelo lgico define como o banco de dados ser implementado em um SGBD especfico. Projeto Fsico: nesta etapa, o modelo de banco de dados enriquecido com detalhes que influenciam no desempenho do banco de dados, mas no interferem em sua funcionalidade.

07/08/2011

Administradores e Projetistas de BDs


DBA Administrador do Banco de Dados: Responsvel pelo acesso ao banco de dados (autorizao), pela coordenao e monitorao de seu uso. Responsvel por adquirir recursos de software e/ou hardware conforme necessrio. Responsvel por problemas com segurana do banco de dados. Responsvel por problemas de performance do banco. Projetista do Banco de Dados: Responsvel por definir o esquema conceitual e lgico do banco de dados, ou seja, pela a identificao dos dados que sero armazenados e as estruturas apropriadas para armazen-los.

Esquema x Instncia do Banco de Dados


Esquema do Banco de Dados: Representa o banco de dados como ele foi definido na hora de seu projeto e no se espera que seja alterado frenquentemente. As alteraes do esquema viro apenas quando novos requisitos dos usurios forem incorporados ao banco de dados. O esquema do banco de dados pode ser representado por algum diagrama esquemtico. Exemplo: diagrama no SQL Server

10

07/08/2011

Esquema x Instncia do Banco de Dados


Instncia do Banco de Dados: Representa o estado corrente do banco de dados num determinado momento (snapshot). Quando um banco de dados criado seu estado vazio, ou seja, no possui dados. A partir da, o banco de dados comea a ser populado ou carregado. Cada mudana representa um estado diferente.

Introduo aos SGBDs

Fim
Prxima aula: Modelo Entidade-relacionamento

11