Você está na página 1de 42

Introdução a Bases de Dados

O modelo Relacional

Villas
Conteúdos
Introdução.
Aspetos do modelo relacional.
Relações e variáveis de relações.
Domínios.
Valores de relaciones.
Transações.
chaves.
Vínculos entre relações e cardinalidade.
Integridade referencial.
Enfoques pré-relacionais.
Objetivo da disciplina

Ensinar aos estudantes a modelar Bases de Dados de maneira


correta utilizando para isso o Modelo Relacional e seus
fundamentos teóricos.
Bases de dados

Na aula anterior vimos uma definição de base de dados oferecida por Date.

….. Uma base de dados é um conjunto de dados persistentes que é


utilizado pelos sistemas de aplicação de alguma empresa.

Empresa é um Termo genérico para identificar qualquer organização.


Exemplos: Uma companhia de construção, Um banco, um hospital, uma
universidade, etc.

Dados persistentes são dados que tem a ver com suas operações.
Exemplos: Dados de produção, dados contáveis, dados de pacientes, dados
de estudantes, etc
Exemplo

Docente Leciona Disciplina

A universidade deseja registrar informação sobre docentes e as disciplinas


que leciona

Entidades: Docente e Disciplina.


Vínculos : leciona.
Exemplo
idDocente Nome Experiencia Docente
1 Tanira 3

2 Ernesto 10

idDocente idDisciplina Leciona


2 2

2 1

1 1

Disciplina idDisciplina Descricao Horas

1 IBD 80

2 PME 80
Desenho de uma base de dados

Uma base de dados, se desenha antes de construi-la, de preenche-la de dados e


liga-la as aplicações.

o processo de desenho de uma base de dados é o conjunto de Passos necessários


para obter um modelo de dados de um domínio de aplicação.
Passos no desenho de uma base de dados

Realidade

Captura de Requerimientos
Esquema Externo Análises

Desenho Conceptual
Esquema Conceptual

Desenho Lógico
Esquema Lógico

Desenho Físico
Esquema Físico Desenho

Implementação e manutenção Implantação


Modelos de dados

As BD e os SGBD se baseiam em determinados modelos de dados, que em


essência são uma ferramenta conceptual, que permite uma representação do
domínio da aplicação que se quer modelar. os modelos de dados tradicionais mas
conhecidos são:
Modelo de redes
Modelo hierárquico
Modelo relacional
Outro modelo de dados más recente é o modelo de objetos.
Os sistemas relacionais

Os sistemas relacionais se baseiam em um fundamento formal, ou


teoria, denominado modelo relacional de dados o qual se base-a em três
aspetos fundamentais.

Aspeto Estrutural: O usuário percebe a informação da base de


dados como tabelas e nada más que tabelas acopladas ou ligadas
entre si.
Aspeto de manipulação: Os operadores disponíveis para que o
usuário manipule estas tabelas. Por exemplo para recuperação de
dados, estes operadores obtém tabelas a partir de tabelas. E em
particular três destes operadores são importantes: restringir,
projetar e juntar.
Aspeto de Integridade: Estas tabelas satisfazem certas restrições
de integridade. Como por exemplo da unicidade e a integridade
referencial.
Aspeto Estrutural. Exemplo
Departamento Categoria

NroDep Nome NroCat Nome


1 Informática 1 Profesor Titular
2 Geologia
2 Profesor Auxiliar
3 Civil

3 Profesor
Empregado Asistente
NroEmp Salario NroCat NroDep
240 $2000,00 1 1
312 $1500,00 3 3
99 $1750,00 2 1
112 $2200,00 1 3
Aspeto de Manipulação. Exemplo
Restringir Empregado onde Salario < 2000,00
Resultado
NroEmp Salario NroCat NroDep
312 $1500,00 3 3
99 $1750,00 2 1

Projetar Empregado sobre NroEmp, Salario


Resultado
NroEmp Salario

240 $2000,00
312 $1500,00
99 $1750,00
112 $2200,00
Aspeto de Manipulação. Exemplo
Juntar Departamento e Empregado sobre NroDep
Resultado

NroD Nome NroE Salar NroC


ep mp io at
1 Informat 240 $200 1
ica 0,00
3 civil 312 $150 3
0,00
2 Geologia 99 $175 2
0,00
Aspeto de Integridade.
Pode requerer-se que se cumpra.
1. Para Professor Titular 2000,00 <= Salario <= 2500,00.
2. Para Professor Auxiliar 1500,00 <= Salario <= 2000,00.
3. Para Professor Assistente 1000,00 <= Salario <= 1500,00.

