• Nenhum resultado encontrado

INTRODUÇÃO A BASES DE DADOS

N/A
N/A
Protected

Academic year: 2019

Share "INTRODUÇÃO A BASES DE DADOS"

Copied!
56
0
0

Texto

(1)

1

INTRODUÇÃO A

BASES DE DADOS

O docente:

Hélder MC Muianga

 helder.muianga@uem.mz  (+258) 82-4727160

UEM

DMI

O Docente:

Hélder MC Muianga

(2)

3

Introdução às bases de

dados

O que são? Que utilidade têm?

UEM

DMI

4

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

(3)

UEM

DMI

5

Uma definição de base de dados

Base de Dados (BD):

conjunto integrado de dados

logicamente relacionados, desenhados para serem

partilhados e usados de foma concreta para uma

multiplicidade de objectivos por múltiplos tipos de

utentes.

UEM

DMI

Exemplo: agenda telefónica

Nome

Morada

Telefone fixo

Telefone móvel

Data de nascimento

(4)

UEM

DMI

7

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.

UEM

DMI

8

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

(5)

UEM

DMI

9

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

UEM

DMI

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:

(6)

UEM

DMI

11

Sistema de Processamento de

Ficheiros (SPF) Versus Sistema

de Bases de Dados (SBD)

UEM

DMI

12

Sistema de Processamento

de Ficheiros

Baseia-se sobretudo nas necessidades de processamento

das várias unidades orgânicas da organização. A

medida que se vai detectando a necessidade de

(7)

UEM

DMI

13

Sistema de Processamento

de Ficheiros

Desvantagens do SPF:

Redundância de dados não controlada

Dados inconsistentes

Inflexibilidade

Reduzida partilha de dados

Dificuldades de implementação de normas

Grande esforço de manutenção

Fraca produtividade de programação

UEM

DMI

Sistema de Processamento

de Ficheiros

Dados

Dados

Dados

Dados

Aplicação

Aplicação

Aplicação

(8)

UEM

DMI

15

Sistema de Processamento

de Ficheiros

Exemplo

:

Uma instituição de ensino possui vários responsáveis

pela administração de um grande volume de dados,

sendo muitos destes dados comuns a vários sectores:

O sector

Académico

, controla as actividades de

ensino;

O sector

Administrativo

, coordena a estrutura geral

da instituição;

O sector de

pessoal

, responsável pela administração

das pessoas que trabalham na instituição.

UEM

DMI

16

Sistema de Processamento

de Ficheiros

Sector

Académico

Sector

Administrativo

Sector

do

Pessoal

Alunos

Departamentos

Departamentos

Professores

Cursos

Professores

Disciplinas

Disciplinas

Funcionários

Turmas

(9)

UEM

DMI

17

Sistema de Processamento

de Ficheiros

Cada sector possui um objectivo a alcançar e define

registos com campos e formatos que julga

adequados.

Exemplo:

 professores (Académico) = (nome, BI, área de interesse)

 professores (Pessoal) = (nome, BI, vencimento, categoria, data de

admissão)

Os campos semelhantes em ambos arquivos como nome e BI

podem apresentar tipos de dados (formatos) diferentes.

UEM

DMI

Sistema de Processamento

de Ficheiros

Cada aplicação define arquivos através do seu

ambiente de programa e implementa

procedimentos para ligar com os seus dados.

Exemplo:

para arquivo aluno são criados procedimentos para

(10)

UEM

DMI

19

Sistema de Processamento

de Ficheiros

O acesso aos dados é controlado pelas aplicações de cada sector

 Não existem possibilidades de partilhar dados entre as aplicações

20

Modelos de bases de

(11)

UEM

DMI

21

Modelos de Bases de Dados

Modelo de ficheiro

Modelo hierárquico

Modelo em Rede

Modelo Relacional

Modelo Orientado a Objectos

Modelo Objecto-Relacional

UEM

DMI

Modelo de Ficheiro (Já

visto)

A aplicação tem relação unívoca com um

ficheiro

Programa A Ficheiros

