Você está na página 1de 7

1.

Modelação de base de Dados

2. Modelação de Dados

A Modelação ao dados é um método que permite modelar aestrutura de uma base de dados;

Tipicamente é apresentado sob a forma de um diagrama;

O Diagrama Entidade-Relação (Diagrama E-R ou DER) é uma ferramenta gráfica para facilitar a
Modelação de dados;

Os DER têm como objetivo modelar a semântica subjacente á estrutura de dados;

No processo de Modelação de Dados :O primeiro passo corresponde á abstração!

Quanto mais tempo se mantiver longe de detalhes e deimplementações especificas, mais fácil
será alterar o modelo, e decidir como serão armazenados os dados.

3. Diagrama Entidade-Relação

O DER é uma ferramenta de modelação de dados, semântica, que é usada para descrever de
forma abstrata a estrutura de dados;

A estrutura descritos de forma abstrata é denominada deModelo Conceptual.

O Modelo Conceptual irá permitir obter um modelo concreto. Quando o modelo captura a
visão da realidade a armazenar, poderemos passar á definição do modelo concreto. Um DER
também pode ser usado para documentar uma basede dados já existente, ajudando no
processo de reengenharia.

Um DER modela dados como entidades e relacionamentos;

4. Diagrama Entidade-RelaçãoEntidadesUma entidade é uma coisa sobre a qual queremos


guardardados, seja uma pessoa, uma conta bancária, um edificio; Nas primeiras referˆencias
aos DER, Chen (1976) descreveuuma entidade como“uma coisa que pode ser
distintamenteidentificada”O nome para uma entidade deve representar um tipo ou umaclasse
de coisas, não uma instância (tipicamente no singular); O nome de uma entidade deve ser
suficientemente genéricomas, ao mesmo tempo não pode ser demasiado genérico: onome
deve permitir acomodar alterações ao longo do tempo. As entidades tˆem atributos; Um
atributo é uma propriedade ou carateristica de umaentidade.

5. Diagrama Entidade-RelaçãoEntidadesExemplos de Entidades:Pessoas: empregado,


veterinário, estudante; Lugares: estado, pais; Objeto: edificio, automóvel, produto; Evento:
venda, devolução; Conceptual: conta, departamento;

6. Diagramas Entidade-RelaçãoEntidadesOs dados particulares sobre determinada entidade


sãoreferidos como instâncias; Uma instância é uma única ocorrˆencia de uma entidade. Cada
instância de uma entidade deve ser identificadaunicamente, de modo a que essa instância
seja distintivamenteidentificável de todas as outras instâncias da mesma entidade. Por
exemplo, numa entidade cliente, poderemos imaginar quea empresa atribui um número de
cliente, único, a cada cliente. A este identificador único chamamos chave.

7. Diagramas Entidade-RelaçãoEntidades e AtributosNa modelação com a notação Chen, as


entidades sãorepresentadas em retângulos.
8. Diagramas Entidade-RelaçãoEntidades e AtributosNa modelação com a notação Chen, as
entidades sãorepresentadas em retângulos. Os atributos são colocados á sua volta. Uma das
notações usadas para atributos representa-os comocirculos ou ovais ligados á entidade em
causa.

9. Diagramas Entidade-RelaçãoAtributosExistem vários tipos de atributos:AtómicosAtributos


que não podem ser divididos, dai a noção deatómico; CompostosAtributos que são formados
pela combinação ou agregação deatributos relacionados; MúltiplosAtributos que podem
conter um ou mais valores paradeterminada instância; DerivadosAtributos úteis, mas que não
irão ser armazenados, porquepodem ser calculados a partir de outros dados presentes nabase
de dados.

10. Diagramas Entidade-RelaçãoAtributos AtómicosExemplos de atributos atómicos:número


de identificação fiscal; número de cartão de cidadão; nome; telefone; Note que os mesmos
atributos podem ser atómicos, compostos, oumúltiplos, dependendo do contexto do
problema a ser resolvido.

11. Diagramas Entidade-RelaçãoAtributos CompostosExemplos de atributos compostos:nome


(se for separado em nome e apelido); código postal (se o separarem nas suas duas
componentes); data (se for separada em dia, mˆes e ano);

12. Diagramas Entidade-RelaçãoAtributos MúltiplosExemplos de atributos múltiplos:telefone


(se considerar que um aluno pode ter vários); e-mail (se considerar que pode ter vários);
escola (se quiser guardar apenas nomes por onde o alunopassou);