Mas é necessário que se cumpra restrições importantes como.

2. NroDep, NroEmp e NroCat: São valores únicos –Unicidade- . Em termos generais décimos que
estas colunas são as chaves primarias de suas respetivas tabelas.

3. Cada valor NroDep na tabela Empregados deve ter seu correspondente valor NroDep na tabela
Departamento para refletir que cada empregado deve pertencer a um departamento –Integridade
Referencial-. Em termos gerais décimos que NroDep na tabela Empregados é uma Chave Externa.

4. Cada valor NroCat na tabela Empregados deve ter seu correspondente valor NroCat na tabela
Categoria para refletir que cada empregado deve ter uma Categoria –Integridade Referencial-. Em
termos generais decimos que NroCat na tabela Categoria é uma Chave Externa.
Relações.

Relação: é um térmo matemático que, em particular,


pode representar uma simples tabela de duas dimensiones
que contem filas e colunas de dados. Cada fila representa um
conjunto de dados que estão relacionados com um objeto
em especifico.
Elementos principais de uma relação

Dominios
Chave
Primaria E_# NOME GRUPO PROVINCIA

C
ESTUDIANTE a
E_# NOME GRUPO PROVINCIA
r
E1 Suárez A. 2 La Habana T d
i
E2 Jaca P. 1 Matanzas u
Relación n
E3 Blanco J. 3 Matanzas
p a
E4 Cruz J. 2 La Habana
l li
E5 López M. 3 Pinar del Río
a d
s a
d
A t r i b u t o s
e
G r a d o s
Elementos principais de uma
relação
1. Cada fila na relação é uma tupla da relacao. As tuplas de uma
relação representam instancias de objetos específicos do mundo real
ou entidades.
2. A cardinalidade duma relação se refere a quantidade de tuplas ou
filas da relação.
3. Embora o grau de uma relação se estabelece com tempo, a
cardinalidade é variável, posto que se podem adicionar ou eliminar
tuplas na relação para garantir a correspondência com a ocorrência de
valores na realidade as trocas de estados, ou seja, se modificaria a
extensão da relação.
4. Porém, a adição ou eliminação de atributos estaria modificando a
descrição da relação, no que poderia verse como uma nova relação.
Terminologias alternativas
Existem termos alternativos sobre uma relação
Relação <-> Tabela
Tupla <-> Linha
Atributo <-> Coluna
Variáveis da relação
Uma variável da relação é uma variável cujos valores são valores de relação diferentes em
diferentes momentos. Exemplo Empregados, Departamento e Categoria.

Suponhamos que a variável da relaciona Empregado tem o valor:

NroEmp Salario NroCat NroDep


240 $2000,00 1 1
312 $1500,00 3 3
99 $1750,00 2 1
112 $2200,00 1 3

Si realizamos a operação DELETE EMPREGADO WHERE SALARIO < 2000,00,


então o novo valor da variável relação Empregado é.

NroEmp Salario NroCat NroDep


240 $2000,00 1 1
112 $2200,00 1 3
Variáveis de relação
Para abreviar poderíamos representar a relação de forma
geral pelo nome das colunas como se segue.

Empregado(NroEmp, Salario, NroCat, NroDep)


Categoria (NroCat, Nome)
Departamento(NroDep, Nome)

Se sabe que cada uma tem os demais os conjuntos de fila de


dados.
Variáveis de relação
Existem dois tipos de variáveis de relação.
1. variáveis de relação base.
2. variáveis de variáveis vista.
As variáveis de relação base são as variáveis de relação originais –
Dadas-. Exemplo, Empregado, Departamento e Categoria. Os seus valores de
relação se denomina relações base.

As variáveis da relação vista são variáveis cujos valores em qualquer


momento dado são relações derivadas, obtidas a partir de relações
bases por meio de operações relacionais. Exemplo. Uma operação de
recuperação sobre a relação base Empregado pode ser:
SELECT NroEmp, Salario FROM Empregado WHERE Salario >= 2000,00

Vista
Salario-Maior-Igual-2000 NroEmp SalarioEs una tabla virtual
240 $2000,00
112 $2200,00
Relações Matemáticas
Para entender o sentido do termo relação, deve-se rever alguns
conceitos da matemática
O produto cartesiano de dois conjuntos D1XD2 é igual ao conjunto
de todos pares ordenado sendo que em cada par, o primeiro elemento
pertence a D1 e o segundo pertence a D2
D1 = {2, 4} e D2 = {1, 3, 5}
D1 × D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
Subconjunto da relação R = {(2, 1), (4, 1)}
Condição para obter o subconjunto: R = {(x, y) | x ∈D1, y ∈D2, and
y = 1}
Relação generalizada de n domínios
D1 × D2 × . . . × Dn = {(d1, d2, . . . , dn) | d1 ∈D1, d2 ∈D2, . . . , dn
∈Dn}
Usualmente escrito
Relações de Base de dados
Aplicando os conceitos anteriores para um base de dados, podemos
definir:
Schema de relação
Schema de base de dados relacional ou esquema relacional
Propriedades de uma Relação
Possui um nome diferente de todas outras relações do mesmo esquema
relacional
Cada célula da relação contém um valor atómico (singular)
Cada atributo tem um nome diferente
Os valores de um atributo são todos do mesmo domínio
Cada tupla é diferente da outra; não existe tuplas duplicadas
A ordem dos atributos não tem significância
A ordem das tuplas não tem significância teoricamente (Na prática, a
ordem pode afectar a eficiência de acesso as tuplas)
Chave primaria
As relações tem uma chave primaria que permite identificar de
maneira única cada tupla da relação ou seja que nao se pode
repetir e pode estar composta por um ou mais atributos da
relação. Quando tem mas de um atributo dizemos que a chave
é composta.
Exemplo: A relação docente

idDocente Nome Experiencia

1 Tanira 3

2 Ernesto 10

Se pode ver que idDocente é a chave primaria.


Chave primaria
Na relação Leciona

idDocente idDisciplina

2 2

2 1

1 1

Se pode ver que a chave primaria é composta pelos atributos


idDocente e idDisciplina.
Inter-relações.
Inter-relação: É uma associação ou relação entre duas ou mais
relaciones. Exemplo:
Um docente leciona disciplinas.
Relaciones: Docente e Disciplina
Inter-relação: leciona.

Podem ser unaria, binaria, ternária, etc, segundo o número de


relação que liga ou vincula.
Inter-relações e cardinalidade.

As Interrelaciones tem cardinalidade e esta pode ser.


Um a um. (1 a 1)
Um a muitos. (1 a N)
Muitos a muitos. (N a M)

Um a um: Si uma relação A esta interrelacionada com uma


relação B com cardinalidade um a um então uma tupla da
relação A só pode estar relacionada com uma tupla da
relação B e uma tupla da relação B só pode estar
relacionada com uma tupla da relação A.

Exemplo: Um departamento é dirigido por um empregado da


empresa é um a um si se poe a restrição que o chefe não
pode dirigir mas de um departamento
Inter-relações e cardinalidade
Um a Muitos: Se uma relação A esta interrelacionada
com uma relação B com cardinalidade um a muitos
então uma tupla da relação A pode estar
relacionada com varias tuplas da relação B e uma
tupla da relação B só pode estar relacionada com
uma tupla da relação.

Exemplo: Um departamento tem empregados é um a muitos si se


poe a restrição que o empregado não pode estar em mas de um
departamento
Inter-relações e cardinalidade

Muitos a Muitos: Se uma relação A esta


Interrelacionada com uma relação B com cardinalidade muitos a
muitos então uma tupla da relação A pode estar relacionada
com varias tuplas da relação B e uma tupla da relação B pode
estar relacionada com Varias tuplas da relação A.

Exemplo: Um Docente leciona disciplina é muito a


muitos si se poe a restrição que um docente
pode dar varias disciplinas e una disciplina pode
ser dada por vários docentes
Inter-relações.
chave estrangeira: Se utilizam para implementar as interrelaciones entre as
relações mediante o fenómeno de propagação das chaves.

Departamento Categoria

NroDep Nome NroCat Nombre


1 Informatica 1 Profesor Titular
2 Geologia
2 Profesor Auxiliar
3 Civil

Empleado 3 Profesor
Asistente
NroE Salari NroCa NroDe
mp o t p NroCat e NroDep
240 $2000, 1 1 chaves estrangeiras

00
Restrições de integridade
Integridade de Entidade
A chave primária de uma relação base não deve conter
valores nulos
Integridade Referencial: Os valores de uma chave
externa devem existir na relação que esta sendo
referenciado ou então que seja nula na relação que esta a
referenciar.
Exemplo: Na relação Empregado os valores que tomam
NroDep e NroCat devem existir em alguma tupla das
relações Departamento e Categoria respetivamente.
Restrições gerais
Vantagens dos sistemas relacionais

Os sistemas de BD relacionais foram desenhados para trabalhar com uma classe


de aplicações muito importantes, as orientadas a registros.
Estas aplicações se caracterizam por possuir uma grande quantidade de dados
que se acumulam diariamente, que possuem estruturas comuns e ainda por que as
operações que se realizam sobre os mesmos são simples.
Vantagens dos sistemas relacionais

As BD relacionais são adequadas para aplicações em que


predominam inserções, eliminações e a navegação entre um
pequeno número de tabelas o relações.

Exemplos de tais aplicações são os sistemas de reserva de


companhias aéreas e os sistemas bancários.
Enfoques pré-relacionais

Sistemas hierárquicos

Uma base de dados hierárquica consiste em um conjunto


ordenado de árvores, que recursivamente está em forma de
tipo de registro, que é um no fictício, chamado raiz,
proprietário ou pai e um conjunto ordenado de zero ou más
tipos de subárvores dependentes, subordinados o filhos,
donde cada registro é um conjunto de campos (atributos) cada
um dos quais contem um só valor.
Enfoques pré-relacionais

O modelo hierárquico se caracteriza pelo seguinte:

Considera que todas as interrelaciones entre os dados se podem


expressar como hierarquias.
Os ficheiros se conectam entre si mediante apontadores físicos o
campos de dados adicionados aos registros individuais. Cada
link é uma associação entre os registros exclusivamente.
A regra de integridade do modelo expressa que “nenhum filho
pode existir sem seu Pai”.
Exemplo
DEPARTAMENTO DISCIPLINA

Ficticio Ficticio

dadoS-DEP DADOS-DISC

Nro Dep Nome Nro Disc Nombre

dadoS-PROF PROFESOR

NropROF Nome Salario Ficticio

Fig. 3.2 Exemplo de uma estructura hierárquica


Enfoques pré-relacionais

Sistemas reticulares

Entre meados dos anos sessenta e princípios dos setenta se


desenvolveram os sistemas de bases de dados que utilizavam o
modelo reticular. As redes constituem una maneira natural de
representar os vínculos entre os objetos mediante um grafo
orientado, formado por um conjunto de nos o registros conectados
por arcos orientados ou arestas ou ligações. Em uma estrutura
reticular se definem nos pais e nos filhos mas, a diferença do
enfoque hierárquico, um no filho pode ter qualquer número de nos
pais.
Enfoques pré-relacionais

O modelo reticular ou de redes se caracteriza pelo


seguinte:
Considera que um filho pode ter qualquer número de pais,
incluindo nenhum.
Cada ocorrência de uma ligação consiste de uma ocorrência do
registro pai conjuntamente com um conjunto ordenado de
múltiplos ocorrências do registro filho.
Os ficheiros se conectam entre si mediante apontadores físicos
ou campos de dados adicionados aos registros individuais.
Não existe regra de integridade propiá do modelo reticular.
Exemplo
PROFESSOR DISCIPLINA
Nro Dep Nome Nro Disc Nome

ESTUDANTE

NropEst Nome Curso

AVALIACAO
Nota

Fig. 3.2 Exemplo de uma estructura reticular


Exercício
Sobre o exemplo estudado das relacoes Empregado, Departamento e
Categoria.

1.- Incorporar os dados chefe de Departamento e data em que começou a dirigir o


departamento. O Chefe de Dpto também é um empregado.
2.- Incorporar os dados id, Nome, idade, sexo dos filhos dos empregados.
3.- Aplique operações relacionais, para recuperar a seguinte informação sobre
professores titulares: NroDep, NroEmp, salario. Pode utilizar um pseudocódigo para
isso,
Resposta

Empregado(NroEmp, Salario, NroCat, NroDep)


filhos(NroFilho, Nome, edad, sexo, NroEmpPai)
Categoria (NroCat, Nome)
Departamento(NroDep, Nome, NroEmpchefe, data-Inicio)

Select NroEmp, Salario


From Empregado, Departamento
Where (Empregado.NroDep = Departamento.NroDep) and (Empregado.NroCat = 1)

Condição de Juntar Condição de Restringir

Você também pode gostar