Você está na página 1de 50

Banco de Dados I

Técnico em Desenvolvimento de Sistema


(1DS)

Aula 1
Aula 1
Bancos de Dados I

Conceitos Fundamentais em
Sistemas de Bancos de Dados
e suas Aplicações
Introdução
• O conceito de Banco de Dados (BD) está muito
presente em nosso dia-a-dia e faz parte de nossa
vida.
• Banco de Dados desempenha um papel crítico em
muitas áreas onde computadores são utilizados, está
presente em muitas áreas diferentes.
• Há uma grande necessidade em se realizar o
armazenamento de informações que não se
encontram isoladas umas das outras.
Introdução
• Além de uma forma adequada para definir o
armazenamento destas informações os usuários desejam
realizar o gerenciamento dos dados.
• Uma solução para este problema foi apresentada com o
advento da tecnologia em Banco de Dados.
Dado X Informação
• Dado: algo conhecido, informado, mas sem tratamento
sistêmico (a nível de sistema), ou seja, o DADO precisa
de um processamento básico para se transformar em
INFORMAÇÃO;
• INFORMAÇÃO é o DADO processado.
– Ex. Programa para fazer a soma de dois número X e Y. Os
números são os dados e o resultado é a informação que se
deseja saber.
Definição de Banco de Dados
• No geral, um banco de dados é um conjunto de informações
relacionadas entre si, sobre um determinado assunto ou
entidade, armazenado por meio magnético.
• A principal finalidade da criação de um BD é o
armazenamento organizado das informações, visando à
otimização dos sistemas e facilitando entrada de dados,
alterações, consultas, geração de formulários e relatórios,
bem como o uso adequado dessas informações.
• Para haver um BD necessitamos armazenar e trabalhar com
dados ou com informações armazenadas nesse BD.
Sistema de Banco de dados
• É um sistema de manutenção de registros por
computador, envolvendo quatro componentes
principais:
– Dados
– Hardware
– Software
– Usuários
Objetivo
• O grande objetivo de um sistema de BD é oferecer uma visão
“abstrata” dos dados aos usuários.
• Prover independência de dados às aplicações (estrutura física de
armazenamento e à estratégia de acesso).

Representação
Mundo real em computadores
Modelo
Abstração de Dados
• O conceito de abstração está associado à
característica de se observar somente os aspectos
de interesse, sem se preocupar com maiores
detalhes envolvidos;
• No contexto de abstração de dados um BD pode
ser visto sem se considerar a forma como os
dados estão armazenados fisicamente.
Abstração de Dados
• Nós temos 3 níveis de abstração de dados:
– Nível Físico: Descreve como os dados estão
armazenados.
– Nível Conceitual: Descreve quais dados estão
armazenados de fato no banco de dados e as relações
que existem entre eles;
– Nível de visões: É definido para simplificar a interação
com o sistema e pode fornecer muitas visões para o
mesmo banco de dados.
Processamento sem BD
• Os dados de diferentes aplicação não estão
integrados;
• Os dados estão projetados para anteder uma
aplicação específica;
• O mesmo objeto da realidade é a múltiplas vezes que
é representado nas várias aplicações;
• Redundância não controla os dados;
Processamento sem BD
Processamento com BD
• As informações são armazenadas em uma única vez;
• Podem ocorrer eventuais redundâncias controladas
pelos sistemas, porém invisíveis para o usuário;
Processamento com BD
Sistemas de Arquivos
• A principal característica é a replicação e
isolamento dos dados;
• Aplicações eram escritas para um determinado
arquivo;
• Demora para procurar determinados dados;
• Arquivos possuíam formatos diferentes.
• Sexo – M ou F e Sexo 0 e 1
• Nome CHAR (50) e Nome CHAR (40)
Sistemas Gerenciadores de BD(SGBD)
• Um Sistema Gerenciador de Banco de Dados é
um conjunto de programas que permite
armazenar, modificar e extrair informações de um
BD.
• O SGBD é um software de propósito geral,
que facilita o processo de definição, construção
e manipulação de um BD.
SGBD
• Definição BD – Envolve especificar estruturas e
tipos de dados para serem gravados no BD, com
uma descrição detalhada de cada tipo de dado;
• Construção BD – é o processo de consistir e
gravar inicialmente dados no BD;
• Manipulação BD – inclui funções como consulta
por dados específicos e atualização para refletir
as alterações no mundo real.
Objetivo do SGBD
• Prover um ambiente que seja conveniente e eficiente
para recuperar e armazenar informações de BD.
• Eliminar ou reduzir
– Redundância e inconsistência de dados
– Dificuldade no acesso aos dados
– Isolamento do dados
– Anomalias de acessos concorrente
– Problemas de segurança
• Abstração de dados – Simplificar a interação do
usuário com o Sistema
Funções de um SGBD
• Inserir, excluir, acessar, visualizar, selecionar, ordenar, juntar
ou intercalar registros;
• Copiar e eliminar arquivos;
• Alterar estruturas de campos;
• Inserir, remover e estabelecer relações entre tabelas;
• Importar ou exportar dados entre outras bases de dados;
• Criar chaves primárias e externas (estrangeiras);
• Realizar consultas, elaborar formulários e relatórios na base
de dados;
• Criar usuários, com permissões de acesso diferenciados.
Características de um bom SGBD
• Controle sobre redundância
– Espaço para armazenamento
– Duplicação de esforços
– Inconsistência na base de dados
• Compartilhamento de dados
– Se diversos usuários tem aplicações integradas no BD,
precisa-se de um software de controle de concorrência
para a atualização do BD
– Facilidade na definição da visão do usuário, especificando
uma porção do BD que tem interesse particular de um
grupo de usuários
Características de um bom SGBD
• Restrição de acesso não autorizado
– Possui um sistema de segurança garantindo o acesso
específico a cada usuário (personalizado para grupos ou
individual)
• Segurança no acesso ao BD
• Permissão de operação no BD
• Proteção de contas pessoais (ou grupo) por senhas
• Constante preocupação do DBA e identificação dos perfis
elaborados pelo Analista e o Projetista
– Segurança no uso do próprio SGBD como nas criações de
novas contas
Características de um bom SGBD
• Fornecimento de múltiplas interfaces
– Diversos níveis de conhecimento entre os usuários,
onde o BD deve oferecer vários tipos de acesso aos
dados
• Linguagem para consulta de usuários casuais
• Linguagem de programação para programador de
aplicações
• Formulários e menus para acesso de outros usuários
Características de um bom SGBD
• Forçar restrições de integridade
– São regras associadas aos dados
• Identificação do tipo de dado (mais simples restrição)
• Unicidade de um dado
• Impossibilidade do dado não ser informado (ser nulo)
• Relacionamento entre os dados armazenados
– Dificultar o erro, mas ele ainda pode acontecer
– Alguns SGBD facilitam a definição de novos tipos de
dados em adição aos tipos básicos (ou escalares)
Características de um bom SGBD
• Tempo de desenvolvimento reduzido – projetar e
implementar uma nova aplicação é mais rápido
em um BD existente do que se ele não existisse
ou fosse feito sobre a abordagem tradicional de
arquivos
• Disponibilidade de informação atualizada – torna
o BD disponível para todos os usuários (que
tenham permissão de acesso) devido ao controle
de concorrência e recuperação do SGBD
Características de um bom SGBD
• Sistema de backup e Recovery
– Facilidade e controle do BD no caso de falha do hardware
ou do software chegando a fazer uma recuperação da
situação anteriormente encontrada
• Vantagens adicionais na abordagem de BD
– Desenvolvimento de padrões – permite ao DBA definir e
forçar padrões (nomes, formatos, terminologias, etc)
facilitando a comunicação e cooperação entre os setores,
projetos e usuários dentro da organização
– Flexibilidade – algumas alterações na estrutura do BD não
afetam “muito” os programas de aplicações existentes
Principais atributos do SGBD
• Não contém somente os dados de conteúdos
armazenados, ele também armazena definições e
descrições sobre a estrutura que forma o BD;
• O catálogo do sistema (metadados) contém
definições da estrutura de cada arquivo, o tipo e
formato de armazenamento de cada item de
dados, e várias restrições dos dados;
• Este catálogo é usado pelo SGBD e
ocasionalmente por algum usuário do BD.
Arquitetura de SGBD
Arquitetura de SGBD
Usuários Prog. De aplicações Especialistas ABD
Interfaces programa Esquema
Consultas
do aplicat. do aplicat. de BD
Externo

SGBD
Pré-compilador Processador de
DML consultas
Código objeto
da aplicação
Compilador de
Gerenciador de DDL
Conceitual BD

Gerenciador de
Físico/ interno arquivos Arquivos de Dicionário de
dados dados
Disco de armazenamento

29
Arquitetura SGBD – Nível Físico
• Gerenciador de arquivos: gerencia a alocação de
espaço de armazenamento em disco e estrutura de
dados usadas para representar informação em disco.
• Arquivos de dados: armazena os dados
propriamente ditos.
• Dicionário de dados: armazena as informações sobre
as estrutura de dados
• Índices: facilitam a localização e o acesso aos dados
Arquitetura SGBD – Nível Conceitual
• Gerenciador de BD: faz a interface dos dados armazenados no
BD e os programas de aplicação e consultas submetidas ao
sistema.
• Processador de consultas: traduz uma linguagem de consulta
para instruções de baixo nível que o gerenciador de BD
entenda.
• Pré-compilador DML (Data Manipulation Language): converte
comandos DML dos programas de aplicação para rotinas em
linguagem de máquina.
• Compilador DDL (Data Definition Language): converte
comandos DDL para tabelas armazenadas no dicionário de
dados.
Arquitetura SGBD – Nível externo
• O mais alto nível de abstração descreve
apenas parte do Banco.
• Usuários do sistemas do Banco de Dados
não estarão interessados em todas as
informação.
• Simplificar a interação com o sistema.
Arquitetura de SGBD
Arquiteturas de Hardware/Software

Modelos de Plataformas para Banco de Dados:


- Centralizada
- Mono-Usuário
- Cliente/Servidor
- Distribuídos
Arquitetura Centralizada
Arquitetura Centralizada
- Na arquitetura centralizada, existe um computador
com grande capacidade de processamento, o qual é
o hospedeiro do SGBD e emuladores para os vários
aplicativos.
- Esta arquitetura tem como principal vantagem a de
permitir que muitos usuários manipulem grande
volume de dados, geralmente através de terminais
“burros”.
- Sua principal desvantagem está no seu alto custo,
pois exige ambiente especial para mainframes e
soluções centralizadas.
Arquitetura Mono-Usuário
Arquitetura Monousuário
- O banco de dados encontra-se no mesmo
computador em que são executadas as aplicações.
- Não há múltiplos usuários.
- Típicos de computadores pessoais (PC), onde os
usuários trabalham em sistema stand-alone, ou
seja, fazem seus processamentos sozinhos.
- Eles utilizam o padrão Xbase e quando se trata de
SGBDs, funcionam como hospedeiros e terminais.
- Desta maneira, possuem um único aplicativo a ser
executado na máquina. A principal vantagem desta
arquitetura é a simplicidade.
Arquitetura Cliente/ Servidor
Arquitetura Cliente/ Servidor
• O cliente executa as tarefas do aplicativo, ou seja,
fornece a interface do usuário.
• O servidor executa as consultas no BD e retorna os
resultados ao cliente.
• Apesar de ser uma arquitetura bastante popular, são
necessárias soluções sofisticadas de software que
possibilitem: o tratamento e as confirmações das
transações e desfaze-las , linguagens de consultas e
gatilhos.
• A principal vantagem desta arquitetura é a divisão do
processamento entre dois sistemas, o que reduz o
tráfego de dados na rede.
Arquitetura BD Distribuídos
Arquitetura BD Distribuídos
• Nesta arquitetura, a informação está distribuída
em diversos servidores.
• Exemplos típicos são as bases de dados
corporativas, em que o volume de informação é
muito grande e, por isso, deve ser distribuído em
diversos servidores.
• A característica básica é a existência de diversos
programas aplicativos consultando a rede para
acessar os dados necessários, porém, sem o
conhecimento explícito de quais servidores
dispõem desses dados.
Evolução do SGBD

43
Exemplos de SGBD
• Oracle
• MySQL
• Maria DB
• SQL Server
• PostgreeSQL
• DB2
• MongoDB
• Cassandra
Classificação de um SGBD
• Modelo de dados
– Rede, hierárquico, Relacional, Orientado a objetos, objeto-relacional
• Número de usuários
– Monousuário, multiusuário
• Números de Servidores (Localização da BD)
– Centralizado
– Distribuído
• Uso
– Geral
– Específico
• Custo
– Opensource (gratuito)
– Proprietário
Classificação de um SGBD
Quando não usar um SGBD
• Apresentar um custo desnecessário a abordagem
tradicional de arquivos, está é a principal
desvantagem do SGBD
• Alto investimento inicial com software e hardware
• Aplicações de tempo real com um overhead de
segurança, controle de concorrência, recuperação e
funções de integridade
• BD simples com aplicações bem definidas, não se
esperando muitas alterações
• Os múltiplos acessos não são necessários
Profissionais envolvidas com um BD
• Em um pequeno banco de dados com muitos usuários e com
restrições de acesso podem-se indicar alguns perfis de
pessoas que interagem com o BD.
• Administrador do BD - DBA – Parte física
• Administrador de Dados – AD – Parte lógica
• Projetista do BD - constrói parte do modelo da BD
• Analista de Sistemas - Define e projeta aplicações sobre a BD
• Programador de Aplicações - Constrói aplicações
• Usuário (final) – Acesso indireto aos dados através das
aplicações.
Exercícios para fixação de conceitos
1) Como é o processo de um sistema sem BD? E com BD?
2) Qual é a proposta de um SGBD?

3) Quais são as principais características do SGBD?

4) Como é classificado o SGBD?

5) Quais são as arquiteturas de Hardware x Software de um SGBD?

6) Quando não usar um SGBD?


7) O que é um sistema de banco de dados? Quais são os seus componentes?

8) Qual é a média salarial e a demanda de empregos na nossa região e região de


Campinas e SP na área de BD?
9) Quais são as etapas de um projeto de Banco de Dados?

Você também pode gostar