13. Diagramas Entidade-RelaçãoAtributos DerivadosExemplos de atributos derivados:idade


(calculada com base na data de nascimento); salário mensal (calculada com base no nr. de
dias);

14. Diagramas Entidade-RelaçãoAtributos ChaveAtributos especiais, que identificam


inequivocamente asinstâncias de uma entidade; Uma entidade podem ter mais que um
atributo deste tipo; Este tipo de atributos são designados de Chaves Candidatas; Quando deste
conjunto de chaves se escolhe uma para servirde identificador único passa a ser a Chave
Primária; Há casos em que não existem atributos deste tipo, o que podeobrigar a que se crie,
artificialmente, um atributo indexador;

15. Diagramas Entidade-RelaçãoDocumentação de EntidadesOs DER não são propriamente


ambiguos, mas em muitoscasos é relevante explicitar decisões tomadas, que podem nãoser
claras para outras pessoas; Para cada Entidade documenta-se:A Entidade: que objetos
representa. Os Atributos: que propriedades devem ser armazenadas sobre aentidade, e o tipo
de cada uma dessas propriedades. As Chaves: quais são as chaves candidatas, e qual, e
porquerazão foi escolhida, a chave primária. Dados Exemplo: uma pequena tabela de dados
ficticios queajude á compreensão do âmbito da entidade.

16. Diagramas Entidade-RelaçãoDocumentação de Entidades (exemplo)Entidade:a base de


dados regista informação sobre os alunos da escolade música; Atributos:nome – nome
completo do aluno; escola – escola onde o aluno está a realizar o ensinoobrigatório; morada –
atributo composto pelos atributos rua, localidade ecódigo postal que contˆem a morada do
aluno paracorrespondˆencia; telefone – atributo múltiplo com um ou mais telefones
decontacto dos encarregados de educação; data de nascimento – data de nascimento do
aluno; idade – atributo derivado, com idade do aluno, calculada combase na data de
nascimento; número aluno – número único atribuido pela escola a cadaaluno;

17. Diagramas Entidade-RelaçãoDocumentação de Entidades (exemplo)Chaves:Só existe uma


chave candidata, que corresponde ao número dealuno. Note-se que dados como o nome não
sãoobrigatoriamente únicos. Deste modo, a chave primária será onúmero de aluno. Dados
Exemplo:nome escola mor. rua mor. cp mor. local tel data nasc idade nr alunoJoão Marques
EB23 Vão São Cristóvão 1234-567 Vão 345342312 11. 2. 1999 14 242Maria Sá EB23 Vão
Estreita 1234-765 Vão 345123123 20. 6. 2000 13 245Rui Roque EB23 Breu Direita 1234-575
Vão 933312345 29. 2. 2000 13 249 16

18. Diagramas Entidade-RelaçãoRelaçõesUma base de dados terá, com certeza, mais que
uma entidade; Uma relação é uma ligação ou associação entre entidades; Na notação
Chen:São habitualmente denotadas por frases verbais; São inscritas em losangos; Devem ser
lidas da esquerda para a direita (ou de cima parabaixo); 17

19. Diagramas Entidade-RelaçãoRelações - CardinalidadesA relação entre entidades pode ter


diferentes cardinalidades:Por exemplo:A quantas turmas pode pertencer um aluno?Quantos
alunos podem pertencer a uma turma?Esta cardinalidade é indicada na relação usando pés
degalinha:Um aluno pertence a uma turma. Uma turma tem vários alunos. 18

20. Diagramas Entidade-RelaçãoRelações - CardinalidadesExistem trˆes tipos de


cardinalidade:muitos para muitos — m:nUm cliente pode ter várias contas bancárias. // Uma
conta bancária pode ter vários titulares. 19

21. Diagramas Entidade-RelaçãoRelações - CardinalidadesExistem trˆes tipos de


cardinalidade:muitos para muitos — m:nUm cliente pode ter várias contas bancárias. // Uma
conta bancária pode ter vários titulares. um para muitos — 1:nUma editora edita vários
livros. // Um livro é editado por uma única editora. 19

22. Diagramas Entidade-RelaçãoRelações - CardinalidadesExistem trˆes tipos de


cardinalidade:muitos para muitos — m:nUm cliente pode ter várias contas bancárias. // Uma
conta bancária pode ter vários titulares. um para muitos — 1:nUma editora edita vários
livros. // Um livro é editado por uma única editora. um para um — 1:1Um funcionário é
responsável por um departamento. // Um departamento tem um único responsável. 19

