Introdução à Manipulação de Dados Teresa Romão [email protected] di.uevora.pt/~tir/IMD/IMD.htm

52
Introdução à Manipulação de Dados 1 Introdução à Manipulação de Dados Teresa Romão [email protected] www.di.uevora.pt/~tir/IMD/IMD.htm Departamento de Informática Universidade de Évora 2005/2006

description

Introdução à Manipulação de Dados Teresa Romão [email protected] www.di.uevora.pt/~tir/IMD/IMD.htm Departamento de Informática Universidade de Évora 2005/2006. Funcionamento da disciplina. Duração: 7 semanas Aulas teórico-práticas: apresentação da matéria - PowerPoint PPT Presentation

Transcript of Introdução à Manipulação de Dados Teresa Romão [email protected] di.uevora.pt/~tir/IMD/IMD.htm

Page 1: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 1

Introdução à Manipulação de Dados

Teresa Romã[email protected]

www.di.uevora.pt/~tir/IMD/IMD.htm

Departamento de InformáticaUniversidade de Évora

2005/2006

Page 2: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 2

Funcionamento da disciplina

Duração: 7 semanas

Aulas teórico-práticas:

• apresentação da matéria

• aplicação dos conceitos através de exercícios práticos

Page 3: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 3

Bibliografia• Material de suporte fornecido pelo docente

• Página da disciplina na Internet: http://www.di.uevora.pt/~tir/IMD/IMD.htm

• Livros da biblioteca da Universidade de Évora sobre o Microsoft Excel

• Modern Structured Analysis, Edward Yourdon Prentice-Hall, 1989

• Database System Concepts de Silberschatz, Korth e Sudarshan

Page 4: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 4

Avaliação

1. O aluno obtém a nota prática através da execução de 1 trabalho práctico proposto para avaliação, nas aulas práctcas. O trabalho poderá estar sujeito a discussão formal com o(s) docente(s) da disciplina e é obrigatório (um aluno que não entregue o trabalho ou obtenha no mesmo uma nota inferior a 8 valores fica reprovado).

2. O aluno pode obter a nota teórica de duas formas possíveis: Teste Exame

Nota mínima exigida: 8 valores

3. A nota final é dada pela fórmula:Nota final = 75%nota_teórica+25%nota_prática

Page 5: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 5

Introdução aos Sistemas de

Base de Dados

Base de dados

Colecção de dados relacionados.

Sistema de Gestão de Base de Dados

Aplicação que mantém e gere de forma eficiente uma base de dados;

São normalmente usados para gerir grandes quantidades de informação e permitir o acesso rápido a essa mesma informação.

Page 6: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 6

Introdução aos Sistemas de

Base de Dados

SGBD devem:

Facilitar o acesso aos dados;

Evitar redundância e inconsistência;

Permitir múltiplos acessos simultâneos aos dados;

Garantir a segurança dos dados;

Garantir a integridade dos dados de acordo com restrições pré-definidas.

Page 7: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 7

Níveis de abstracção de um SGBD

Disco

Nível físico

Nível conceptual-lógico

Esquema externo/Vista 1 Esquema externo/Vista 2 Esquema externo/Vista 3

Page 8: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 8

Níveis de abstracção de um SGBD

Nível físico

Descreve a forma de armazenamento nos periféricos (discos) das relações descritas no modelo conceptual

Estruturas de dados de baixo nível

Nível conceptual-lógico

Descreve os dados em termos do modelo Baseia-se nas funcionalidades e restrições dos dados

Descrição das relações existentes na BD Estruturas simples => estruturas complexas no nível físico Nível usado pelos administradores de BD

Page 9: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 9

Níveis de abstracção de um SGBD

Esquema externo/Vista

Permite a customização (e autorização) do acesso aos dados, a nível do utilizador ou grupos de utilizadores

É guiado pelos requisitos do utilizador final

O nível conceptual ainda pode ser complexo para o vulgar utilizador devido ao tamanho da BD e o utilizador apenas quer ver a parte que lhe interessa.

Enquanto só existe um esquema lógico e físico, podem existir vários esquemas externos ou vistas...

Page 10: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 10

História

IDS: Integrated Data Source Charles Bachman, General Electric, início década 60 modelo de dados em rede

IMS: Information Management System IBM, fim década 60 modelo de dados hierárquico

System R project Edgar Codd, IBM, 1970 modelo de dados relacional

Page 11: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 11

Modelo de dados em Rede

Produto

Nome

Quantidade

   

         

   

         

   

30 23 8

Régua Lápis Papel

1 26 18

Silva Pereira

10

Cola

3

Os dados representados por um conjunto de registos (tipo Pascal). As relações entre dados são mantidas por links (pointers).