Programa B Ficheiros

Programa A

Programa B

Dados SGBD

(12)

UEM

DMI

23

Modelo Hierárquico

 Numa base de dados hierárquica os registos estão ligados numa estrutura de dados em árvore de tal modo que cada tipo de registo tenha apenas um possuidor. Por exemplo: uma encomenda é possuída por um único cliente (um filho tem apenas um pai).

Exemplo:

Sistema de pastas no Windows Organigrama duma empresa

UEM

DMI

24

Desvantagens do

Modelo Hierárquico

Redundância de dados

 Não existe partilha de dados, o que faz com que o mesmo dado

exista em 2 ou mais sítios ao mesmo tempo

KING

BLAKE

KAZUKI

CLARK

KAZUKI SMITH

45

31 43

(13)

UEM

DMI

25

Desvantagens do

Modelo Hierárquico (2)

Dependência da estrutura de dados

 A alteração da estrutura dos dados afecta a aplicação  Por isso, é necessário conhecer a estrutura dos dados para

acessá-los.

Exemplo:

Neste caso, temos que conhecer o nome, a

idade e endereço, antes de desenvolver a aplicação que

irá aceder a base de dados

nome idade endereço

nome idade endereço

nome idade endereço

UEM

DMI

Modelo em Rede

 Numa base de dados rede cada tipo de registos pode estar ligado

a um ou mais possuidores; O que expressa a ideia de grafos. Por exemplo, um paciente pode ter mais do que um médico.

 NOTA: O modelo hierárquico é um subconjunto do modelo em rede.

Exemplo:

KING ALLEN

(14)

UEM

DMI

27

Desvantagens do

Modelo em Rede

Apesar deste modelo já eliminar a redundância de

dados, mantém a dependência da estrutura de

dados

 A alteração da estrutura dos dados afecta a aplicação

 Por isso, é necessário conhecer a estrutura dos dados para

acessá-los.

UEM

DMI

28

Modelo de Bases de

Dados Hierárquicas - Resumo

Dados que se repetem em dois ou mais

locais.

Qualquer alteração da estrutura da base de

dados implica uma alteração das aplicações

que a acedem.

Redundância de dados

(15)

UEM

DMI

29

Modelo de Bases de

Dados em Rede - Resumo

Resolve a redundância de dados

Não resolve as dependências estruturais.

Dependência estrutural de dados

UEM

DMI

Modelo Relacional

Dr. E. F. Codd propôs o modelo relacional para sistema de

base de dados em 1970

É um modelo de dados baseado na teoria de conjuntos

O modelo relacional foi o primeiro modelo de base de dados

formal

A principal proposição do modelo relacional é que todos os

dados

são representados como relações matemáticas, isto é,

um

subconjunto

do

produto Cartesiano

de

n

conjuntos

Os dados são tratados pelo cálculo relacional ou

álgebra

relacional

(16)

UEM

DMI

31

Modelo Relacional (2)

Atributo

característica, propriedade,...

Tupla

- conjunto de atributos que são ordenados

em pares de domínio e valor.

Relação

- conjunto desordenado de tuplas.

Exemplos de relações:

 Cliente (ID Cliente, ID Taxa, Nome, Endereço, Cidade, Estado, CEP, Telefone)

 Pedido_Compra (Número do pedido, ID Cliente, Factura, Data do

pedido, Data prometida, Status)

 Item_Pedido(Número do pedido, Número do item, Código do produto, Quantidade)

UEM

DMI

32

Modelo Relacional (3)

Domínios

- possuem características que definem os

possíveis valores que serão armazenado em um atributo de

uma tupla.

Por exemplo: Em um atributo do tipo numérico, serão somente

armazenados números

Chave

- é um conjunto de um ou mais atributos que

determinam a unicidade de cada registro.

 Existem dois tipos de chaves: Chave Primária e chave

Estrangeira.

Chave Primária– Garante unicidade de cada registo.  Chave Estrangeira - é formada pela chave primária de outra

(17)

UEM

DMI

33

