Você está na página 1de 79

Banco de Dados

Reviso

Conceito
Banco

de Dados uma coleo de dados relacionados a um tpico ou propsito em particular (especfico). Ex: Os registro de empregados em um

arquivo, uma coleo de selos em um lbum, uma agenda com os nomes dos gerentes de vendas - cada uma dessas sries de dados um banco de dados.

Importncia
So

de vital importncia para empresas, e h dcadas vem se tornando a principal pea dos sistemas de informao. Normalmente existem por vrios anos sem alteraes em sua estrutura

Caractersticas Desejveis em um BD
1.

Controle de Redundncia; 2. Compartilhamento de Dados; 3. Controle de Acesso aos Dados; 4. Mltiplas Interfaces; 5. Representao de associaes complexas; 6. Garantia de restries de Integridade; 7. Recuperao de falhas

Segurana no BD
A

segurana do banco de dados herda as mesmas dificuldades que a segurana da informao enfrenta, que garantir a integridade, a disponibilidade e a confidencialidade.

Aplicaes de BD
A

principal aplicao de Banco de Dados controle de operaes empresariais. Outra aplicao importante o gerenciamento de informaes de estudos, como fazem os Bancos de Dados Geogrficos, que unem informaes convencionais com espaciais.

Outros conceitos importantes:


Base

de Dados: Coleo de dados relacionados; Dados: Valor de um campo armazenado, matria-prima para obteno de informao; Informao: Dados compilados e processados de acordo com solicitao de consultas e anlises

Sistema

de Bancos de Dados: Banco de Dados + Software que o manipula; de Dados : Conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados, tipos de dados, relacionamentos e restries, incluir operaes que especificam consultas e atualizaes no banco de dados tambm fazem parte do modelo de dados;

Modelo

Sistema

Gerenciador de Bancos de Dados (SGBD): Software construdo para facilitar as atividades de definio, construo e manipulao de bancos de dados; Exemplos: Oracle, DB2, SQL-Server, Informix.

Objetivo do SGBD
Seu

objetivo principal gerenciar o acesso e a correta manuteno dos dados armazenados em um banco de dados.

Quando no utilizar um SGBD


Bases

de dados e aplicaes simples, bem definidas sem expectativa de mudana; Existem restries de tempo que no podem ser satisfeitas em SGBDs; No h necessidade de acesso multiusurio.

Principais Componentes de um SGBD


DDL

(Data Definition Language) DML (Data Manipulation Language) QUERY (Linguagem de consulta) Data Dictionary (Dicionrio de dados) Utilitrios Administrativos

DDL (Data Definition Language)


Linguagem

de definio de dados. Descreve os dados que esto armazenados no BD. As descries dos dados so guardadas em um meta banco de dados. a especificao do esquema do BD. Ex:(dados e seus tipos de dados, ndices, ...)

DML (Data Manipulation Language)


Linguagem

de acesso. Usada para escrever as instrues que trabalham sobre a base de dados, permitindo o acesso e a atualizao dos dados pelos programas de aplicao. responsvel pela manipulao de dados, processamento eficaz de consultas, considera relacionamentos, predicados de seleo, volume de dados,

QUERY (Linguagem de consulta)


Linguagem

de consulta Permite que o usurio final, com poucos conhecimentos tcnicos, possa obter de forma simples, informaes do BD. Ex: consultar nomes, telefones, etc...

Data Dictionary (Dicionrio de dados)


Descreve

os dados e suas relaes em forma conceitual e independente de seu envolvimento nas diversas aplicaes. Fornece referencias cruzadas entre os dados e as aplicaes. Contm o esquema do Banco de Dados, suas tabelas, ndices, forma de acesso e relacionamentos existentes.

Utilitrios Administrativos
Programas

auxiliares para carregar, reorganizar, adicionar, modificar a descrio do BD, obter cpias de reserva e recuperar a integridade fsica em caso de acidente.

Funes de um SGBD
Independncia

dos dados Facilidade uso/desempenho Integridade dos dados Redundncia dos dados Segurana e privacidade dos dados Rpida recuperao aps falha Uso compartilhado Controle do de armazenamento

Independncia dos dados


O

SGBD deve oferecer isolamento das aplicaes em relao aos dados. Esta caracterstica permite modificar o modelo de dados do BD sem necessidade de reescrever ou recompilar todos os programas que esto prontos. As definies dos dados e os relacionamentos entre os dados so separados dos cdigos os programas

Facilidade uso/desempenho
Embora

o SGBD trabalhe com estruturas de dados complexas, os arquivos devem ser projetados para atender a diferentes necessidades, permitindo desenvolver aplicaes melhores, mais seguras e mais rapidamente. Deve possui comandos poderosos em sua linguagem de acesso

