Você está na página 1de 29

SBD I SISTEMAS DE BANCO DE DADOS I

Verso 2000/2

Sistemas de Bancos de Dados I ndice


1. Introduo...................................................................................................................................4 1.1. Dado.....................................................................................................................................4 1.2. Informao...........................................................................................................................4 1.3. A Informao como Recurso da Empresa...........................................................................4 2. Organizaes Bsicas de Arquivos............................................................................................5 2.1. Conceitos.............................................................................................................................5 2.2. Estruturas de Arquivos.........................................................................................................5 2.2.1. Arquivo seqencial.......................................................................................................5 2.2.2. Arquivo seqencial-indexado.......................................................................................6 2.2.3. Arquivo indexado..........................................................................................................7 2.2.4. Arquivo direto...............................................................................................................8 3. Bancos de Dados.......................................................................................................................9 3.1. Banco de Dados (BD)..........................................................................................................9 3.2. Sistema de Gerncia de Banco de Dados (SGBD).............................................................9 3.2.1. Processamento de Dados sem Banco de Dados........................................................9 3.2.2. Processamento de dados com uso de SGBD...........................................................10 3.2.3. Principais Componentes de um Sgbd........................................................................10 3.2.4. Caractersticas de um Sgbd.......................................................................................10 3.3. Abstrao de Dados..........................................................................................................11 3.4. Modelos de Bancos de Dados...........................................................................................11 3.5. Independncia de Dados ................................................................................................12 3.6. Funes relacionadas ao Sgbd.........................................................................................12 3.6.1. Administrador de Dados.............................................................................................12 3.6.2. Administrador de Banco de Dados............................................................................12 3.6.3. Projetista da Base de Dados......................................................................................12 3.6.4. Analista de Sistemas..................................................................................................12 3.7. Arquiteturas para uso do Sgbd..........................................................................................13 3.7.1. Mono-usurio.............................................................................................................13 3.7.2. Multi-Usurio com Processamento Central...............................................................13 3.7.3. Arquitetura em Rede com Servidor de Arquivos.......................................................13 3.7.4. Arquitetura Cliente/Servidor.......................................................................................13 3.8. Fases do Projeto de Bd.....................................................................................................13 3.8.1. Construir o Modelo Conceitual..................................................................................13 3.8.2. Construir o Modelo Lgico.........................................................................................13 3.8.3. Construir o Modelo Fsico .........................................................................................13 3.8.4. Avaliar o Modelo Fsico .............................................................................................13 3.8.5. Implementar o BD......................................................................................................14 4. MODELAGEM DE DADOS......................................................................................................14 4.1. Conceitos...........................................................................................................................14 4.2. Tipos de Abstrao............................................................................................................14 4.2.1. Classificao..............................................................................................................14 4.2.2. Agregao..................................................................................................................14 4.2.3. Generalizao............................................................................................................14 4.3. Requisitos para Modelagem de Dados.............................................................................14 4.4. Modelos Conceituais..........................................................................................................14 4.5. Modelos Lgicos................................................................................................................15 4.5.1. Modelo Hierrquico....................................................................................................15 4.5.2. Modelo de Rede.........................................................................................................15 4.5.3. Modelo Relacional......................................................................................................16

4.6. Modelo de Dados Fsico....................................................................................................17 5. MODELO ENTIDADE-RELACIONAMENTO (M.E.R.).............................................................18 5.1. Introduo..........................................................................................................................18 5.2. Entidade.............................................................................................................................18 5.3. Relacionamento.................................................................................................................18 5.3.1. Auto-relacionamento..................................................................................................19 5.3.2. Cardinalidade de Relacionamentos...........................................................................20 5.3.3. Cardinalidade Mxima...............................................................................................20 5.3.4. Classificao de Relacionamentos Binrios..............................................................20 5.3.5. Relacionamento ternrio............................................................................................22 5.3.6. Cardinalidade mnima................................................................................................22 5.4. Notaes Alternativas........................................................................................................23 5.5. Atributo ..............................................................................................................................23 5.5.1. Domnio......................................................................................................................24 5.5.2. Tipos de Atributos......................................................................................................24 5.5.3. Atributo de Relacionamento ......................................................................................24 5.5.4. Identificador de Entidades..........................................................................................24 5.5.5. Relacionamento Identificador (Entidade Fraca)........................................................25 5.5.6. Identificador de Relacionamentos..............................................................................25 5.6. Generalizao/Especializao...........................................................................................25 5.7. Entidade Associativa (Agregao).....................................................................................27 5.8. Relacionamento Mutuamente Exclusivo...........................................................................28 5.9. Restrio de Persistncia no Relacionamento..................................................................28 5.10. Esquema Textual do MER...............................................................................................29