Modelo Relacional (4)

Arquitectura ANSI/SPARC:

A meta desta arquitectura é separar as aplicações dos

usuários da base de dados física.

Nesta arquitectura os esquemas podem ser definidos em três

níveis:

UEM

DMI

Modelo Relacional (5)

VANTAGENS (1):

Redução de redundâncias de dados

Resolve o problema das dependências

estruturais de dados

Controlo da integridade dos dados

Evita inconsistências de dados pelo uso de

(18)

UEM

DMI

35

Modelo Relacional (6)

VANTAGENS (2):

Resolve o problema das dependências

estruturais de dados

Usa a Linguagem SQL

(Structured Query

Language)

UEM

DMI

36

Modelo Relacional(7)

Resumo

Uso de Tabelas relacionadas

Os dados são guardados em tabelas compostas por linhas

e colunas

Dados obtidos através da relação entre as tabelas

Uso de Sistemas de Gestão de Bases de Dados

Relacionais (SGBDR)

SGBDR respondem aos pedidos de dados feitos pelas

aplicações-cliente.

Uso da Linguagem Estruturada

(19)

UEM

DMI

37

O que é um Sistema de

Gestão de Base de Dados?

SGBD

Recordar exemplos anteriores

UEM

DMI

SGBD

Definição 1:

(20)

UEM

DMI

39

SGBD

Definição 2:

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.

 Os dados são organizados num único conjunto;

 Todos os acessos físicos aos dados passam a ser feitos pelo

SGBD;

 Grande vantagem dos SGBD é a separação dos programas e dos

dados.

UEM

DMI

40

SGBD

Aplicação A

Aplicação B

Aplicação C

Aplicação D

Aplicação E

Base de Dados

S

G

B

D

(21)

UEM

DMI

41

Requisitos fundamentais de

SGBD

São requisitos fundamentais de um SGBD, os seguintes:

Segurança

Integridade

Controle da concorrência

Requisitos/ Tolerância a falhas

UEM

DMI

Componentes típicos do

ambiente de Base de Dados

Administradores de dados

System Developers

Utilizadores

Interface

Com Utentes Ferramentas CASE

Repositório

Programas

Aplicativos

(22)

UEM

DMI

43

SGBD ou SGBDR

RESUMO:

Quando se faz uma procura do lado do cliente (

client side

)

para bases de dados relacionais, essa procura é entregue ao

SGBDR (1)

Depois, o SGBDR executa a procura nas tabelas (2)

O SGBDR devolve o resultado ao cliente (3)

O SGBDR fica entre as tabelas e o cliente

SGBDR

Disco

Tabelas

Exemplos de SGBDR: ORACLE, SQL Server, MySQL, MS Access e etc cliente

(1) (2)

(3) (3)

44

Bases de dados

relacionais

(23)

UEM

DMI

45

Como são?

 As bases de dados relacionais são constituídas por uma ou mais tabelas

relacionadas entre si (tal como explicado no Modelo Relacional).

Mas que tabelas? Relacionadas como? Não estou a perceber nada!

UEM

DMI

Três passos

Para construir uma base de dados podemos seguir três passos:

1. Definir o objectivoda 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 turma

Ano da turma

Turmas e professores

Código da turma Código do professor

Professores Código de professor

(24)

47

Primeiro passo

O que é que se pretende guardar

na base de dados?

UEM

DMI

48

Entidades e atributos (1/5)

Para conceber uma base de dados, é necessário começar por pensar:

 Qual é o tema da base de dados?

(25)

UEM

DMI

49

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 (tabela

ou relação) e de atributo.

UEM

DMI

Entidades e atributos (2/5)

Entidade – qualquer “coisa”, isto é, objecto concreto, pessoa, conceito,

factos ou acontecimentos sobre a qual o sistema tem interesse em guardar informação e que pode ser identificado de uma forma inequívoca através de suas propriedades.

Exemplos: Curso, Especialidade, Prescrição, Renovação, Produto, Veiculo, etc.

 Uma entidade é representada dentro de um rectângulo.

