• Nenhum resultado encontrado

Banco de Dados Apostila

N/A
N/A
Protected

Academic year: 2021

Share "Banco de Dados Apostila"

Copied!
23
0
0

Texto

(1)
(2)

BANCO DE DADOS 1. Alguns exemplos de utilização:

 Depósitos ou retiradas bancárias;

 Reserva de hotel ou vôo;

 Catálogo de biblioteca on-line;

 Compras on-line.

Este tipo de interação ocorre através de Aplicações de banco de dados, onde a maioria das informações armazenadas podem ser textuais ou numéricas.

Atualmente também podem ser armazenados: imagens, áudio e vídeo. São os chamados Banco de Dados Multimídia.

Um banco de dados também pode ser utilizado por Sistemas de Informações Geográficas (GIS) que podem armazenar e analisar mapas, dados sobre clima e imagens de satélites.

Sistemas de Datawarehousing e processamento analítico on-line (On-line Analytical Processing – OLAP) também utilizam Banco de dados , onde é possível extrair e analisar informações comerciais que auxiliam na tomada de decisão.

2. O que é um banco de dados?

Coleção de dados relacionados. Um banco de dados tem alguma fonte de derivação do dado e algum grau de interação com o mundo real e um público que interage com seu conteúdo. Para que um banco de dados seja preciso e confiável ele precisa ser um reflexo do mundo real podendo ter qualquer tamanho e complexidade.

Conforme Heuser(1998), é um conjunto integrado que atende à uma comunidade de usuários.

3. Alguns conceitos

SGBD: Database Management System. Trata-se de uma coleção de

programas que permite aos usuários criarem e manterem um banco de dados. É um sistema de software de uso geral que facilita o processo de : definição, construção, manipulação e compartilhamento do banco de dados. Surgiram na década de 70 para facilitar a programação de aplicações de banco de dados já que os primeiros sistema existentes no mercado eram caros e difíceis de se

(3)

Figura 1 - Sistema de Gerenciamento de Banco de dados

Definição de um banco de dados: Envolve a especificação de tipos e

estruturas assim como restrições dos dados a serem armazenados. A definição ou informação descritiva do banco de dados também é armazenada na forma de um catálogo ou dicionário, chamado de metadados.

Contrução: Processo de armazenamento dos dados em algum meio controlado pelo SGBD.

Manipulação: Inclui funções como consulta ao banco de dados para recuperar dados específicos, atualização e inserção de dados.

Compartilhamento: De um banco de dados. Permite que diversos usuários e programas acessem-o simultaneamente.

Proteção e manutenção: Existe a proteção do sistema contra defeitos ou falhas de hardware ou software e proteção de segurança contra acesso não autorizado ou malicioso. Um banco de dados de grande porte pode ter um ciclo de vida de muitos anos, de modo que o SGBD precisa ser capaz de manter o sistema, permitindo sua evolução à medida que os requisitos mudam com o tempo.

4. Natureza de autodescrição de um Sistema de Banco de Dados Seu sistema contém além do próprio banco de dados uma definição ou

descrição de sua estrutura que é armazenada no catálogo que possui informações sobre cada arquivo, tipo e formato de armazenamento de cada ítem de dados e diversas restrições sobre estes dados. Estas informações são chamadas de metadados e descrevem a estrutura do banco de dados principal. O catálogo é utilizado pelo software de SGBD e também pelos usuários do banco de dados que precisam de informações sobre o banco de dados.

5. Atores

Administradores de banco de dados (DBA): É responsável por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso, adquirir recursos de software e hardware conforme a necessidade da empresa. Também é

(4)

responsável por problemas como falhas na segurança e demora no tempo de resposta do sistema. Em grande organizações, ele é auxiliado por uma equipe que executa estas funções

Projetistas de banco de dados: São responsáveis por identificar os dados a serem armazenados e escolher estruturas apropriadas para representar e armazenar esses dados. Essas tarefas são realizadas principalmente antes que o banco de dados esteja realmente implementado e populado com os dados.

Usuários finais: São pessoas cujas funções exigem acesso ao banco de dados para consultas e atualizações e geração de relatórios. O banco de dados existe para atender os usuários finais.

6. Exemplo de um banco de dados ALUNO NOME NUMERO_ALUNO TIPO_ALU NO CURSO Silva 17 1 CC Braga 8 2 CC DISCIPLINA NOME_DISCIPLINA NR_DISCIPLINA CREDITO S DEPARTAM ENTO Introdução à ciência da computação CC1310 4 CC Estrutura de dados CC3320 4 CC

Matemática discreta MAT2410 3 MAT

Banco de dados CC3380 3 CC

(5)

HISTORICO_ESCO LAR NUMERO_ALUNO IDENTIFICACAO_TUR MA NOTA 17 112 B 17 119 C 8 85 A 8 92 A 8 102 B 8 135 A

PROJETO DE BANCO DE DADOS 1. Compartilhamento de dados

Considere o exemplo abaixo:

Figura 2 - Sistemas isolados - Fonte: Heuser(1998)

Vendas: Esta função concentra as atividades da indústria relativas ao contato com os clientes, como fornecimento de cotações de preços, vendas, e

informações sobre disponibilidade de produtos.

Produção: Esta função concentra as atividades da indústria relativas à

produção propriamente dita, como planejamento da produção e controle do que foi produzido.

Compras Esta função concentra as atividades da indústria relativas à aquisição dos insumos necessários à produção, como cotações de preços junto a fornecedores, compras e acompanhamento do fornecimento. Se cada uma das funções acima for informatizada de forma separada, sem considerar a informatização das demais funções, pode ocorrer que, para cada uma das funções, seja criado um arquivo separado de produtos (HEUSER, 1998) o que leva a redundância de dados que ocorre quando uma informação é representada várias vezes em um sistema.

(6)

2. Problemas ocorridos com a redundância:

Redigitação: A mesma informação é digitada várias vezes exigindo um trabalho desnecessário e resultando em erros de transcrição de dados.

Inconsistência de dados: A sincronia entre as informações de um banco de dados é de responsabilidade do usuário, uma informação que é

modificada em um módulo e não é refletida em outro pode acarretar em uma inconsistência de daods.

A solução para evitar esta redundância é o compartilhamento dos dados onde cada informação é armazenada uma única vez podendo ser acessada por vários sistemas.

Figura 3 - Dados compartilhados - Fonte: Heuser(1998)

3. Modelo de Banco de dados

Trata-se da descrição dos tipos de informações qie estão armazenadas em um banco de dados. Para construir um modelo de dados, utiliza-se a linguagem de modelagem de dados que pode ser gráfica ou textual. Em um projeto de banco de dados são utilizados dois níveis de abstração de modelo de dados: conceitual e lógico.

Modelo Conceitual: Descrição do banco de dados de forma independente da implementação em um SGBD. O modelo conceitual registra que dados devem aparecer no banco, mas não como estes dados são armazenados. A técnica utilizada na modelagem conceitual é a abordagem Entidade relacionamento(ER), onde o modelo conceitual é representado através do diagrama de entidade/relacionamento.

(7)

Figura 4 - Diagrama Entidade / Relacionamento - Fonte: Heuser(1998)

Modelo Lógico: Descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. O modelo lógico é dependente do tipo particular de SGBD que está sendo usado. É o modelo de dados que representa a estrutura de dados de um banco de dados conforme visto pelo usuário de SGBD.

Figura 5 - Modelo Lógico

MODELAGEM CONCEITUAL

A Modelagem Conceitual tem por objetivo obter uma descrição abstrata, independente de implementação em computador, dos dados que serão armazenados no banco de dados. É representada através da abordagem entidade/relacionamento criada por Peter Chen onde são abordados os seguintes conceitos: Entidade,

Relacionamento,Atributos, generalização/Especialização e entidade Associativa. 1. Entidade

Representa no modelo conceitual, um conjunto de objetos da realidade moderada. Neste modelo interessam somente os objetos sobre os quais se deseja manter

(8)

informações.Uma entidade pode representar tanto objetos concretos da realidade (uma pessoa ou um automóvel) quanto objetos abstratos (departamento ou endereço). Representação Gráfica é um Retângulo (o nome da identidade fica dentro do

retângulo)

Uma entidade é um conjunto de objetos (COISA, TUDO O QUE É PERCEPTÍVEL OU MANIPULÁVEL).

Ocorrência ou Instância da Entidade: Referência a um objeto em particular

2. Relacionamento

Conjunto de Associações entre entidades. Em um DER, um relacionamento é representado através de um losango, ligado por linhas aos retângulos das

entidades que participam do relacionamento.

Exemplo de ocorrência neste caso: JOAO (pessoa) está lotada na TI (departamento).

Este modelo expressa que o BD mantém informações sobre:

 um conjunto de objetos classificados como pessoas (relacionamento PESSOA)

 um conjunto de objetos classificados como departamentos (relacionamento DEPARTAMENTO)

 um conjuntos de associações, que ligam um departamento a uma pessoa. (relacionamento LOTAÇÃO).

(9)

Departamento: d1, d2, d3

Pessoa: P1,p2,p3,p4,p5,p6,p7,p8

Relacionamento lotação: p1,d1, p2,d1,p4,d2, p5, d3

Um departamento pode conter várias pessoas mas uma pessoa só pode estar lotada em um departamento.

3. Auto-Relacionamento

Um relacionamento não precisa necessariamente estar associado à entidades diferentes, podendo ocorrer o auto-relacionamento onde existem ocorrências na mesma entidade. Neste casoo é necessário um conceito adicional : o papel da entidade no relacionamento.

Uma entidade possui um relacionamento com ela própria. Isto quer dizer que temos pessoas que assumem papel de marido outras de esposa.

(10)

4. Cardinalidade de Relacionamentos

É uma propriedade importante de um relacionamento pois define quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência através do relacionamento. Existem duas cardinalidades: Mínima e Máxima.

 Exemplos: departamento no relacionamento lotação: só podemos ter um empregado por departamento(cardinalidade mínima).

Um departamento possui cardinalidade máxima = 120 , isto quer dizer que um departamento pode ter até 120 empregados

 Estes relacionamentos são chamados de relacionamentos binários pois envolvem 2 entidades, podem ser:

N:n – muitos para muitos 1:n – (um para muitos) 1:1 - (um para um)

(11)

1- Pessoa (entidade), casamento (relacionamento)

2- Empregado(entidade), alocação(relacionamento), Mesa(entidade)

1- Aluno(entidade), inscrição(relacionamento), curso(entidade)

2- Empregado (entidade), possui(relacionamento), dependentes(entidade) 3- Empregado(entidade),supervisão(relacionamento), empregado(entidade)

(12)

Relacionamento n:n (muitos para muitos)

1- Engenheiro(entidade), alocação(relacionamento), projeto(entidade)

Relacionamento 0:n

(13)

Nenhum ou muitos cursos podem possuir nenhuma ou muitas disciplinas 5. Atributos

Informações associadas a ocorrências de entidades ou de relacionamentos.

Dado que é associado a cada ocorrência de uma entidade ou de um

relacionamento.

Na prática, atributos não são representados graficamente, para não

sobrecarregar os diagramas, já que muitas vezes entidades possuem um

grande número de atributos. Prefere-se usar uma representação textual que

aparece separadamente do diagrama ER.No caso de ser usado um software

para construção de modelos ER, o próprio software encarrega-se do

armazenamento da lista de atributos de cada entidade em um dicionário de

dados.

No exemplo acima, para cada ocorrência de projeto é associado

exatamente um nome, código e tipo.

Cardinalidade dos atributos: No exemplo acima , o nome e o código

são obrigatórios. Possuem cardinalidade mínima: 1, pois cada entidade

possui no mínimo um valor associado. São mono-valorados, pois a

cardinalidade máxima também é um, só pode possuir um valor . Já no

exemplo:

(14)

Nome e código também possuem cardinalidade mínima e máxima = 1. Já o

atributo telefone é um atributo opcional.(cardinalidade mínima 0 e cardinalidade

máxima = n, pois pode possuir vários telefones).

Os relacionamentos também podem possuir atributos conforme o exemplo

abaixo:

Neste exemplo a entidade engenheiro possui atributos: código e nome, e esta

entidade pode possuir nenhuma ou muitas “ATUAÇÃO”(Relacionamento) onde

possui uma função (que é o atributo do relacionamento ATUAÇÃO) e pode

estar relacionado a nenhum ou muitos projetos que possuem código e título

como atributos.

No exemplo abaixo:

Uma única financeira pode financiar nenhuma ou muitas vendas que

possuem um número de parcelas e taxa de juros.

(15)

O identificador neste exemplo é o código, isto quer dizer que cada

pessoa pode ter um único código, já os campos nome e endereço,

podem ser associados para mais de uma pessoa.

IDENTIFICADORES COMPOSTOS

Exemplo: almoxarifado de uma empresa de ferragens. Os produtos ficam

armazenados em prateleiras dispostas em armários organizados em

corredores. Os corredores são numerados seqüencialmente e as prateleiras

são numeradas seqüencialmente dentro de cada corredor, para identificar uma

prateleira é necessário conhecer seu número e o número do corredor em que

se encontra.

IDENTIFICADORES DE RELACIONAMENTOS

Um exemplo é o relacionamento CONSULTA entre entidades de

MÉDICO e de PACIENTE. Entre um determinado médico e um determinado

paciente podem haver diversas consultas. Neste caso, é necessário algo que

distinga uma consulta entre um médico e seu paciente das demais consultas

entre este médico e este paciente. A diferenciação dá-se através de atributos

identificadores de relacionamento. No caso do relacionamento CONSULTA o

atributo identificador do relacionamento pode ser data/hora.

(16)

GENERALIZAÇÃO/ESPECIALIZAÇÃO

Através deste conceito é possível atribuir propriedades particulares a um

subconjunto das ocorrências (especializadas) de uma entidade genérica. O

símbolo para representar generalização/especialização é um triângulo

isósceles. Associada ao conceito de generalização/especialização está a idéia

deherança de propriedades. Herdar propriedades significa que cada ocorrência

da entidade especializada possui, além de suas próprias propriedades

(atributos, relacionamentos e generalizações/especializações), também as

propriedades da ocorrência da entidade genérica correspondente.

(17)

ENTIDADE ASSOCIATIVA

Em alguns casos, é necessário que associemos uma entidade com a

ocorrência de um relacionamento. O modelo de entidades e relacionamentos

não permite relacionamentos entre relacionamentos, somente entre entidades.

A idéia da entidade associativa é tratar um relacionamento como se ele fosse

uma entidade. Observe o modelo abaixo:

Como não podemos fazer isso diretamente, indicamos que o relacionamento

consulta é uma entidade associativa, através de um

retângulo

em volta do

relacionamento.

ESQUEMAS GRÁFICOS E TEXTUAIS

(18)
(19)

Entidades: (1,1) EMPREGADO

(0,n) DEPENDENTE

ABORDAGEM RELACIONAL - Composição de um Banco de Dados

Relacional

1. Tabelas:

Uma tabela é um conjunto não ordenado de linhas (tuplas, na terminologia

acadêmica). Cada linha é composta por uma série de campos (valor de

atributo, na terminologia acadêmica).Cada campo é identificado por nome de

campo (nome de atributo, na terminologia acadêmica). O conjunto de campos

das linhas de uma tabela que possuem o mesmo nome formam uma coluna.

2. Chaves

O conceito básico para estabelecer relações entre linhas de tabelas de um

banco de dados relacional é o da chave.

• Chave Primária: Uma chave primária é uma coluna ou uma combinação

de colunas cujos valores distinguem uma linha das demais dentro de

uma tabela.

(20)

• Chave Estrangeira: Uma chave estrangeira é uma coluna ou uma

combinação de colunas, cujos valores aparecem necessariamente na

chave primária de uma tabela. A chave estrangeira é o mecanismo que

permite a implementação de relacionamentos em um banco de dados

relacional.

(21)

conjunto de valores é chamado de domínio da coluna ou domínio do campo.

Além disso, deve ser especificado se os campos da coluna podem estar

vazios (“null” em inglês) ou não. Estar vazio indica que o campo não recebeu

nenhum valor de seu domínio

4. Integridade

• Integridade de Domínio: (número inteiro, número real, alfanumérico de

tamanho definido,data, …)

• Integridade de Vazio: Através deste tipo de restrição de integridade é

especificado se os campos de uma coluna podem ou não ser vazios

• Integridade de chave: Trata-se da restrição que define que os valores

da chave primária e alternativa devem ser únicos.

• Integridade Referencial: É a restrição que define que os valores dos

campos que aparecem em uma chave estrangeira devem aparecer na

chave primária da tabela referenciada.

NORMALIZAÇÃO

Consiste em definir o formato lógico adequado para as estruturas de

dados identificados no projeto lógico do sistema, com o objetivo de minimizar o

espaço utilizado pelos dados e garantir a integridade e confiabilidade das

informações.

É feita, através da análise dos dados que compõem as estruturas

utilizando o conceito chamado “Formas Normais (FN)”.

Para realizar a normalização dos dados, é primordial que seja definido

um campo chave para a estrutura, campo este que permite identificar os

demais campos da estrutura.

• Exemplo:

Arquivo de Notas Fiscais (Num. NF, Série, Data Emissão, Cod Cliente, Nome

Cliente, Endereço Cliente, CGC Cliente, Relação das mercadorias vendidas

(onde para cada mercadoria temos: Cod Mercadoria, Descrição Mercadoria,

Quantidade Vendida, Preço de Venda, Total da Venda desta mercadoria) e

Total Geral da Nota)

Neste exemplo, existem várias mercadorias em um única Nota Fiscal,

sendo portanto elementos repetitivos que deverão ser retirados.

Como eliminar os elementos repetidos:

(22)

Estrutura na primeira forma normal (1FN)

• Arquivo de Notas Fiscais (Num. NF, Série, Data Emissão, Cod Cliente,

Nome Cliente, Endereço Cliente, CGC Cliente, Total Geral da Nota)

• Arquivo de Vendas (Num. NF, Cod Mercadoria, Descrição Mercadoria,

Quantidade Vendida, Preço de Venda, Total da Venda desta

mercadoria)

Já a segunda forma normal ou 2 FN: Consiste em retirar das estruturas que

possuem chaves compostas (campo chave sendo formado por mais de um

campo), os elementos que são funcionalmente dependente de parte da chave.

A Terceira Forma Normal ou 3FN: Consiste em retirar das estruturas os

campos que são funcionalmente dependentes de outros campos que não são

chaves. Podemos afirmar que uma estrutura está na 3FN, se ela estiver na

2FN e não possuir campos dependentes de outros campos não chaves.

Após a normalização a estrutura das tabelas no banco de dados possuirá o

seguinte formato:

• Arquivo de Notas Fiscais (Num. NF, Série, Data Emissão, Cod Cliente

e Total Geral da Nota)

• Arquivo de Vendas (Num. NF, Cod Mercadoria, Quantidade Vendida e

Total da Venda desta mercadoria)

• Arquivo de Mercadorias (Cod Mercadoria, Descrição Mercadoria,

Preço de Venda)

• Arquivo de Clientes (Cod Cliente, Nome Cliente, Endereço Cliente e

CGC Cliente)

(23)

Título Autor Ed. Cidade ANO Projeto de Banco de Dados HEUSER, Carlos Alberto Sagra-Luzzatto Porto Alegre 2004 Sistema de Banco de Dados SILBERSCHATZ, Abraham; Korth, Henry F. ; Sudarshan, S. Elsevier Rio de Janeiro 2006 Projeto e modelagem de banco de dados Teorey, Toby J. ; Lightstone, Sam; Nadeau, Tom Elsevier Rio de Janeiro 2007 Sistemas de Armazenamento de Dados

GALEOTE, Sidney São

Paulo Oracle 10g database SERSON, Roberto Rubinstein São Paulo Introdução a Sistemas de Bancos de Dados

DATE, C.J. Campus Rio de

Janeiro 2003 Otimizando a Performance de Bancos de Dados Relacionais MAYER, Roberto Carlos

Axcel Books Rio de

Janeiro 2001 Análise Relacional de Sistemas MACHADO, Felipe Ney Rodrigues São Paulo Projeto de Banco de

Dados: uma visão prática MACHADO, Felipe Nery Rodrigues São Paulo Aprenda em 24 horas SQL PLEW, Ronald R.; Stephens, Ryan K Rio de Janeiro Banco de Dados para a WEB SILBA, Luciano Carlos da São Paulo

Referências

Documentos relacionados

A baixa taxa de desconto ao longo dos anos de produção do campo, para o cálculo da função objetivo, aliada a baixa produção de água que a locação de

Os instrumentos de pesquisa utilizados serão: Ficha de Rastreamento das Participantes do Estudo, International Consultation on Incontinence Questionnaire – Short Form

 A alocação dinâmica é muito utilizada em problemas de estrutura de dados como por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos ...  O interessante

O objetivo deste estudo foi avaliar o comporta- mento clínico de lesões de dermatite digital bovina após tratamento cirúrgico, uso local e parenteral de oxitetraci- clina e passagem

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma