You are on page 1of 29

Banco de Dados I Aula 01 Introduo

Profa. Rosana Wagner

Conceitos Bsicos

Banco de Dados: coleo de dados ou informaes relacionadas entre si.

Representam aspectos do mundo real com significado prprio e que desejamos armazenar para uso futuro.

BD podem ser muito simples ou muito complexos.

Conceitos Bsicos

Exemplos:

BD simples: relao dos nomes e telefones das pessoas conhecidas de um indivduo ou dos bens e valores de uma pessoa fsica; BD complexo: catlogo de todos os livros publicados no Brasil ou uma base de dados de todas as fotos recolhidas ao longo dos anos pelo programa espacial americano

Conceitos Bsicos

Bases de dados complexas envolvem muitos tipos diferentes de dados interdependentes e interrelacionados, podendo chegar a centenas ou milhares de tipos distintos de dados:

Dados sobre funcionrios, sobre fbricas, sobre produtos, sobre matrias-primas, sobre componentes, sobre finanas, etc.

Conceitos Bsicos

At recentemente, bases de dados costumavam armazenar unicamente dados alfanumricos. Atualmente, elas esto armazenando tambm imagens, grficos, e at objetos multimdia (som e vdeo), o que aumenta enormemente as necessidades de armazenamento e a complexidade de recuperao e processamento dos dados.

Compartilhamento de Dados

Muitas vezes, a informatizao em organizaes ocorre de forma evolutiva e gradual. Inicialmente, apenas determinadas funes so automatizadas; Para exemplificar considere uma indstria hipottica, a qual executa trs funes:

Vendas: atividades relativas ao contato com clientes, fornecendo a estes informaes sobre os produtos; Produo: atividades relativas ao planejamento da produo e controle do que foi produzido; Compras: atividades relativas aquisio dos insumos necessrios produo, como cotaes de preos junto a fornecedores, compras e acompanhamento do 6 fornecimento.

Compartilhamento de Dados

No exemplo anterior, os dados de um produto so usados em vrias funes.

So necessrios na Produo, pois para planejar o que vai ser produzido, necessrio conhecer como os produtos so estruturados (quais seus componentes); Em Vendas, necessrio conhecer dados de produtos, tais como seu preo, estoque atual e prazo de fabricao; J em Compras, necessrio saber que componentes devem ser adquiridos.

Ento, Produo, Vendas e Compras precisam acessar os dados de Produto.

Compartilhamento de Dados

Se cada uma das funes acima for informatizada de forma separada, sem considerar a informatizao das demais funes pode ocorrer que, para cada uma das funes, seja criado um arquivo separado de produtos

Compartilhamento de Dados

Neste caso surge o problema da redundncia de dados, a qual ocorre quando uma determinada informao est representada mais de uma vez. No exemplo anterior, esto redundantes as informaes referentes a um produto, que aparecem nos arquivos de produtos de cada um dos trs sistemas.

Compartilhamento de Dados

H duas formas de redundncia:

Redundncia Controlada: acontece quando o software tem conhecimento da mltipla representao da informao e garante a sincronia entre as diversas representaes. Do ponto de vista do usurio, tudo acontece como se existisse uma nica representao da informao. Essa redundncia utilizada para melhorar a confiabilidade ou o desempenho global do sistema.

Um exemplo um sistema distribudo, onde uma mesma informao armazenada em vrios computadores, permitindo acesso rpido a partir de qualquer um deles.
10

Compartilhamento de Dados

Redundncia No Controlada: acontece quando a responsabilidade pela manuteno da sincronia entre as diversas representaes de uma informao est com o usurio e no com o software. Este tipo de redundncia deve ser evitado, pois traz consigo vrios tipos de problemas:

Entrada repetida da mesma informao Inconsistncia de dados: a responsabilidade por manter a sincronia entre as informaes do usurio. Por algum erro de operao, pode ocorrer que uma representao de uma informao seja modificada, sem que as demais o sejam. Assim, o banco passa a ter informaes inconsistentes.
11

Compartilhamento de Dados

A soluo para evitar a redundncia no controlada de informaes o compartilhamento de dados. Nesta forma de processamento, cada informao armazenada uma nica vez, sendo acessada pelos vrios sistemas que dela necessitam.

12

Compartilhamento de Dados

O compartilhamento de dados tem reflexos na estrutura do software. A estrutura interna passa a ser mais complexa, pois estes devem ser construdos de forma a atender s necessidades dos diferentes sistemas.
13

Banco de Dados versus Sistemas de Arquivos

A caracterstica fundamental que difere um Banco de Dados de uma coleo de arquivos a inter-relao que existe entre os dados e as regras de consistncia que explicitam esses inter-relacionamentos. (ex. cascate) Outra caracterstica dos BD o requisito de que certas operaes sobre os dados devem ser feitas de forma conjunta a fim de preservar a consistncia, mesmo na presena de falhas no equipamento ou na comunicao. Esta caracterstica denominada de atomicidade.
14