Atributo– é qualquer propriedade de uma entidade que assume valores

(26)

UEM

DMI

51

Entidades e atributos (2/5)

TIPOS DE ATRIBUTOS

Um atributo como pode ser caracterizado pelos seguintes tipos:

Atributos Simples:

São aqueles indivisíveis. Exemplo: Nr de BI, idade, sexo, etc.

Atributos compostos:

São aqueles que podem ser divididos em partes permitindo a geração de outros atributos (preferencialmente simples).

Exemplos:

Nome (subdividindo em Apelido e Outros Nomes).

Endereco (subdividindo em avenida, bairro, quarteirão, etc.)

UEM

DMI

52

Entidades e atributos (2/5)

TIPOS DE ATRIBUTOS

Atributos monovalorados:

São aqueles que assumem um e único valor para cada elemento da entidade.

Exemplo: número de estudante (é único valor para cada um individuo), NUIT, etc.

Atributos multivalorados:

São atributos que podem assumir vários valores para cada um dos elementos da entidade.

Exemplos:

(27)

UEM

DMI

53

Entidades e atributos (2/5)

Portanto, a Base de Dados Pressupõe:

 Identificar não só os processos, mas também as “coisas”, isto é, as

entidades que a organização pretende ou necessita de memorizar para que o sistema responda aos estímulos externos: Empregado, Produto;

 Identificar as propriedades dessas entidades: nome, salários, preços;

 Identificar o inter-relacionamento entre essas entidades tendo em conta

sempre: Integração, Partilha, Concorrência, Múltiplos objectivos para múltiplos utilizadores

UEM

DMI

Entidades e atributos

A 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

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

(28)

UEM

DMI

55

Entidades e atributos

Por 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 postal Código

Localidade

Nome Nomes próprios

Apelido

Data

Ano

Mês

Dia Exemplos?

UEM

DMI

56

Exercício

Indique o nome de 3

entidades

e seus

atributos (cinco pelo menos)

.

Preencha com 15 registos uma das tabelas

Guarde o seu trabalho ficheiro xls com o

(29)

UEM

DMI

57

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

UEM

DMI

Exemplo

uma empresa que comercializa um conjunto de artigos pretende criar uma base de dados para registar esses artigos, bem como as encomendas efectuadas pelos seus clientes, em relação aos quais se 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

(30)

UEM

DMI

59

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

UEM

DMI

60

Bases de dados monotabela

 Composta por uma única tabela.

 Cada colunapossui 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!

(31)

UEM

DMI

61

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;

UEM

DMI

Dificuldades na manutenção

Dificuldade na sua

manutenção

Qualquer alteração a um dado repetido teria de ser

(32)

UEM

DMI

63

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.

UEM

DMI

64

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érprete Data de aquisição Modo de aquisição 20 anos

depois Rui Veloso Setembro de 2000

Prenda de aniversário Memphis Elvis Presley Agosto de 1995 Compra Internet

(33)

UEM

DMI

65

No exemplo da empresa

3 tabelas

- para registar a informação do cliente

- para registar a informação dos artigos

- para registar as encomendas

UEM

DMI

Tabela clientes

Cod-cliente nomecliente endereço Telef/fax

Tabela produtos

Cod_produto Produto Modelo Preço

Tabela Encomendas

Cod_cliente Cod_produto Data_enc Quant

(34)

UEM

DMI

67

Tabela

No modelo relacional utilizam-se tabelas para guardar os dados.

 A Tabela possui linhas e colunas  A Coluna exprime o tipo de dados

 A cada coluna é dado o nome de campo ou atributo.

 A Linha exprime um registo (conjunto de dados)

 Cada linha contendo dados tem o nome de registo ou tupla.

Linha

campo

Coluna

UEM

DMI

69

Relacionamento Entre

Tabelas

Conectar tabelas

Eliminar redundância de dados

Funcionário Pertence

Exprime Tabela/Relação

Exprime Relacionamento

Tabela Departamento

Departamento

Tabela Funcionário

