Você está na página 1de 29

TÉCNICAS DE LINGUAGENS DE PROGRAMAÇÃO

UNIDADE V:
PROJECTO DE
BD

Ano Lectivo 2020 1


AS DISCIPLINAS DE TLP E SI
PROFESSOR: PAULO TUMBA
E-MAIL: MANUELPAULO@GEC.INATEL.BR
TIPO DE AULAS: TÉCNICAS E PRÁTICAS

Ano Lectivo 2020 2


PROJECTO DE BD

■ O desenvolvimento e implementação de uma base de


dados é um processo complexo e rigoroso, que exige
algumas técnicas e conhecimentos específicos.
■ Os Sistemas de Gestão de Bases de dados definem-se
numa arquitectura de desenho ANSI/SPARC que possui 3
níveis:
– Externo (visualização) – define a visão dos utilizadores;
– Conceptual (desenho) – forma de organização e
definição dos dados;
– Interno ou Físico (armazenamento) - forma como os
dados são organizados e fisicamente armazenados.
■ Nota: Dentro da arquitectura ANSI/SPARC, o modelo conceptual e
lógico estão ao nível Conceptual.

Ano Lectivo 2020 3


MODELAGEM DE DADOS

■ Engloba duas grandes actividades: análise de requisitos e


modelagem propriamente dita.
- Análise de requisitos - levantamento das necessidades dos
utilizadores.
-Modelagem – especificação das necessidades dos
utilizadores.
■ A modelagem de dados permite:
– Obter um bom projecto de BD;
– Visualizar a estrutura da BD antes da implementação;
– Dar uma visão geral daquilo que será o produto final ao
utilizador;
– Simplifica a implementação de uma BD.

Ano Lectivo 2020 4


MODELAGEM DE DADOS

■ Modelo conceptual – descreve a estrutura de uma BD de


forma que os utilizadores percebam. É independente da
implementação da Base de dados. Representa a base de
dados de forma conceptual (alto nível).
■ Modelo lógico – estrutura de uma base de dados pela
forma como será implementado pelo SGBD. Ou seja,
modelo de implementação dos dados.
– Exemplo: Modelo relacional
■ Físico – estrutura detalhada do armazenamento dos
dados.
■ Nota: Dentro da arquitectura ANSI/SPARC, o modelo
conceptual e lógico estão ao nível Conceptual.

Ano Lectivo 2020 5


MODELO CONCEPTUAL

■ O modelo conceitual fornece uma visão detalhada do


universo que se pretende modelar.
■ Normalmente o modelo conceptual é representado pelo
Modelo Entidade- Relacionamento (MER).
■ O MER especifica a estrutura logica geral de uma BD.
■ O MER engloba três conceitos básicos:
– Entidades
– Relacionamentos
– Atributos
■ A fase de modelo conceptual resulta na criação de um
Diagrama Entidade-Relacionamento (DER).

Ano Lectivo 2020 6


DIAGRAMA ENTIDADE-RELACIONAMENTO
- DER

O Diagrama Entidade Relacionamento (DER) consiste na


representação visual do modelo conceptual dos dados. É
a representação gráfica do MER.
Elementos do diagrama ER: entidades, atributos,
chaves, relacionamentos e cardinalidades.
A notação clássica foi proposta na década de 70 por Peter
Chen. E é conhecida como notação Chen.
Nesta notação as entidades são representadas por
retângulos, os relacionamentos por losangos, atributos
por elipses e as respectivas conexões por linhas.
Existem vários tipos de notação.

Ano Lectivo 2020 7


Exemplo 1

Pretende-se criar uma base de dados para uma empresa de construção civil.
Em conversa com os responsáveis obteve-se a seguinte informação:
Na nossa empresa temos funcionários, sobre cada um é necessário conhecer
o número de BI, primeiro nome, sobrenome, data de nascimento, endereço,
salário e sexo. Cada funcionário pode ter vários dependentes (familiares).
Sobre os dependentes do funcionário, é necessário conhecer o nome, sexo,
data de nascimento e grau parentesco.
Todo o funcionário tem um supervisor que controla a sua actividade, logo,
um mesmo funcionário pode supervisionar vários outros funcionários.
A nossa empresa está organizada em departamentos, todo o departamento
tem um número e nome. A um mesmo departamento pertencem vários
funcionários. Um departamento é gerido por um só funcionário, e deve-se
guardar a data de início da função de gestão.
Um departamento controla vários projectos. Os funcionários da empresa
podem trabalhar em vários projectos, e deve-se guardar a hora desta função. E
sobre cada projecto é importante guardar o número, o nome e a localização.

Ano Lectivo 2020 8


ENTIDADE

■ Uma entidade é um objecto ou


conceito do mundo real com
existência independente de
interesse para um domínio
específico.
■ Exemplo: Cada funcionário que FUNCIONÁRIO
trabalha numa determinada
empresa é uma entidade.
■ As entidades podem ser:
– Concretas – pessoa, livro, etc.
– Abstractas – empréstimo,
venda, etc. DEPENDENTE
■ Cada entidade possui um conjunto
de propriedades que a
caracterizam, chamadas de Entidade Fraca
atributos.

Ano Lectivo 2020 9


ATRIBUTOS

■ Atributos são propriedades


descritivas da entidades.
■ Exemplo: Um funcionário de
determinada empresa, possui:
Nome, data de nascimento,
morada, telefone, etc. Nome Morada Telefone
■ Todo atributo tem um domínio,
ou seja, conjunto de valores que Data_Nascimento

o atributo pode assumir. Funcionário

■ Exemplo: Nome do funcionário:


Varchar(30); Data de nascimento:
Date

Ano Lectivo 2020 10


TIPOS DE ATRIBUTOS

■ Simples ou atómicos – Não é divisível.


Ex: Número BI, sexo. Simples
■ Compostos – pode ser divido em Nome
subpartes. Ex: Endereço é formado pela
cidade, bairro, rua, etc. Composto Rua
■ Multi-valor – Pode ter um ou mais Morada
valores para cada entidade. EX: Número
Bairro
de telefone.
Multi-valor
■ Derivado – o valor pode ser
Telefone
determinado a partir de outros
atributos. Ex: Idade pode ser
Chave
determinada a partir da data de
nascimento. BI

■ Chave – identifica unicamente uma


entidade.

Ano Lectivo 2020 11


RELACIONAMENTOS

■ Um relacionamento representa
associações entre duas ou mais entidades. Funcionário Trabalha Empresa
– Ex: Um funcionário trabalha para uma
empresa.
■ Onde: FUNCIONÁRIO e EMPRESA são
entidades
e o relacionamento é TRABALHA
■ Grau do relacionamento – número de
entidades
que participam no relacionamento.
– Unário
– Binário
– Grau superior à 2
Funcionário Trabalha Empresa
Projecto
*Os relacionamentos podem ter atributos.
– Ex: Um funcionário que trabalha num
determinado projecto, o número de horas
de trabalho é um atributo do Horas
relacionamento.

Ano Lectivo 2020 12


ENTIDADES FRACAS

■ Entidades fracas – entidades que não


possuem existência isolada,
dependem sempre de outras
entidades.
Exemplo:
■ Entidade fraca: DEPENDENTE
■ Relacionamento identificador: TEM Funcionário Tem Dependente
Empresa
Empresa
■ Entidade identificadora:
FUNCIONÁRIO
■ Uma entidade fraca possui uma chave
parcial (chave fraca) que funciona
como discriminador para se fazer a
distinção entre diferentes dependentes
de um mesmo funcionário.

Ano Lectivo 2020 13


RESTRIÇÕES

■ As restrições limitam as possíveis


combinações entre as entidades que
participam num relacionamento.
■ Cardinalidade ou multiplicidade:
especifica o número de instâncias de
um tipo de relacionamento do qual a
entidade pode participar, ou seja,
especifica como as entidades se
relacionam entre si.
– 1:1 (um-para-um)
– 1:N (um-para-muitos)
– N:1 (muitos-para-um)
– M:N (muitos-para-muitos)
■ Existe cardinalidade mínima e máxima,
normalmente apenas se representa a
máxima.

Ano Lectivo 2020 14


EXEMPLOS DE CARDINALIDADE
■ Cardinalidade 1:1
1 1
Funcionário
FUNCIONÁRIO Gere Empresa
DEPARTAMENTO

■ Cardinalidade 1:N
1 N
DEPARTAMENTO
Funcionário CONTROLA Empresa
PROJETO

■ Cardinalidade N:1
N 1
Funcionário
FUNCIONÁRIO PERTENCE Empresa
DEPARTAMENTO

■ Cardinalidade M:N
M N
Funcionário
FUNCIONÁRIO PERTENCE
TRABALHA Empresa
DEPARTAMENTO
PROJETO

Ano Lectivo 2020 15


EXEMPLOS DE CARDINALIDADE

■ Cardinalidade Recursiva 1:N


* Os relacionamentos são recursivos – quando o mesmo tipo de entidade
participa mais de uma vez num relacionamento representando diferentes papéis.

BI NOME

Funcionário
FUNCIONÁRIO

1 N

SUPERVISIONA

Ano Lectivo 2020 16


RESOLUÇÃO DO EXEMPLO 1

Ano Lectivo 2020 17


MAPEAMENTO
Mapeamento: uma forma de projectar uma base de dados
relacional(modelo lógico) com os dados obtidos do modelo
conceptual.
Modelo Lógico: Representa a estrutura de uma base de dados
pela forma como será implementado pelo SGBD.

Seguindo a metodologia de modelagem de dados, uma vez


obtido o modelo conceptual, este deve ser convertido para o
modelo lógico (especificamente o modelo/esquema relacional).
Esta conversão é chamada de mapeamento E-R em relacional.

Ano Lectivo 2020 18


CONVERSÃO PARA MODELO
RELACIONAL
O mapeamento para o
modelo relacional pode ser
feito com as seguintes
regras:
– Toda a entidade E no
DER passa a ser tabela T
– Todo o atributo simples/
composto de E passa a
ser atributo de T
–O atributo chave de E
passa a ser chave
primária de T

Ano Lectivo 2020 19


CONVERSÃO PARA MODELO
RELACIONAL
O mapeamento para o
modelo relacional pode ser
feito com as seguintes
regras:
– Toda a entidade E no
DER passa a ser tabela T
– Todo o atributo simples/
composto de E passa a
ser atributo de T
–O atributo chave de E ■ FUNCIONÁRIO(BI,
passa a ser chave Primeiro_Nome, Sobrenome,
Salário, DataNasc, Sexo)
primária de T

Ano Lectivo 2020 20


CONVERSÃO DAS ENTIDADES
FRACAS

– Toda a entidade fraca F do


DER passa a ser Tabela S
– Todo o atributo
simples/composto de F
passa a ser um atributo de S
– Seja T a entidade “forte”, a
chave primária de T passa a
ser chave estrangeira de S
– A chave primária de T +
atributo chave de F
passam a ser chave primária
de S

Ano Lectivo 2020 21


CONVERSÃO DAS ENTIDADES
FRACAS

– Toda a entidade fraca F do


DER passa a ser Tabela S
– Todo o atributo
simples/composto de F
passa a ser um atributo de S
– Seja T a entidade “forte”, a ■ DEPENDENTE (BI, Nome,
chave primária de T passa a DataNasc, Sexo, GrauParentesco)
ser chave estrangeira de S
– A chave primária de T +
atributo chave de F
passam a ser chave primária
de S

Ano Lectivo 2020 22


CONVERSÃO DE
RELACIONAMENTOS 1:1

– Chave primária de T1 passa


a ser chave estrangeira de T2
(a tabela que tem
obrigatoriedade recebe a
chave estrangeira)
– Atributos do relacionamento
R passam a ser atributos de
T2

Ano Lectivo 2020 23


CONVERSÃO DE
RELACIONAMENTOS 1:1

– Chave primária de T1 passa


a ser chave estrangeira de T2
(a tabela que tem
obrigatoriedade recebe a
chave estrangeira)
– Atributos do relacionamento
R passam a ser atributos de
T2 ■ DEPARTAMENTO (Num, Nome,
BIFuncionario, Data_Inicio)

Ano Lectivo 2020 24


CONVERSÃO DE
RELACIONAMENTOS
1:N E N:1

Nome

Ano Lectivo 2020 25


MAPEAMENTO DE
RELACIONAMENTOS
M:N

Ano Lectivo 2020 26


CONVERSÃO DE
RELACIONAMENTOS
UNÁRIOS
NOME

Ano Lectivo 2020 27


CONVERSÃO DE ATRIBUTOS MULTI-
VALOR

■ TELEFONES_FUNCIONARIO (Func_BI, Telefone)

Ano Lectivo 2020 28


FIM

Ano Lectivo 2020 29

Você também pode gostar