Sistemas de Bancos de Dados I 1.


INTRODUO
Representao de um evento do mundo fsico, de um fato ou de uma idia Representao de uma propriedade ou caracterstica de um objeto real No tem significado por si s Ex.: quantidade de Kwh consumidos em uma residncia.

1.1. DADO

1.2. INFORMAO
Organizao e agregao dos dados, permitindo uma interpretao Informao interpretao dos dados Ex.: Consumo de energia comparado com a capacidade geradora da usina. Dados Identificados Organizados Agrupados Armazenados Recuperados geram Informao

1.3. A INFORMAO

COMO

RECURSO DA EMPRESA

Sistemas de Bancos de Dados I - 4

2.

ORGANIZAES BSICAS DE ARQUIVOS


Estruturas de Dados: define a forma como os dados esto organizados, como se relacionam e como sero manipulados pelos programas. Ex: vetores e matrizes, registros, filas, pilhas, rvores, grafos, etc. Arquivo: coleo de registros lgicos, cada um deles representando um objeto ou entidade. Na prtica os arquivos geralmente esto armazenados na memria secundria (fitas e discos) e so usados para armazenar os resultados intermedirios de processamento ou armazenar os dados de forma permanente. Registro lgico (registro) : seqncia de itens, cada item sendo chamado de campo ou atributo, correspondendo a uma caracterstica do objeto representado. Os registros podem ser de tamanho fixo ou de tamanho varivel. Campo: item de dados do registro, com um nome e um tipo associados Bloco: unidade de armazenamento do arquivo em disco, tambm denominado registro fsico. Um registro fsico normalmente composto por vrios registros lgicos. Cada bloco armazena um nmero inteiro de registros. Chave: uma seqncia de um ou mais campos em um arquivo Chave primria: uma chave que apresenta um valor diferente para cada registro do arquivo. usada para identificar, de forma nica, cada registro. Chave secundaria: uma chave que pode possuir o mesmo valor em registro distintos. normalmente usada para identificar um conjunto de registros. Chave de acesso: uma chave usada para identificar o(s) registro(s) desejado(s) em uma operao de acesso ao arquivo.

2.1. CONCEITOS

2.2. ESTRUTURAS DE ARQUIVOS


2.2.1. ARQUIVO SEQENCIAL Nos arquivos seqenciais a ordem lgica e fsica dos registros armazenados a mesma. Os registros podem estar dispostos seguindo a seqncia determinada por uma chave primria (chamada chave de ordenao), ou podem estar dispostos aleatoriamente.
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Numero 1000 1050 1075 1100 1150 1180 1250 1270 1300 1325 1340 1360 1400 1450 Nome ADEMAR AFONSO CARLOS CESAR DARCI EBER ENIO FLAVIO IVAN MIGUEL MARIA RAMON SANDRA TATIANA Idade 25 27 28 30 23 22 27 28 30 34 35 32 29 30 Salario 600 700 500 1000 1500 2000 750 600 700 1000 1500 2000 700 500

a)

Acesso a um registro

Podemos considerar dois tipos de acesso: seqencial ou aleatrio. O acesso seqencial consiste em acessar os registros na ordem em que esto armazenados, ou seja, o registro obtido sempre o posterior ao ltimo acessado. Como os registros so armazenados em sucesso contnua, acessar o registro n de um arquivo requer a leitura dos n-1 registros anteriores.
Sistemas de Bancos de Dados I - 5