(35)

UEM

DMI

70

Atributo de Uma Coluna

Cada coluna tem atributo (s)

Qual é o tipo de dados envolvidos?

 Numérico, caracter, data e mais

 Grande, pequeno, longo, curto

Dado Tipo Descripção

NUMBER(p,s) Número que tem um número de máximo de p dígitos, com dí gi t os com s dí gi t os à di r ei t a do pont o

VARCHAR2(s) Valor de caráter de variável-comprimento de

t amanho máxi mo s

DATE Data entre janeiro de 1,4712 A.C., e 31 de

dezembr o de 9999 D. C.

UEM

DMI

Chave (Key)

Chave Primária - Primary Key (PK)

O dado dever ter algum valor sem igual para distinguir

cada dado, chama se PK

Cada fila de dados em uma tabela é identificada

exclusivamente por uma

Primary Key

(PK)

É proibido nenhum dado, chama se “NULL”

É proibido existe igual dado ao mesmo tempo

Chave Estrangeira - Forreign Key (FK)

Você pode relacionar dados logicamente de tabelas de

múltiplas que usam

Foreign Key

(FK)

(36)

UEM

DMI

72

Chave (Key)

DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10

PK FK

PK

Null Not Null e sem igual

UEM

DMI

73

Tabela Mestre

e Transacção

Tabela Mestre

Tabela referenciada é tabela mestre

A tabela Mestre não é actualizada

frequentemente como a tabela de departamento

Tabela de transacção

Tabela que tem FK é tabela de transacção

A Tabela de transacção é actualizada

frequentemente como tabela de empregado

departamento empregado Pertence

(37)

UEM

DMI

74

Exemplo Sobre Tabelas e

Relacionamento

No começo, pense no que fazer.

Empregado e departamento

Produto e venda (compra)

Desporto e jogador

Professor e curso e mais…

Segundo, pense no tipo de relação?

Pertence, tem…

Que colunas deve ter cada tabela?

Nome de empregado, salário, idade e mais

Nome de departamento, locação e mais

Tabela A relacion Tabela B amento

Coluna A

Coluna B

Coluna C

Coluna A

Coluna B

Coluna C

UEM

DMI

(38)

76

Segundo passo

Relações fortes...

UEM

DMI

77

Relações entre entidades

Entre as entidades de uma base de dados tem de haverrelações.

Exemplos? É para já!...

 Entre as entidades aluno e turma existe uma relação: a turma possui alunos;  Entre as entidades sócio do clube de vídeo e DVD existe uma relação: sócios

requisitam DVD;

 Entre as entidades filme e actores existe uma relação: os filmessão interpretados poractores;

 Entre as entidades automóvel e avaria existe uma relação: automóveis têm avarias;

 Entre as entidades CD áudio e faixa existe uma relação: CD áudiosão

(39)

UEM

DMI

78

Diagramas E-R

(Entidade-Relação)

 Para isso, terás que saber como de concebe um diagrama E-R, ou seja, um esquema que

mostra as entidades e as relações entre elas.

CD são interpretados por são compostos por Intérpretes Faixas Título Intérprete tipo de

música ano de edição

modo de aquisição data de aquisição notas Nome Data de nascimento Foto País Notas Título Duração Número de faixa Cidade Número de CD Número de

intérprete Número de faixa

Atributo chave

UEM

DMI

Diagramas E-R

(Entidade-Relação)

Entidade Relação Atributo

 Para conceber um diagrama destes, basta pensar quais são:

- as entidades

- as relações que existem entre elas - os atributos de cada entidade

- qual é a chave de cada entidade (o que identifica a entidade inequivocamente)

e representar esses objectos graficamente através da forma devida:

(40)

UEM

DMI

80

Exercício

Para as entidades

livro

e

utilizador_da_biblioteca

Restaurante

e

cliente

Filme

e

realizador

defina os respectivos atributos,

a

chave

e crie um

diagrama

do tipo E-R

Grave num .DOC com o nome diagrama E-R

UEM

DMI

81