Assim, os registos da BD estão organizados em conjuntos de grafos.

Page 12: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 12

Modelo de dados hierárquico

Difere do Modelo de Rede: os registos estão organizados em conjuntos de árvores (em vez de grafos).

Produto

Nome

Quantidade

   

         

   

         

   

8 23 30

Papel Lápis Régua

10 6 1

   

         

   

         

   

10 8 23

Cola Papel Lápis

3 8 20

Silva Pereira

Page 13: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 13

System R project

Modelo Relacional modelo de organização e ligação de dados

SQL query language linguagem para obter informação da BD actualmente: SQL-92

standard ANSI, ISO

Page 14: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 14

Modelo Relacional

Usa uma colecção de tabelas para representar dados e relações entre eles.

Cada tabela possui diversas colunas Cada coluna corresponde a um atributo (de um dado tipo)

Cada linha da tabela corresponde a um registo (conjunto de valores dos diversos atributos)

Cada registo é identificado por um atributo (ou conjunto de atributos) único.

Page 15: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 15

Modelo Relacional

Três tabelas: Clientes, Produtos e Compras A tabela Compras estabelece a relação entre clientes e produtos

Nº de cliente

Nome

6 Silva

14 Pereira

35 Santos

40 Martins

Nº de produto

Designação

8 Papel

10 Cola

23 Lápis

30 Régua

Nº de cliente

Nº de produto

Quantidade

6 8 10

14 10 3

6 23 6

6 30 1

14 8 8

35 10 2

40 30 3

14 23 20

Clientes Produtos Compras

Page 16: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 16

Modelo Relacional

Tabela “Clientes”: Dois atributos (colunas) - nº e nome - que permitem

descrever cada cliente; Cada registo (linha) corresponde a um cliente caracterizado

pelos valores que possui para cada atributo (e identificado univocamente, neste caso, através do atributo “nº de cliente”)

Nº de cliente

Nome

6 Silva

14 Pereira

35 Santos

40 Martins

Clientes

Page 17: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 17

Desenho de uma Base de Dados

Análise de requisitos

Saber que dados devem ser mantidos na BD

Conhecer os requisitos dos utilizadores

Desenho conceptual

Desenvolver uma descrição de alto nível dos dados e das restrições conhecidas sobre os mesmos

Modelo Entidade-Associação

Page 18: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 18

Desenho de uma Base de Dados

Desenho lógico

Converter o modelo conceptual para um esquema de BD

no modelo do SGBD escolhido modelo Relacional

Refinamento do esquema

Refinar a BD através da análise da colecção de relações, identificando potenciais problemas

normalização

Page 19: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 19

Desenho de uma Base de Dados

Desenho físico

Refinar a BD para ir de encontro aos critérios de performance desejados

Desenho de segurança

Identificar diferentes grupos de utilizadores e seus papéis. Para cada um, saber a que partes da BD pode ou não aceder e assegurar que apenas acede às partes necessárias.

Page 20: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 20

Modelo de Dados

Análise

Para determinar os requisitos dos utilizadores várias técnicas podem ser utilizadas:

análise de documentação,

entrevistas,

questionários,

observação do comportamento dos utilizadores e da organização,

prototipagem.

Page 21: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 21

Modelo de Dados

Desenho conceptual

Descreve os dados em termos dos objectos e suas associações

Representação gráfica: diagrama de Entidades e Associações (DEA)

Conceitos básicos Entidade Associação Atributo Chave Restrições de mapeamento

Page 22: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 22

Diagrama de Entidades e Associações (DEA)

Um DEA é um modelo que representa a visão estática dos dados e das associações entre eles.

Um DEA identifica:

as entidades do sistema;

as associações entre os dados;

as características dos dados e das associações.

Page 23: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 23

DEA: componentes

• Entidades

• Associações

• Entidades associativas

Cliente Livro

fornece

Marcação

Page 24: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 24

DEA: estrutura

associações

entidades

entidade associativa

Page 25: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 25

DEA: entidades

Cada entidade é definida por:

Uma entidade representa qualquer coisa (objecto, conceito, facto) do mundo real sobre a qual o sistema deve guardar informação.

Substantivo no singular

Atributos: propriedade caracterizadora de uma entidade. (Item elementar de informação). É sempre um elemento atómico de informação.

Atributo(s) identificadore(s): elemento de dados que identifica univocamente cada instância (membro individual) da entidade;

Atributo(s) descritor(es): elemento de dados que define uma propriedade da entidade.

Cada entidade é identificada por:

Page 26: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 26

DEA: entidadesExemplo de entidade:

• Atributo identificador:

número_de_aluno

• Atributos descritores:

nome, morada, telefone, data_nascimento, n_BI