Integridade dos dados


O

SGBD deve garantir a integridade dos dados, atravs da implementao de restries adequadas. Isto significa que os dados devem ser precisos e vlidos.

Redundncia dos dados


O

SGBD deve manter a redundncia de dados sob controle, ou seja, ainda que existam diversas representaes do mesmo dado, do ponto de vista do usurio como se existisse uma nica representao.

Segurana e privacidade dos dados


O

SGBD deve assegurar que estes s podero ser acessados ou modificados por usurios autorizados.

Rpida recuperao aps falha


Os

dados so de importncia vital e no podem ser perdidos. Assim, o SGBD deve implementar sistemas de tolerncia a falhas, tais como estrutura automtica de recover e uso do conceito de transao

Uso compartilhado
O

BD pode ser acessado concorrentemente por mltiplos usurios.

Controle do de armazenamento
O

SGBD deve manter controle das reas de disco ocupadas, evitando a ocorrncia de falhas por falta de espao de armazenamento

ABSTRAO DE DADOS
Um

propsito central de um SGBD proporcionar aos usurios uma viso abstrata dos dados, isto , o sistema esconde certos detalhes de como os dados so armazenados ou mantidos. No entanto, os dados precisam ser recuperados eficientemente.

NVEL FSICO:

o nvel mais baixo de abstrao, no qual se descreve como os dados so armazenados. Estruturas complexas, de baixo nvel, so descritas em detalhe.

NVEL CONCEITUAL:

o nvel que descreve quais os dados so realmente armazenados no BD e quais os relacionamentos existentes entre eles. Este nvel descreve o BD como um pequeno nmero de estruturas relativamente simples. Muito embora a implementao de estruturas simples no nvel conceitual possa envolver estruturas complexas no nvel fsico, o usurio do nvel conceitual no precisa saber disto.

NVEL VISO:
Este

o nvel mais alto de abstrao, no qual se expe apenas parte do BD. Na maioria das vezes os usurios no esto preocupados com todas as informaes do BD e sim com apenas parte delas (Vises dos Usurios).

MODELOS DE BANCOS DE DADOS


Um modelo de (banco de) dados uma descrio dos tipos de informaes que esto armazenadas em um banco de dados, ou seja, a descrio formal da estrutura de BD. Estes modelos podem ser escritos em linguagens textuais ou linguagens grficas. Cada apresentao do modelo denominado esquema de banco de dados. Se tomarmos como exemplo uma indstria, o modelo de dados deve mostrar que so armazenadas informaes sobre produtos, tais como cdigo, descrio e preo. Porm o modelo de dados no vai informar quais produtos esto armazenados no Banco de Dados. No projeto de um banco de dados, geralmente so considerados 3 modelos: conceitual, lgico e fsico.

Modelo conceitual:

uma descrio mais abstrata da base de dados. No contm detalhes de implementao e independente do tipo de SGBD usado. o ponto de partida para o projeto da base de dados.

Modelo Lgico:

a descrio da base de dados conforme vista pelos usurio do SGBD (programadores e aplicaes). dependente do tipo de SGBD escolhido, mas no contm detalhes da implementao (uma vez que o SGBD oferece abstrao e independncia de dados).

Modelo fsico (interno):


Descrio

de como a base de dados armazenada internamente. Geralmente s alterada para ajuste de desempenho. A tendncia dos produtos modernos ocultar cada vez mais os detalhes fsicos de implementao.

INDEPENDNCIA DE DADOS
Independncia de dados a nvel fsico: a capacidade de se modificar o modelo fsico, sem precisar reescrever os programas de aplicao. Independncia dados a nvel lgico: a capacidade de se modificar o esquema lgico, sem a necessidade de reescrever os programas de aplicao. Modificaes no nvel lgico so necessrias sempre que a estrutura lgica do BD for alterada. Em alguns casos a recompilao pode ser requerida.

FUNES RELACIONADAS AO SGBD


ADMINISTRADOR DE DADOS Gerenciar o dado como um recurso da empresa. Planejar, desenvolver e divulgar as bases de dados da empresa. Permitir a descentralizao dos processos, mas manter centralizado os dados. Permitir fcil e rpido acesso as informaes a partir dos dados armazenados O grande objetivo de administrador de dados permitir que vrios usurios compartilhem os mesmos dados. Deste modo, os dados no pertencem a nenhum sistema ou usurio de forma especfica, e sim, organizao como um todo. Assim, o administrador de dados se preocupa basicamente com a organizao dos dados e no com o seu armazenamento.

ADMINISTRADOR DE BANCO DE DADOS