Entidades e tabelas

 E porque temos falado tanto de relações, em que medida se relacionam as entidades e os atributos com as tabelas e os campos?

Eu sabia que isto estava tudo relacionado! Só ainda

continuo sem perceber como...

(41)

UEM

DMI

82

Entidade

= Tabela

Atributos

= Campos

Elementos da Entidade =

Registos

(cada linha da tabela)

Os

campos

de uma entidade devem ser

valores elementares

e não conjuntos de

valores

UEM

DMI

Campos-chave

(1/9)

 Uma das regras da constituição de tabelas no modelo relacional,

determina que cada registo deve ser único.

Como identificar, um registo de uma tabela?

 O modelo relacional utiliza um mecanismo de chaves. As chaves não são mais do que um ou vários campos da

(42)

UEM

DMI

84

Campos-chave

(2/9)

Todos os campos, que não possuem valores

repetidos nem nulos, e identificam um registo

de forma unívoca, tomam o nome de

chave

primária

.

UEM

DMI

85

Campos-chave

(3/9)

Regras para ser chave primária:

Não ter valores nulos;

(43)

UEM

DMI

86

Campos-chave

(4/9)

 Qual a chave primária?

CD

Título Intérprete Data de aquisição Modo de aquisição

Best Of Brian Adams Julho 1995 Prenda de Natal

20 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

Best Of Cranberries Setembro de 2005 Prenda de Natal

UEM

DMI

Campos-chave

(5/9)

Quando existem problemas na escolha das chaves, existem duas soluções possíveis, das quais devemos escolher a mais adequada a cada situação concreta:

1. Escolher não apenas um campo, mas um conjunto de campos para chave e assim formarmos uma chave composta.

2. Criar um novo campo para desempenhar o papel de campo-chave, garantindo nós que nunca terá conteúdos repetidos nem nulos.

(44)

UEM

DMI

88

Campos-chave

(6/9)

Título Intérprete Data de aquisição Modo de aquisição

20 Anos Depois Do Lado dos Cisnes

Rui Veloso GNR

8/9/2000

24/12/2002 Prenda de Natal Prenda de aniversário

Campos-chave – chave composta

Número do

CD Título Intérprete Data de aquisição Modo de aquisição

1 2

20 Anos Depois Do Lado dos Cisnes

Rui Veloso

GNR

8/9/2000

24/12/2002 Prenda de Natal Prenda de aniversário

Campo-chave

2 soluções…

UEM

DMI

89

Campos-chave

(7/9)

1ª solução:chave composta - Título e o Intérprete. Evita-se assim a

possibilidade de repetições, já que é muito pouco provável que um mesmo intérprete lance dois CD com o mesmo título.

 Pouco provável, mas não impossível... Os quatro primeiros álbuns de Peter Gabriel tinham o seu nome como título.

CD Título Intérprete Data de aquisição Modo de aquisição

Peter Gabriel Peter Gabriel ... ...

(45)

UEM

DMI

90

Campos-chave

(8/9)

2ª solução: numerar os CD (campo Número do CD) e garantir a não existência de

CD com números idênticos e nulos.

CD

Número do CD Título Intérprete Data

de aquisição

Modo de aquisição

1 Best of Brian Adams ... ...

2 Best Of Cranberries ... ...

É esta a solução mais usada nas bases de dados. É por isso que tens um número de BI, um número de aluno, um número de sócio...

UEM

DMI

Exemplo

 considerando os campos da entidade aluno (nome, idade, ano,

morada, telefone)

Idade, ano, morada, telefonenão podem servir de CHAVE pois

existem pessoas que podem ter a mesma idade, estar no mesmo ano ou morar na mesma casa.

 Quanto ao nome, a possibilidade de existirem 2 pessoas com o mesmo nome é muito reduzido, mesmo assim, nada garante que isso não aconteça.

(46)

UEM

DMI

92

Campos-chave

(9/9)

 Quando adicionamos um campo a uma tabela apenas para que ele seja chave,

