Você está na página 1de 19

EEEP Amélia Figueiredo de Lavor Fund.

de Banco de Dados Professor: Arley Rodrigues 1

APOSTILA DE FUNDAMENTOS DE BANCO DE DADOS


1. INTRODUÇÃO AO BANCO DE DADOS
Muitos autores definem BD de forma diferente, porém em todas elas tem-se uma idéia de coleção ou conjunto de
dados armazenados que servem ou são usados por algumas situações específicas. A definição de banco de dados
como ‘uma coleção de dados relacionados’ é muito geral.

Por exemplo, considere a coleção de palavras deste texto como sendo dados relacionados e, portanto, constitui um
banco de dados. Entretanto, o uso comum do termo ‘banco de dados’ é usualmente mais restrito

O conceito de banco de dados esta muito presente em nosso dia-a-dia e faz parte de nossa vida. Banco de dados
(BD) desempenha um papel crítico em muitas áreas onde computadores são utilizados

O BD está presente em muitas áreas diferentes (negócios, engenharia, educação, medicina, etc). Um arranjo
aleatório de dados não pode ser considerado um banco de dados

1.1 Conceitos Básicos

Segundo Korth (Autor de livros de BD), um banco de dados “é uma coleção de dados inter-relacionados,
representando informações sobre um domínio específico”, ou seja, sempre que for possível agrupar informações que
se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados.

Podemos exemplificar situações clássicas como uma lista telefônica, um catálogo de CDs ou um sistema de controle
de RH de uma empresa.

Já um sistema de gerenciamento de banco de dados (SGBD) é um software que possui recursos capazes de
manipular as informações do banco de dados e interagir com o usuário. Exemplos de SGBDs são: Oracle, SQL Server,
DB2, PostgreSQL, MySQL, o próprio Access ou Paradox, entre outros.

Por último, temos que conceituar um sistema de banco de dados como o conjunto de quatro componentes básicos:
dados, hardware, software e usuários. Date (Autor de Livros de BD) conceituou que “sistema de bancos de dados
pode ser considerado como uma sala de arquivos eletrônica”. A Figura 1 ilustra os componentes de um sistema de
banco de dados.