O acesso aleatrio se caracteriza pela utilizao de um argumento de pesquisa (chave de acesso), que indica qual o registro desejado. Neste caso, a ordem em que os registros so acessados pode ser diferente da ordem em que eles esto armazenados fisicamente. Se o arquivo est ordenado e a chave de acesso coincide com a chave de ordenao, podemos utilizar a pesquisa binria. Caso contrrio, deve ser realizada uma pesquisa seqencial no arquivo.
b) Insero de um registro

Se o arquivo no est ordenado, o registro pode ser simplesmente inserido aps o ltimo registro armazenado. Se o arquivo est ordenado, normalmente adotado o seguinte procedimento: Dado um arquivo base B, construdo um arquivo de transaes T, que contem os registros a serem inseridos, ordenado pela mesma chave que o arquivo B. Os arquivos B e T so ento intercalados, gerando o arquivo A, que a verso atualizada de B.
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Num 1000 1050 1075 1100 1150 1180 1250 1270 1300 1325 1340 1360 1400 1450 Arquivo B Nome ADEMAR AFONSO CARLOS CESAR DARCI EBER ENIO FLAVIO IVAN MIGUEL MARIA RAMON SANDRA TATIANA Idade 25 27 28 30 23 22 27 28 30 34 35 32 29 30 # 0 1 2 3 4 Num 1070 1120 1280 1310 1420 Arquivo T Nome ANGELA CLAUDIA IARA LUIS SONIA Idade 25 27 28 30 23 # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Num 1000 1050 1070 1075 1100 1120 1150 1180 1250 1270 1280 1300 1310 1325 1340 1360 1400 1420 1450 Arquivo A Nome ADEMAR AFONSO ANGELA CARLOS CESAR CLAUDIA DARCI EBER ENIO FLAVIO IARA IVAN LUIS MIGUEL MARIA RAMON SANDRA SONIA TATIANA Idade 25 27 25 28 30 27 23 22 27 28 28 30 30 34 35 32 29 23 30

c)

Excluso de um registro

Normalmente implementada como a insero, com a criao de um arquivo de transaes que contm os registros a serem excludos, que processado posteriormente. Pode ainda ser implementada atravs de um campo adicional no arquivo que indique o estado (status) de cada registro. Na excluso, o valor deste campo seria alterado para excludo. Posteriormente, feita a leitura seqencial de todos os registros, sendo que os registros que no estiverem marcados como excludos so copiados para um novo arquivo.
d) Alterao de um registro

Consiste na modificao do valor de um ou mais atributos de um registro. O registro deve ser localizado, lido e os campos alterados, sendo gravado novamente, na mesma posio. A alterao feita sem problemas, desde que ela no altere o tamanho do registro nem modifique o valor de um campo usado como chave de ordenao. 2.2.2. ARQUIVO SEQENCIAL-INDEXADO Quando o volume de acessos aleatrios em um arquivo seqencial torna-se muito grande, necessrio utilizar uma estrutura de acesso que oferea maior eficincia na localizao de um registro com base em uma chave de acesso. O arquivo seqencial-indexado um arquivo seqencial acrescido de uma estrutura de acesso (ndice). Um ndice formado por uma coleo de pares, associando um valor da chave de acesso a um endereo de registro. Deve existir um ndice especfico para cada chave de acesso.
Sistemas de Bancos de Dados I - 6

ndice Primrio # Num End. 0 1300 0 1 1605 3 2 ** 6 ** Maior valor que a chave pode assumir

ndice Secundrio # Num End. 0 1070 0 1 1200 3 2 1300 6 3 1430 9 4 1520 12 5 1605 15 6 1710 18 7 1745 21 8 ** 24 ** Maior valor que a chave pode assumir

# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Num 1000 1050 1070 1075 1100 1200 1250 1275 1300 1310 1400 1430 1470 1510 1520 1530 1590 1605 1650 1700 1710 1730 1740 1745 1800 1905 2010