23. Diagramas Entidade-RelaçãoAtributos nas RelaçõesAlgumas relações podem precisar de


atributos; Por exemplo, se um leitor de uma biblioteca requisita umlivro, será necessário
guardar a data da requisição. Existem duas soluções para este problema:1 anotar a relação
com um atributo:2 definir uma nova entidade: 20

24. Diagramas Entidade-RelaçãoRelacionamentos MúltiplosAs relações não são,


necessariamente, entre apenas duasentidades; é possivel definir relacionamentos com mais
que duasentidades. 21

25. Diagramas Entidade-RelaçãoRelacionamento RecursivoAs relações não necessitam de ser


entre duas entidadesdistintas; é possivel definir relacionamentos em que dois ou mais
dosintervenientes são do mesmo tipo. 22

26. Exercicio 1Um escola pretende criar uma BD que permita gerir toda ainformação relativa
os cursos que disponibiliza e aos alunos que osfrequentam. Para cada curso deve ser registado
o seu código, designação, duração e preço. Cada curso está estruturado em diversosmódulos,
sendo que deve constar na BD a duração de cada módulo(em horas), o professor, e a data de
inicio de cada módulo. Ummódulo pode estar associado a diferentes cursos, com datas
deinicio distintas. Para cada aluno deve ser registado o seu número, nome, morada, código
postal, localidade, cursos em que se encontra inscrito (podeinscrever-se em mais que um
curso), juntamente com a respetivadata de inscrição e informação sobre se o pagamento foi
efetuado. 23

27. Diagramas Entidade-RelaçãoHerançaEm certas circunstâncias, determinada entidade


pode ser umaespecialização de outra; Por exemplo, numa empresa de telecomunicações, um
tarifáriopré-pago e um tarifário pós-pago são especializações de umtarifário genérico. Existem
atributos que são partilhados por todos os tarifários, sejam eles pré ou pós pagos; Existem
outros atributos que são especificos do tipo deatributo; Noutro exemplo, numa biblioteca,
existem diferentes tipos deobjetos que podem ser requisitados:livros, DVD e CD tˆem
diferentes propriedades; no entanto, podem partilhar alguma informação; 24

28. Diagramas Entidade-RelaçãoHerançaO d indica que a herança é disjunta. Um objeto


requisitável podeser um livro ou DVD mas não ambos. 25

29. Diagramas Entidade-RelaçãoHerançaNeste caso o circulo não tem o d, indicando que a


herança não édisjunta. Um funcionário pode ser ao mesmo tempo caixa e chefede caixa. 26

30. Exercicio 2Um restaurante pretende fazer a gestão dos seus clientes de formaa garantir a
sua fidelização. Para isso, pretende criar um cartão decliente que permita acumular pontos.
Para adquirir um cartão ocliente deve fornecer o seu nome, morada, número fiscal e
telefonede contacto. A cada cartão está associado um identificador único, e o número de
pontos acumulado. Associado a cada cartão existe uma conta corrente, onde estãoregistados
os almoços ou jantares: data, hora, lista de pratos, evalor total cobrado. Para os clientes
assiduos decidiu-se criar um cartão VIP. Estecartão tem um saldo associado, e o cliente pode
ir realizandorefeições até esgotar esse valor. 27

31. Modelo Relacionalé um modelo fisico, para a gestão de uma base de dados; é baseado na
lógica de predicados e teoria de conjuntos; é o modelo mais utilizado na atualidade; Existem
outros modelos (como o baseado em Objetos) masque ainda não atingiram os niveis de
utilização do modelorelacional; Surgiu por volta de 1970, como proposta de Edgar FrankCodd;
Baseia todo o seu funcionamento em relações, que sãorepresentadas por tabelas de dados, e
na sua inter-relação. 28

32. Modelo RelacionalEsquemaO Esquema de uma base de dados é a definição de


umconjunto de tabelas e de que forma elas se relacionam; é possivel inferir um esquema
relacional a partir de umDiagrama Entidade-Relação, aplicando um conjunto de regrassimples;
Um esquema relacional pode ser refinado, de forma a diminuira ambiguidade e redundância
de dados; Um conjunto de regras permitem transformar um esquemarelacional através de um
conjunto de diferentes formasnormais, processo esse denominado de normalização; 29