ele toma o nome de chave derivada.

 Se a escolha para chave vier dos campos já existentes na tabela, essa chave

tomará o nome de chave natural.

Qual destes casos foi o do campo Número do CD?

UEM

DMI

93

Entidades e tabelas (de

novo...)

 Ainda falta mais uma coisinha : conhecer os tipos de relações que

existem entre as entidades.

(47)

94

Tipos de relações

Ainda bem que aqui não há

ciúmes...

UEM

DMI

Numa primeira análise...

As

entidades

têm

relações

entre si. Nas bases de

dados relacionais, são três os tipos de relações entre

entidades:

1 para 1

1 para N

(48)

UEM

DMI

96

Relações do tipo “1 para 1”

(1/2)

É um tipo de relação pouco comum. Como exemplos, temos:

 A relação entre a tabela de turmas de uma escola e a tabela dos delegados de cada turma. Cada turma tem um

representante (1:1).

 A relação entre um professor e uma turma numa escola primária: cada professor tem a sua turma (1:1).

UEM

DMI

97

Relações do tipo “1 para 1”

(2/2)

Num diagrama E-R, colocamos os “1” dos lados esquerdo e direito da

relação:

Representante

Turma tem

um

(49)

UEM

DMI

98

Relações do tipo “1 para N”

(1/2)

É o tipo de relação mais frequente, da qual são exemplos:

 Uma colecção de CD áudio, em que cada CD tem um título e uma data de aquisição, mas várias faixas (1:N);

 Uma biblioteca, em que cada colecção tem um título mas vários volumes (1:N);

 Uma turma com uma designação, mas vários alunos (1:N);

 Um torneio de futebol com uma dada designação, mas várias equipas (1:N);

Um automóvel com várias idas à oficina (1:N);

 Um clube de vídeo, em que um filme pode ter vários DVD ou cassetes (1:N).

UEM

DMI

Relações do tipo “1 para N” (2/2)

Num diagrama E-R, colocamos o “1” e o “N” dos lados esquerdo

e direito da relação:

CD composté

o por

Faixas

(50)

UEM

DMI

100

Relações do tipo “N para N” (1/2)

São exemplos:

 A relação entre disciplinas e alunos de uma escola: cada aluno frequenta aulas de várias disciplinas e cada disciplina tem

vários alunos nela inscritos (N alunos: N disciplinas);

 A relação entrelivros e sócios de uma biblioteca: um sócio pode requisitar vários livros da biblioteca, podendo esse mesmo livro ser requisitado por diferentes sócios (N livros: N sócios).

UEM

DMI

101

Relações do tipo “N para N” (2/2)

Num diagrama E-R, colocamos o “N” e o “N” dos lados esquerdo e direito da relação:

Sócios Requisita

m

Livros

(51)

UEM

DMI

102

Proposta de trabalho

Indique dois exemplos para cada uma das

seguintes

relações entre entidades

1 para 1

1 para n

n para n

Grave num xls com o nome relações.xls

UEM

DMI

Uma nota

Embora estejamos a falar de relações entre entidades,

é das

entidades do diagrama E-R

que vão surgir as

(52)

UEM

DMI

104

Na base de dados relacional

 Cada tabela tem um nome único dentro da base de dados e corresponde a

uma entidade ou relacionamentoentre entidades.

 Cada coluna, ou campo, tem um nome único dentro da tabela, mas podem

existir campos com o mesmo nome noutra tabela da mesma base de dados

 Cada campo só pode ter um valor dentro de um registo  cada linha corresponde a um registo

 as várias linhas podem conter dados repetidos em alguns campos mas não

podem existir duas linhas iguais.

 a ordem das linhas e das colunas pode ser alterada em qualquer momento.

UEM

DMI

105

Na base de dados relacional

Regras

 Numa base de dados não podem existir duas tabelas com o

mesmo nome

 Numa tabela não podem existir camposcom o mesmo nome  Não devem existir campos vazios. Se existir este campo não

pode ser utilizado como chave

 Só é permitido atribuir um valor em cada campo, por registo  Cada linha da tabela representa uma entidade, ou ocorrência