O DBA (DataBase Administrator) pessoa ou grupo de pessoas responsvel pelo controle do SGBD. So tarefas do DBA: Responsabilidade pelos modelos lgico e fsico (definindo a estrutura de armazenamento). Coordenar o acesso ao SGBD (usurios e senhas). Definir a estratgia de backup. Melhorar o desempenho do SGBD. Manter o dicionrio de dados.

ARQUITETURAS PARA USO DO SGBD


MONO-USURIO BD est no mesmo computador que as aplicaes. No h mltiplos usurios. Recuperao geralmente atravs de backup. Tpico de computadores pessoais.

MULTI-USURIO COM PROCESSAMENTO CENTRAL BD est no mesmo computador que as aplicaes. Mltiplos usurios acessando atravs de terminais. Tpico de ambientes com mainframe.

ARQUITETURA CLIENTE/SERVIDOR Multi-usurio. Servidor dedicado ao Banco de Dados, executando o SGBD. As estaes clientes executam apenas as aplicaes. Trfego na rede menor. Arquitetura atualmente em uso.

. FASES DO PROJETO DE BD
CONSTRUIR

O MODELO CONCEITUAL CONSTRUIR O MODELO LGICO CONSTRUIR O MODELO FSICO AVALIAR O MODELO FSICO IMPLEMENTAR O BD

CONSTRUIR O MODELO CONCEITUAL

Modelo de alto nvel, independente da implementao. Etapa de levantamento de dados. Uso de uma tcnica de modelagem de dados. Abstrao do ambiente de hardware/software.

CONSTRUIR O MODELO LGICO

Modelo implementvel, dependente do tipo de SGBD a ser usado. Considera as necessidades de processamento. Considera as caractersticas e restries do SGBD. Etapa de normalizao dos dados.

CONSTRUIR O MODELO FSICO

Modelo implementvel, com mtodos de acesso e estrutura fsica. Considera necessidades de desempenho. Considera as caractersticas e restries do SGBD. Dependente das caractersticas de hardware/software.

AVALIAR O MODELO FSICO


Avaliar

o desempenho das aplicaes. os caminhos de acesso aos dados e estruturas utilizadas.

Avaliar

IMPLEMENTAR O BD
Etapa Gerar

de carga (load) dos dados.

as interfaces com outras aplicaes.

MODELAGEM DE DADOS
CONCEITOS

Abstrao:

processo mental atravs do qual selecionamos determinadas propriedades ou caractersticas dos objetos e exclumos outras, consideradas menos relevantes para o problema que esta sendo analisado. uma abstrao, uma representao simplificada, de uma parcela do mundo real, composta por objetos reais.

Modelo:

Modelagem: atividade atravs da qual se cria um modelo. Modelo de dados: Um modelo de dados uma descrio das informaes que devem ser armazenadas em um banco de dados, ou seja, a descrio formal da estrutura de BD (descrio dos dados, dos relacionamentos entre os dados, da semntica e das restries impostas aos dados).

REQUISITOS PARA MODELAGEM DE DADOS

Entender a realidade em questo, identificando os objetos que compe a parte da realidade que vai ser modelada. Representar formalmente a realidade analisada, construindo um modelo de dados. Estruturar o modelo obtido e adequ-lo ao SGBD a ser usado, transformando o modelo conceitual em modelo lgico.

MODELOS CONCEITUAIS
So usados para descrio de dados no nvel conceitual. Proporcionam grande capacidade de estruturao e permitem a especificao de restries de dados de forma explcita. Exemplos: Modelo Entidade-Relacionamento (M.E.R.) Modelo de Semntica de dados Modelo Infolgico Modelos Orientados para Objetos (OO)

MODELOS LGICOS
So

usados na descrio dos dados no nvel lgico. Em contraste com modelos conceituais, esses modelos so usados para especificar tanto a estrutura lgica global do BD como uma descrio em alto nvel da implementao.

1 MODELO RELACIONAL
Um

BD relacional possui apenas um tipo de construo, a tabela. Uma tabela composta por linhas (tuplas) e colunas (atributos). Os relacionamentos entre os dados tambm so representados ou por tabelas, ou atravs da reproduo dos valores de atributos.

2 MODELO DE REDE
O

BD em rede um grafo, onde os ns representam os registros e os arcos representam os relacionamentos entre os registros, atravs de ligaes pai-filho. Diferente do modelo hierrquico, um registro pode possuir diversos registros pai.

3 MODELO HIERRQUICO
Um

BD hierrquico uma coleo de rvores de registros. Os registros so usados para representar os dados e ponteiros so usados para representar o relacionamento entre os dados, numa ligao do tipo paifilho. A restrio que um determinado registro somente pode possuir um registro pai.

MODELO DE DADOS FSICO


Usados

para descrever os dados em seu nvel mais baixo. Capturam os aspectos de implementao do SGBD.

MODELO ENTIDADERELACIONAMENTO (M.E.R.)


