Você está na página 1de 10

06/10/20

Modelação e Bases de Dados

Introdução a Base de
Dados
Valéria Pequeno

História dos Dados


• O ser humano sempre procurou registar os acontecimentos de
sua vida

pedras para
contar

Desenhos e símbolos

Sistema de Numeração

História dos Dados

• O papel é, e sempre foi, o meio mais usual para


armazenamento dos dados
• Problema: grandes volumes são difíceis de manter
e de manusear
• Ficheiros em papel passaram a ser guardados eletronicamente

1
06/10/20

Conceitos Básicos
• Dado:
• É um facto qualquer do mundo real armazenado

• Exemplo:

• João

• MBD

• Engenharia

• 22

• Lisboa

Conceitos Básicos
• Informação:
• Significado dos dados
• Facto que pode ser extraído a partir dos dados
• Exemplo:

• João

• MBD

• Engenharia

• 22

• Lisboa

Conceitos Bá sicos


• Base de dados:
• Coleção de dados inter-relacionados, os quais representam
informações sobre um domínio específico
• Exemplo:
Produtos comercializados Dados dos funcionários
Acervo de um biblioteca
em uma loja de uma empresa

• Sistemas de bases de dados:


Pessoas

Software SBD Hardware

Dados

2
06/10/20

Conceitos Básicos
• Sistema de Gestão de Bases de Dados:

• É um software projetado para dar suporte a manutenção e acesso

a grandes coleções de dados inter-relacionados

• “Um SGBD é um sistema de software de propósito geral que

facilita o processo de definição, construção, manipulação e

partilha da base de dados”


(E. Navathe)

Conceitos Básicos
• ObjeEvo principal de um SGBD:
• Prover um ambiente adequado e eficiente para recuperar e
armazenar informações das bases de dados
• Exemplos de SGBDs relacionais:

Oracle

Postgres SQL Server

SGBD

IBM DB2 MySQL

Conceitos Básicos
• Sistema de Processamento de Ficheiros:
• Dados são guardados em ficheiros
• Necessitamos criar aplicações específicas se desejarmos aceder a
informação conYda nestes ficheiros de modo mais eficiente
• Processadores de texto:
• guarda informções através de documentos
• DiZcil encontrar novas informações a parYr dos dados
armazenados neste formato
• Exemplo: Word, Notepad, etc.

• Folhas de cálculo: Muito usado


• guarda dados em tabelas nas empresas
• Novas informações podem ser facilmente extraídas usando
fórmulas (funções) e organizadas através de gráficos
• Exemplo: Excel, Lotus, etc.

3
06/10/20

Qual o melhor
sítio para
guardar os
dados?

Depende da
quantidade de dados
envolvida e de sua
finalidade

Fonte: R. Ramakrishnanm 3rd ed., cap.1

10

Qual o melhor sítio para guardar os dados?

Vejamos um Cenário ...


• A Empresa XPTO possui 500 Gb de dados sobre empregados,
departamentos, produtos, etc.
• Dados são acessados simultaneamente por pessoas diferentes
• Questões sobre os dados devem ser respondidas rapidamente
• Dados podem ser alterados ao mesmo tempo por diferentes
empregados e estas alterações devem ser guardadas de modo
consistente
• Acesso a certas partes dos dados (p.e. salários) deve ser
restrito a alguns empregados apenas
Fonte: R. Ramakrishnanm 3rd ed., cap.1

11

Qual o melhor sítio para guardar os dados?

Vejamos um Cenário ...


• Solução 1: dados são guardados em um sistema de
processamento de ficheiros
• Problemas:
1. Redundância e inconsistência dos dados
• Normalmente não temos disponível 500 Gb de memória para conter
todos os dados na memória principal, assim:
• Dados devem ser colocados em vários ficheiros e guardados no disco para
poderem ser acedidos
• Provavelmente existirão dados duplicados nos vários ficheiros para que
informações mais intimamente relacionadas possam ser acedidas a partir
de um mesmo ficheiro
• Dados redundantes podem levar a inconsistência dos dados, pois os
dados atualizados em um ficheiro pode estar desatualizado noutro
ficheiro

Fonte: R. Ramakrishnanm 3rd ed., cap.1

12

4
06/10/20

Qual o melhor sítio para guardar os dados?

Vejamos um Cenário ...


• Solução 1: dados são guardados em um sistema de
processamento de ficheiros
• Problemas (continuação):
2. Temos que desenvolver programas para fazer as alterações
nos dados de modo consistente
• Programas devem proteger os dados de alterações que possam
tornar os dados inconsistentes devido, por exemplo, a duplicação
dos dados em vários ficheiros
• Devemos garantir que os dados ficarão consistentes mesmo se
houver uma falha durante um processo de atualização dos dados
3. Dificuldade de acesso aos dados:
• Pode ser necessário criar programas especiais para responder a
questões que um utilizador possa fazer sobre os dados
• Estes programas podem ser complexos dada a grande quantidade de
dados que devem ser examinadas

Fonte: R. Ramakrishnanm 3rd ed., cap.1

13

Qual o melhor síYo para guardar os dados?

Vejamos um Cenário ...


• Solução 1: dados são guardados em um sistema de
processamento de ficheiros
• Problemas (continuação):
4. Problema de segurança:
• Sistemas operativos fornecem apenas um mecanismo de palavra-
chave para segurança
• Isto não é suficientemente flexível para conceder permissões aos
utilizadores consoante a sua função na empresa
5. Isolamento dos dados:
• Dados em vários ficheiros podem estar em formatos diferentes e
estruturas diferentes
• Torna-se difícil aceder os dados de outro sistema
• Ex. O Programa da CUF não lê ficheiros do programa do SNS

Fonte: R. Ramakrishnanm 3rd ed., cap.1

14

Qual o melhor sítio para guardar os dados?

Vejamos um Cenário ...


• Solução 1: dados são guardados em um sistema de
processamento de ficheiros
• Problemas (conEnuação):
6. Anomalias de acesso concorrente:
• É necessário desenvolver um mecanismo para impedir ou controlar a
manipulação de um mesmo dado por mais de uma pessoa no
mesmo momento a fim de evitar inconsistências nos dados
• Exemplo: Venda de um mesmo produto por dois vendedores
simultaneamente
7. Problemas de integridade:
• Muitas vezes é preciso saYsfazer algumas regras de negócio ou
restrições dos dados
• Exemplo: salário não pode ser negaYvo
Fonte: R. Ramakrishnanm 3rd ed., cap.1

15

5
06/10/20

Qual o melhor sítio para guardar os dados?

Vejamos um Cená rio ...


• Solução 2: dados são guardados em um sistema de gestão de
bases de dados
• Vantagens:
1. Independência de dados face as aplicações
• aplicações não necessitam saber detalhes do armazenamento dos
dados
2. Mecanismos automáticos de gestão da BD:
• Aplicação de regras de integridade
• Controlo de acessos concorrentes
• Recuperação de falhas
• Acesso eficiente aos dados
Fonte: R. Ramakrishnanm 3rd ed., cap.1

16

Qual o melhor sítio para guardar os dados?

Vejamos um Cenário ...


• Solução 2: dados são guardados em um sistema de gestão de bases
de dados
• Vantagens (continuação):
3. Suportam grandes quantidades de dados
4. Possuem uma linguagem declarativa para criar, alterar e consultar
os dados
5. Possuem mecanismos para garantir a segurança dos dados
• Atribuição/remoção de privilégios de acesso aos dados
• Controlo de acesso flexível, consoante o tipo de utilizador

6. Partilha dos dados e controle de redundância


• Várias aplicações podem partilhar os mesmos dados, com as vantagens
de eliminação de redundância, reforço de coerência e integridade

Fonte: R. Ramakrishnanm 3rd ed., cap.1

17

Qual o melhor sítio para guardar os dados?

Vejamos um Cená rio ...


• Solução 2: dados são guardados em um sistema de gestão de
bases de dados
• Vantagens (continuação):
7. Diminuição do tempo de desenvolvimento de aplicações:
• Programador não precisa tomar decisões relativas a forma de
armazenamento e acesso dos dados
• Decisões de mais baixo nível ficam a cargo do SGBD, permitindo que
o programador concentre-se no essencial para a aplicação e lógica
do negócio

8. Fornece múltiplas interfaces para os utilizadores (GUIs)

Fonte: R. Ramakrishnanm 3rd ed., cap.1

18

6
06/10/20

Qual o melhor sítio para


guardar oss dados?
çõe
era SGBD da
op do
s
se
do ns
da sage
en
m
BD
UYlizador/
Aplicações
• SGBD:
1. O utilizador emite uma solicitação de acesso
2. O SGBD intercepta a solicitação, analisa, verifica o modo mais
eficiente de responder o pedido
3. O SGBD realiza as operações solicitadas na BD e envia o resultado
para o utilizador

19

Por que usar SGBDs?

Sistemas de processamento de ficheiros BD

Utilizador/
Aplicações
• Sistema de Processamento de Ficheiros
1. O uYlizador/aplicação acessa diretamente a BD
• Segurança dos dados, acesso eficiente, recuperação de falhas etc.
devem ser garanYdas pela aplicação que acessa os dados
• Tanto uYlizador como as aplicações devem ter um conhecimento
detalhado de como os dados estão armazenados

20

Quando não usar SGBDs?


• Um SGBD é um software complexo, otimizado para lidar com
determinado tipo de dados/cenário e seu desempenho pode
não ser adequado para aplicações mais específicas

• Custos iniciais são muito elevados


• Investimentos em hardware, software e formação

• O custo do software pode ser reduzido se usar SGBDs:

• Open source: MySQL, PostgreSQL, etc.


• Versões gratuitas: Oracle Express, SQL Server Express, etc.

• O Acesso de múltiplos utilizadores aos dados não é necessário

25

7
06/10/20

Quando não usar SGBDs?


• Base de dados muito simples, sem previsão de mudanças e
bem definida
• um simples ficheiro pode ser suficiente para armazenar os dados

• SGBDs não garantem a execução das consultas dentro de um


tempo fixo
• Há requisitos de tempo-real difíceis de serem atendidos pelo

SGBD por causa da sobrecarga

• Quando é requerida funções específicas, não suportadas pela


linguagem de consulta, para tratar os dados

26

Exemplos de Aplicaçõ es
• Um Sistema de Base de Dados pode ser aplicado em diversos
setores e situações de um ambiente corporaEvo ou pessoal
• Aplicações clássicas de bases de dados podem ser
encontradas, por exemplo, em:
• Faturação
• Gestão de clientes, fornecedores, produtos, etc.
• Gestão financeira pessoal
• Etc.
• Em suma:

“em domínios bem conhecidos e onde a informação tem uma


estrutura quase rígida”
(F. Gouveia)

29

Exemplos de Aplicações
• Bases de dados também estão presentes em domínios os
quais possuem restrições específicas ou modelos de dados
diferentes do relacional

• Exemplo:
• Aplicações financeiras em tempo real

• Aplicações espaciais

• Aplicações analíticas com grandes volumes de dados (data


warehouse)

• Etc.

30

8
06/10/20

https://kahoot.it/v2/
Ou use a aplicação no telemóvel

31

Exercı́cio – DesaLio I
1. Scrooge McNugget quer armazenar informações (nome,
endereço, etc.) sobre os muitos empregados que tem em sua
folha de pagamento. Não surpreendentemente, o volume de
dados o obriga a comprar um sistema de base de dados. Para
economizar dinheiro, ele quer comprar um com o menor número
de recursos possíveis, e ele planeja executá-lo como uma
aplicação autônoma em seu PC. Claro, Scrooge não planeia
partilhar seus dados com ninguém. Indique quais das seguintes
características de um SGBD Scrooge deve adquirir; em cada caso
também indique porque Scrooge deve (ou não) pagar por esta
característica no sistema que ele comprar.
a) Recursos de segurança
b) Controle de concorrência
c) Recuperação de falhas
d) Mecanismo de vista
e) Uma linguagem de consulta
Fonte: Database Management Systems, 3rd Ed., R. Ramakrishnan (cap. 1)

33

Exercício - Desafio II
1. Suponha que você deseja desenvolver um site de vídeo
similar ao YouTube
1. Considere cada uma das desvantagens apontadas quando
guardamos dados no sistema de processamento de ficheiros
2. Discuta a relevância de cada uma dessas desvantagens para os
dados que queremos guardar no site (dados sobre o vídeo tais
como título, quem fez o upload, utilizadores que viram o vídeo,
etc.).

Preferencialmente façam esse exercício em pares!

Fonte: Database System Concepts, 6th Ed. A.Silberschatz, H. Korth, S. Sudarshan, cap 1

39

9
06/10/20

BibliograLia
• Fundamentos de Bases de Dados, cap 1.
• Feliz Gouveia, FCA
• Fundamentals of Database Systems, 6th Ed., cap 1.
• Elmasri, Navathe, Addison-Wesley
• Database System Concepts, 6th Ed, cap 1.
• Abraham Silberschatz
• Henry F. Korth
• S. Sudarshan - McGraw-Hill
• Database Management Systems, 3rd Ed, cap 1.
• R. Ramakrisnan

43

10

Você também pode gostar