(53)

UEM

DMI

106

Exercício:

Violações a estas regras, identifique-as

nome Disciplinas

101 Abel Port;Mat

201 Ana Port;Ing;Mat

301 Rui Ing;Mat

310 Sandra Port;Ing;Fran

nome Disciplina Disciplina2

101 Abel Port Mat

201 Ana Port Ing

220 Rui Ing Mat

201 Ana Port Ing

310 Sandra Ing Mat

nome Disciplina Disciplina

101 Abel Port Mat

201 Ana Port Ing

220 Rui Ing Mat

201 Ana Port Fran

310 Sandra Ing Mat

UEM

DMI

TABELAS DE RELACIONAMENTO OU DE

RELAÇÃO

Chave de uma tabela:

campo ou conjunto de

campos que conseguem identificar de forma única

cada registo da tabela

A

chave

deve respeitar as seguintes

regras

:

ser unívoca

= o valor ser único em cada registo

não nula

= não podem existir valores nulos

(54)

UEM

DMI

108

TABELAS DE RELACIONAMENTO OU DE

RELAÇÃO

Para estabelecer relações entre tabelas é necessário

criar uma

tabela de relacionamento

A

tabela de relacionamento

deve incluir, entre os seus

campos, as

chaves das tabelas que entram no

relacionamento

. Neste caso as

chaves

chama-se externas

.

UEM

DMI

109

TABELAS DE RELACIONAMENTO OU DE

RELAÇÃO

Temos portanto 4 tipos de chaves:

Primária

Composta

(2 ou mais)

Derivada

(campo artificial)

(55)

UEM

DMI

110

FASES DE UM PROJECTO DE CRIAÇÃO DE UMA

BASE DE DADOS

Definir cada entidade

(

tabela

) enumerando os

seus atributos (

campos

) e identificando os campos

chave

Definir a

tabela de relacionamentos

Determinar os relacionamentos

entre as

diferentes entidades (tabelas)

UEM

DMI

Como os SGBD (sistemas de gestão de

bases de dados) não conseguem

desenvolver

relações de n para n

, tem que

se criar uma

3ª tabela de relacionamentos

(56)

UEM

DMI

112

Alunos

Codaluno

Nomealuno

Morada

telefone

Disciplinasinscritas

Codaluno

codisciplina

Disciplinas

Nomedisciplina

Anodisciplina

codisciplina Cod aluno nome morada telefone Disciplinas

101 Abel Aveiro 222222 Port;Mat

201 Ana Aveiro 111111 Port;Ing;Mat

301 Rui Ílhavo 333333 Ing;Mat

Imagem

Tabela clientes
Tabela de transacção  Tabela  Mestre

Referências

Documentos relacionados

hands of the judiciary, a sort of way to apply effectively regulated justice, not an extension of justice, it is not king acting through its apparatus of justice, the king is

Convidase, así, a una nueva reflexión para tomar consciencia de que las desigualdades económicas, las limitaciones de recursos naturales, las insuficiencias y el

Tendo como parâmetros para análise dos dados, a comparação entre monta natural (MN) e inseminação artificial (IA) em relação ao número de concepções e

Quando contratados, conforme valores dispostos no Anexo I, converter dados para uso pelos aplicativos, instalar os aplicativos objeto deste contrato, treinar os servidores

O objetivo desta pesquisa foi investigar o papel da Educação Física na Educação Infantil, considerando-se os objetivos gerais, objetivos específicos, os conteúdos da

98: “En- quanto não permitir o fundo de custeio dos serviços de inspeção, a designação de inspetores especializados para orientação do en- sino da Musica e dos exercícios

sem discriminação”; “...o ensino inclusivo será uma oportunidade das pessoas portadoras de necessidades especiais de mostrar suas potencialidades”; “espero que esta

Aprendizado geral dos jogos esportivos de forma implícita - lúdica Escola da Bola - O ABC da Aprendizagem do Jogo Implícito / Lúdico. O Problema / As causas A solução: