Professional Documents
Culture Documents
Conceitos Bsicos
Representam aspectos do mundo real com significado prprio e que desejamos armazenar para uso futuro.
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
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.
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
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
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
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
O conjunto de requisitos descritos anteriormente tambm conhecido como regras ACID: A Atomicidade C Consistncia I Isolamento D Durabilidade
16
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
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
Porque SGBDs
Volume crescente de Dados a serem gerenciados: terabytes (1000 gigabytes ou 1012 bytes) em BDs como:
SGBD
19
Oracle
SQL Server
DB2
PostgreSQL
MySQL
Access
20
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
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
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
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
Um modelo lgico de um BD deve definir quais as tabelas que o banco contm e, para cada tabela, quais os nomes das colunas.
29