33. Modelo RelacionalModelo ER ⇒ Esquema RelacionalEntidade


SimplesAlunonomeescolamorada 30

34. Modelo RelacionalModelo ER ⇒ Esquema RelacionalEntidade


SimplesAlunonomeescolamoradaAtributos CompostosAlunonomeescolamorada. ruamorada.
localidademorada. códigoPostal 30
35. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos
MúltiplosAlunonomeescolamorada. ruamorada. localidademorada. códigoPostaltelefone 31

36. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos


MúltiplosAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostaltelefoneAtributos DerivadosSão representados como um atributo atómico
normal. 31

37. Modelo RelacionalModelo ER ⇒ Esquema RelacionalAtributos


chaveAlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostaltelefoneidadedataNascimento 32

38. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelação 1-nAluno


TurmanúmeroAluno anonome letratelefone diretorTurmaturma. letraturma. ano 33

39. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelação 1-nAluno


TurmanúmeroAluno anonome letratelefone diretorTurmaturma. letraturma. anoAos atributos
turma. letra e turma. ano são chamadas ChavesEstrangeiras. 33

40. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelação n-mCliente ClienteConta


ContaBancárianúmero cliente. número númeronome conta. número saldo. . . . . . 34

41. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelação n-mCliente ClienteConta


ContaBancárianúmero cliente. número númeronome conta. número saldo. . . . . . Os
atributos cliente. número e conta. número são ChavesEstrangeiras. 34

42. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelação 1-1Funcionário Responsáveis


Departamentonúmero funcionário. número códigonome departamento. código
nome. . . . . . 35

43. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelação 1-1Funcionário Responsáveis


Departamentonúmero funcionário. número códigonome departamento. código
nome. . . . . . Os atributos funcionário. número e departamento. código são
ChavesEstrangeiras. 35

44. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelação 1-1Funcionário Responsáveis


Departamentonúmero funcionário. número códigonome departamento. código
nome. . . . . . Os atributos funcionário. número e departamento. código são
ChavesEstrangeiras. Para garantir a unicidade da relação os atributos funcionário. número
edepartamento. código devem ser definidos como colunas sem repetições. 35

45. Modelo RelacionalModelo ER ⇒ Esquema RelacionalRelações com AtributosEnt 1 Ent 2 Ent


3 Relaçãoid id id Ent1. id. . . . . . . . . Ent2. idEnt3. idPodem ser definidos indices de
unicidade nas attr1chaves estrangeiras de modo a garantir a attr2cardinalidade desejada para
as relações. attr3 36

46. Exercicio 3Considerando que um leitor é identificado pelo seu número de leitor, ecada
livro identificado pelo seu código, quais são as diferenças entra omodelo relacional obtido a
partir das duas relações apresentadas abaixo?a)b) 37

47. Modelo RelacionalModelo ER ⇒ Esquema RelacionalHierarquia DisjuntaConversão


genérica para modelo relacional. ObjetoReq Livrochave chaveLivrotipoObjeto . . .
chaveEstng. . . DVDchaveDVDCD . . . chaveCD. . . 38
48. Modelo RelacionalModelo ER ⇒ Esquema RelacionalHierarquiaConversão genérica para
modelo relacional. Funcionário Caixachave chaveCaixa. . . códigoFunc. . .
chefeCaixachaveChefecódigoFunc. . . 39

49. Exercicio 4Relembre o Exercicio 1:Um escola pretende criar uma BD que permita gerir toda
a informaçãorelativa os cursos que disponibiliza e aos alunos que os frequentam. Para cada
curso deve ser registado o seu código, designação, duração epreço. Cada curso está
estruturado em diversos módulos, sendo que deveconstar na BD a duração de cada módulo
(em horas), o professor, e a datade inicio de cada módulo. Um módulo pode estar associado
a diferentescursos, com datas de inicio distintas. Para cada aluno deve ser registado o seu
número, nome, morada, códigopostal, localidade, cursos em que se encontra inscrito (pode
inscrever-seem mais que um curso), juntamente com a respetiva data de inscrição
einformação sobre se o pagamento foi efetuado. Apresente a conversão do modelo
conceptual (diagrama E-R) parao modelo relacional. 40

