Anda di halaman 1dari 40

Banco de Dados I

Viso Geral
Prof. M.Sc. Bruno Torres Satler

Importncia do Banco de Dados


A competitividade das empresas depende de dados precisos e atualizados. Conforme a empresa cresce, aumenta a sua dependncia por dados abundantes e complexos. Assim, ferramentas de gerenciamento, extrao rpida e precisa de informaes fundamental. Soluo: Sistema Gerenciador de Banco de Dados, ou SGBD.
2

Uma perspectiva histrica


No incio da computao, programas tinham o nico objetivo de armazenar e manipular dados. Esses programas gravavam seus dados em disco, segundo estruturas prprias. Programas que no conhecessem a estrutura dos dados no podiam utilizar os dados.

Uma perspectiva histrica

Uma perspectiva histrica


Se vrios programas precisassem compartilhar os dados de um mesmo arquivo, todos os programas teriam que conhecer e manipular as mesmas estruturas.

Uma perspectiva histrica


Se algum programa precisasse realizar alguma mudana na estrutura de dados,
Todos os programas que acessam esse mesmo arquivo tinham que ser alterados, mesmo que a alterao ocorresse em dados no manipulados pelos programas.

Isso gerava um grande problema:


Garantir a unicidade das estruturas de dados entre os diversos programas devido existncia de redundncias.
6

Uma perspectiva histrica


Para evitar esse problema, colocou-se um sistema intermedirio:
Que conhece a estrutura de dados do arquivo. Fornece apenas dados que cada programa precisa. Armazena adequadamente os dados de cada programa.

Uma perspectiva histrica

Uma perspectiva histrica


Agora, com esse sistema intermedirio:
Os programas "vero" apenas os dados que lhes interessam. Os programas no precisam conhecer os detalhes de como seus dados esto gravados fisicamente. Os programas no precisaro ser modificados se a estrutura de dados que utilizam no for modificada. As alteraes ficam concentradas nesse sistema intermedirio.

Uma perspectiva histrica


Com o tempo, esse sistema intermedirio passou a gerenciar vrios arquivos. A essa coleo de arquivos foi dado o nome de Banco de Dados e o sistema intermedirio recebeu o nome de Sistema Gerenciador de Banco de Dados (SGBD).

10

Uma perspectiva histrica

11

Uma perspectiva histrica


O primeiro SGBD comercial surgiu em 1960. Com o tempo, surgiram padres para descrever as estruturas de dados: os modelos de dados. A descrio do banco de dados, segundo um modelo de dados chamada de meta dados.

12

Uma perspectiva histrica

13

Uma perspectiva histrica


Hoje, um banco de dados:
uma coleo de dados coerente e logicamente relacionados com algum significado associado. projetado, construdo e populado com dados que atendem a um propsito e audincia especficos. Representa algum aspecto do mundo real, chamado de minimundo.

14

Resumindo...
Uso inicial dos computadores
processamento de dados numricos processamento serial linguagens de programao de baixo nvel nfase no algoritmo (fluxograma) dados internos ao programa

15

Resumindo...
Evoluo do hardware e do software
processamento de dados alfanumricos linguagens de programao de alto nvel grande volume de dados sistema de arquivos dados ainda cativos dos programas economia de tempo e memria usurios on line
16

Resumindo...
Bancos de dados
autonomia dos dados em relao aos programas segurana de dados compartilhamento consultas complexas nfase nos dados

17

Definies de Banco de Dados


Um banco de dados um conjunto de arquivos relacionados entre si (Chu, 1983) Um banco de dados uma coleo de dados operacionais armazenados, sendo usados pelos sistemas de aplicao de uma determinada organizao (Date, 1985) Um banco de dados uma coleo de dados relacionados (Elmasri e Navathe, 1989)
18

Sistema de Banco de Dados


Sistema de Bancos de Dados: Banco de dados + Software que o manipula.

19

Arquivos Vs SGBDs

20

Arquivos Vs SGBDs

21

SGBDs
Quando Usar SGBD Controle redundncia Quando No Usar SGBD Dados e aplicaes simples e estveis

Controle consistncia e integridade Acesso multiusurio Compartilhamento de dados Controle acesso e segurana Controle de recuperao e restaurao Consultas eficientes

Requisitos de tempo-real no puderem ser atendidos

22

Principais Caractersticas dos SGBDs


Arquitetura Three-schema:
Apoio a mltiplas vises de dados (nvel externo) Capacidade de abstrao de dados (nvel conceitual) Capacidade de descrever a estrutura de armazenamento fsico dos dados (nvel interno)

Compartilhamento de dados e processamento de transaes.

23

Arquitetura Three-schema

24

Diferentes Vises Externas

25

Modelagem de dados

26

Modelagem de dados

27

Projeto de banco de dados


3 fases:
Modelagem conceitual
Construdo um modelo conceitual, na forma de um diagrama entidade-relacionamento.

Modelo lgico
Objetiva transformar o modelo conceitual obtido na primeira faze em um modelo lgico.

Projeto fsico
O modelo enriquecido com detalhes que influenciam no desempenho do banco de dados, mas no interferem em sua funcionalidade
28

Modelo de dados
Existem modelos para diferentes nveis de abstrao de representao de dados
modelos conceituais modelos lgicos modelos fsicos
organizao dos arquivos de dados em disco no so manipulados por usurios ou aplicaes que acessam o BD decises de implementao de cada SGBD

29

Modelos de Dados
Redes Hierrquico Relacional Entidade-Relacionamento ER Estendido Objeto Objeto - Relacional

30

Modelos de Dados Conceituais


Representao com alto nvel de abstrao
modela de forma mais natural os fatos do mundo real, suas propriedades e seus relacionamentos independente de BD preocupao com a semntica da aplicao exemplo:
modelo entidade-relacionamento

31

Modelos de Dados Lgicos


Representa os dados em alguma estrutura (lgica) de armazenamento de dados
tambm chamados de modelos de BD dependente de BD Exemplos
modelo relacional (tabelas) modelos hierrquico

32

Modelos de BD (Lgicos)
Apoiam:
A especificao dos dados do modelo (DDL)
dados, seus domnios e restries

A manipulao dos dados (DML)

33

Modelos de BD (Fsico)
Indexao e estrutura de arquivos Transaes e controle de concorrncia Otimizao Recuperao em casos de falhas Mecanismos de proteo (segurana) Partio e agrupamento de dados

34

Esquema do SGBD

35

Matriz de Classificao de SGBDs

36

Sntese dos conceitos


Banco de dados (BD) - conjunto de dados integrados que por objetivo atender a uma comunidade de usurios.

Modelo de dados - descrio formal das estruturas de dados para representao de um BD; com suas respectivas restries e linguagem para criao e manipulao de dados.

37

Sntese dos conceitos


Sistema Gerenciador de banco de dados (SGBD) software que incorpora as funes de definio, recuperao e alterao de dados em um BD. Modelagem de dados - a ao de representar / abstrair dados do minimundo com o objetivo de criar projetos conceituais e lgicos de um BD. Alguns autores incluem os projetos fsicos como parte da modelagem de dados, pelo fato de que as otimizaes so oriundas de anlises do comportamento dinmico do BD.
38

Sntese dos conceitos


Projeto conceitual BD - ao que produz o esquema de dados abstratos que descreve a estrutura de um BD de forma independente de um SGBD (esquema conceitual). Projeto lgico BD - ao que produz o esquema lgico de dados que representa a estrutura de dados de um BD em acordo com o modelo de dados subjacente a um SGBD.
39

Sntese dos conceitos


Projeto fsico BD - ao que produz o esquema fsico de dados a partir do esquema de lgico de dados com a adio das estratgias de otimizao para manipulao das estruturas de dados. As estratgias de otimizao so dependentes dos fabricantes dos SGBDs e de suas verses.

40