Exemplo de instância:número_de_aluno: 2834nome: João Santosmorada: Évoradata_nascimento: 28/4/1972n_BI: 8256394

Aluno

Page 27: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 27

DEA: associações

Uma associação representa um conjunto de ligações (relação) entre entidades que necessitam ser guardadas pelo sistema.

A associação é caracterizada pela conjunção dos atributos identificadores das entidades envolvidas.

Cada associação é identificada por:

Verbo + substantivo

Page 28: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 28

DEA: associaçõesExemplo de associação:

• Aluno está inscrito em disciplina

• Discplina pertence a curso

Por defeito, todas as associações são bidireccionais.

DisciplinaAluno

CursopertenceDisciplina

está inscrito

Page 29: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 29

DEA: associações

Associações múltiplas entre as mesmas entidades:

DisciplinaleccionaDocente

é regente

Page 30: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 30

DEA: associaçõesTipos de associação:

• Unária: relação entre uma entidade e ela própria.

• Binária: relação entre duas entidades.

• Complexas: relação entre três ou mais entidades.

CursopertenceDisciplina

ProdutocompraCliente

Fornecedor

Pessoaé pai

Page 31: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 31

DEA: associaçõesUma associação complexa pode reduzir-se a várias associações binárias.

Exemplo:

ProdutocompraCliente

Fornecedor

ProdutofazCliente

Fornecedor

Associação complexa

Compra é para

fornecida

Associações binárias

Page 32: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 32

DEA: associaçõesInstância de uma associação:

DepartamentotrabalhaEmpregado

Representa uma ocorrência de uma ligação (entre ocorrências de entidades).

Exemplo:

Instâncias Instâncias Instânciade Empregado de Trabalha de Departamento

E1 D1E2 D2E3 D3E4

4 instâncias de Empregado3 instâncias de Departamento4 instâncias da associação Trabalha

Page 33: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 33

DEA: cardinalidade das associações

LivropublicaEditora

• Será que uma editora pode publicar vários livros?

• Será que uma editora pode nunca ter publicado um livro?

• Será que um livro pode ser publicado por uma editora, por nenhuma ou por várias editoras?

As respostas a estas perguntas são definidas pela política da organização.

Devemos completar as associações do DEA com a respectiva cardinalidade.

Page 34: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 34

DEA: cardinalidade das associações

• O grau máximo (restrição de cardinalidade) de uma associação pode ser:

• O grau mínimo (restrição de participação) de uma associação pode ser:

• 1 : 1• 1 : N• N : M

• 0 : 0• 0 : 1• 1 : 1

A cardinalidade define os graus máximo e mínimo de uma associação.

Page 35: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 35

DEA: grau máximo

O grau máximo define o número máximo de vezes que uma instância de uma entidade pode ocorrer na associação.

Exemplo:

• Uma instância de Cliente pode ocorrer no máximo uma vez

Um Cliente tem zero ou uma carta de condução

• Uma instância de Carta de condução pode ocorrer no máximo uma vez

Uma Carta de condução pertence a um Cliente

Carta de conduçãotemCliente

11

Page 36: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 36

DEA: grau máximo

Exemplo:

• Uma instância de Garagem pode ocorrer no máximo uma vez

Uma Garagem pertence a zero ou um Apartamento

• Uma instância de Apartamento pode ocorrer muitas vezes (N)

Um Apartamento pode ter zero, uma ou mais Garagens

GaragemtemApartamento1 N

Page 37: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 37

DEA: grau máximo

GaragemtemApartamento1 N

apartamento1 garagem1

apartamento2 garagem2

apartamento3 garagem3

garagem4

tem

Page 38: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 38

DEA: grau máximo

Exemplo:

• Uma instância de Autor pode ocorrer no máximo N vezes

Um Autor escreve zero, um ou mais Livros

• Uma instância de Livro pode ocorrer no máximo M vezes

Um Livro pode ser escrito por zero, um ou mais Autores

LivroescreveAutorN M

Page 39: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 39

DEA: grau máximo

LivroescreveAutorN M

autor1 livro1

autor2 livro2

autor3 livro3

autor4 livro4

autor5 livro5

escreve

Page 40: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 40

DEA: grau mínimo

Uma entidade pode ou não participar numa associação.

• Obrigatória: não existe nenhuma ocorrência que não esteja associada a uma ocorrência da outra entidade.

• Opcional: pode haver ocorrências que não estejam associadas a ocorrências na outra entidade.

A obrigatoriedade de ocorrência da entidade está relacionada com o grau mínimo da associação.

O estudo do grau mínimo não invalida o do grau máximo, complementa-o.

Page 41: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 41

DEA: grau mínimo