50. NormalizaçãoO modelo relacional obtido pelas regras anteriores nem sempreé passivel de
ser implementado numa base de dados relacional; Por vezes o modelo relacional obtido é
ambiguo e pode levar áfalta de qualidade dos dados armazenados; O processo de
Normalização tem como objetivo eliminarredundância e garantir consistˆencia dos dados; O
processo de Normalização é uma sequˆencia de regras quepermitem iterar sobre diferentes
formas normais; Cada passo da normalização trata de diferentes tipos deproblemas; Existem
várias formas normais devidamente aceites pelacomunidade (cerca de 5 formas normais),
sendo que as trˆesprimeiras são as mais importantes. 41

51. NormalizaçãoPrimeira Forma NormalRemoção de atributos múltiplos.


Antes:AlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostaltelefoneidadedataNascimento 42

52. NormalizaçãoPrimeira Forma NormalRemoção de atributos múltiplos.


Antes:AlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostaltelefoneidadedataNascimentoDepois:Aluno Aluno TelsnúmeroAluno
númeroAlunonome telefoneescolamorada. ruamorada. localidademorada.
códigoPostalidadedataNascimento 42

53. NormalizaçãoSegunda Forma NormalRemoção de dependˆencias parciais sobre chaves


compostas. Supondo que obtemos a tabela da esquerda:Aluno
TurmanúmeroAlunoanoletrasala 43

54. NormalizaçãoSegunda Forma NormalRemoção de dependˆencias parciais sobre chaves


compostas. Supondo que obtemos a tabela da esquerda:Aluno
TurmanúmeroAlunoanoletrasalaNote-se que a sala desta turma é especificaá turma (ano e
letra) e não muda deacordo com o aluno. 43

55. NormalizaçãoSegunda Forma NormalRemoção de dependˆencias parciais sobre chaves


compostas. Supondo que obtemos a tabela da esquerda:Aluno
TurmanúmeroAlunoanoletrasalaNote-se que a sala desta turma é especificaá turma (ano e
letra) e não muda deacordo com o aluno. Aluno Turma TurmanúmeroAluno anoano letraletra
sala 43
56. NormalizaçãoTerceira Forma NormalRemoção de dependˆencias parciais.
Antes:AlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostalidadedataNascimento 44

57. NormalizaçãoTerceira Forma NormalRemoção de dependˆencias parciais.


Antes:AlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostalidadedataNascimentoRepare-se que a localidade e o códigopostal são
interdependentes. Se mudama localidade, tˆem de mudar o códigopostal, e vice-versa. 44

58. NormalizaçãoTerceira Forma NormalRemoção de dependˆencias parciais.


Antes:AlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostalidadedataNascimentoRepare-se que a localidade e o códigopostal são
interdependentes. Se mudama localidade, tˆem de mudar o códigopostal, e vice-versa. Ou
seja, podemos considerar que apenasum deles depende do número de aluno. 44

59. NormalizaçãoTerceira Forma NormalRemoção de dependˆencias parciais.


Antes:AlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostalidadedataNascimentoRepare-se que a localidade e o códigopostal são
interdependentes. Se mudama localidade, tˆem de mudar o códigopostal, e vice-versa. Ou
seja, podemos considerar que apenasum deles depende do número de aluno. Por exemplo,
dizer que o código postaldepende do aluno, mas que a localidadenão irá depender do aluno,
mas docódigo postal que foi introduzido. 44

60. NormalizaçãoTerceira Forma NormalRemoção de dependˆencias parciais.


Antes:AlunonúmeroAlunonomeescolamorada. ruamorada. localidademorada.
códigoPostalidadedataNascimentoDepois:Aluno CódigoPostalnúmeroAluno códigoPostalnome
localidadeescolamorada. ruamorada. códigoPostalidadedataNascimento 45

61. Exercicio 5Relembre o Exercicio 1 e 4:Um escola pretende criar uma BD que permita gerir
toda a informaçãorelativa os cursos que disponibiliza e aos alunos que os frequentam. Para
cada curso deve ser registado o seu código, designação, duração epreço. Cada curso está
estruturado em diversos módulos, sendo que deveconstar na BD a duração de cada módulo
(em horas), o professor, e a datade inicio de cada módulo. Um módulo pode estar associado
a diferentescursos, com datas de inicio distintas. Para cada aluno deve ser registado o seu
número, nome, morada, códigopostal, localidade, cursos em que se encontra inscrito (pode
inscrever-seem mais que um curso), juntamente com a respetiva data de inscrição
einformação sobre se o pagamento foi efetuado. Apresente a normalização do diagrama
conceptual obtidoanteriormente. 46

Você também pode gostar