Arquivo Nome ADEMAR AFONSO ANGELA CARLOS CESAR CLAUDIA CRISTIE DARCI DIOGO ELBER EDISON EDMUNDO ENIO FLAVIO GENARO GERSON HELENA IARA IVAN LUIS MARIA MIGUEL RAMON SANDRA SONIA TATIANA WILSON

Idade 25 27 25 28 30 25 26 29 25 27 25 28 30 25 26 29 25 27 25 28 30 25 26 29 32 34 20

2.2.3. ARQUIVO INDEXADO O arquivo indexado aquele em que os registros so acessados atravs de um ou mais ndices, no havendo qualquer compromisso com a ordem em que os registros esto armazenados. Podem existir tantos ndices quantas forem as chaves de acesso aos registros. As entradas no ndice so ordenadas pelo valor das chaves de acesso, sendo cada uma delas constituda por um par (chave do registro, endereo do registro).
ndice Num End. 1000 1 1050 13 1070 2 1075 16 1100 22 1200 3 1250 10 1275 19 1300 4 1310 14 1400 5 1430 17 1470 23 1510 6 1520 11 1530 20 1590 7 1605 15 1650 8 1700 18 1710 24 1730 9 1740 12 1745 21 1800 25 1905 26 2010 0 # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Num 2010 1000 1070 1200 1300 1400 1510 1590 1650 1730 1250 1520 1740 1050 1310 1605 1075 1430 1700 1275 1530 1745 1100 1470 1710 1800 1905 Arquivo Nome WILSON ADEMAR ANGELA CLAUDIA DIOGO EDISON FLAVIO HELENA IVAN MIGUEL CRISTIE GENARO RAMON AFONSO ELBER IARA CARLOS EDMUNDO LUIS DARCI GERSON SANDRA CESAR ENIO MARIA SONIA TATIANA Idade 26 32 28 25 24 22 30 26 32 28 25 24 22 30 26 32 28 26 32 26 26 32 28 25 24 22 30 Salrio 1000 250 300 750 400 1500 250 300 750 400 1500 750 400 1500 250 300 750 400 1500 750 400 400 1500 750 400 750 400

Sistemas de Bancos de Dados I - 7

2.2.4. ARQUIVO DIRETO A idia bsica de um arquivo direto o armazenamento dos registros em endereos determinados com base no valor de uma chave primria, de modo que se tenha acesso rpido aos registros especificados por argumentos de pesquisa, sem que haja necessidade de percorrer uma estrutura de ndice. Em um arquivo direto ao invs de um ndice usada uma funo que calcula um endereo de registro a partir do argumento de pesquisa.
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... Num 2010 1070 1200 1300 Arquivo Nome WILSON ANGELA CLAUDIA DIOGO Idade 26 28 25 24 Salrio 1000 300 750 400

C=CLAUDIA

E=F(C)

E=3

1650 1730 1250

IVAN MIGUEL CRISTIE

32 28 25

750 400 1500

1050 1800

AFONSO SONIA

30 22

1500 750

O principal problema associado com os arquivos diretos o da determinao de uma funo F, que transforme o valor C da chave de um registro no endereo E, que lhe corresponde no arquivo. Geralmente so usadas funes probabilsticas que geram, para cada valor da chave, um endereo to nico quanto possvel, podendo gerar, para valores distintos da chave, o mesmo endereo. Este fato denominado coliso, e devem ser estabelecidos procedimentos para trat-lo.

Sistemas de Bancos de Dados I - 8

3.

BANCOS DE DADOS

3.1. BANCO DE DADOS (BD)


Um Banco de Dados (BD) pode ser definido como uma coleo de dados interrelacionados, armazenados de forma centralizada ou distribuda, com redundncia controlada, para servir a uma ou mais aplicaes.

3.2. SISTEMA DE GERNCIA DE BANCO DE DADOS (SGBD)


Conjunto de software para gerenciar (definir, criar, modificar, usar) um BD e garantir a integridade e segurana dos dados. O SGBD a interface entre os programas de aplicao e o BD. Em ingls denominado DataBase Management System (DBMS).

3.2.1. PROCESSAMENTO DE DADOS SEM BANCO DE DADOS Dados de diferentes aplicaes no esto integrados, pois so projetados para atender a uma aplicao especfica.

