Upload
alexandre-santos-veiga
View
218
Download
4
Embed Size (px)
Citation preview
1
Introdução às bases de dados
O que são? Que utilidade têm?
2
Uma definição de base de dados Uma base de dados é uma colecção de dados
relacionados entre si que pode ser estruturada de várias formas, de modo a corresponder às necessidades de processamento e consulta dos seus utilizadores.
De uma forma simples podemos definir uma base de dados como sendo uma colecção de dados, como por exemplo os endereços de alunos, a informação do inventário de uma escola, as referências dos livros de uma biblioteca, etc.
3
Exemplo: agenda telefónica
Nome Morada Telefone fixo Telefone móvel Data de
nascimento Foto
4
Outro exemplo: colecção de CD áudio Título Intérprete Tipo de música Data de aquisição Modo de aquisição Faixas
N.º da faixa Título Duração
Um aspecto importante: cada CD tem apenas um título, mas várias faixas. Isto vai ser muito importante quando, daqui a pouco, começares a conceber as tuas bases de dados.
5
Outro exemplo: fichas de um médico Nome do paciente Data de nascimento Sexo Morada Contacto telefónico Profissão Consultas
Data Notas Medicação receitada
Designação do medicamento
Número de embalagens
Posologia
Nota agora que um paciente pode ir a várias consultas. E em cada consulta podem ser receitados vários medicamentos. E cada medicamento tem a sua designação, a sua posologia, etc. Esta base de dados é mais complexa do que as anteriores...
6
Que operações se podem efectuar sobre os dados?
Exemplo da agenda telefónica: Inserções – para quando queres guardar os dados de um novo amigo;
Consultas – através de perguntas como “Qual é o número de telefone da Luísa?” ou “Em que dia e mês faz anos o Diogo?”;
Alterações – necessárias, por exemplo, quando alguém muda de casa;
Eliminações – para quando queres eliminar alguém da lista (por razões que só a ti dizem respeito, claro!)
7
Ficheiros de uma base de dados são constituídos por um conjunto de
registos, estruturados em campos
Ex: conjunto de fichas em que cada ficha corresponde a um registo de uma entidade (pessoa, organização, produto) e cada registo contém um determinado conjunto de informação – campos (ex: morada, telefone, tipo)
8
O que é um SGBD?
Um conjunto de programas que permitem ao utilizador executar operações como inserções, eliminações, consultas e alterações sobre o conteúdo dos ficheiros de dados, além de permitir controlar a integridade e a segurança desses dados, é um Sistema de Gestão de Bases de Dados.
9
Modelos de bases de dados
10
Modelos de bases de dados No Excel uma base de dados consiste
numa tabela- as linhas correspondem aos registos
- as colunas correspondem aos campos
O Excel só pode manipular bases de dados do tipo monotabela (a informação assume a forma de uma simples tabela)
Os sistemas de bases de dados monotabela são bastante limitativos
11
Exemplouma empresa que comercializa um conjunto de artigos pretendecriar uma base de dados para registar esses artigos, bem como asencomendas efectuadas pelos seus clientes, em relação aos quaisse pretende ter registados os dados habituais (nome, endereço,telefone, etc)
Cliente Endereço Telef/fax Produto Modelo Preço Data_enc Quant
Silva Lisboa 665544 Alicate A1 400 04/05/05 400
Santos porto 554466 Martelo M1 250 04/05/05 200
Costa Lisboa 335566 Alicate A1 400 04/05/05 150
Silva Lisboa 665544 Tesoura T1 150 05/06/05 220
Para registar numa única tabela as encomendas dos clientes teríamos que ter várias linhas para o mesmo cliente
12
Bases de dados monotabela Base de dados sobre CD áudio.Título Intérprete
Data de
aquisição
Modo de
aquisição
Número da
faixa
Título da faixa
Duração da faixa
20 anos depois Rui Veloso Setembro de 2000 Prenda de aniversário 1 Chico Fininho 2:31
20 anos depois Rui Veloso Setembro de 2000 Prenda de aniversário 2 Sei de uma
camponesa 3:07
20 anos depois Rui Veloso Setembro de 2000 Prenda de aniversário 3 Um café e um
bagaço 3:34
20 anos depois Rui Veloso Setembro de 2000 Prenda de aniversário 4 Estrela do rock’n’roll 4:16
… … … … … … …
13
Bases de dados monotabela Composta por uma única tabela. Cada coluna possui uma designação que a identifica (“Título”,
“Intérprete”, etc). Cada tabela tem “N” linhas.
Mas, para vários CD, fica muito grande! E com dados repetidos desnecessariamente! Apetece-me espremê-la!
De facto, este modelo possui vários problemas, tais como:
14
Redundância de dados
A redundância dos dados (excesso) Título do CD e o nome do intérprete são
repetidos sem necessidade;
15
Dificuldades na manutenção
Dificuldade na sua manutenção Qualquer alteração a um dado repetido teria
de ser feita em todas as ocorrências do dado.
16
Integridade dos dados
Dificuldade na manutenção da integridade Basta um engano na alteração de um dado
para comprometer a integridade desse mesmo dado.
17
Monotabelas Solução?
Número da
Faixa
Título da faixa
Duração da faixa
1 Chico Fininho 2:31
2 Sei de uma camponesa 3:07
3 Um café e um bagaço 3:34
4 Estrela do rock’n’roll 4:16
1 Love me tender 3:12
12 New York 4:16
Dividir a tabela em várias e relacioná-las
Título IntérpreteData
de aquisição
Modo de
aquisição20 anos depois Rui Veloso Setembro de 2000 Prenda de
aniversário
Memphis Elvis Presley Agosto de 1995 Compra Internet
Best Of Frank Sinatra Setembro de 2005 Prenda de Natal
18
No exemplo da empresa 3 tabelas
- para registar a informação do cliente- para registar a informação dos artigos- para registar as encomendas
19
Tabela clientes
Cod-cliente nomecliente endereço Telef/fax
Tabela produtosCod_produto Produto Modelo Preço
Tabela Encomendas
Cod_cliente Cod_produto Data_enc Quant
Neste caso a tabela encomendas reflecte um relacionamento existente entre as outras duas entidades (clientes e produtos)
20
Tabelas No modelo relacional utilizam-se tabelas para guardar os dados.
Cada linha contendo dados tem o nome de registo. A cada coluna é dado o nome de campo.
Título Intérprete Data de aquisição
Modo de aquisição
20 Anos Depois Rui Veloso 8-9-2000 Prenda de
aniversário
Registo
Campo
21
Bases de dados relacionais
Quando as relações são causas de algumas ralações...
22
Como são? As bases de dados relacionais são constituídas por uma ou
mais tabelas relacionadas entre si.
Mas que tabelas? Relacionadas como? Não estou a perceber nada!
23
Três passosPara construir uma base de dados podemos seguir três passos:
1. Definir o objectivo da base de dados – é para guardar o quê?
2. Definir o conteúdo da base de dados através de um diagrama E-R
3. Obter as tabelas da base de dados relacional. Ou seja, um conjunto de tabelas relacionadas entre si através de campos comuns.
Turmas
Código de turmaAno da turma
Turmas e professores
Código da turmaCódigo do professor
Professores
Código de professorNome do professor
24
Primeiro passo
O que é que se pretende guardar na base de dados?
25
Entidades e atributos (1/5)Para conceber uma base de dados, é necessário começar
por pensar:
Qual é o tema da base de dados?
Que dados vai conter?
26
Entidades e atributos (2/5) Antes de pensar em tabelas é necessário desenhar em termos
lógicos a BD. Para isso é preciso introduzir os conceitos de entidade e de atributo.
Uma entidade é algo (objectos, pessoas, acontecimentos) sobre o qual queremos guardar dados que lhes dizem respeito, dados esses que são classificados por atributos.
Exemplos?
27
Entidades e atributosA entidade Pode ter como atributos
Aluno
o seu número
o seu nome
a sua morada
o seu telefone
a sua idade
Turma
o seu código
a sua descrição
o seu ano
Sócio de um clube
o número de sócio
o seu nome
a sua morada
o seu número de BI
A entidade Pode ter como atributos
DVD
o seu número
o seu título
a data da gravação
uma descrição do seu conteúdo
Automóvel
a sua matrícula
a sua marca
o seu modelo
o n.º do livrete
Avaria no automóvel
matrícula do automóvel
descrição da avaria
data da entrada na oficina
28
Entidades e atributosPor vezes, alguns atributos
podem ou devem ser decompostos noutros atributos que já não podem ser mais divididos, denominados atributos atómicos.
O atributo inicial
é decomposto nos atributos atómicos
Morada
Rua
Nº da porta
Código postal
Localidade
Código postalCódigo
Localidade
NomeNomes próprios
Apelido
Data
Ano
Mês
Dia
Exemplos?
29
Exercício Indique o nome de 5 entidades e
seus atributos (cinco pelo menos). Preencha com 15 registos cada uma
das tabelas Guarde o seu trabalho ficheiro xls
com o nome entidades e atributos.