Você está na página 1de 23

Bases de Dados I

Aula 1 – EEI
13 de Fevereiro de 2003
Apresentação e funcionamento
 Rui Graça Ribeiro – ruirib@det.ua.pt
– ruirib@ieeta.pt

 Avaliação:
– 35 % Teste Teórico
– 30 % Mini testes a realizar durante aulas práticas
 1º Mini teste a 20 de Março

 2º Mini teste a 24 de Abril

– 35 % Trabalho prático final:


 10% especificação + 25 % trabalho, para propostas originais

 5 % diagrama entidade/associação + 30% trabalho comum


Trabalho final
 Propostas feitas pelos alunos:
– data limite para propostas será 18 de Março
– Propostas têm de ser avaliadas e dimensionadas
de modo a assegurar um nível de exigência
semelhante para todos
 Caso não surjam propostas até essa altura,
será proposto um trabalho para quem não o
tiver até aí
Objectivos genéricos da componente
prática de Bases de Dados I
 Familiarização com alguns conceitos
importante relativos às bases de dados e ao
seu uso para o desenvolvimento de
aplicações
 Os conceitos serão ilustrados sobre o
Microsoft Access, mas aprender Access não
é o objectivo central da componente prática
Bibliografia – Modelo E/R
 Relational Database Design With
MicroComputer Applications, Glenn A.
Jackcson, Prentice-Hall
– Abordagem ao problema da obtenção de um
modelo E/R (Cap. 6 e 8)
 An Introduction to Database Systems, C. J.
Date, Addison-Wesley
– Abordagem ao problema e notação utilizada
(Cap. 12)
Uma visão geral de uma aplicação
de base de dados
 Tabelas: armazenamento dos dados e regras de
integridade para esses dados
 Os dados são consultados e manipulados usando
instruções (queries) em linguagem SQL
(structured query language)
 Os dados obtidos usando queries são mostrados
aos utilizadores através de uma interface adequada
(forms e reports, HTML ou interface de utilizador
da aplicação específica)
Desenho de uma base dados
 Primeira tarefa:
– Encontrar a organização dos dados em tabelas que
melhor suporte a criação, actualização e consulta dos
dados a suportar
 Pretende-se, genericamente, que a estrutura:
– Permita armazenar todos os dados necessários
– Elimine, tanto quanto possível, redundância nos dados
armazenados
– O número de tabelas seja reduzido a um mínimo
– Que as tabelas não levantem problemas em termos de
actualização e eliminação de dados – que sejam
normalizadas
Modelo Entidade Associação
 Constrói-se um modelo Entidade
Associação, que reflecte as condições do
problema
 Obtido o modelo há regras muito claras,
que podem ser aplicadas para a obtenção
das tabelas, a partir do diagrama E/R
 Pode, então, avaliar-se cada uma das tabelas
obtidas, para verificar a sua “normalização”
Como obter o diagrama
 Obter uma descrição do problema
 Procurar assegurar a identificação de todas as
funcionalidades, de modo a que se possa perceber
qual a informação relevante a armazenar
 Analisar a descrição funcional e procurar
identificar as entidades e respectivas associações
 Este é um processo iterativo
Obtenção das tabelas: Modelo
Entidade Associação (E/R)
 Um modelo Entidade Associação é composto,
basicamente pelos seguintes elementos:
– Entidade: elemento do diagrama que representa algo de
interesse para a aplicação a desenvolver.
– O que quer que seja que a entidade representa, podemos
constatar que dela existem ocorrências que podem ser
distinguidas umas das outras.
– Normalmente as entidades correspondem, na descrição
do problema, a um substantivo.
Exemplos de entidade
 Entidade:
– Graficamente representada
por um rectângulo Aluno
– Entidade identificada por
um substantivo no singular

 Duas entidades:
– Aluno Curso

– Curso
Diagramas E/R: atributos
 Um atributo é uma propriedade de uma
entidade, obviamente relevante para a
aplicação que se pretende desenvolver
 Exemplos de atributos são o Nº
Mecanográfico, o Nome, a Data
Nascimento ou o Sexo, no caso do aluno,
ou o Código ou o Nome, no caso do Curso
Atributos: representação no
diagrama
Data Nasc.
Nº Mec

Aluno Aluno

(NºMec, Nome, Data Nasc., Sexo) Sexo


Nome

Representações Alternativas
Instâncias de entidades

 Aluno:
– NºMec. 10000, Joaquim Silva, ...
– Nº Mec 12332, António Silva,...
– ...
 Curso
– 8004, EET
– ...
 Averiguar que atributo ou atributos identificam
inequivocamente cada instância (ou ocorrência)
Associação
 Uma associação representa uma ligação
entre duas (binária) ou mais (ternária ou
superior) entidades
 Uma associação corresponde, na descrição
do problema, a um verbo:
– Um aluno frequenta um curso
Associação

M 1
Aluno Frequenta Curso

(NºMec, Nome, Data Nasc., Sexo) (Codigo, Nome)


Grau de uma associação
 O grau de uma associação diz-nos quantas
ocorrências de uma entidade se podem associar
com uma única ocorrência da outra:
– 1:M (1 aluno frequenta um único curso, mas um curso
tem vários alunos a frequentá-lo)
– M:N (um curso tem várias disciplinas, e cada disciplina
pode fazer parte do curriculum de vários cursos)
– 1:1 (por exemplo, um curso tem um único director e um
director dirige um único curso)
Grau de uma associação
(Codigo, Nome)

1 1
Curso Supervisiona Director

(Nº, Nome)
N

Tem

Disciplina

(Código, Nome)
Obrigatoriedade de participação
na associação
 A participação de uma entidade numa
associação pode ser considerada:
– Obrigatória:
 Todas as instâncias de uma entidade têm de

participar numa associação


– Ex: Todos os alunos têm de ter um curso
– Não obrigatória
 Uma ou mais das instâncias podem não participar na

associção
– Ex: Curso pode não ter alunos
Obrigatoriedade de participação
na associação
(Codigo, Nome)

M
1
Aluno Frequenta Curso

(NºMec, Nome, Data Nasc., Sexo)

Aluno tem participação obrigatória, ou total, na associação.


Isso significa que para cada instância de aluno tem de existir
uma instância de curso associada.
Validade de um modelo
 São as condições específicas (reais ou assumidas)
de cada problema que determinam a validade de
um dado modelo:
– As variações podem ser maiores ou menores:
 Maiores: Mais ou menos entidades e associações, ou
associações diferentes
 Menores: Variações no grau e obrigatoriedade de participação
nas associações, por exemplo
 Para um mesmo problema pode existir mais do
que um modelo válido
Exercício
 Desenvolver um diagrama Entidade
Associação para uma base de dados de
suporte a uma biblioteca:
– A biblioteca tem sócios que podem levar livros
para empréstimo. Pretende-se fazer o registo de
todas as obras, de todos os sócios e das
requisições de livros feitas pelos sócios
Exercício
 Gestão de uma loja de venda de peças -
construir um modelo E/R de suporte para
essa gestão:
– Stock de peças existentes
– Fornecedores das peças, com contactos
– Clientes, com contactos
– Vendas a clientes
– Encomendas a fornecedores

Você também pode gostar