noções de sgdb

35
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

Upload: paulo-reis

Post on 09-Jul-2015

107 views

Category:

Education


0 download

DESCRIPTION

Definição de SGBD

TRANSCRIPT

Page 1: noções de sgdb

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

Page 2: noções de sgdb

Base de Base de Base de Base de dadosdadosdadosdados• O que é uma base de dados?

Uma base de dados é uma ferramentaconcebida para a recolha e organização deinformações.

• Para que serve?Serve para gerir vastos conjuntos deinformação de modo a facilitar aorganização, manutenção e pesquisa dedados.

• Onde são utilizadas?Lojas online, Bibliotecas, eGovernment,Stocks, Escolas, GIS, Marketing, …

2

Page 3: noções de sgdb

3

Definição de SGBDDefinição de SGBDDefinição de SGBDDefinição de SGBD

• Um Sistema de Gestão de Base de Dados é umsistema que permite armazenar dados de formaorganizada independentemente da aplicação que osgere, guardada fisicamente em forma de ficheiros.

Page 4: noções de sgdb

Exemplos de aplicaçãoExemplos de aplicaçãoExemplos de aplicaçãoExemplos de aplicação• 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

Page 5: noções de sgdb

Dos Dos Dos Dos ficheiros ficheiros ficheiros ficheiros de dados aos sistemas de de dados aos sistemas de de dados aos sistemas de de dados aos sistemas de gestão de bases de dados (gestão de bases de dados (gestão de bases de dados (gestão de bases de dados (SGBDsSGBDsSGBDsSGBDs))))

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

Page 6: noções de sgdb