Sistemas de Bancos de Dados I - 9

Problemas da falta de integrao de dados: O mesmo objeto da realidade mltiplas vezes representado na base de dados. Exemplo: dados de um produto em uma indstria Redundncia no controlada de dados: No h gerncia automtica da redundncia, o que leva a inconsistncia dos dados devido a redigitao de informaes Dificuldade de extrao de informaes: os dados so projetados para atender aplicaes especificas gerando dificuldades para o cruzamento de informaes Dados pouco confiveis e de baixa disponibilidade 3.2.2. PROCESSAMENTO DE DADOS COM USO DE SGBD Os dados usados por uma comunidade de usurios so integrados no Banco de Dados. Cada informao armazenada uma nica vez, sendo que as eventuais redundncias so controladas pelo sistema em computador, ficando transparentes para os usurios.

3.2.3. PRINCIPAIS COMPONENTES DE UM SGBD Dicionrio de dados (Data Dictionary): Descreve os dados e suas relaes em forma conceitual e independente de seu envolvimento nas diversas aplicaes. Fornece referncias cruzadas entre os dados e as aplicaes. Linguagem de definio de dados (DDL - Data Definition Language): Descreve os dados que esto armazenados no BD. As descries dos dados so guardadas em um meta banco de dados. Linguagem de acesso (DML - Data Manipulation Language): Usada para escrever as instrues que trabalham sobre a base de dados, permitindo o acesso e atualizao dos dados pelos programas de aplicao. Geralmente integrada com a DDL. Linguagem de consulta (QUERY): Permite que o usurio final, com poucos conhecimentos tcnicos, possa obter de forma simples, informaes do BD. 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 acidentes.

3.2.4. CARACTERSTICAS DE UM SGBD Um princpio bsico em BD determina que cada item de dado deveria ser capturado apenas uma vez e ento armazenado, de modo que possa tornar disponvel para atender a qualquer necessidade de acesso qualquer momento. Alguns pontos importantes so: 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. Mais de 80 % do
Sistemas de Bancos de Dados I - 10

tempo dos analistas e programadores gasto na manuteno de programas. A principal causa deste elevado tempo reside na falta de independncia entre dados e 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 espao de armazenamento: O SGBD deve manter controle das reas de disco ocupadas, evitando a ocorrncia de falhas por falta de espao de armazenamento.

3.3. 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. A preocupao com a eficincia leva a concepo de estruturas de dados complexas para representao dos dados no BD. Porm, uma vez que SGBD so freqentemente usados por pessoas sem treinamento na rea de computao, esta complexidade precisa ser escondida dos usurios. Isto conseguido definindo-se diversos nveis de abstrao pelos quais o BD pode ser visto: 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)

3.4. 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.
Sistemas de Bancos de Dados I - 11

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.

3.5. 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.
AO

3.6. FUNES RELACIONADAS


3.6.1. ADMINISTRADOR DE DADOS

SGBD

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.

3.6.2. 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 3.6.3. PROJETISTA DA BASE DE DADOS Constri o modelo conceitual de uma parte da base de dados, com a participao do usurio. Junto com o DBA integra as novas partes ao banco de dados global. 3.6.4. ANALISTA DE SISTEMAS Define e projeta aplicao que iro usar a base de dados existente. Utiliza o modelo conceitual e o modelo lgico existentes, mas no define os dados da base de dados.

Sistemas de Bancos de Dados I - 12

3.7. ARQUITETURAS
3.7.1. MONO-USURIO

PARA USO DO

SGBD

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

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

3.7.3. ARQUITETURA EM REDE COM SERVIDOR DE ARQUIVOS Multi-usurio Servidor de arquivos contm todos os arquivos do banco de dados As estaes clientes executam as aplicaes e o software de BD Gera alto trfego na rede Tpico de redes pequenas (peer-to-peer)

3.7.4. 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

3.8. FASES DO PROJETO DE BD


3.8.1. 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

3.8.2. 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

3.8.3. 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