a tcnica mais difundida para construir modelos conceituais de bases de dados. o padro para modelagem conceitual, tendo sofrido diversas extenses. Est baseado na percepo de uma realidade constituda por um grupo bsico de objetos chamados ENTIDADES e por RELACIONAMENTOS entre estas entidades.

Seu objetivo definir um modelo de alto nvel independente de implementao. O modelo representado graficamente por um Diagrama de Entidade-Relacionamento (DER), que simples e fcil de ser entendido por usurios no tcnicos. Conceitos centrais do MER: entidade, relacionamento, atributo, generalizao/especializao, agregao (entidade associativa).

ENTIDADE

Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informaes no Banco de Dados. Uma entidade pode representar objetos concretos da realidade (pessoas, automveis, material, nota fiscal) quanto objetos abstratos (departamentos, disciplinas, cidades). A entidade se refere a um conjunto de objetos; para se referir a um objeto em particular usado o termo instncia (ou ocorrncia). No DER, uma entidade representada atravs de um retngulo que contm o nome da entidade.

RELACIONAMENTO
toda associao entre entidades, sobre a qual deseja-se manter informaes no Banco de Dados. Os relacionamentos representam fatos ou situaes da realidade, onde as entidades interagem de alguma forma. Um dado por si s no faz uma informao, pois no tem sentido prprio; necessrio que haja uma associao de dados para que a informao seja obtida.

Exemplos: Fornecimento: entre as entidades FORNECEDOR e MATERIAL. Matrcula: entre as entidades ALUNO e DISCIPLINA. Financiamento: entre as entidades PROJETO e AGENTE FINANCEIRO.

No

DER, os relacionamentos so representados por losangos, ligados s entidades que participam do relacionamento.
Departamento Lotao Empregado

AUTO-RELACIONAMENTO
O

papel da entidade no relacionamento indica a funo que uma ocorrncia de uma entidade cumpre em uma ocorrncia de um relacionamento.

Relacionamento

entre ocorrncias da mesma entidade.


Pessoa Marido Casamento Esposa

CARDINALIDADE DE RELACIONAMENTOS
A

cardinalidade de uma entidade em um relacionamento expressa o nmero de instncias da entidade que podem ser associadas a uma determinada instncia da entidade relacionada. Devem ser consideradas duas cardinalidades:

Cardinalidade mnima de uma entidade o nmero mnimo de instncias da entidade associada que devem se relacionar com uma instncia da entidade em questo. Cardinalidade mxima de uma entidade o nmero mximo de instncias da entidade associada que devem se relacionar com uma instncia da entidade em questo.

CARDINALIDADE MXIMA
No

projeto para BD relacional (como neste curso) no necessrio distinguir as cardinalidades que sejam maiores que 1. Assim, so usados apenas as cardinalidades mximas 1 e n (muitos).

CLASSIFICAO DE RELACIONAMENTOS BINRIOS


A

cardinalidade mxima usada para classificar os relacionamentos binrios (aqueles que envolvem duas entidades).

Relacionamentos 1:1 (um-para-um).


Uma

instncia da entidade A est associada com no mximo uma instncia da entidade B. Uma instncia da entidade B est associada com no mximo uma instncia da entidade A.

Pessoa

Marido Casamento

Esposa

Relacionamentos 1:N (um-para-muitos)


Uma

instncia da entidade "A" esta associada a qualquer nmero de instncias da entidade "B". Uma instncia da entidade "B", todavia, pose estar associada a no mximo uma instncia da entidade

Departamento
1

Lotao
n

Empregado

Relacionamentos N:N (muitos-para-muitos).


Uma

instncia da entidade "A" esta associada a qualquer nmero instncias da entidades "B". Uma instncia da entidade "B" esta associada a qualquer nmero de instncia da entidades "A".

RELACIONAMENTO TERNRIO

o relacionamento formado pela associao de trs entidades. Cardinalidade em relacionamentos ternrios:

CARDINALIDADE MNIMA
A

cardinalidade mnima usada para indicar o tipo de participao da entidade em um relacionamento. Esta participao pode ser:

Parcial ou Opcional: quando uma ocorrncia da entidade pode ou no participar de determinado relacionamento; indicado pela cardinalidade mnima = 0 (zero). Total ou Obrigatria: quando todas as ocorrncias de uma entidade devem participar de determinado relacionamento; indicado pela cardinalidade mnima > 0 (zero).

Um cliente pode fazer pedidos ou no, mas todos os pedidos devem estar associados a um cliente. Todos os departamentos devem possuir pelo menos um empregado alocado, e todos os empregados devem estar alocados em um departamento. Parcialidade mnima: para um departamento ser criado, devem existem pelo menos 10 empregados alocados.

ATRIBUTO