• O formato típico de um ficheiro de dados é já nossoconhecido: um conjunto de registos estruturados emcampos (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

Dos Dos Dos Dos ficheiros ficheiros ficheiros ficheiros de dados aos sistemas de de dados aos sistemas de de dados aos sistemas de de dados aos sistemas de gestão de bases de dados (gestão de bases de dados (gestão de bases de dados (gestão de bases de dados (SGBDsSGBDsSGBDsSGBDs))))

Page 7: noções de sgdb

O que é um SGBD?O que é um SGBD?O que é um SGBD?O que é um SGBD?

• Conjuntos de programas integrados que permitemmanusear e criar base de dados com toda aindependência das aplicações sobre a qual assentam.

� O conjunto de dados que integramo SGBD interrelacionam-se.

Page 8: noções de sgdb

Sistema de Gestão de Base de dadosSistema de Gestão de Base de dadosSistema de Gestão de Base de dadosSistema de Gestão de Base de dados• 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

...

Page 9: noções de sgdb

Exemplo de uso de SGBDExemplo de uso de SGBDExemplo de uso de SGBDExemplo de uso de SGBD

• 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!

Page 10: noções de sgdb

Vantagens dos Vantagens dos Vantagens dos Vantagens dos SGBDsSGBDsSGBDsSGBDs• Flexibilidade da Informação

� Maior organização

� Independentes dos programas de aplicação

� Consistência dos dados

� Segurança

Desvantagens dos Desvantagens dos Desvantagens dos Desvantagens dos SGBDsSGBDsSGBDsSGBDs� Tamanho

� Complexidade

� Aumento da infraestrutura de Hardware

� Grande impacto em caso de falha

Page 11: noções de sgdb

Inconvenientes dos sistemas de ficheiros no Inconvenientes dos sistemas de ficheiros no Inconvenientes dos sistemas de ficheiros no Inconvenientes dos sistemas de ficheiros no armazenamento de dadosarmazenamento de dadosarmazenamento de dadosarmazenamento de dados

� 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

Page 12: noções de sgdb

� 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.

Inconvenientes dos sistemas de ficheiros no Inconvenientes dos sistemas de ficheiros no Inconvenientes dos sistemas de ficheiros no Inconvenientes dos sistemas de ficheiros no armazenamento de armazenamento de armazenamento de armazenamento de dados (dados (dados (dados (contcontcontcont.).).).)

Page 13: noções de sgdb

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

de QueriesCompilador

de B.D.

Nível

Físico

Disco

Ficheiros de dados

Dicionários de dados

Funções e estrutura geral de Funções e estrutura geral de Funções e estrutura geral de Funções e estrutura geral de uma Base uma Base uma Base uma Base de de de de Dados Dados Dados Dados

Page 14: noções de sgdb

Independência dos dadosIndependência dos dadosIndependência dos dadosIndependência dos dados

• Capacidade de modificar a definição do esquema debase de dados a um nível, sem afectar a definição doesquema ao nível mais alto seguinte:

�Independência física dos dados

�Independência lógica dos dados

Page 15: noções de sgdb

Ferramentas de SGBDFerramentas de SGBDFerramentas de SGBDFerramentas de SGBD

Page 16: noções de sgdb

Modelos de Base de Dados

16

Page 17: noções de sgdb

ModelosModelosModelosModelos

• 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

Page 18: noções de sgdb

Modelos baseados Modelos baseados Modelos baseados Modelos baseados em registosem registosem registosem registos

Representam a realidade através de registos.

• Modelo Hierárquico

• Modelo em Rede

• Modelo Relacional

18

Page 19: noções de sgdb

Modelos baseados em registosModelos baseados em registosModelos baseados em registosModelos baseados em registos

•Modelo HierárquicoColeção de registos que se encontram relacionados entre si(aspecto de uma diagrama em árvore)

19

Page 20: noções de sgdb

Modelos baseados em registosModelos baseados em registosModelos baseados em registosModelos baseados em registos

•Modelo em RedeSemelhante ao modelo Hierárquico só que os registos podemser relacionados entre si de uma forma mais flexível(flexibilidade no relacionamento de registos);

20

Page 21: noções de sgdb

Modelos baseados em registosModelos baseados em registosModelos baseados em registosModelos baseados em registos

•Modelo Relacional(SGBD) Os dados são registados em quadros a duas dimensões(linhas e colunas (registos baseado numa monotabela);

21

Page 22: noções de sgdb

Modelos baseados Modelos baseados Modelos baseados Modelos baseados em em em em objetosobjetosobjetosobjetos

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

Page 23: noções de sgdb

Terminologia das bases de dados

23

Page 24: noções de sgdb

Terminologia das bases de dadosTerminologia das bases de dadosTerminologia das bases de dadosTerminologia das bases de dados

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

Page 25: noções de sgdb

Exemplo 1:Exemplo 1:Exemplo 1:Exemplo 1:

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.

Page 26: noções de sgdb

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

Exemplo 2:Exemplo 2:Exemplo 2:Exemplo 2:

Page 27: noções de sgdb

Noção de registo, campo e dadoNoção de registo, campo e dadoNoção de registo, campo e dadoNoção de registo, campo e dado

27

Analisando o exemplo 1, em formato de tabela:

Page 28: noções de sgdb

28

Page 29: noções de sgdb

Noção de relaçãoNoção de relaçãoNoção de relaçãoNoção de relação

29

Uma relação consiste na associação estabelecida entre campos

comuns de duas entidades, garantindo assim a consistência da

informação.

Page 30: noções de sgdb

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.

Page 31: noções de sgdb

Noção de associaçãoNoção de associaçãoNoção de associaçãoNoção de associação

31

Uma associação representa a forma como duas ou mais entidades

se relacionam entre si.

Existem três tipos de associações:

� Unárias: caracterizam-se pela relação entre uma entidade

consigo própria.

Page 32: noções de sgdb

32

� Binárias: caracterizam-se pela existência de um qualquer tipo de

relação entre duas entidades.

Page 33: noções de sgdb

33

� Complexas: caracterizam-se pela possibilidade de estabelecer

relações entre mais do que duas entidades.

Page 34: noções de sgdb

Noção de chaveNoção de chaveNoção de chaveNoção de chave

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.

Page 35: noções de sgdb

35