3.8.4. AVALIAR O MODELO FSICO Avaliar o desempenho das aplicaes Avaliar os caminhos de acesso aos dados e estruturas utilizadas
Sistemas de Bancos de Dados I - 13

3.8.5. IMPLEMENTAR O BD Etapa de carga (load) dos dados Gerar as interfaces com outras aplicaes

4.

MODELAGEM DE DADOS
Abstrao: processo mental atravs do qual selecionamos determinadas propriedades ou caractersticas dos objetos e exclumos outras, consideradas menos relevantes para o problema sendo analisado. Modelo: uma abstrao, uma representao simplificada, de uma parcela do mundo real, composta por objetos reais. 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).

4.1. CONCEITOS

4.2. TIPOS DE ABSTRAO


4.2.1. CLASSIFICAO Os objetos do mundo real so organizados segundo suas propriedades ou caractersticas comuns, formando classes de objetos. Um objeto pode pertencer simultaneamente a vrias classes. 4.2.2. AGREGAO Uma classe definida a partir de um conjunto de outras classes, que representam suas partes componentes. 4.2.3. GENERALIZAO Define uma nova classe a partir de caractersticas comuns de outras classes. A classe genrica que rene as caractersticas comuns denominada superclasse e as classes que herdam estas caractersticas so denominadas subclasses.

4.3. 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.

4.4. 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)

Sistemas de Bancos de Dados I - 14

4.5. 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. 4.5.1. 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 pai-filho. A restrio que um determinado registro somente pode possuir um registro pai.

4.5.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.
Sistemas de Bancos de Dados I - 15

4.5.3. 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.

Sistemas de Bancos de Dados I - 16

4.6. MODELO DE DADOS FSICO


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

Sistemas de Bancos de Dados I - 17

5.

MODELO ENTIDADE-RELACIONAMENTO (M.E.R.)


Apresentado por Peter Chen, em 1976 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)

5.1. INTRODUO

5.2. 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 PESSOA DEPARTAMENTO

5.3. 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 LOTA O PESSOA

Sistemas de Bancos de Dados I - 18

Diagrama de ocorrncias de relacionamentos:

5.3.1. AUTO-RELACIONAMENTO Relacionamento entre ocorrncias da mesma entidade. PESSOA marido CASAMENT O Diagrama de ocorrncias no auto-relacionamento: esposa

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

Sistemas de Bancos de Dados I - 19

5.3.2. 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. 5.3.3. 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).

5.3.4. CLASSIFICAO DE RELACIONAMENTOS BINRIOS A cardinalidade mxima usada para classificar os relacionamentos binrios (aqueles que envolvem duas entidades).

Sistemas de Bancos de Dados I - 20

a)

Relacionamentos 1:1 (um-para-um)

b) Relacionamentos 1:N (um-para-muitos)

c)

Relacionamentos N:N (muitos-para-muitos)

Sistemas de Bancos de Dados I - 21

5.3.5. RELACIONAMENTO TERNRIO o relacionamento formado pela associao de trs entidades

Cardinalidade em relacionamentos ternrios:

5.3.6. 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). Exemplos: CLIENTE 1 REALIZA N PEDIDO

Um cliente pode fazer pedidos ou no, mas todos os pedidos devem estar associados a um cliente. DEPTO 1 ALOCA N EMPREGADO

Sistemas de Bancos de Dados I - 22

Todos os departamentos devem possuir pelo menos um empregado alocado, e todos os empregados devem estar alocados em um departamento.

DEPTO

1 10

ALOCA

EMPREGADO

Parcialidade mnima: para um departamento ser criado, devem existem pelo menos 10 empregados alocados.

5.4. NOTAES ALTERNATIVAS


Notao Heuser: semntica associativa DEPTO (1,1 ) ALOCA (0,N) EMPREGADO

Notao Santucci/MERISE: semntica participativa (0,N) (1,1)

DEPTO

ALOCA

EMPREGADO

Notao Setzer: semntica associativa DEPTO 1 ALOCA N EMPREGADO