Figura1: Componentes de um sistema de banco de dados.

Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados
(promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar
independente da aplicação, a estratégia de acesso e a forma de armazenamento.
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 2

1.2 Abstração de dados

O sistema de banco de dados deve garantir uma visão totalmente abstrata do banco de dados para o usuário, ou
seja, para o usuário do banco de dados pouco importa qual unidade de armazenamento está sendo usada para
guardar seus dados, contanto que os mesmos estejam disponíveis no momento necessário.

Esta abstração se dá em três níveis (Figura2):

• Nível de visão do usuário: as partes do banco de dados que o usuário tem acesso de acordo com a
necessidade individual de cada usuário ou grupo de usuários;
• Nível conceitual: define quais os dados que estão armazenados e qual o relacionamento entre eles;
• Nível físico: é o nível mais baixo de abstração, em que define efetivamente de que maneira os dados estão
armazenados.

Figura2: Níveis de abstração.

1.3 Projeto de banco de dados

Todo bom sistema de banco de dados deve apresentar um projeto, que visa a organização das informações e
utilização de técnicas para que o futuro sistema obtenha boa performance e também facilite infinitamente as
manutenções que venham a acontecer.

O projeto de banco de dados se dá em duas fases:

• Modelagem conceitual;
• Projeto lógico.

Estas duas etapas se referem a um sistema de banco de dados ainda não implementado, ou seja, que ainda não
exista, um novo projeto. Para os casos em que o banco de dados já exista, mas é um sistema legado, por exemplo, ou
um sistema muito antigo sem documentação, o processo de projeto de banco de dados se dará através da utilização
de uma técnica chamada de Engenharia Reversa, que será visto em outra oportunidade.

1.4 Modelo conceitual

É a descrição do BD de maneira independente ao SGBD, ou seja, define quais os dados que aparecerão no BD, mas
sem se importar com a implementação que se dará ao BD. Desta forma, há uma abstração em nível de SGBD.

Uma das técnicas mais utilizadas dentre os profissionais da área é a abordagem entidade-relacionamento (ER), onde
o modelo é representado graficamente através do diagrama entidade-relacionamento (DER) (Figura 3).
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 3

Figura 3. Exemplo de diagrama entidade-relacionamento.

O modelo acima, entre outras coisas, nos traz informações sobre Alunos e Turmas. Para cada Aluno, será
armazenado seu número de matrícula, seu nome e endereço, enquanto para cada turma, teremos a informação de
seu código, a sala utilizada e o período.

1.5 Modelo Lógico

Descreve o BD no nível do SGBD, ou seja, depende do tipo particular de SGBD que será usado. Não podemos
confundir com o Software que será usado. O tipo de SGBD que o modelo lógico trata é se o mesmo é relacional,
orientado a objetos, hierárquico, etc.

Abordaremos o SGBD relacional, por serem os mais difundidos. Nele, os dados são organizados em tabelas (Quadro
1).

Aluno
mat_aluno nome endereco
1 Cecília Ortiz Rezende Rua dos Ipês, 37
2 Abílio José Dias Avenida Presidente Jânio Quadros, 357
3 Renata Oliveira Franco Rua Nove de Julho, 45

Turma
cod_turma sala periodo
1 8 Manhã
2 5 Noite

Quadro 1. Exemplo de tabelas em um SGBD relacional.

O modelo lógico do BD relacional deve definir quais as tabelas e o nome das colunas que compõem estas tabelas.

Para o nosso exemplo, poderíamos definir nosso modelo lógico conforme o seguinte:

Aluno(mat_aluno, nome, endereco)

Turma (cod_turma, sala, periodo)

É importante salientar que os detalhes internos de armazenamento, por exemplo, não são descritos no modelo
lógico, pois estas informações fazem parte do modelo físico, que nada mais é que a tradução do modelo lógico para a
linguagem do software escolhido para implementar o sistema.
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 4

1.6 Histórico Evolutivo de Banco de Dados

Até 1960 : Sistema de Arquivos – Estrutura de Dados (Pascal, C, etc.)

Final de 1960 : Modelo Hierárquico

1970 e início de 1980: Modelo de Redes

Meados de 1980: Modelo Relacional (Codd)

Final de 1980: Modelo Orientado a Objetos e Objeto-Relacional

1.7 Abstração de Dados

O grande objetivo de um sistema de BD é oferecer uma visão “abstrata” dos dados aos usuários. Os detalhes
referentes a forma como estes dados estão armazenados e mantidos não interessa aos usuários, mas a
disponibilidade eficiente destes dados é que são fundamentais

O conceito de abstração está associado à característica de se observar somente os aspectos de interesse, sem se
preocupar com maiores detalhes envolvidos.

No contexto de abstração de dados um banco de dados pode ser visto sem se considerar a forma como os dados
estão armazenados fisicamente.

Exemplo:

Um programador de aplicação não precisa se importar com aspectos físicos de armazenamento dos dados

1.8 Dados e Informações


‘Dado’ denota um fato que pode ser registrado e possui significado implícito

Considere o nome e endereço de todas as pessoas que você conhece

‘Informação’ denota uma organização em relação a um conteúdo ou uma novidade

Carlos 30756687 43

Paula 57321489 20
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 5

1.9 PROPRIEDADES IMPLÍCITAS DE BANCO DE DADOS


• Um banco de dados é uma coleção logicamente coerente de dados com algum significado inerente

• Um banco de dados é projetado e construído com dados para um propósito específico

• Ele possui um grupo de usuários e algumas aplicações pré-concebidas, as quais esses usuários estão
interessados

Um banco de dados representa algum aspecto do mundo real e a alteração neste mundo real tem que ser refletida
no banco de dados.

1.10 ARQUITETURA DE BANCO DE DADOS

1.10.1 Visão Externa


É aquela vista pelo usuário que opera os sistemas aplicativos,
através de interfaces desenvolvidas pelo analista (programas),
buscando o atendimento de suas necessidades.

1.10.2 Visão Conceitual


É aquela vista pelo analista de desenvolvimento e pelo
administrador das bases de dados. Existe a preocupação na
definição de normas e procedimentos para manipulação dos
dados, para garantir a sua segurança e confiabilidade, o
desenvolvimento de sistemas e programas aplicativos e a
definição no banco de dados de novos arquivos e campos.

1.10.3 Visão Interna


É aquela vista pelo responsável pela manutenção e desenvolvimento do SGBD. Existe a preocupação com a forma de
recuperação e manipulação dos dados dentro do Banco de Dados.

1.11 PERFIL DE PESSOAS ENVOLVIDAS COM UM BANCO DE DADOS


Em um pequeno banco de dados de uso pessoal uma única pessoa vai definir, construir e manipular o BD

Em um grande banco de dados com muitos (ou milhões) de usuários e com restrições de acesso podem-se identificar
alguns perfis de pessoas que interagem com o banco de dados

• Administrador do Banco de Dados (DBA)

• Projetista do Banco de Dados

• Analista de Sistemas

• Programador de Aplicações

• Usuário (final)

Administrador de Dados (DBA)


EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 6

É o supervisor do banco de dados, responsável pela autorização de acesso ao banco, monitoramento e coordenação
do uso. Está envolvido com os aspectos físicos do banco de dados (estruturas de armazenamento, métodos de
acesso, etc).

Projetista do Banco

São responsáveis pela identificação dos dados e a elaboração de estruturas apropriadas para armazená-los.
Compreender os requisitos necessários aos grupos de usuários do banco de dados antes de sua implementação.

Analista de Sistemas

Determina os requisitos dos usuários e desenvolvem especificações que atendam estes requisitos.

Programadores

Implementam as especificações na forma de programas elaborando toda a documentação.

Usuário (final)

Um banco de dados existe para a utilização do usuário final, onde normalmente o seu trabalho requer consultas e
atualizações. A maioria dos usuários utiliza programas voltados ao desempenho profissional, utilizando-os em seu
dia-a-dia.

1.12 DIFERENÇAS ENTRE BANCO DE DADOS E SISTEMAS DE ARQUIVOS

1.12.1 Banco de Dados


• Um único repositório de dados é mantido.
• Acesso de todos usuários sobre o mesmo BD com

– Único espaço de armazenamento

– Atualização dos dados em apenas uma estrutura de banco de dados

1.12.2 Sistema de Arquivos


• Implementa os arquivos necessários para uma aplicação específica
• Redundância de arquivos armazenando os mesmos dados com

– Perda de espaço de armazenamento

– Esforço adicional para atualização dos dados

1.13 TERMINOLOGIA BÁSICA EM BANCO DE DADOS


Campo – unidade básica de informação mínima com significado

Registro – conjunto de campos

Arquivo – conjunto de registros

Banco de Dados (BD) – conjunto de arquivos e as formas de


manipulação
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 7

2. SGBD – SISTEMA GERENCIADOR DE BANCO DE DADOS


Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de programas que
habilitam usuários a criar e manter um banco de dados.

O SGBD é um software de propósito geral, que facilita o processo de definição,


construção e manipulação de um bancos de dados.

Definição de banco de dados envolve especificar estruturas e tipos de dados para


serem gravados no banco de dados, com uma descrição detalhada de cada tipo de
dado. Construção de um banco de dados é o processo de consistir e gravar
inicialmente dados no banco de dados.

Manipulação de um banco de dados inclui funções como consulta por dados


específicos e atualização para refletir as alterações no mundo real.

2.1 Principais Atribuições de um SGBD


• BD não contém somente os dados de conteúdo armazenados, ele também armazena definições e descrições
sobre a estrutura que forma o BD (metadados)

• O catálogo do sistema (metadados) contém definições da estrutura de cada arquivo, o tipo e formato de
armazenamento de cada item de dados, e várias restrições dos dados

• Este catálogo é usado pelo SGBD e ocasionalmente por algum usuário do BD (não é específico, mas geral,
atendendo as diversas necessidades de arquivos diferentes)

2.2 Características de um bom SGBD


• Controle sobre a redundância

– Espaço para armazenamento

– Duplicação de esforços

– Inconsistência na base de dados

• Compartilhamento de Dados

– Se diversos usuários tem aplicações integradas no BD, precisa-se de um software de controle de


concorrência para a atualização do banco

• Facilidade na definição da visão do usuário, especificando uma porção do BD que tem interesse particular de
um grupo de usuários

• Restrição de acesso não autorizado: Possui um sistema de segurança garantindo o acesso específico a cada
usuário (personalizado para grupos ou individual), garantindo assim segurança no acesso ao BD, diferentes
permissões de operação no BD, proteção de contas pessoais (ou grupo) por senhas, segurança no uso do
próprio SGBD como nas criações de novas contas

• Fornecimento de múltiplas interfaces (visões): Diversos níveis de conhecimento entre os usuários, onde o BD
deve oferecer vários tipos de acesso aos dados

• Forçar restrições de integridade: armazenamento de vários tipos de dados (inteiro, real, lógico),
relacionamentos entre os dados, obrigatoriedade ou não de informação do dado (nulo ou não nulo),
unicidade do dado (chave primária), dificultar a ocorrência de erros,

• Sistema de Backup e Recovery: Capacidade de salvamento e recuperação dos dados


EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 8

• Facilidade e controle do BD no caso de falha do hardware ou do software chegando a fazer uma recuperação
da situação anteriormente encontrada, evitando duplicidade e dados inconsistentes

2.3 Vantagens adicionais na abordagem de BD


• Desenvolvimento de padrões – permite ao DBA definir e forçar padrões facilitando a comunicação e
cooperação entre os setores, projetos e usuários dentro da organização

• Tempo de desenvolvimento reduzido – projetar e implementar uma nova aplicação é mais rápido em um BD
existente do que se ele não existisse ou fosse feito sobre a abordagem tradicional de arquivos

• Disponibilidade de informação atualizada – torna o BD disponível para todos os usuários (que tenham
permissão de acesso) devido ao controle de concorrência e recuperação do SGBD

• Encapsulamento (abstração) no acesso aos dados – o usuário não tem necessidade de saber como os dados
são armazenados, isto é função do DBA (Administrador do Banco de Dados)

3. MODELAGEM DE DADOS CONCEITUAL


• Consiste de um conjunto de conceitos utilizados para descrever a estrutura de um BD, ou seja, os tipos de
dados, relacionamentos e restrições sobre estes dados.

• O modelo de dados é a principal ferramenta no fornecimento de informações sobre a abstração realizada na


parte de interesse específico no mundo real.

• Modelo de dados conceitual ou de auto-nível - fornece conceitos que são próximos da percepção dos
usuários a respeito dos dados (logicamente)

• Modelo de dados de implementação - Utilizado em SGBDs comerciais, sendo o mais popular denominado
Modelo Relacional (MR)

• Modelo de dados físico - descreve como os dados são armazenados (fisicamente)

ESQUEMA DE BANCO DE DADOS

A descrição de um BD é chamada de esquema de banco de dados. Um esquema de BD é especificado durante o


projeto do BD e não é freqüentemente modificado.

INSTÂNCIA DE BANCO DE DADOS

O conjunto de dados armazenados no BD, em um determinado momento ou instante, é chamado de instância do


banco de dados (fotografia do BD em um instante específico).

Exemplo:
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 9

SISTEMAS ISOLADOS

Problema:

 redundância de dados

Como evitar redundância não controlada de dados?

 Compartilhamento de dados

 Cada informação é armazenada uma única vez

 Usar o conceito de Banco de Dados

SISTEMAS COMPARTILHANDO DADOS

3.1 MODELO DE ENTIDADE E RELACIONAMENTO (MER)

3.1.1 Definição
Consiste em mapear o mundo real do sistema em um modelo gráfico que irá representar o modelo e o
relacionamento existente entre os dados.

O MER é um modelo de dados conceitual de alto-nível, ou seja, seus conceitos foram projetados para serem
compreensíveis a usuários, descartando detalhes de como os dados são armazenados. Atualmente, o MER é usado
principalmente durante o processo de projeto da base de dados. Existem expectativas para que uma classe de
SGBD’s baseados diretamente no MER esteja disponível no futuro.

3.1.2 Entidade
Identifica o objeto de interesse do sistema e tem "vida" própria, ou seja, a representação abstrata de um objeto do
mundo real sobre o qual desejamos guardar informações. Uma Entidade é algo da realidade sendo modelada e deve
ser identificada de modo único.

Exemplo: Clientes, Fornecedores, Alunos, Funcionários, Departamentos, etc.

Não são entidades:

- Entidade com apenas 1 elemento;

- Operações do sistema;

- Saídas do sistema;

- Pessoas que realizam trabalhos (usuários do sistema);


EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 10

- Cargos de direção

3.1.3 Instância ou ocorrência de Entidade


São os elementos da entidade. Exemplo: Cliente 10, Funcionário João, Aluno Pedro, etc.

3.1.4 Atributo
Informações que desejamos guardar sobre a instância de entidade. Exemplo: Nome do aluno, Número da turma,
Endereço do fornecedor, Sexo do funcionário, etc.

3.1.5 Domínio do Atributo


Universo de valores que um atributo pode armazenar.

Exemplo:

• Conjunto de valores do atributo Sexo do funcionário: M ou F;

• Conjunto de valores do atributo Nome do aluno: 40 caracteres alfanuméricos.

• Conjunto de valores do atributo salário: inteiro maior que 5000

3.2 - Representação Gráfica

- Entidade

- Relacionamento

- Atributo

Relacionamento - Representa a associação entre os elementos do conjunto de um entidade com outra entidade ou
com a mesma entidade (auto-relacionamento).

Exemplo:

O João está matriculado na disciplina de Banco de Dados, onde:

- João - Elemento do conjunto de valores do atributo Nome do aluno da entidade Aluno;

- Banco de Dados - Elemento do conjunto de valores do atributo Nome da disciplina da entidade Disciplina;

- matriculado - Ligação existente entre um aluno e uma disciplina.

ALUNO
DISCIPLINA
MATRICULAD

3.3 - Cardinalidade de Relacionamentos


Representa a freqüência com que existe o relacionamento. Número de ocorrências de uma entidade que podem
estar associadas a uma determinada ocorrência de entidade através do relacionamento.

Existem dois tipos de cardinalidade: máxima e mínima


EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 11

3.3.1 Cardinalidade máxima


Para a cardinalidade máxima existem os valores: 1 e n (muitos)

3.3.2 Cardinalidade mínima


Para a cardinalidade mínima existem os valores: 0 e 1

• cardinalidade mínima 0 = “associação opcional”

• cardinalidade mínima 1 = “associação obrigatória”

3.3.3 Relacionamento 1:1


O João é casado com a Maria, onde:

- João - Elemento do conjunto de valores do atributo Nome da entidade Homem.

- Maria - Elemento do conjunto de valores do atributo Nome da entidade Mulher.

- casado - Ligação entre um homem e uma mulher, sendo que um homem pode ser casado com uma e
apenas uma mulher, assim como uma mulher pode ser casada com um e apenas um homem.

HOMEM 1 1 MULHER
CASAMENTO

3.3.4 Relacionamento 1:N ou N:1


O Pedro trabalha no Departamento Pessoal, onde:

- Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionário.

- Depart. Pessoal - Elemento do conjunto de valores do atributo Nome do departamento da entidade


Departamento.

- trabalha - Ligação entre um Funcionário e um Departamento, onde um funcionário pode trabalhar em um e


somente um departamento e um departamento pode ter vários funcionários.

EMPREGADOS N 1 DEPARTAMENTO
LOTAÇÃO

3.3.5 Relacionamento N : M
O Antônio está matriculado na disciplina Banco de Dados, onde:

- Antônio - Elemento do conjunto de valores do atributo Nome da entidade Aluno.

- Banco de Dados - Elemento do conjunto de valores do atributo Nome da Disciplina da entidade Disciplina.

- matriculado - Ligação existente entre um aluno e uma disciplina, onde um aluno pode estar matriculado em
várias disciplinas e cada disciplina pode ter vários alunos matriculados.

ALUNOS N M DISCIPLINA
MATRICULA
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 12

Exemplo de cardinalidade mínima e máxima:

3.4 ATRIBUTOS
O Atributo descreve uma determinada característica relevante da entidade em uma dada abstração. Por exemplo, os
atributos de um cliente para uma aplicação financeira seriam nome, cpf, data de nascimento e rendimento mensal,
etc. Já um cliente para uma aplicação médica seria descrito pelos atributos nome, tipo sanguíneo, fator RH,
sensibilidades a medicamento, etc. Todas as entidades do mesmo tipo possuem os mesmos atributos, mas com
valores distintos. Atributos e valores descrevem as instâncias de uma entidade. O conjunto de valores possíveis para
um atributo é chamado domínio. O domínio do número do empréstimo, por exemplo, seria todo o conjunto de
números inteiros positivos

3.4.1 Tipos de Atributo


Simples
Tem valor único, como por exemplo o número da rua

Composto
Pode ser referenciado hora no todo, hora na parte.
Ex.: Endereço, composto por rua, numero, cidade, cep
Nome, composto por prenome e sobrenome

Mono-valorado
Para toda instância um atributo possui um conjunto unitário de valores
Ex.: O número do empréstimo de uma entidade específica refere-se apenas a um número de empréstimo

Multivalorado
Pode existir instâncias em que um atributo possua um conjunto de valores para uma única entidade
Por exemplo, o atributo nome_dependente da entidade empregado pode possuir nenhum nome, um nome ou mais

Nulo
O valor é não-aplicável ou desconhecido
Por exemplo, um atributo data_desligamento de uma entidade paciente

Derivado
Pode ser obtido de outros atributos
Ex.: Um atributo número_empréstimos, representando os empréstimos tomados por um cliente pode ser obtido
pela contagem das entidades empréstimo associadas a esse cliente
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 13

3.4.1 Atributos do Relacionamento


Quando um determinado relacionamento possui atributos, também conhecido como relacionamento valorado. Esta
situação ocorre apenas em relacionamento N : M.

Ex. Pedro trabalha no projeto Alfa 30 horas.

- Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionário.


- Alfa - Elemento do conjunto de valores do atributo Nome do Projeto da entidade Projeto.
- trabalha - Ligação existente entre um funcionário e um projeto. Neste caso, este funcionário trabalha 30
horas neste projeto, porém este mesmo funcionário poderá trabalhar outro número de horas em outro projeto,
assim como outro funcionário trabalha outro número de horas no mesmo projeto Alfa. Podemos concluir que 30
horas é o atributo que pertence ao Pedro no projeto Alfa.

FUNCIONÁRIO N M PROJETO
TRABALHA

HORAS

3.5 - Grau do Relacionamento


Indica o número de entidade que se relacionam.

3.5.1 - Relacionamento Binário


Quando existe o relacionamento entre apenas duas entidades.

Ex. Um fornecedor comercializa materiais que são utilizados em diversos projetos.

FORNECEDOR N N MATERIAIS
COMERCIALIZA

N
PROJETOS
UTILIZAM

3.5.2 - Relacionamento Ternário


Quando existe o relacionamento entre três entidades.

Ex. Um fornecedor comercializa materiais que são utilizados em projetos específicos.


EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 14

MATERIAIS
FORNECEDORES

1
UTILIZADO N

PROJETOS

3.5.3 Exemplos de Relacionamento:


- O Professor Alberto leciona Estrutura de Dados e o aluno Pedro cursa Linguagem de Programação

PROFESSOR DISCIPLINA
LECIONA
N N
N

ALUNO N
CURSA

- Pedro comprou 1 Kg. de banana do vendedor Manoel

CLIENTES PRODUTOS

N
1
VENDA

1
VENDEDORES

Obs. Para que haja uma venda, tem que haver um cliente, um produto e um vendedor.

3.6 ABORDAGEM RELACIONAL

Composição de um banco de dados relacional. Um banco de dados relacional é composto por tabelas ou relações. A
terminologia tabela é mais comum nos produtos comerciais e na prática, enquanto a terminologia relação foi
utilizada na literatura inicial sobre a abordagem relacional.
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 15

3.6.1 Tabelas

Uma tabela é um conjunto não ordenado de linhas (tuplas, na linguagem acadêmica). Cada linha é composta por
uma série de campos (valor de atributo, na linguagem acadêmica).
Cada campo é identificado por um nome de campo (nome de atributo, na linguagem acadêmica). Um conjunto de
campos homônimos de todas as linhas de uma tabela é uma coluna.
Comparando tabelas de um banco de dados relacional com um arquivo convencional, observamos as seguintes
diferenças:
· As linhas de uma tabela não têm ordenação. A ordem de recuperação é arbitrariamente estabelecida pelo banco de
dados.
· Os valores de campo de uma tabela são atômicos e monovalorados;
·As linguagens de consulta a bases de dados relacionais permitem o acesso por quaisquer critérios envolvendo os
campos de uma ou mais linhas. Não há necessidade de especificar caminhos de acesso.

3.6.2 Chaves

Chaves são um conceito básico que permitem identificar linhas e estabelecer relações entre linhas e tabelas de um
banco de dados relacional. Em um banco de dados relacional, há pelo menos três tipos de chaves a serem
consideradas: chaves primárias, chaves estrangeiras e chaves alternativas.

3.6.3 Chave Primária

As chaves primárias são uma coluna (ou um conjunto delas) dentro de uma tabela que distinguem uma linha das
demais. As chaves primárias podem ser compostas por mais de uma coluna, entretanto, devem sempre respeitar o
princípio da minimalidade. Uma chave é mínima quando todas as suas colunas forem efetivamente necessárias para
garantir o requisito da unicidade de valores da chave.
Na abordagem relacional, ao contrário dos sistemas convencionais de arquivos, por exemplo, uma chave não é um
índice ou qualquer outra estrutura de acesso. As chaves fazem apenas a restrições de integridade, ou seja, regras
que devem ser obedecidas em todos o estados válidos do BD.

Exemplo de uso com mais de uma chave


Ex: Almoxarifado de uma empresa:
 Os produtos ficam armazenados em prateleiras
 As prateleiras encontram-se em armários organizados em corredores
 Corredores são numerados seqüencialmente a partir de 1
 As prateleiras são numeras a partir de um dentro do seu corredor

3.6.4 Chave Estrangeira

Uma chave estrangeira é uma coluna ou uma combinação de colunas cujos valores aparecem necessariamente na
chave primária de uma tabela. A chave estrangeira é o mecanismo que permite a implementação de
relacionamentos em bancos de dados relacionais.
A existência de chaves estrangeiras impõe restrições que devem ser garantidas ao executar diversas operações de
alterações no banco de dados.
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 16

I. Inclusão de uma linha na tabela que contém a chave estrangeira;


Neste caso, deve-se garantir que o valor contido na chave estrangeira apareça na coluna da chave primária
referenciada.

II. Alteração do valor de uma chave estrangeira;


Deve-se assegurar que o novo valor aparece na coluna da chave primária referenciada;

III. Exclusão de uma linha da tabela que contém a chave primária referenciada pela chave estrangeira;
Deve ser garantido que na coluna da chave estrangeira não apareça o valor da chave primária que será excluída.

IV. Alteração do valor da chave primária referenciada pela chave estrangeira;


Deve ser garantido que na coluna da chave estrangeiras não apareça o valor da chave primária que está sendo
alterada. Uma chave estrangeira não referencia, necessariamente, outra tabela. Em um auto-relacionamento, o valor
da chave estrangeira é o próprio valor da chave primária da mesma tabela.

3.6.5 Chave Alternativa


Em alguns casos, mais de uma coluna (ou combinações de colunas) podem servir para distinguir uma linha das
demais. Uma coluna, ou combinação, é escolhida como chave primária e as demais candidatas são tratadas como
chaves alternativas.

3.6.6 Domínios e valores vazios (null e not null)


Quando uma tabela do banco de dados é definida, para cada coluna deve ser especificado um conjunto de valores
que seus campos podem assumir. Este conjunto de valores é denominado “domínio da coluna” ou “domínio do
campo”. Além disso, deve-se especificar se os campos da coluna podem estar vazios, o que indica que o campo não
recebeu nenhum valor de seu domínio.
As colunas nas quais não são admitidos valores vazios são chamadas “colunas obrigatórias”. Aquelas que admitem
valores vazios são as denominadas “colunas opcionais”. Os SGBDs relacionais geralmente exigem que a coluna da
chave primária não seja vazia (coluna obrigatória). A mesma exigência não é feita para as demais chaves.

3.6.7 Entidade Fraca


Entidade que só existe quando relacionada a outra entidade, sendo seu identificador composto por atributos de
outra entidade

3.6.8 Chave primária (identificador) em relacionamentos

Uma ocorrência de relacionamento diferencia-se das demais ocorrências do mesmo relacionamento pelas
ocorrências de entidades que dele participam. Há casos nos quais entre as mesmas ocorrências de entidade podem
existir diversas ocorrências de relacionamento. Para diferenciar as ocorrências é necessário o uso de uma chave
primária para o relacionamento, identificando unicamente cada relacionamento.
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 17

3.6.9 Generalização ou Especialização


Através deste conceito é possível atribuir propriedades particulares a um subconjunto das ocorrências
(especializadas) de uma entidade genérica. Representação gráfica através de um triângulo.

3.6.10 Restrições de Integridade

Um dos objetivos primordiais de um SGBD é a integridade de dados. Dizer que os dados de um banco são íntegros
significa dizer que eles refletem corretamente a realidade apresentada pelo banco de dados e são consistentes entre
si. Uma restrição de integridade é uma regra de consistência de dados mantida pelo próprio SGBD. Na abordagem
relacional, as restrições de integridade são abordadas nas seguintes categorias:

1. Integridade de Domínio
Um valor designado para um campo deve estar dentro do domínio previsto para aquele campo.

2. Integridade de Vazio
Através desta restrição de integridade é possível determinar se um campo pode conter valores nulos. Os campos que
compõem a chave primária devem ser diferentes de vazio.

3. Integridade de Chave
Restrição que determina que os valores de chaves primárias e alternativas devem ser únicos.

4. Integridade Referencial
É a restrição que define que valores dos campos que aparecem em uma chave estrangeira devem estar presentes na
coluna da chave primária da tabela referenciada.
As restrições acima relatadas são garantidas automaticamente por um SGBD relacional e o programador não precisa
se preocupar em escrevê-las através de programação.
Restrições semânticas geram outras restrições de integridade que, estas sim, devem ser garantidas através da
codificação.
EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 18

Conteúdo
1. INTRODUÇÃO AO BANCO DE DADOS ____________________________________________________ 1
1.1 Conceitos Básicos _________________________________________________________________________ 1
1.2 Abstração de dados _______________________________________________________________________ 2
1.3 Projeto de banco de dados __________________________________________________________________ 2
1.4 Modelo conceitual ________________________________________________________________________ 2
1.5 Modelo Lógico ____________________________________________________________________________ 3
1.6 Histórico Evolutivo de Banco de Dados ________________________________________________________ 4
1.7 Abstração de Dados _______________________________________________________________________ 4
1.8 Dados e Informações ______________________________________________________________________ 4
1.9 PROPRIEDADES IMPLÍCITAS DE BANCO DE DADOS _______________________________________________ 5
1.10 ARQUITETURA DE BANCO DE DADOS ________________________________________________________ 5
1.10.1 Visão Externa____________________________________________________________________________________ 5
1.10.2 Visão Conceitual _________________________________________________________________________________ 5
1.10.3 Visão Interna ____________________________________________________________________________________ 5

1.11 PERFIL DE PESSOAS ENVOLVIDAS COM UM BANCO DE DADOS ____________________________________ 5


1.12 DIFERENÇAS ENTRE BANCO DE DADOS E SISTEMAS DE ARQUIVOS _________________________________ 6
1.12.1 Banco de Dados __________________________________________________________________________________ 6
1.12.2 Sistema de Arquivos ______________________________________________________________________________ 6

1.13 TERMINOLOGIA BÁSICA EM BANCO DE DADOS ________________________________________________ 6

2. SGBD – SISTEMA GERENCIADOR DE BANCO DE DADOS _____________________________________ 7


2.1 Principais Atribuições de um SGBD ___________________________________________________________ 7
2.2 Características de um bom SGBD _____________________________________________________________ 7
2.3 Vantagens adicionais na abordagem de BD _____________________________________________________ 8

3. MODELAGEM DE DADOS CONCEITUAL __________________________________________________ 8


3.1 MODELO DE ENTIDADE E RELACIONAMENTO (MER) _____________________________________________ 9
3.1.1 Definição ________________________________________________________________________________________ 9
3.1.2 Entidade ________________________________________________________________________________________ 9
3.1.3 Instância ou ocorrência de Entidade _________________________________________________________________ 10
3.1.4 Atributo ________________________________________________________________________________________ 10
3.1.5 Domínio do Atributo ______________________________________________________________________________ 10

3.2 - Representação Gráfica ___________________________________________________________________ 10


3.3 - Cardinalidade de Relacionamentos _________________________________________________________ 10
3.3.1 Cardinalidade máxima ____________________________________________________________________________ 11
3.3.2 Cardinalidade mínima _____________________________________________________________________________ 11
3.3.3 Relacionamento 1:1 ______________________________________________________________________________ 11
3.3.4 Relacionamento 1:N ou N:1 ________________________________________________________________________ 11
3.3.5 Relacionamento N : M ____________________________________________________________________________ 11

3.4 ATRIBUTOS _____________________________________________________________________________ 12


3.4.1 Tipos de Atributo_________________________________________________________________________________ 12
3.4.1 Atributos do Relacionamento _______________________________________________________________________ 13

3.5 - Grau do Relacionamento _________________________________________________________________ 13


EEEP Amélia Figueiredo de Lavor Fund. de Banco de Dados Professor: Arley Rodrigues 19

3.5.1 Relacionamento Binário ___________________________________________________________________________ 13


3.5.2 Relacionamento Ternário __________________________________________________________________________ 13
3.5.3 Exemplos de Relacionamento: ______________________________________________________________________ 14

3.6 ABORDAGEM RELACIONAL _________________________________________________________________ 14


3.6.1 Tabelas _________________________________________________________________________________________ 15
3.6.2 Chaves _________________________________________________________________________________________ 15
3.6.3 Chave Primária __________________________________________________________________________________ 15
3.6.4 Chave Estrangeira ________________________________________________________________________________ 15
3.6.5 Chave Alternativa ________________________________________________________________________________ 16
3.6.6 Domínios e valores vazios (null e not null) _____________________________________________________________ 16
3.6.7 Entidade Fraca ___________________________________________________________________________________ 16
3.6.8 Chave primária (identificador) em relacionamentos _____________________________________________________ 16
3.6.9 Generalização ou Especialização ____________________________________________________________________ 17
3.6.10 Restrições de Integridade _________________________________________________________________________ 17

Você também pode gostar