O grau mínimo define o número mínimo de vezes que uma instância de uma entidade pode ocorrer na associação.

Exemplo:

• Médico é opcional:

Um doente pode não ter médico de família

• Doente é opcional:

Um médico pode não ser médico de família de nenhum doente

DoenteMédicoé médico de família

Se é zero diz-se opcional, se é um diz-se obrigatória.

Page 42: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 42

DEA: grau mínimo

Exemplo:

• Carta de condução é opcional:

Um dado cliente pode não ter carta de condução

• Cliente é obrigatório:

Uma carta de condução pertence no mínimo a um cliente

Carta de conduçãotemCliente

Page 43: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 43

DEA: grau mínimo

Exemplo:

• Autor é obrigatório:

Um autor escreve no mínimo um livro

• Livro é obrigatório:

Todo o livro é escrito no mínimo por um autor

LivroescreveAutor

Page 44: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 44

Exemplo:

• Um dado cliente pode não ter carta de condução e tem no máximo uma carta de condução.

• Uma carta de condução pertence a um e um só cliente.

DEA: graus máximo e mínimo

Carta de conduçãotemCliente

11

Page 45: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 45

DEA: entidade associativa

ProdutoforneceFornecedor

Uma associação com atributos próprios.

ProdutoFornecedor

fornecimento

A associação acima para além de indicar:

- quais os fornecedores de um produto e

- quais os produtos fornecidos por um fornecedor,

poderá também conter

a quantidade de produto fornecida entidade associativa

Page 46: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 46

Construção do DEA

1. Identificar as entidades

2. Identificar associações entre entidades

3. Identificar os atributos identificadores e os atributos descritores de cada entidade

4. Completar os graus máximos e mínimos das associações

5. Inserir a descrição das entidades e associações no dicionário de dados.

Page 47: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 47

Dicionário de dados

O dicionário de dados é uma ferramenta que permite descrever, com algum rigor, os elementos de dados do sistema.

A definição de um elemento de dados inclui:

a composição do elemento, caso seja composto por outros elementos, ou os valores que esse elemento pode tomar, caso seja atómico;

o significado do elemento, apresentado em comentários.

O dicionário de dados é uma ferramenta textual de apoio à análise e desenho.

Page 48: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 48

Dicionário de dadosUm elemento atómico é aquele cuja decomposição não faz sentido no contexto do sistema.

Em certos casos é necessário acordar com o utilizador se um elemento de informação é atómico ou necessita de uma maior decomposição.

Por exemplo, o termo nome pode ser decomposto em nome_próprio e apelido. Mas em determinados sistemas essa decomposição pode não ser necessária, relevante, nem mesmo significativa.

Muitas vezes o significado dos elementos atómicos é óbvio. Neste caso, não é necessário especificá-lo.

Exemplo: data de nascimento, nº de telemóvel.

Pode no entanto se necessário especificar os valores que esse elemento pode tomar ou as suas unidades de medida.

Exemplo: altura = ** *unidades: cm; intervalo: 150-210*

Page 49: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 49

Dicionário de dadosNotação:

= é composto de

+ e

( ) opcional

LimInf{}LimSup iteração ou conjunto

[ ] alternativa

* * comentários

@ identificador (chave) de um depósito de dados e entidade

| separador de opções alternativas na construção [ ]

Page 50: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 50

Dicionário de dados

Exemplo:

Filmes = {Filme}

Filme = @código_filme + nome + realizador + (actor principal) + situação

situação = [“alugado” | “disponível”]

* indica se o filme está alugado ou se está disponível *

Page 51: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 51

Exemplo: gerir a ocupação de um hotelConstrua o modelo de dados do sistema de gestão de ocupação de um hotel descrito abaixo:

Clientes = {Cliente}

Cliente = @BI + nome + morada + data_nasc + (telefone)

Reservas = {Reserva + n_quarto + BI}

Reserva = @id_reserva + dias_reservados + data_chegada + hora_chegada

Quartos = {Quarto}

Quarto = @n_quarto + n_camas + situação + categoria + preço + descrição

Facturas_pendentes = {Factura_pendente + id_reserva + BI}

Factura_pendente = @n_factura + data + valor_total

Pedidos_despertar = {Pedido_despertar + n_quarto}

Pedido_despertar = @n_pedido + data + hora

Situação = [arrumado | ocupado | livre | em reparação]

Page 52: Introdução à Manipulação de Dados Teresa Romão tir@di.uevora.pt di.uevora.pt/~tir/IMD/IMD.htm

Introdução à Manipulação de Dados 52

Exemplo

Cliente Reserva

QuartoFactura pendente

Pedido despertar

N1

1

1

1

N

N

N

faz

efectua

refere-sepertence

corresponde

1

1