Aula 1

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 30

Arquitetura de Sistemas de Banco de Dados

Aula 01: Sistemas de banco de dados

Apresentação
No mundo digital, nossas vidas são regidas por diversos sistemas. Para funcionar, esses sistemas necessitam de
grande volume de dados. Não é possível conceber qualquer sistema que possa prescindir de um Banco de Dados.

 
Você já parou para pensar o que é um Banco de Dados? Nesta aula, procuraremos responder a essa pergunta.

Objetivos
Identificar as características de um sistema de banco de dados;

Diferenciar sistemas de banco de dados, sistemas gerenciadores de banco de dados e banco de dados; 

Explicar as fases do projeto de banco de dados. 

Dados e informações
Quando vamos realizar um saque no caixa eletrônico de um banco, o sistema do equipamento tem que acessar os números
da agência e da conta, senha e saldo disponível. Estes dados necessitam de gerenciamento eficiente e confiável, que permita
sua rápida recuperação e atualização. 

Mas muita gente confunde dados com informações. Por isso, vamos fazer a distinção entre eles.
Dados

compare_arrows
Informações
Fatos, eventos, conceitos, instruções
Dados já formatados de uma maneira
antes de terem sido organizadas em um
inteligível e útil ao usuário.
formato inteligível e
útil para o usuário.

Sistemas de Informação e Fluxo de Informação


Um Sistema de Informação pode ser definido como um conjunto de componentes que coletam, processam, armazenam e
distribuem informações para suportar a tomada de decisão e o controle das operações de uma organização.

Ele contém informações sobre pessoas e lugares dentro da organização ou do ambiente externo à organização, com o qual
ela mantenha constante intercâmbio.

Há basicamente três níveis de intercâmbio de informações:

Ambiente externo Organização Sistemas de informações

Em um Sistema de Informação, há três atividades básicas, através das quais ele produz as informações necessárias para a
tomada de decisão e controle das operações dentro da organização:

Entrada (input)
Coleta os dados dentro da organização ou do ambiente
externo para o processamento.
Processamento
Converte os dados coletados, colocando-os em uma forma
inteligível.

Saída (output)
Distribui as informações processadas para os usuários e
para outras atividades, ou armazena-os para futura
utilização.
Os Sistemas de Informação também necessitam de realimentação (feedback). A saída (output) retorna aos membros
da
organização para avaliação e correção dos dados coletados e processados.


Sistemas de informação

O desenvolvimento de Sistemas de informações evoluiu,ao longo do tempo, de Sistemas Tradicionais para Sistema de Banco
de Dados.
Sistemas tradicionais
Estes sistemas são baseados no uso de arquivos que, normalmente, são associados a um único sistema de aplicação, que
traz, por consequência, redundância de dados quando os mesmos dados se faziam necessários em outros sistemas.

A maioria das organizações desenvolve os seus Sistemas de Informação um por vez, à medida que se tornam necessários,
utilizando, cada um, o seu próprio conjunto de programas, arquivos e usuários.

A figura abaixo mostra a estrutura de um sistema baseado em arquivo. Com ela podemos notar que:

1. Cada aplicação possui seus próprios arquivos de dados;

2. Se uma aplicação compartilha dados com outras, estes têm que ser duplicados;

3. Qualquer alteração no modelo de dados resulta na mudança do código da aplicação.


Sistemas baseados em arquivo

O desenvolvimento de Sistemas de informações evoluiu,ao longo do tempo, de Sistemas


Tradicionais para Sistema de Banco
de Dados.

De acordo com Silberschatz, Korth e Sudarshan (2006), o esquema apresentado acaba acarretando em:
Redundância de dados Dependência entre Custo excessivo em
Duplicação dos mesmos dados em programas e dados software
dois ou mais arquivos. O problema Os aplicativos tradicionais de Custo resultante da criação,
da redundância é que as banco de dados de arquivos são documentação e
mudanças, ao serem feitas no caracterizados pela dependência acompanhamento de muitos
arquivo de uma aplicação, não são entre programas e dados, isto é, arquivos e aplicações
diferentes.
automaticamente realizadas nos programas e dados desenvolvidos
arquivos das
outras aplicações, e organizados para uma aplicação
gerando a falta de integridade dos são incompatíveis com os
dados. programas e dados organizados
para um outro aplicativo.

Características de um sistema de banco de dados


A abordagem de bancos de dados ao gerenciamento de dados surgiu por causa dos problemas associados à abordagem
tradicional do gerenciamento de dados como:

Redundância

Dificuldades de acesso

Integridade

Problemas de segurança

Um banco de dados é uma coleção de dados organizados de tal forma que possam ser acessados e utilizados por muitas
aplicações diferentes. Ou seja, em vez de armazenar dados em arquivos separados para utilização, os dados são
armazenados e organizados em um só local, permitindo compartilhamento e interrelacionamento por múltiplos usuários.

A fim de usar a abordagem de banco de dados para o gerenciamento de dados, foi necessário um software adicional
– um
sistema de gerenciamento de banco de dados (SGBD1).

Sistemas de banco de dados

A figura a seguir nos mostra a constituição de um Sistema de Banco de Dados:

Agora, veremos mais detalhes sobre cada elemento apresentado na imagem:


Clique nos
botões para ver as informações.

Sistema de banco de dados 

Sistema de informações, computadorizado, que possibilita o armazenamento, manuseio, alteração e


divulgação das
informações armazenadas. Essas informações se fazem representar por dados organizados e
formatados de maneira
que sejam conhecidos e utilizados pelos usuários.

Programas aplicativos e consultas 

Os programas são escritos em uma linguagem de front-end, possibilitando o acesso do usuário


informações contidas
no banco. Já as consultas representam as informações solicitadas pelo usuário ao banco
de dados.

Sistema Gerenciador de Banco de Dados


(SGBD) 

Coleção de programas que permite aos usuários criar e manipular uma base de dados. Um SGBD é,
assim, um sistema
de software de propósito geral, que facilita o processo de definir, construir e manipular
a base de dados de diversas
aplicações.

Software para processar


consultas/manipulação 

Módulo do SGBD responsável por determinar a forma de executar a consulta solicitada pelo
usuário, via aplicação.
Realiza a interpretação do comando (análise sintática, léxica e semântica) e elabora
o plano de execução do comando,
estabelecendo a forma de acessar fisicamente os dados.

Software para acessar dados


armazenados 

Módulo do SGBD responsável pelo controle do acesso físico aos dados.

Dados 

Conjunto de valores armazenados pelo banco de dados em seus arquivos.

Catálogo 

Local onde são armazenados os metadados, ou seja, informações referentes ao tipo e organização
dos dados do banco.
Definição de Banco de Dados
Um banco de dados é uma coleção de dados interrelacionados, representando informações sobre um domínio específico.
Estes dados são fatos que podem ser armazenados e têm significado implícito. Como exemplo podemos citar listas
telefônicas, o controle do acervo de uma biblioteca e o sistema de controle de recursos humanos de uma empresa.

Um banco de dados tem as seguintes propriedades implícitas:

Um banco de dados representa alguns dos aspectos do mundo real, algumas vezes chamado de
minimundo. As
1 mudanças neste minimundo são refletidas no banco de dados.

Um banco de dados é uma coleção lógica e coerente de dados com algum significado. Uma coleção
aleatória de dados
2 não pode, corretamente, referir-se a um banco de dados.

Um banco de dados é projetado, construído e povoado com dados para um propósito específico.
Ele tem um grupo de
3 usuários e algumas aplicações pré-concebidas nas quais estes usuários estão
interessados.
Características da abordagem de banco de dados
De acordo com Elmasri e Navathe (2011), existem quatro características. A Saber:

Autoinformação
Uma característica importante da abordagem de banco de dados é que o SGBD mantém, além dos dados, a forma
como os
eles são armazenados, contendo uma descrição completa do banco de dados.

Uma característica importante da abordagem de banco de dados é que o SGBD mantém, além dos dados, a forma
como os
eles são armazenados, contendo uma descrição completa do banco de dados.

Separação entre Programas e Dados


No processamento tradicional de arquivos, a estrutura dos dados está incorporada ao programa de acesso. Desta forma,
qualquer alteração na estrutura de arquivos implica na alteração no código-fonte de todos os programas. Já na abordagem
de banco de dados, a estrutura é alterada apenas no catálogo, não alterando os programas.
Abstração de Dados
O SGBD deve fornecer ao usuário uma “representação conceitual” dos dados, sem fornecer muitos detalhes de como as
informações são armazenadas. Um “modelo de dados” é uma abstração de dados empregada para fornecer esta
representação conceitual, utilizando conceitos lógicos como objetos, suas propriedades e seus relacionamentos. A estrutura
detalhada e a organização de cada arquivo são descritas no catálogo.

Múltiplas Visões de Dados


Como um conjunto de informações pode ser utilizada por um conjunto diferenciado de usuários, é importante que estes
usuários possam ter “visões” diferentes da base de dados. Uma “visão” é definida como um subconjunto de uma base de
dados, formando, deste modo, um conjunto “virtual” de informações.
São vantagens da utilização de Sistemas de Banco de Dados:

1 - Redução ou eliminação de
redundâncias
Possibilita a eliminação de dados privativos
de cada sistema. Os dados comuns a mais
de um sistema são compartilhados, sendo
mantida uma única informação a ser
consultada por vários sistemas.

2 - Eliminação de inconsistências
Ocorre através do armazenamento da
informação em um único local com acesso
descentralizado. A inconsistência acontece
quando um mesmo campo tem valores
distintos em sistemas diferentes. Exemplo: o
estado civil de uma pessoa é solteiro em um
sistema e casado em outro. Isto ocorre
porque o campo em um sistema foi
atualizado e, no outro, não. Quando o dado é
armazenado em um único local e
compartilhado pelos sistemas, este problema
não ocorre.

3 - Compartilhamento dos dados


Permite a utilização simultânea e segura de
um dado por mais de uma aplicação ou
usuário independentemente da operação que
esteja sendo realizada. Nesse caso, deve ser
observado o processo de atualização. Para
não gerar erros de processamento, é preciso
atualizar simultaneamente o mesmo campo
do mesmo registro. Os aplicativos são, por
natureza, multiusuários.

4 - Restrições de segurança
Definem, para cada usuário, o nível de acesso
(leitura, leitura e gravação ou sem acesso) ao
arquivo e ao campo. Este recurso impede que
pessoas não autorizadas utilizem ou
atualizem um determinado arquivo ou campo.
5 - Padronização dos dados
Permite que os campos armazenados na
base de dados sejam padronizados segundo
um determinado formato (padronização de
tabela, conteúdo de campo), seguindo
critérios padrões preestabelecidos pela
organização. Para o campo "Sexo", por
exemplo, somente será permitido
armazenamento dos conteúdos "M" ou "F".

6 - Independência dos dados


A independência dos dados2 dita que
recuperação das informações pelos
programas de aplicação deve ser totalmente
independente da maneira como os dados
estão fisicamente armazenados. Este
conhecimento do formato de armazenamento
do campo é totalmente transparente para o
usuário.

7 - Manutenção da integridade
Consiste em impedir que um determinado
código ou chave em uma tabela não tenha
correspondência em outra. Exemplo: Um
código de uma determinada disciplina na
tabela “Histórico Escolar” sem a sua
descrição na tabela “Disciplina”.

Arquitetura Três Esquemas


Para facilitar o desenvolvimento de sistemas e realçar as vantagens da utilização de Sistemas de Banco de Dados, foi criada
a Arquitetura Três Esquemas, cuja principal meta é separar as aplicações do usuário do banco de dados físico.

Arquitetura – 3 esquemas

Elmasri e Navathe (2011) destacam as funções de cada um dos três esquemas:


Esquema Interno Esquema Conceitual Esquema Externo
Descreve a estrutura de Descreve a estrutura do banco Descreve as visões do banco
armazenamento físico do de dados como um todo; de dados para um grupo de
banco de dados; usuários;
Apresenta uma descrição
Utiliza um modelo de dados; global do banco de dados, que Define, em cada visão, quais
não fornece detalhes do modo porções do banco de dados
Lista detalhadamente os como os dados estão um grupo de usuários terá
dados armazenados e os fisicamente armazenados. acesso.
caminhos de acesso ao banco
de dados.

Atenção! Aqui existe uma


videoaula, acesso pelo conteúdo online

Usuários de Banco de Dados


A implantação e a utilização de um SGBD envolvem uma gama de profissionais em diferentes níveis e especialidades dentro
de uma organização. De acordo com as bibliografias pesquisadas, foi possível localizar os seguintes profissionais e suas
atividades em um banco de dados:

Analista de sistema

Programadores de aplicação

Determina especificações dos usuários funcionais Implementam as especificações avaliadas pelo


na organização; analista de sistema produzindo programas escritos
na linguagem hospedeira (por exemplo, Cobol, PL/1,
Define parte do projeto lógico do sistema de acordo Pascal, C);
com a necessidade do seu negócio ou
departamento. Testam, depuram, documentam e mantêm estes
programas.

 
Testam, depuram, documentam e Administrador de banco de dados
mantêm estes programas.
Supervisiona e gerencia o compartilhamento de
Identifica os dados a serem armazenados no todos usuários na utilização do banco de dados;
banco de dados;
Autoriza o acesso ao banco de dados;
Escolhe estruturas apropriadas para representar e
armazenar tais dados; Coordenar e monitorar seu uso;

Obtém requisitos necessários dos futuros usuários Coordena o projeto global de banco de dados;

do banco de dados para que o projeto de banco


de
Desenvolve e mantém dos esquemas e
dados possa ser capaz de dar suporte a todos os
subesquemas;
níveis e departamentos da organização.

Desenvolve e mantém os dicionários de dados;

Implementa o SGBD.

Projeto de banco de dados


Projetar um banco de dados pode ser definido como modelar uma realidade, é criar  um modelo a partir da análise de uma
parcela do mundo real denominada minimundo, ou por reconstrução de um modelo já existente.

Ao realizarmos a modelagem, devemos executar um conjunto de atividades sucessivas, que podem se subdividir em outras
atividades mais simples, até atingimos o nível de atividades elementares. 

O que é necessário para executar as atividades?


Insumos
Os insumos servem de matéria-prima para a geração de
produtos. Normalmente, os insumos de uma atividade são
o produto da atividade anterior, ou seja, uma atividade A
produz os insumos da atividade B que a sucede. A
sucessão de atividades organizada de forma lógica e
sequencial formam a metodologia.

Técnica
Outro componente da modelagem é a técnica, que nada
mais é do que a forma como os insumos são
transformados em produtos no âmbito da atividade.
Ferramentas
Para aplicar a técnica, necessitamos de ferramentas, que
são os instrumentos utilizados para transformar os
insumos em produtos. No nosso caso específico, são
denominadas Ferramentas de Modelagem.

Em resumo, poderíamos resumir os componentes de modelagem da seguinte forma:

Metodologia
Conjunto de atividades para produzir o modelo.


Técnica
Como cada atividade é executada.


Ferramenta
Instrumento utilizada para executar a atividade.
Veja uma representação gráfica da modelagem:


Modelagem de dados

Modelos
Temos aqui duas acepções para o termo modelo:
Ferramenta de modelagem Produto final da atividade de modelagem

Observe na figura anterior a seta amarela, pois ela Como produto final que são representam graficamente,
representa as técnicas utilizadas na modelagem e o na maioria das vezes, o minimundo. Repare na figura
conjunto de suas ferramentas, que visam definir as anterior o Modelo 1 e o Modelo n. Repare também que,
estruturas de armazenamento de dados necessárias a partir do minimundo (insumo), foi gerado Modelo 1
para o atendimento das necessidades dos sistemas. (produto) e que, a partir de Modelo 1 (insumo), foi
realizada uma nova atividade de modelagem e gerado
o Modelo n (produto).

Mundo real
Na busca pela compreensão do mundo que o cerca, o homem produz modelos do mundo real, visando a sua formalização.

Ao construirmos um DER ou ao escrevermos um texto descritivo de uma realidade, estamos formalizando no papel a
situação que examinamos e da qual, ao abstrairmos detalhes irrelevantes, criamos conceitos que irão estabelecer modelos
que servirão sucessivamente de insumos para a criação de modelos cada vez mais complexos.

Podemos, dessa forma, compreender o conjunto de modelos que criamos a partir de parcelas do mundo real ou a partir de
outros modelos, que compõem o conhecimento humano.
A transformação da realidade observada em algo que possa ser processado em um computador é um grande desafio.

Para fazer essa transformação, temos o projeto de banco de dados, que é a metodologia utilizada para criar o esquema de
um ou mais bancos de dados que irão armazenar os valores (instância) necessários ao funcionamento dos sistemas de uma
organização.


Atividade de modelagem
Objetivo do projeto de banco de dados
A atividade de projetar um banco de dados é complexa devido aos seguintes fatores:

Nebulosidade existente no minimundo;

Dificuldade de entendimento das características dos objetos do minimundo;

Necessidade de utilização eficiente das ferramentas de modelagem;

Necessidade de atendimento de todos os requisitos de informação;

Dificuldade inerentes ao gerenciamento de projetos de TI.

Visando minimizar a complexidade, é possível utilizar a estratégia


de
particionamento, ou seja, dividir o projeto de Banco de Dados em
fases sucessivas.

Para isso, pode ser necessário responder às seguintes perguntas:

 
Quais são as partes (atividades do
Como elas se relacionam?
processo)?


Quais são seus produtos?
Criação de um modelo abstrato do minimundo

Este modelo deve ser elaborado independentemente de


qualquer tecnologia da Informação. Ela visa formalizar a
realidade a ser modelada de graficamente e com o maior
rigor matemático possível.

Criação de um modelo processável

A partir do modelo abstrato, criamos um modelo que possa


ser implementado em um meio computacional.

Como a criação do modelo processável ainda é inerentemente complexa, vamos subdividi-la em duas fases:
Clique nos
botões para ver as informações.
Criação de um modelo implementável 

A partir do modelo abstrato, criamos um modelo que pode ser implementado em uma classe de tecnologia da
informação de banco de dados (orientado a objetos, banco relacional, banco objeto relacional, noSQL).
Criação de um modelo processável 

A partir do modelo implementável, criamos um modelo que possa ser colocado em produção em uma implementação
da tecnologia de banco de dados específica (SGBD, PostgreSQL), rodando em Windows Server constituindo um Servidor
de Banco de Dados para até 64 usuários acessando o Banco de Dados de forma não simultânea.

Atenção! Aqui existe uma


videoaula, acesso pelo conteúdo online
Fases e ferramentas do projeto de banco de dados
As três etapas descritas anteriormente dão origem à metodologia do projeto de banco de dados, que se divide em:

Projeto conceitual de banco de dados - Quando o DER é utilizado, construímos um modelo da


realidade dissociado de
1 qualquer Tecnologia da Informação.

Projeto lógico de banco de dados - Quando um modelo de dados (Relacional, Orientado a Objetos, Documentos etc.) é
2 utilizado, criamos um esquema de armazenamento para os dados.

Projeto físico de banco de dados - Quando uma linguagem de acesso a um


determinado SGBD
é utilizada, escrevemos
3 os comandos que irão criar o banco e as estruturas de armazenamento.

Na figura seguinte, são expostas as fases do projeto de banco de dados e as ferramentas a serem utilizadas em cada uma
delas:


Fases do projeto de banco de dados

Atenção! Aqui existe uma


videoaula, acesso pelo conteúdo online
Ferramentas CASE
A Engenharia de Software Auxiliada por Computador, do inglês CASE (Computer-Aided Software Engineering), visa dar
suporte ao desenvolvedor, fornecendo serviços de apoio, contribuindo para o aumento da produtividade e para a
melhoria da
qualidade do sistema criado.

Existe no mercado grande quantidade de ferramentas que fornecem diferentes serviços. A grande maioria possui em
comum
a possibilidade de fazer a modelagem de forma visual, gerando os modelos de forma gráfica.

As ferramentas CASE utilizadas em modelagem de dados permitem realizar a diagramação do modelo conceitual, gerar o
modelo lógico e, normalmente, gerar o script SQL para a criação do banco de dados no SGBD.

Ferramentas profissionais permitem ainda fazer a engenharia reversa do banco, ou seja, acessar o banco no SGBD e
criar o
modelo lógico e o modelo conceitual a partir do banco criado fisicamente.

 (Fonte: Shutterstock).

Atividades
1. Dentro da estrutura de um sistema de banco de dados, onde a autoinformação é materializada?

2. Quem é o usuário de banco de dados que gerencia o SGBD? Explique sua função.

3. Os desenvolvedores de aplicações que usam o banco de dados atuam em que


esquema?

Notas

SGBD1

Grupo de programas que pode ser usado como uma interface entre o banco de dados e um usuário, ou
entre um banco
de
dados e um programa aplicativo.
Independência dos dados2

A independência dos dados permite que:

Os programas de aplicação definam apenas os campos que serão utilizados, independentemente da


estrutura interna
dos arquivos;

Ao incluir novos campos no arquivo, a manutenção seja feita apenas nos programas que utilizam
esses campos, não
sendo necessário alterar os demais programas. Observação: Nos sistemas tradicionais, este tipo
de operação requer
a
alteração no layout de todos os programas do sistema que utilizam o arquivo.

Referências

DATE, C. J. Introdução a sistemas de banco de dados. 7. ed. Rio de Janeiro: Campus, 2000. 

ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6. ed. São Paulo: Pearson Addison Wesley, 2011. 

SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistemas de banco de dados. 5. ed. Rio de Janeiro: Campus, 2006.

Próxima aula

Modelo Relacional.

Explore mais

Leia os textos:

A história dos bancos de


dados;.

O que são metadados..

Assista ao vídeo:

História do SQL Server..

Você também pode gostar