Este documento fornece uma introdução às bases de dados, abordando conceitos como:
1) O que é uma base de dados e para que serve;
2) Definição de SGBD e exemplos de aplicações;
3) Vantagens e desvantagens dos SGBDs em relação a sistemas de ficheiros.
1. TIC M2 – Gestão de Base de Dados
Noções Básicas de Base de Dados
Disciplina: TIC
Módulo 2 - Gestão de Base de Dados
Prof. Paulo Reis
Curso Profissional de TGPSI
1
2. BBBBaaaasssseeee ddddeeee ddddaaaaddddoooossss
• O que é uma base de dados?
Uma base de dados é uma ferramenta
concebida para a recolha e organização de
informações.
• Para que serve?
Serve para gerir vastos conjuntos de
informação de modo a facilitar a
organização, manutenção e pesquisa de
dados.
• Onde são utilizadas?
Lojas online, Bibliotecas, eGovernment,
Stocks, Escolas, GIS, Marketing, …
2
3. 3
DDDDeeeeffffiiiinnnniiiiççççããããoooo ddddeeee SSSSGGGGBBBBDDDD
• Um Sistema de Gestão de Base de Dados é um
sistema que permite armazenar dados de forma
organizada independentemente da aplicação que os
gere, guardada fisicamente em forma de ficheiros.
4. Exemplos EEExxxeeemmmppplllooosss ddddeeee aaaapppplllliiiiccccaaaaççççããããoooo
• Banca: todas as transações e
movimentos
• Companhias aéreas: reservas, horários
• Universidades: inscrições, notas
• Vendas: clientes, produtos, compras
• Indústria: produção, inventário, pedidos,
cadeia de fornecimento
• Recursos humanos: registos dos
empregados, salários, impostos
• ...
4
5. DDDDoooossss ffffiiiicccchhhheeeeiiiirrrroooossss ddddeeee ddddaaaaddddoooossss aaaaoooossss ssssiiiisssstttteeeemmmmaaaassss ddddeeee
ggggeeeessssttttããããoooo ddddeeee bbbbaaaasssseeeessss ddddeeee ddddaaaaddddoooossss ((((SSSSGGGGBBBBDDDDssss)
A Origem:
Os ficheiros podiam corresponder a dois tipos bem
distintos de informação:
programas - ficheiros que armazenam instruções,
procedimentos ou rotinas para execução em computador;
ficheiros de dados - que correspondem a informação
produzida e manipulada pelos utilizadores, como, por
exemplo: documentos de texto, imagens, folhas de
cálculo.
5
6. DDDDoooossss ffffiiiicccchhhheeeeiiiirrrroooossss ddddeeee ddddaaaaddddoooossss aaaaoooossss ssssiiiisssstttteeeemmmmaaaassss ddddeeee
ggggeeeessssttttããããoooo ddddeeee bbbbaaaasssseeeessss ddddeeee ddddaaaaddddoooossss ((((SSSSGGGGBBBBDDDDssss)
• O formato típico de um ficheiro de dados é já nosso
conhecido: um conjunto de registos estruturados em
campos (folha de cálculo em Excel).
6
Nome Endereço Código Postal Telefone
Ana Santos Rua Nova, 7 1100 Lisboa 212 111 222
Rui Cruz Rua Velha, 12 1100 Lisboa 212 342 342
Carlos Sousa Rua Clara, 3 4000 Porto 223 456 456
Daniela Sá Rua Escura, 34 4000 Porto 223 789 789
7. OOOO qqqquuuueeee éééé uuuummmm SSSSGGGGBBBBDDDD????
• Conjuntos de programas integrados que permitem
manusear e criar base de dados com toda a
independência das aplicações sobre a qual assentam.
O conjunto de dados que integram
o SGBD interrelacionam-se.
8. Sistema de Gestão SSSiiisssttteeemmmaaa dddeee GGGeeessstttãããooo ddddeeee BBBBaaaasssseeee ddddeeee ddddaaaaddddoooossss
• Coleção de dados inter-relacionados (Base de Dados)
• Conjunto de programas para aceder aos dados
• São normalmente usados para gerir grandes
quantidades de informação
• Devem fornecer um ambiente de utilização conveniente
e eficiente.
P1
P2
P3
...
Pn
9. Exemplo EEExxxeeemmmppplllooo ddddeeee uuuussssoooo ddddeeee SSSSGGGGBBBBDDDD
• Uma instituição bancária quer guardar a informação dos seus
clientes.
• Precisa depois de programas para:
• Fazer débitos e créditos numa conta
• Abrir e fechar contas
• Ver saldos duma conta
• Fazer extratos periódicos das contas
• Como guardar a informação ?
• Uma conta pode ter vários clientes e um cliente várias contas!
• Não podem haver saldos negativos!
10. VVVVaaaannnnttttaaaaggggeeeennnnssss ddddoooossss SSSSGGGGBBBBDDDDssss
• Flexibilidade da Informação
Maior organização
Independentes dos programas de aplicação
Consistência dos dados
Segurança
DDDDeeeessssvvvvaaaannnnttttaaaaggggeeeennnnssss ddddoooossss SSSSGGGGBBBBDDDDssss
Tamanho
Complexidade
Aumento da infraestrutura de Hardware
Grande impacto em caso de falha
11. Inconvenientes dos sistemas IIInnncccooonnnvvveeennniiieeennnttteeesss dddooosss sssiiisssttteeemmmaaasss ddddeeee ffffiiiicccchhhheeeeiiiirrrroooossss nnnnoooo
aaaarrrrmmmmaaaazzzzeeeennnnaaaammmmeeeennnnttttoooo ddddeeee ddddaaaaddddoooossss
Redundância e inconsistência de dados
• Múltiplos formatos, duplicação de informação em ficheiros
diferentes
Dificuldades no acesso aos dados
• Necessidade de escrever um novo programa para efectuar uma
nova tarefa
Isolamento de dados —múltiplos ficheiros e formatos
Problemas de integridade
• Restrições de integridade (e.g. saldo da conta 0) estão incluídas
no código dos programas
• Difícil alterar ou adicionar novas restrições
12. Inconvenientes dos sistemas IIInnncccooonnnvvveeennniiieeennnttteeesss dddooosss sssiiisssttteeemmmaaasss ddddeeee ffffiiiicccchhhheeeeiiiirrrroooossss nnnnoooo
aaaarrrrmmmmaaaazzzzeeeennnnaaaammmmeeeennnnttttoooo ddddeeee ddddaaaaddddoooossss ((((ccccoooonnnntttt....))))
Atomicidade das alterações
• Falhas podem colocar a base de dados num estado inconsistente
com alterações parciais já efetuadas.
• Exemplo: transferência de dinheiro de uma conta para outra ou deve ser
totalmente realizada ou nenhuma alteração deve ser efetuada
Acessos concorrentes por diversos utilizadores
• Acessos concorrentes necessários por motivos de eficiência
• Os acessos concorrentes não controlados podem originar
inconsistências
Exemplo: duas pessoas a consultarem um saldo e a alterá-lo ao mesmo
tempo
Problemas de segurança
Os SGBDs pretendem oferecer soluções para todos estes problemas.
13. FFFFuuuunnnnççççõõõõeeeessss eeee eeeessssttttrrrruuuuttttuuuurrrraaaa ggggeeeerrrraaaallll ddddeeee uuuummmmaaaa BBBBaaaasssseeee ddddeeee DDDDaaaaddddoooossss
Interface da Aplicação Consultas
Programas de Aplicação Esquema de Base
de Dados
Nível
Visualização
Nível
Conceptual
Estrutura
Compilador
de L.D.D.
Motor de
B.D
Processamento
Compilador de Queries
de B.D.
Nível
Físico
Disco
Ficheiros de dados
Dicionários de dados
14. Independência IIInnndddeeepppeeennndddêêênnnccciiiaaa ddddoooossss ddddaaaaddddoooossss
• Capacidade de modificar a definição do esquema de
base de dados a um nível, sem afectar a definição do
esquema ao nível mais alto seguinte:
Independência física dos dados
Independência lógica dos dados
17. MMMMooooddddeeeelllloooossss
• Ferramentas (± formais) para descrever:
• os vários tipos de dados
• as relações entre eles
• o seu significado
• as restrições de integridade
• Modelos baseados em registos
• Modelos baseados em objetos
17
19. Modelos baseados MMMooodddeeelllooosss bbbaaassseeeaaadddooosss eeeemmmm rrrreeeeggggiiiissssttttoooossss
•Modelo Hierárquico
Coleção de registos que se encontram relacionados entre si
(aspecto de uma diagrama em árvore)
19
20. Modelos baseados MMMooodddeeelllooosss bbbaaassseeeaaadddooosss eeeemmmm rrrreeeeggggiiiissssttttoooossss
•Modelo em Rede
Semelhante ao modelo Hierárquico só que os registos podem
ser relacionados entre si de uma forma mais flexível
(flexibilidade no relacionamento de registos);
20
21. Modelos baseados MMMooodddeeelllooosss bbbaaassseeeaaadddooosss eeeemmmm rrrreeeeggggiiiissssttttoooossss
•Modelo Relacional
(SGBD) Os dados são registados em quadros a duas dimensões
(linhas e colunas (registos baseado numa monotabela);
21
22. MMMMooooddddeeeelllloooossss bbbbaaaasssseeeeaaaaddddoooossss eeeemmmm oooobbbbjjjjeeeettttoooossss
Representam uma realidade através de objetos
(também denominados por entidades).
•Modelos Orientados por Objetos
•Modelos Semânticos
•Modelos Funcionais
•Modelo Entidade-Relacionamento (ER)
22
24. Terminologia TTTeeerrrmmmiiinnnooolllooogggiiiaaa ddddaaaassss bbbbaaaasssseeeessss ddddeeee ddddaaaaddddoooossss
Definimos como entidade qualquer objeto ou conceito,
com características comuns, e que pode ser
caracterizada por um conjunto de atributos de forma
inequívoca.
Num SGBD as entidades correspondem a tabelas, que
são utilizadas para guardar informação (dados) relativa
ao objeto ou conceito.
24
25. EEEExxxxeeeemmmmpppplllloooo 1111::::
25
Numa escola, no ato da matrícula, os alunos devem preencher uma ficha
com informações que os permita identificar.
Assim, podemos definir a entidade Aluno especificando os seus atributos
relevantes.
Transpondo para um SGBD, a entidade Aluno poderá dar origem à tabela
Alunos que deverá conter, unicamente, dados relacionados com os
alunos.
26. Pensando nos livros existentes numa biblioteca, podemos definir a
entidade Livro com os seus respetivos atributos.
Num SGBD a tabela correspondente poderá chamar-se Livros e deverá
conter, unicamente, dados relacionados com os livros.
26
EEEExxxxeeeemmmmpppplllloooo 2222::::
27. Noção de registo, NNNoooçççãããooo dddeee rrreeegggiiissstttooo,,, ccccaaaammmmppppoooo eeee ddddaaaaddddoooo
27
Analisando o exemplo 1, em formato de tabela:
30. 30
Transpondo para um SGBD, temos:
A relação estabelecida entre o campo Cód.Postal da tabela Alunos e o campo
Cód.Postal da tabela Cód.Postais permitirá que:
• Na tabela Alunos o campo Localidade deixe de existir e, portanto, não tenha que ser
digitado em todos os registos;
• Na tabela Alunos, seja validado que o Cód.Postal exista na tabela Cód.Postais;
• Na consulta ou impressão de dados dos alunos, seja possível visualizar a Localidade
correspondente ao Cód.Postal;
• Minimizar o número de erros pois na tabela Alunos apenas é digitado o Cód.Postal e,
regra geral, cometem-se menos erros na digitação de números do que de texto.
32. 32
Binárias: caracterizam-se pela existência de um qualquer tipo de
relação entre duas entidades.
33. 33
Complexas: caracterizam-se pela possibilidade de estabelecer
relações entre mais do que duas entidades.
34. NNNNooooççççããããoooo ddddeeee cccchhhhaaaavvvveeee
34
A chave de uma tabela é constituída por um ou mais campos que
possam ser utilizados como identificadores de cada um dos
registos.
Na seleção do(s) campo(s) deve-se ter em atenção ao seguinte:
• O campo, ou campos, que constituem a chave devem permitir identificar um
registo de forma unívoca (um e apenas um registo);
• O campo, ou campos, que constituem a chave não podem conter um valor
nulo em nenhum registo (são sempre de digitação obrigatória);
• No caso de ser necessário que a chave seja constituída por mais do que um
campo (chave composta), não devem ser incluídos mais campos do que os
estritamente necessários para identificar os registos.