Banco de Dados versus Sistemas de Arquivos

Bases de dados usualmente requerem o acesso simultneo ou concorrente por vrios usurios, cujas operaes podem interagir gerando inconsistncias, para evitar que isso acontea, faz-se necessrio a utilizao de um controle de concorrncia. Outro requisito a persistncia ou durabilidade dos dados em um meio de armazenamento confivel. Ou seja, o sistema deve ser suficientemente robusto para se recuperar de uma falta de energia ou mesmo de uma falha nos discos sem perda dos dados.
15

Banco de Dados versus Sistemas de Arquivos

O conjunto de requisitos descritos anteriormente tambm conhecido como regras ACID: A Atomicidade C Consistncia I Isolamento D Durabilidade

16

Sistemas Gerenciadores de Banco de Dados SGBD

Desde j percebemos que a definio, construo e manuteno de uma base de dados moderna um problema no trivial e que requer o auxlio de programas complexos e elaborados. Idealmente tais programas deveriam ser suficientemente genricos para permitirem a criao e manuteno de qualquer base de dados independentemente da aplicao pretendida. Esta coleo de programas chamada de Sistema Gerenciador de Banco de Dados SGBD.
17

Sistemas Gerenciadores de Banco de Dados SGBD

Um sistema de gerenciamento de banco de dados (SGBD) um software que possui recursos capazes de manipular as informaes do banco de dados e interagir com o usurio.

SGBD
18

Sistemas Gerenciadores de Banco de Dados SGBD

Porque SGBDs

Volume crescente de Dados a serem gerenciados: terabytes (1000 gigabytes ou 1012 bytes) em BDs como:

cadeias de supermercados; censo populacional - IBGE;

Necessidade de independncia da aplicao em relao aos dados;

SGBD
19

Sistemas Gerenciadores de Banco de Dados SGBD

Oracle

SQL Server

DB2

PostgreSQL

MySQL

Access

20

Sistemas Gerenciadores de Banco de Dados SGBD

Objetivos de um SGBD

Isolar o usurio dos detalhes internos do BD (promover a abstrao de dados) Independncia dos dados em relao s aplicaes no que tange a acesso e forma de armazenamento.

Para o usurio do BD pouco importa qual unidade de armazenamento est sendo usada para guardar seus dados. Os dados devem estar disponveis no momento necessrio.
21

Modelagem de Dados

Um modelo de (banco de) dados uma descrio dos tipos de informaes que esto armazenadas em um banco de dados.

Por exemplo, no caso da indstria citado inicialmente, o modelo de dados poderia informar que o banco de dados armazena informaes sobre produtos e que, para cada produto, so armazenados seu cdigo, preo e descrio. Observe que o modelo de dados no informa quais os produtos que esto armazenados no banco de dados, mas apenas que o banco de dados contm informaes sobre produtos.
22

Modelagem de Dados

Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados. Linguagens de modelagem de dados podem ser classificadas de acordo com a forma de apresentar modelos, em linguagens textuais ou linguagens grficas. Como veremos adiante, um mesmo modelo de dados pode ser apresentado de vrias formas. Cada apresentao do modelo recebe a denominao esquema de banco de dados.
23

Modelagem de Dados

De acordo com a inteno do modelador, um banco de dados pode ser modelado (descrito) sob vrios nveis de abstrao.

Um modelo de dados que servir para explicar a um usurio qual a organizao de um banco de dados provavelmente no conter detalhes sobre a representao em meio fsico das informaes. J um modelo de dados usado por um tcnico para otimizar a performance de acesso ao banco de dados conter mais detalhes de como as informaes esto organizadas internamente e portanto ser menos abstrato.
24

Modelagem de Dados

25

Modelagem de Dados: Modelo Conceitual

Um modelo conceitual uma descrio do banco de dados de forma independente de implementao em um SGBD. O modelo conceitual registra que dados podem aparecer no banco de dados, mas no registra como estes dados esto armazenados a nvel de SGBD.

26

Modelagem de Dados: Modelo Conceitual

A tcnica mais difundida de modelagem conceitual a abordagem entidade-relacionamento (ER). Nesta tcnica, um modelo conceitual usualmente representado atravs de um diagrama, chamado Diagrama Entidade-Relacionamento (DER).

27

Modelagem de Dados: Modelo Lgico

Um modelo lgico uma descrio de um banco de dados no nvel de abstrao visto pelo usurio do SGBD. Assim, o modelo lgico dependente do tipo particular de SGBD que est sendo usado.
modelo lgico = modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usurio do SGBD
28

Modelagem de Dados: Modelo Lgico

Um modelo lgico de um BD deve definir quais as tabelas que o banco contm e, para cada tabela, quais os nomes das colunas.

TipoDeProduto(CodTipoProd, DescrTipoProd) Produto(CodProd, DescrProd, PrecoProd, CodTipoProd) CodTipoProd referencia TipoDeProduto

29

You might also like