5.5. ATRIBUTO
um dado que associado a cada ocorrncia de uma entidade ou relacionamento. Os atributos no possuem existncia prpria ou independente - esto sempre associados a uma entidade ou relacionamento Exemplos: Funcionrio: Matrcula, Nome, Endereo Material: Cdigo, Descrio Financiamento: Valor total, Meses Fornecedor: Nome, Endereo

Sistemas de Bancos de Dados I - 23

5.5.1. DOMNIO o conjunto de valores vlidos que um atributo pode assumir. Ex: Estado civil: solteiro, casado, divorciado, vivo 5.5.2. TIPOS DE ATRIBUTOS
a) Opcional/Mandatrio

130. Opcional: o atributo pode possuir um valor nulo (vazio). Ex: nmero de telefone 131. Mandatrio: o atributo deve possuir um valor vlido, no nulo. Ex: nome do cliente
b) Monovalorado/Multivalorado

132. Monovalorado: o atributo assume um nico valor dentro do domnio. Ex: data de nascimento 133. Multivalorado: o atributo pode assumir um nmero qualquer de valores dentro do domnio. Ex: Telefone para contato
c) Atmico/Composto

134. Atmico: o atributo no pode ser decomposto em outros atributos. Ex: Idade 135. Composto: o atributo composto por mais de um atributo. Ex: Endereo

5.5.3. ATRIBUTO DE RELACIONAMENTO Assim como as entidades, os relacionamentos tambm podem possuir atributos.

5.5.4. IDENTIFICADOR DE ENTIDADES Conjunto de atributos que tem a propriedade de identificar univocamente cada ocorrncia de uma entidade Toda entidade deve possuir um identificador O identificador deve ser mnimo, nico, monovalorado e mandatrio

Sistemas de Bancos de Dados I - 24

5.5.5. RELACIONAMENTO IDENTIFICADOR (ENTIDADE FRACA) Existem casos em que uma entidade no pode ser identificada apenas com seus prprios atributos, mas necessita de atributos de outras entidades com as quais se relaciona. Este relacionamento denominado Relacionamento Identificador. Alguns autores denominam uma entidade nesta situao de Entidade Fraca.

5.5.6. IDENTIFICADOR DE RELACIONAMENTOS Uma ocorrncia de relacionamento diferencia-se das demais pelas ocorrncias das entidades que participam do relacionamento. No exemplo

No exemplo, uma ocorrncia de ALOCAO identificada pela ocorrncia de Engenheiro e pela ocorrncia de Projeto. Ou seja, para cada par (engenheiro, projeto) h no mximo um relacionamento de alocao. Em certos casos, ser necessrio o uso de atributos identificadores de relacionamentos. Por exemplo:

Como o mesmo mdico pode consultar o mesmo paciente em diversas ocasies, necessrio o uso de um atributo que diferencie uma consulta da outra.

5.6. GENERALIZAO /ESPECIALIZAO


A generalizao um processo de abstrao em que vrios tipos de entidade so agrupados em uma nica entidade genrica, que mantm as propriedades comuns A especializao o processo inverso, ou seja, novas entidades especializadas so criadas, com atributos que acrescentam detalhes entidade genrica existente
Sistemas de Bancos de Dados I - 25

A entidade genrica denominada superclasse e as entidades especializadas so as subclasses. A superclasse armazena os dados gerais de uma entidade, as subclasses armazenam os dados particulares Este conceito est associado idia de herana de propriedades. Isto significa que as subclasses possuem, alm de seus prprios atributos, os atributos da superclasse correspondente. Usada quando necessrio caracterizar entidades com atributos prprios ou participao em relacionamentos especficos

Uma generalizao/especializao pode ser total ou parcial: total quando, para cada ocorrncia da entidade genrica, existe sempre uma ocorrncia em uma das entidades especializadas. parcial quando nem toda ocorrncia da entidade genrica possui uma ocorrncia correspondente em uma entidade especializada.

Sistemas de Bancos de Dados I - 26

5.7. ENTIDADE ASSOCIATIVA (AGREGAO )


O uso desta abstrao necessrio quando um relacionamento deve ser representado como uma entidade no modelo conceitual. Isto ocorre quando necessrio estabelecer um relacionamento entre uma entidade e um relacionamento. Para atender a esta situao foi criado o conceito de Entidade Associativa ou Agregao. A agregao simplesmente um relacionamento que passa a ser tratado como entidade. Considerando o exemplo

Se for necessrio adicionar a informao que, a cada consulta um ou mais medicamentos podem ser prescritos ao paciente, ser necessrio criar uma nova entidade (MEDICAMENTO). Esta entidade deve se relacionar com as consultas, mas CONSULTA um relacionamento. Deve ser criada ento uma entidade associativa.

Outra forma alternativa de se representar a entidade associativa

Sistemas de Bancos de Dados I - 27

5.8. RELACIONAMENTO MUTUAMENTE EXCLUSIVO


Neste tipo de relacionamento uma ocorrncia de um entidade pode estar associada com ocorrncias de outras entidades, mas no simultaneamente. AVIO TRANSPORTE CARGA

TRANSPORTE

PASSAGEIRO

5.9. RESTRIO

DE

PERSISTNCIA NO RELACIONAMENTO

Um relacionamento persistente quando, depois de criado, ele no puder ser removido indiretamente pela remoo de uma ocorrncia de uma das entidades associadas.

ALUNO

EMPRSTIMO

LIVRO

Sistemas de Bancos de Dados I - 28

5.10. ESQUEMA TEXTUAL DO MER


Um esquema ER pode ser um texto. Abaixo definida uma sintaxe para uma linguagem textual para definio de esquemas ER. Nesta sintaxe, so usadas as seguintes convenes: colchetes indicam opcionalidade, o sufixo LISTA denota uma seqncia de elementos separados por vrgulas e o sufixo NOME denota os identificadores.
ESQUEMA

Esquema: ESQUEMA_NOME SEO_ENTIDADE SEO_GENERALIZAO SEO_AGREGAO SEO_RELACIONAMENTO

SEO_ENTIDADE (DECL_ENT) DECL_ENT Entidade: ENTIDADE_NOME {SEO_ATRIBUTO} {SEO_IDENTIFICADOR} SEO_ATRIBUTO Atributos: {DECL_ATRIB} DECL_ATRIB [(MIN_CARD, MAX_CARD)] ATRIBUTO_NOME [: DECL_TIPO] MIN_CARD 0 | 1 MAX_CARD 1 | N DECL_TIPO inteiro|real|boolean|texto(inteiro)|enum(LISTA_VALORES)|data SEO_IDENTIFICADOR Identificadores: {DECL_IDENT} DECL_IDENT (IDENTIFICADOR) IDENTIFICADOR ATRIBUTO_NOME SEO_GENERALIZAO DECL_HIERARQUIA_GEN COBERTURA

{DECL_HIERARQUIA_GEN} Generalizao[(CORBERTURA)]; NOME_GEN PAI: NOME_ENTIDADE FILHO: LISTA_NOME_ENTIDADE

t | p

SEO_AGREGAO {DECL_ENT_ASSOC} DECL_ENT_ASSOC EntidadeAssociativa: NOME_RELACIONAMENTO SEO_RELACIONAMENTO {DECL_RELACIONAMENTO} DECL_RELACIONAMENTO Relacionamento: NOME_RELACIONAMENTO Entidades: {DECL_ENT-RELACIONADA} [ Atributos: {DECL_ATRIB} ] [ Identificadores: {DECL_IDENT}] DECL_ENT-RELACIONADA [(MIN_CARD,MAX_CARD)] NOME_ENTIDADE

Exemplo:

Esquema: EMPRESA Entidade: DEPARTAMENTO Atributos: cdigo: inteiro; Nome: texto(20); Ativo: boolean; Identificador: cdigo Entidade: EMPREGADO Atributos: matrcula: inteiro; Nome: texto(50); DataNasc : data; Identificador: matrcula

Relacionamento: ALOCA Entidades: (0,N) DEPARTAMENTO (1,1) EMPREGADO


Sistemas de Bancos de Dados I - 29