Buscar

ESCM_Introdução a Banco_de_Dados_I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
 
 
 
Análise e Desenvolvimento 
de Sistemas 
 
Disciplina: 
Introdução à Banco de Dados 
 
 
 
 
Autoria: Prof. Alan F Sousa 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
INTRODUÇÃO ............................................................................................................................................................. 3 
CONCEITOS SOBRE DADOS, INFORMAÇÕES E CONHECIMENTO .................................................................................. 4 
CONCEITO DE CAMPO .......................................................................................................................................................... 5 
REGISTROS ......................................................................................................................................................................... 7 
Exercício ..................................................................................................................................................................... 8 
SISTEMA DE ARQUIVO .......................................................................................................................................................... 8 
Sistemas de Arquivos (papel ou eletrônico) ............................................................................................................. 10 
Sistemas de Base de Dados ...................................................................................................................................... 11 
SISTEMAS DE ARQUIVOS X SISTEMAS DE BASE DE DADOS ....................................................................................................... 12 
DEFINIÇÃO DE UM SISTEMA DE GERÊNCIA PARA BASES DE DADOS ................................................................................................ 13 
Objetivos de SGBD .................................................................................................................................................... 13 
HISTÓRIA .................................................................................................................................................................. 17 
MODELO RELACIONAL ........................................................................................................................................................ 17 
CONCEITOS DE OBJETOS DO MODELO RELACIONAL .................................................................................................................. 18 
Tabelas (ou relações, ou entidades) ......................................................................................................................... 18 
Registros (ou tuplas) ................................................................................................................................................ 19 
Colunas (atributos, campo) ...................................................................................................................................... 20 
Relacionamentos ...................................................................................................................................................... 22 
AS 13 REGRAS DO MODELO RELACIONAL ................................................................................................................................ 24 
ARQUITETURAS DE BANCO DADOS ........................................................................................................................... 26 
INTRODUÇÃO .................................................................................................................................................................... 26 
HISTÓRICO ....................................................................................................................................................................... 27 
DEFINIÇÕES DAS ARQUITETURAS DE BD ................................................................................................................................. 30 
MODELAGEM ........................................................................................................................................................... 32 
FUNDAMENTOS DE MODELAGEM DE DADOS .............................................................................................................. 32 
UTILIZAÇÃO DE RELACIONAMENTOS 1:1 E 1:N ............................................................................................................. 53 
UTILIZAÇÃO DE RELACIONAMENTOS N:N ..................................................................................................................... 65 
UTILIZAÇÃO DE AUTO-RELACIONAMENTOS E RELACIONAMENTOS TERNÁRIOS .................................................... 75 
UTILIZAÇÃO DE AGREGAÇÕES E ESTRUTURAS DE GENERALIZAÇÃO/ESPECIALIZAÇÃO ................................................ 83 
ACCESS ..................................................................................................................................................................... 92 
CRIANDO UM BANCO DE DADOS ........................................................................................................................................... 92 
CRIANDO TABELAS ............................................................................................................................................................. 93 
CRIANDO RELACIONAMENTOS .............................................................................................................................................. 95 
CRIANDO CONSULTAS ........................................................................................................................................................ 98 
REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................................................................... 100 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 Aula 1 
Introdução 
 
No início da década de 60, foram lançados os primeiros sistemas gerenciadores de banco de 
dados (SGBD), tendo como principal proposta o aumento na produtividade nas atividades de 
desenvolvimento e manutenção de sistemas, até então realizadas de forma artesanal em 
linguagens de programação convencionais de primeira e segunda geração. 
 
Oriundos do ambiente de mainframes, os SGBD tornaram-se mais populares e amigáveis com o 
advento da microinformática. 
 
Cada vez mais as fronteiras entre esses dois mundos estreitam-se e a concorrência pelo domínio 
do mercado de SGBD, tem levado seus diversos fabricantes a sofisticarem seus produtos. Cada 
nova versão lançada, incorpora novidades como interfaces gráficas, ferramentas de apoio ao 
desenvolvimento, utilitários para gerenciamento de BD e facilidades para extração de dados. 
 
Essa evolução vem tornando o trabalho de programadores, analistas e usuários menos artesanal, 
com reflexos na qualidade e produtividade. 
 
A literatura classifica os SGBD como HIERÁRQUICO e RELACIONAL. Essa classificação 
representa a evolução desses produtos no curso da história. Atualmente, o mercado é dominado 
pelos SGBD RELACIONAISe caminha para a colocação em escala comercial dos SGBD 
ORIENTADOS A OBJETOS. 
 
Este texto introduz a teoria de BANCO DE DADOS, a partir de conceitos básicos da teoria de 
arquivos que se perpetuaram na terminologia de banco de dados. 
 
Na sequencia aborda superficialmente a arquitetura e o normalização de dados, os bancos de 
dados relacionais neste texto e em outras biografias pode ser designado pela sigla SGBD-R. 
 
Para compreender com maior facilidade os conceitos relativos a BANCO DE DADOS é de suma 
importância revisarmos alguns conceitos básicos referentes à teoria e terminologia de arquivos 
convencionais, haja vista, que os primeiros SGBD foram criados a partir do aperfeiçoamento de 
sistemas gerenciadores de arquivo, e ainda utilizam muito da base conceitual e da terminologia de 
arquivos. 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Conceitos sobre Dados, Informações e Conhecimento 
 
Dados: é qualquer elemento identificado em sua forma bruta que, por si só, não conduz a uma 
compreensão de determinado fato ou situação. 
 
Dados são quantificáveis e os únicos passíveis de uma real definição : 
• Símbolos 
• Marcas 
• Números 
 
Os dados emergem da percepção inicial do observador sobre a natureza do objeto: são 
identificados por características visuais ou simbólicas, mensuráveis. 
 
 
 
 
 
 
Informação: Deve ser considerado o dado trabalhado que permite levar o usuário a compreensão 
do seu significado, sendo subsídio útil à tomada de decisão. 
 
 
Conhecimento: Considera-se o conjunto de ferramentas conceituais e categorias usadas pelos 
seres humanos para criar, colecionar, armazenar e compartilhar a informação. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Dado 
 
Informação 
 
Conhecimento 
 
Fácil estruturação 
Fácil captura em máquinas 
Frequentemente 
quantificado 
Fácil transferência 
 
Requer unidade de análise 
Exige consenso em relação 
ao significado 
Exige necessariamente a 
mediação humana 
 
Difícil estruturação 
Difícil captura em 
máquinas 
Frequentemente tácito. 
Difícil transferência. 
 
 
Exemplo: 
 
dado 1: 40° C. (temperatura corporal do paciente) 
dado 2: 37° C. (temperatura normal do ser humano) 
 
informação: o paciente é o 3° acima do normal 
 
conhecimento 1: temperatura acima de normal (febre) é indesejável. 
conhecimento 2: administração de medicamento antipirético baixa febre. 
 
Exercício de abstração: 
Desenvolver um conjunto de 6 fichas para o controle do atendimento de uma clínica 
dentária. As fichas deverão conter dados diferentes e contemplar todos os tipos de 
controle que encontramos em uma clínica deste tipo, como por exemplo : paciente, 
horário, dentistas , etc... 
Conceito de Campo 
 
É a unidade básica formadora de um registro. Constitui a célula da informação. É a menor porção 
de um arquivo que pode ser referenciada por um programa. 
 
Cada campo deve possuir NOME, TIPO e TAMANHO. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
Os tipos de campo mais comuns são: 
 NÚMERO - Armazena somente números e pode conter casas decimais, pode ser 
utilizado em operações matemáticas. 
 
 TEXTO ou ALFANUMÉRICO - Pode armazenar letras, números e caracteres especiais. 
 
 DATA - Armazena datas em formatos definidos. 
 
A figura a seguir sintetiza alguns exemplos com relação a definição da utilização de um CAMPO: 
 Campo Tipo/Tamanho Dado 
• Data_nascimento DATA 28/08/2012 
• Nome TEXTO(30) Marlon da Silva 
• Idade NUMERO(2) 38 
• Endereco TEXTO (60) Rua Carmen Lucia Avenida Brasil 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Registros 
 
Registros podem ser chamados de estruturas, onde é possível agregar informações de tipos 
diferentes, criando-se um novo tipo de dado. Um registro é, portanto, uma coleção de campos, em 
que cada campo pode ser de um tipo de dado diferente. 
 
Definição Formal: O conceito de registro visa facilitar o agrupamento de variáveis que não são do 
mesmo tipo, mas que guardam estreita relação lógica. O registro é um caso mais geral de variável 
composta na qual os elementos do conjunto não precisam ser, necessariamente, homogêneos ou 
do mesmo tipo (FARRER ET AL, 2008). 
 
Por exemplo, os seguintes dados de um funcionário - código, nome, salário e sexo - são 
informações de tipos diferentes, mas possuem uma estreita relação lógica, que é a de compor as 
características de um funcionário. 
 
 
 TEXTO NÚMERO TEXTO 
 50 8 1 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Exemplo : 
Nome : Jose Maria 
Salário : 10.000,00 
Sexo : M 
 
Nome 
 
Salário 
 
Sexo 
 
Jose Maria 
 
10.000,00 
 
M 
 
Exercício 
Desenvolver a partir do conjunto de 6 fichas do controle de atendimento de uma clínica dentária 
os respectivos campos que iram formar os registros que iram compor um arquivo de dados. 
 
Sistema de Arquivo 
 
Um arquivo é uma coleção de REGISTROS do mesmo tipo, ou seja, referentes a um mesmo 
assunto e com o mesmo formato padrão (layout). Constitui o componente de um sistema no qual 
são armazenados os dados, que combinados através de programa serve de base para a geração 
da informação desejada para um usuário, através de relatórios e consultas on- line. 
 
Um sistema de controle de notas, por exemplo, pode armazenar seus dados em diversos arquivos, 
cada um contendo informações sobre um determinado item do sistema: ALUNO, PROFESSOR, 
MATÉRIA, NOTA, etc. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Essas informações podem ser combinadas através de programas para gerar, por exemplo, o 
BOLETIM ESCOLAR, a PAUTA 
ou uma tela de CONSULTA DE NOTAS. 
 
 
 
AAA M 34 28/07/2012 
BBBB F 34 28/07/2012 
 CC M 74 28/07/2012 
DDDD M 23 28/07/2012 
 
 
Tradicionalmente, dados eram guardados em arquivos. As informações eram definidas pelas 
estruturas dos arquivos nos quais os dados eram armazenados. Era difícil recombinar estes dados 
para produzir informações diferentes. Mais difícil ainda, por falta de ligações lógicas entre as 
informações. 
 
Os problemas associados comdados armazenados em sistemas de arquivos (escritos em arquivos 
eletrônicos OU em arquivos de papel) incluem: 
 
1. Redundância dos Dados 
• múltiplos arquivos precisam ser atualizados quando dados mudam 
• atualizações precisam ser feitas em uma ordem prescrita 
• atualizações necessitam muito tempo e são caras 
• dados sem conformidade (os mesmos dados têm valores diferentes em arquivos 
diferentes) 
N.. registros -> Arquivo 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
2. Dependência dos Dados 
• as maneiras de acesso para os dados não podem ser mudadas sem mudar os 
programas (os formulários no caso de arquivos de papel) 
• os programas não podem ser mudados sem mudar a estrutura dos dados 
• a manutenção de programas (formulários) é cara e consome muito tempo 
 
3. Inflexibilidade dos Dados 
• ligando arquivos por dados semelhantes é muito difícil 
• é muito difícil produzir relatórios imprevistos (relatórios ad hoc) 
 
 
Sistemas de Arquivos (papel ou eletrônico) 
 
 
 
 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
 Aula 2 
Sistemas de Base de Dados 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Uma base de dados é uma coleção de dados organizados de uma maneira que todas as 
necessidades de dados dos usuários são satisfeitas. Em geral, só há uma cópia de cada item, mas 
podemos encontrar alguns BD com redundância controlada. 
 
Uma base de dados é uma representação ou modelo de coisas, descrições e conexões que 
definem o negócio e o meio ambiente no qual o negócio funciona. É o material cru que apoia a 
produção de informação. 
Então, a base de dados torna-se um recurso que pertence ao negócio inteiro em vez de pertencer 
a uma área específica dentro do negócio. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Uma base de dados pode ser definida como uma coleção dados interligados armazenados juntos, 
sem redundância prejudicial ou não necessária, para servir uma ou mais aplicações da melhor 
maneira; Nos BD os dados estão armazenados para ser independente dos programas que usam 
os dados; possuem gerenciamento de acessos comuns que são usados para controlar a adição 
de novos dados e para modificar e buscar dados já existentes na base de dados. 
 
 
 
Sistemas de Arquivos x Sistemas de Base de Dados 
 
 
 
Sistemas de Arquivos (papel ou 
eletrônico) 
 Sistemas de Base de Dados 
 redundância não 
controlada 
 dados sem conformidade 
 inflexibilidade 
 compartilhamento 
limitado dos dados 
 má manutenção de 
padrões, incluindo 
padrões de nomeação 
 sinônimos (mesmos 
dados, nomes diferentes) 
 homônimos (mesmos 
nomes, dados diferentes) 
 baixa produtividade dos 
programadores 
 alta manutenção dos 
programas 
 
 redundância dos dados 
minimizada e controlada 
 dados conformam-se (não há 
sinônimos ou homônimos) 
 dados integrados (registros inter-
ligados) 
 compartilhamento dos dados 
entre programas 
 padrões estão mantidos 
 programação mais fácil 
 independência entre a estrutura 
dos dados e os programas de 
busca de dados 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Definição de um Sistema de Gerência para Bases de Dados 
 
Um sistema de gerência para bases de dados (SGBD) é um conjunto de programas que ajuda e 
controla o acesso e uso à bases de dados, para adicionar, modificar e buscar dados, por cada 
usuário e inclui funções que mantem a independência, integridade e segurança dos dados. 
 
Um SGBD integra arquivos de registros de dados em uma base de dados e prove visões diferentes 
para usuários diferentes. Então, tudo o software, hardware, firmware e procedimentos que se 
usam para gerenciar uma base de dados fazem parte do SGDB 
 
 
 
 
 
Objetivos de SGBD 
 
INDEPENDÊNCIA DE DADOS 
 
Os SGBD devem ser dotados de recursos que possibilitem a descrição das estruturas de dados 
(layout de arquivos e/ou tabelas) de forma independente dos procedimentos de manipulação 
(leitura e gravação) de dados no BD. 
Esse objetivo visa tornar transparente para os programas que acessam o BD as alterações que, 
por ventura, venham a ocorrer nas estruturas de dados, como por exemplo o acréscimo de um 
novo campo de informação ao banco. 
Da mesma forma, alterações em lógicas de programas que acessam o BD não devem afetar as 
estruturas de dados. 
Quanto maior o grau de independência de dados, menor será o tempo em que o BD ficará fora de 
operação para atividades de manutenção. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
COMPARTILHAMENTO DE DADOS 
 
Consiste na reutilização dos dados do BD pelo maior número possível de aplicações dentro da 
empresa. Nesse sentido, os dados do BD devem ser muito bem planejados e estruturados. 
Portanto, este objetivo de banco de dados está mais ligado à atividade de análise e projeto de BD. 
O compartilhamento de dados visa diminuir a redundância de dados, considerando-o como um 
recurso da empresa e não propriedade de setores isolados da organização. 
Para implementar o compartilhamento de dados é necessário que a empresa disponha de recursos 
de rede, que permitam colocar o BD ao alcance dos diversos usuários. 
 
Além disso, é necessário que o SGBD possua um competente sistema de segurança, para que se 
estabeleça a privacidade de dados, através de mecanismos de restrição de acesso. 
 
MENOR REDUNDÂNCIA DE DADOS 
 
Redundância de dados consiste na repetição de um mesmo dado em diversos arquivos (tabelas) 
de um sistema, banco de dados, ambiente computacional ou empresa. 
Como exemplo, pode-se tomar a ocorrência do dado “NOME DO FUNCIONÁRIO”, em bases de 
dados não compartilhadas dos sistemas de CADASTRO, FOLHA DE PAGAMENTO e 
TREINAMENTO de uma empresa. 
 
A redundância é danosa para o ambiente computacional, pois aumenta os custos com o 
armazenamento de dados, e demandas da área de informática. 
 
Além disso, a redundância gera inconsistência de dados, ou seja, o dado redundante extraído a 
partir de arquivos diferentes apresenta valores divergentes. Tal fato, pode afetar a credibilidade de 
um sistema. 
 
PRIVACIDADE DE DADOS 
 
O COMPARTILHAMENTO DE DADOS leva um grande número de usuários, com funções 
diversificadas na empresa, a acessar um mesmo banco de dados. 
Nesse contexto, o objetivo de privacidade de dados ressalta a preocupação que o 
projetista de BD deve ter em vedar o acesso de usuários não autorizados a informações sigilosas 
ou de acesso restrito 
 
Nesse sentido, o sistema de segurança dos SGBD, devem possuir meios para que o projetista 
possa definir perfis diferenciados de acesso ao BD, com a criação de grupos de usuários e 
atribuição de direitos de acesso aesses grupos, a partir da utilização de senhas. 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
SEGURANÇA DE DADOS 
 
A segurança das informações armazenadas no BD pode ser encarada sob dois prismas: 
SEGURANÇA LÓGICA e SEGURANÇA FÍSICA. 
 
A SEGURANÇA LÓGICA é alcançada com a utilização dos mecanismos de restrição de acesso 
disponíveis nos SGBD para implementação do objetivo de privacidade de dados, tais como senhas 
e sistemas de LOG e AUDIT que registram dados sobre as operações que são efetuadas no BD 
(data, hora, usuário, comando, etc.). 
 
A SEGURANÇA FÍSICA dos dados é obtida a partir de utilitários e aplicativos que os fabricantes 
colocam em seus produtos, visando facilitar o trabalho de proteção aos dados contra danos físicos, 
que podem ser causados por falhas de hardware ou queda da rede. 
 
Nessa linha destacam-se as ROTINAS DE BACKUP, GRAVAÇÃO COM ESPELHAMENTO e 
SISTEMAS DE MONITORAÇÃO DE TRANSAÇÕES DISTRIBUÍDAS (TWO-PHASE-COMMIT) e 
outras. 
TRATAMENTO DE CONCORRÊNCIA 
 
Este objetivo de BD aborda o aspecto do acesso simultâneo de dois usuários a um mesmo 
conjunto de informações. O SGBD deve possuir mecanismos para a identificação e tratamento 
desses acessos concorrentes, para garantir a consistência das informações do BD no sentido de 
sua veracidade. 
 
Os sistemas de bloqueio (LOCK) e desbloqueio (UNLOCK) são os mecanismos utilizados para 
evitar que uma informação que está sendo manipulada por um usuário (“USU1”) seja alterada por 
outro (“usu2”). 
Enquanto o “USU1” dela se utiliza o ‘USU2”, não terá acesso a mesma ou o terá apenas para 
leitura e receberá um aviso do SGBD de que a informação está sendo acessada por outro usuário 
e pode ser modificada. 
 
Existem vários níveis de LOCK. 
As opções variam conforme o produto (SGBD) analisado, sendo que os mais comuns 
ocorrem a nível de tabela, página (conjunto de registros) e linha (nível mais baixo). 
 
Cabe lembrar que o nível de bloqueio influi na performance do SGBD em ambientes de missão 
crítica (altos índices de acesso concorrente), sendo que quanto menor o nível de LOCK, a 
performance tende a ser melhor. Ressalta-se que além desse, existem outros fatores que 
influenciam na performance do SGBD. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
INTEGRIDADE DE DADOS 
A integridade de dados refere-se a mecanismos que estão disponíveis nos SGBD, que garantem a 
consistência dos dados armazenados no SGBD, segundo parâmetros de validação, especificados 
no momento de criação do BD, em conjunto com 
as estruturas de dados. 
 
Esse objetivo só se tornou disponível, como recurso do SGBD, com o advento dos modelos 
Relacionais e consta como pré-requisito para enquadramento de produtos nessa categoria de 
SGBD. 
 
Mais adiante nesta apostila veremos um tópico dedicado aos SGBD relacionais trataremos esse 
assunto com maior riqueza de detalhes. 
 
As linguagens de banco de dados consistem na interface do usuário para interagir com o SGBD. 
Neste texto destacamos cinco modalidades de linguagens que são mais comumente utilizadas 
nessa interação: 
 SQL, 
 Autocontida (TRIGGERS, STORED PROCEDURES, FUNCÕES).), 
 Hospedeira (Fortran, COBOL -possuem um software PRÉ-COMPILADOR,), 
 Visuais (DELPHI, VISUAL BASIC, POWER BUILDER, CENTURA) 
 e aquelas voltadas para INTERNET (HTML, JAVA SCRIPT, ASP e JAVA). 
 
Esta é uma classificação meramente didática que objetiva apenas demostrar 
formas diferenciadas de interação com o BD. Outros autores possuem diferentes classificações. 
 
Resumo das características desejáveis em um SGDB 
 permite compartilhamento dos dados 
 provê independência entre dados e programas 
 permite transparência entre dados e programas 
 provê segurança para os dados 
 provê integridade dos dados 
 provê controle de conformidade dos dados 
 permite validação dos dados 
 provê controle da estrutura física e lógica 
 permite e provê uma língua para a definição de dados 
 provê uma língua para manipulação dos dados (SQL) 
 provê vistos para usuários 
 provê procedimentos básicos 
 permite e provê funções para a auditoria do sistema 
 permite e provê funções para a recuperação do sistema 
 provê ferramentas para o desenvolvimento de formulários, relatórios 
 provê ferramentas para gerenciar a execução e segurança 
 provê ferramentas par manter a base de dados e seus programas 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES Aula 3 
História 
 
Os Bancos de dados relacionais (BDR) surgiram em meados da década de 1970. Porem, apenas 
alguns anos mais tarde as empresas passaram a utiliza-los no lugar de arquivos planos (do inglês 
flat file), bancos de dados hierárquicos e em rede. 
 
Modelo relacional 
 
O modelo relacional apareceu devido às seguintes necessidades: 
• aumentar a independência de dados nos sistemas gerenciadores de banco de dados; 
• prover um conjunto de funções apoiadas em álgebra relacional para armazenamento e 
recuperação de dados. 
 
O modelo tem por base a teoria dos conjuntos e álgebra relacional, foi resultado de um estudo 
teórico realizado por Edgar Frank Codd, criador do modelo relacional. 
 
O Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários problemas 
que se colocam no nível da concepção e implementação da base de dados. 
 
A estrutura fundamental do modelo relacional é a relação (tabela). 
 
Uma relação é constituída por um ou mais atributos (campos) que traduzem o tipo de dados a 
armazenar. Cada instância do esquema (linha ) é chamada de tupla (registro). 
 
O modelo relacional não tem caminhos pré-definidos para se fazer acesso aos dados como nos 
modelos que o precederam. 
 
O modelo implementa estruturas de dados organizadas em relações. Porém, para trabalhar com 
essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, 
como: Repetição de informação, incapacidade de representar parte da informação e perda de 
informação. 
Essas restrições são: integridade referencial, chaves e integridade de junções de relações. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
A Figura abaixo, traz exemplos de tabelas sob o modelo relacional. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 1.3 Tabelas do modelo relacional Cliente - Conta Corrente 
 
 
Conceitos de objetos do Modelo Relacional 
Tabelas (ou relações, ou entidades) 
 
Todos os dados de um banco de dados relacional (BDR) são armazenados em tabelas. Uma 
tabela e uma simples estrutura de linhas e colunas. 
Em uma tabela, cada linha contém um conjunto de colunas. 
 
Em um banco de dados podem existir uma ou centenas de tabelas, sendo que o limite pode ser 
imposto tanto pela ferramenta de software utilizada, quanto pelos recursos de hardware disponíveis 
no equipamento ou pela própria regra de negócio a ser especificada. 
 
As tabelas associam-se entre si através de regras de relacionamentos, estas regras consistem em 
associar um ou vários atributo de uma tabela (colunas)com um ou vários atributos de outra tabela. 
 
 Exemplo: A tabela funcionário relaciona-se com a tabela cargo. Atraves deste relacionamento esta 
ultima tabela fornece a lista de cargos para a tabela funcionário. 
 
 
 
 
 
 
 
 
 
Funcionário Cargo 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
Modelo teórico usado para representar conceitualmente um BD, Idealizado por Codd (1970). 
 
Baseado numa estrutura de dados simples chamada relação. 
E o modelo mais amplamente usado, principalmente em aplicações convencionais de BD. 
 
Registros (ou tuplas) 
 
Cada linha formada por uma lista ordenada de colunas representa um registro, ou tupla. Os 
registros não precisam conter informações em todas as colunas, podendo assumir valores nulos 
quando assim se fizer necessário. 
 
Resumidamente, um registro e uma instância de uma tabela, ou entidade. 
O start da modelagem de dados se da a partir das ENTIDADES que é composta por tuplas. 
 
Uma entidade e uma representação de um conjunto de informações sobre 
determinado conceito do sistema. Toda entidade possui ATRIBUTOS, que são as informações que 
referenciam a entidade. 
 
 Para exemplificar no sistema de controle de Biblioteca, partimos do conceito 
principal que e o de empréstimo de obras por parte dos usuários da biblioteca. A partir deste 
conceito inicial, vamos ramificando e descobrindo novos conceitos. 
 
Podemos iniciar nosso raciocínio da seguinte forma: 
 
"Uma biblioteca possui Obras literárias que podem ser tomadas em empréstimos pelos usuários 
credenciados." 
 
Podemos rapidamente enxergar um cadastro de livros, um cadastro de usuários e um registro 
de empréstimos, certo? 
 
E essa visão que temos que ter ao modelarmos um banco, isto e, devemos detectar as 
informações que devemos armazenar. 
Para identificar se aquele conceito pode ser uma entidade você deve apenas se perguntar: 
 
"Eu desejo armazenar quais informações sobre este conceito ?" 
 
 Se houverem informações a serem armazenadas, você tem uma ENTIDADE. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Exemplificando: 
 
 Eu desejo armazenar os seguintes dados do livro: 
• Titulo, 
• Autor, 
• Editora, 
• Ano, 
• Edição e Volume. 
 
Temos então a entidade Livro. 
 
Exemplo: 
 
 O empregado Pedro e uma instancia (registro) da tabela funcionário, e a função 
 Analista Comercial e a instancia (registro) da tabela cargo. 
 
Uma associação entre estas duas tabelas criaria a seguinte instancia de relacionamento: 
 
Pedro é Analista Comercial, onde o verbo ser representa uma ligação entre os registros 
distintos. 
 
Colunas (atributos, campo) 
As colunas de uma tabela são também chamadas de atributos. Um conjunto de colunas dão 
origem a um registro 
 
 Ex.: O campo Nome, ou endereço de uma tabela de um BD relacional. 
 
Chave 
 
As tabelas relacionam-se umas as outras através de chaves. 
Uma chave e um conjunto de um ou mais atributos que determinam a unicidade de cada registro. 
Por exemplo, se um banco de dados tem como chaves Código do Produto e ID Sistema, sempre 
que acontecer uma inserção de dados, o sistema de gerenciamento de banco de dados irá fazer 
uma consulta para identificar se o registro já não se encontra gravado na tabela. 
Neste caso, um novo registro não será criado, resultando esta operação apenas da alteração do 
registro existente. 
 
A unicidade dos registros, determinada por sua chave, também e fundamental para a criação dos 
índices. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
Temos dois tipos de chaves: 
 
• Chave primária: (PK - Primary Key) e a chave que identifica cada registro dando-lhe 
unicidade do dado. A chave primaria nunca se repetira. 
Ela identifica o registro de forma única. 
 
• Chave Estrangeira: (FK - Foreign Key) e uma chave formada através de um relacionamento 
com a chave primaria de outra tabela. 
Define um relacionamento entre as tabelas a associação entre suas chaves e pode ocorrer 
repetidas vezes. Caso a chave primária seja composta na origem, a chave estrangeira 
também o será no destino. 
 
 
 
 
 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES Aula 4 
Relacionamentos 
 
Com o advento do Modelo de Entidades e Relacionamentos foi causada uma confusão entre os 
termos relação e relacionamento 
O Modelo Relacional, quando descrito de forma matemática, e definido como um modelo formado 
por relações (no sentido matemático) entre os domínios. 
 
Cada tupla é um elemento do conjunto da relação. 
Ou seja, a relação é a tabela. 
 
Um relacionamento do Modelo de Entidades e Relacionamentos e uma associação entre entidades 
distintas. Não há relação direta entre o nome relacionamento e o nome relação. 
 
Porém, um relacionamento, do Modelo de Entidades e Relacionamentos é traduzido para a criação 
de atributos com chaves externas do Modelo Relacional. 
Esta tradução e feita ligando-se um campo de uma tabela X com um campo de uma tabela Y, por 
meio da inclusão do campo chave da tabela Y como um campo (conhecido como chave 
estrangeira) da tabela X. 
 
 
 
 
 
 
 
 
 
 
Por meio das chaves estrangeiras, e possível implementar restrições nos SGBDR. 
 
Tabela X Tabela Y 
Campo A 
Campo A ( FK) 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Existem alguns tipos de relacionamentos possíveis no MER: 
 
 
• Um para um (1 para 1) - indica que as tabelas tem relação unívoca entre si. Você 
escolhe qual tabela vai receber a chave estrangeira; 
 
 
• Um para muitos (1 para N) - a chave primária da tabela que tem o lado 1(unicidade) 
esta para ir para a tabela do lado N. 
 No lado N ela é chamada de chave estrangeira; 
Dizemos que uma ocorrência se relaciona com N outras. 
Ex : Nota fiscal x Produtos 
 
• Muitos para muitos (N para M) - quando tabelas tem entre si relação N..M, é 
necessário criar uma nova tabela com as chaves primárias das tabelas envolvidas, 
ficando assim uma chave composta, ou seja, formada por diversos campos-chave de 
outras tabelas. 
A relação então se reduz para uma relação 1.N, sendo que o lado N ficará com a nova tabela 
criada. 
 
Os relacionamentos 1 para 1 e 1 para N podem ser mapeados diretamente em chaves estrangeiras 
nas tabelas originais. Já o relacionamento N para N exige o uso de uma tabela auxiliar. No 
relacionamento N:N não há chave estrangeira. 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 Aula 5 
As 13 regras do modelo relacional 
 
Em 1985, Edgar Frank Codd, criador do modelo relacional, publicou um artigo onde definiu 13 
regras para que umSistema Gerenciador de Banco de Dados (SGBD) fosse considerado 
relacional: 
 
1. Regra Fundamental: 
Um SGBD relacional deve gerir os seus dados usando apenas suas capacidades relacionais. 
 
2. Regra da informação: 
Toda informação deve ser representada de uma única forma, como dados em uma tabela. 
 
3. Regra da garantia de acesso: 
Todo o dado (valor atômico) pode ser acedido logicamente (unicamente) usando o nome da 
tabela, o valor da chave primaria da linha e o nome da coluna. 
 
4. Tratamento sistemático de valores nulos: 
Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e 
outros valores não nulos) existem para representar dados não existentes de forma sistemática 
e independente do tipo de dado. 
 
5. Catalogo dinâmico on-line baseado no modelo relacional: 
A descrição do banco de dados e representada no nível logico como dados ordinários (isso e, 
em tabelas), permitindo que usuários autorizados apliquem as mesmas formas de manipular 
dados aplicada aos dados comuns ao consulta-las. 
 
6. Regra da sub-linguagem abrangente: 
Um sistema relacional pode suportar varias linguagens e formas de uso, porem deve possuir ao 
menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com 
habilidade de apoiar a definição de dados, a definição de visões, a manipulação de dados, as 
restrições de integridade, a autorização e a fronteira de transações. 
 
7. Regra da atualização de visões: 
Toda visão que for teoricamente atualizável será também atualizável pelo sistema. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
8. Inserção, atualização e eliminação de alto nível: 
• Qualquer conjunto de dados que pode ser manipulado com um único comando para 
retornar informações, também deve ser manipulado com um único comando para 
operações de inserção, atualização e exclusão. Simplificando, significa dizer que as 
operações de manipulação de dados devem poder ser aplicadas a varias linhas de uma 
vez, ao invés de apenas uma por vez. 
 
9. Independência dos dados físicos: 
• Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas 
quaisquer que sejam as modificações na representação de armazenagem ou métodos de 
acesso internos. 
 
10. Independência logica de dados 
• Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas 
quaisquer que sejam as mudanças de informação que permitam teoricamente a não 
alteração das tabelas base. 
 
11. Independência de integridade: 
• As relações de integridade especificas de um banco de dados relacional devem ser 
definidas em uma sub-linguagem de dados e armazenadas no catalogo (e não em 
programas). 
 
12. Independência de distribuição: 
• A linguagem de manipulação de dados deve possibilitar que as aplicações permaneçam 
inalteradas estejam os dados centralizados ou distribuídos fisicamente. 
 
13. Regra da Não-subversão: 
• Se o sistema relacional possui uma linguagem de baixo nível (um registro por vez), não 
deve ser possível subverter ou ignorar as regras de integridade e restrições definidas no 
alto nível (muitos registros por vez). 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 Aula 6 
Arquiteturas de Banco Dados 
 Introdução 
 
Atualmente, devem-se considerar alguns aspectos relevantes para atingir a eficiência e a eficácia 
dos sistemas informatizados desenvolvidos, a fim de atender seus usuários nos mais variados 
domínios de aplicação: automação de escritórios, sistemas de apoio a decisões, controle de 
reserva de recursos, controle e planejamento de produção, alocação e estoque de recursos, entre 
outros. Tais aspectos são: 
 
a) Os projetos Lógico e Funcional do Banco de Dados devem ser capazes de prever o volume de 
informações armazenadas a curto, médio e longo prazo. Os projetos devem ter uma grande 
capacidade de adaptação para os três casos mencionados; 
 
b) Deve-se ter generalidade e alto grau de abstração de dados, possibilitando confiabilidade e 
eficiência no armazenamento dos dados e permitindo a utilização de diferentes tipos de 
gerenciadores de dados através de linguagens de consultas padronizadas; 
 
c) Projeto de uma interface ágil e com uma "rampa ascendente" para propiciar aprendizado 
suave ao usuário, no intuito de minimizar o esforço cognitvo; 
 
d) Implementação de um projeto de interface compatível com múltiplas plataformas (UNIX, 
Windows NT, Windows Workgroup, etc); 
 
e) Independência de Implementação da Interface em relação aos SGBDs que darão 
condições às operações de armazenamento de informações (ORACLE, SYSBASE, INFORMIX, 
PADRÃO XBASE, etc). 
 
f) Conversão e mapeamento da diferença semântica entre os paradigmas utilizados no 
desenvolvimento de interfaces (Imperativo (ou procedural), Orientado a Objeto, Orientado a 
evento), servidores de dados (Relacional) e programação dos aplicativos (Imperativo, Orientado a 
Objetos). 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
 Histórico 
 
 
As primeiras arquiteturas usavam mainframes para executar o processamento principal e de 
todas as funções do sistema, incluindo os programas aplicativos, programas de interface com o 
usuário, bem como a funcionalidade dos SGBDs. Esta é a razão pela qual a maioria dos usuários 
fazia acesso aos sistemas via terminais que não possuíam poder de processamento, apenas a 
capacidade de visualização. 
 
Todos os processamentos eram feitos remotamente, apenas as informações a serem 
visualizadas e os controles eram enviados do mainframe para os terminais de visualização, 
conectados a ele por redes de comunicação. 
 
Mainframe e seus terminais 
 
 
 
 
 
Como os preços do hardware foram decrescendo, muitos usuários trocaram seus terminais por 
computadores pessoais (PC) e estações de trabalho. 
 
 PC 
 
No começo os SGBDs usavam esses computadores da mesma maneira que usavam os 
terminais, ou seja, o SGBD era centralizado e toda sua funcionalidade, execução de programas 
aplicativos e processamento da interface do usuário eram 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
executados em apenas uma máquina. Gradualmente, os SGBDs começaram a explorar a 
disponibilidade do poder de processamento no lado do usuário, o que levou à arquitetura cliente-
servidor. 
 
A arquitetura cliente-servidor foi desenvolvida para dividir ambientes de computação onde um 
grande número de PCs, estações de trabalho, servidores de arquivos, impressoras, servidores de 
banco de dados e outros equipamentos são conectados juntos por uma rede. 
 
 A idéia é definir servidores especializados, tais como servidor de arquivos, que mantém os 
arquivos de máquinas clientes, ou servidores de impressão que podem estar conectados a várias 
impressoras; assim, quando se desejar imprimir algo, todas as requisições de impressão são 
enviadas a este servidor. As máquinas clientes disponibilizam para o usuário as interfaces 
apropriadas para utilizaresses servidores, bem como poder de processamento para executar 
aplicações locais. 
 
 
 
 
Esta arquitetura se tornou muito popular por algumas razões. 
 
• Primeiro, a facilidade de implementação dada a clara separação das 
funcionalidades e dos servidores. 
 
• Segundo, um servidor é inteligentemente utilizado porque as tarefas mais simples 
são delegadas às máquinas clientes mais baratas. 
 
 
• Terceiro, o usuário pode executar uma interface gráfica que lhe é familiar, ao invés 
de usar a interface do servidor. 
 
Desta maneira, a arquitetura cliente-servidor foi incorporada aos SGBDs comerciais. 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
Diferentes técnicas foram propostas para se implementar essa arquitetura, sendo que a 
mais adotada pelos Sistemas Gerenciadores de Banco de Dados Relacionais (SGBDRs) 
comerciais é a inclusão da funcionalidade de um SGBD centralizado no lado do servidor. 
 
As consultas e a funcionalidade transacional permanecem no servidor, sendo que este é 
chamado de servidor de consulta ou servidor de transação. 
 
É assim que um servidor SQL é fornecido aos clientes. Cada cliente tem que formular suas 
consultas SQL, prover a interface do usuário e as funções de interface usando uma linguagem de 
programação. O cliente pode também se referir a um dicionário de dados o qual inclui 
informações sobre a distribuição dos dados em vários servidores SQL, bem como os módulos 
para a decomposição de uma consulta global em um número de consultas locais que podem ser 
executadas em vários sítios. 
Comumente o servidor SQL também é chamado de back-end machine e o cliente de front-end 
machine. Como SQL provê uma linguagem padrão para o SGBDRs, esta criou o ponto de divisão 
lógica entre o cliente e o servidor. 
 
Atualmente, existem várias tendências para arquitetura de Banco de Dados, nas mais diversas 
direções. 
 
 
SQL – Structed query language (linguagem de consulta estruturada) 
 
Como evolução do modelo cliente/server surgiu a arquitetura de banco de dados distribuídos 
onde cada servidor é responsável pelo processamento de forma transparente da informação. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
Definições das arquiteturas de BD 
 
Plataformas centralizadas. Na arquitetura centralizada, existe um computador 
com grande capacidade de processamento, o qual é o hospedeiro do SGBD e 
emuladores para os vários aplicativos. Esta arquitetura tem como principal vantagem a 
de permitir que muitos usuários manipulem grande volume de dados. Sua principal 
desvantagem está no seu alto custo, pois exige ambiente especial para mainframes e 
soluções centralizadas. 
 
Sistemas de Computador Pessoal - PC. Os computadores pessoais trabalham em 
sistema stand-alone, ou seja, fazem seus processamentos sozinhos. No começo esse 
processamento era bastante limitado, porém, com a evolução do hardware, tem-se hoje 
PCs com grande capacidade de processamento. Eles utilizam o padrão Xbase e quando 
se trata de SGBDs, funcionam como hospedeiros e terminais. Desta maneira, 
possuem um único aplicativo a ser executado na máquina. A principal vantagem desta 
arquitetura é a simplicidade. 
 
Banco de Dados Cliente-Servidor. Na arquitetura Cliente-Servidor, o cliente (front_end) 
executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e 
processamento de entrada e saída). O servidor (back_end) executa as consultas no 
DBMS e retorna os resultados ao cliente. Apesar de ser uma arquitetura bastante 
popular, são necessárias soluções sofisticadas de software que possibilitem: o 
tratamento de transações, as confirmações de transações (commits), desfazer 
transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos 
(triggers). A principal vantagem desta arquitetura é a divisão do processamento entre 
dois sistemas, o que reduz o tráfego de dados na rede. 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
Banco de Dados Distribuídos (N camadas). Nesta arquitetura, a informação está 
distribuída em diversos servidores. Como exemplo, observe a Figura a seguir. 
 
Cada servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos 
aplicativos são feitas para qualquer servidor indistintamente. 
Caso a informação solicitada seja mantida por outro servidor ou servidores, o sistema 
encarrega-se de obter a informação necessária, de maneira transparente para o 
aplicativo, que passa a atuar consultando a rede, independente de conhecer seus 
servidores. 
 
Exemplos típicos são as bases de dados corporativas, em que o volume de informação 
é muito grande e, por isso, deve ser distribuído em diversos servidores. Porém, não é 
dependente de aspectos lógicos de carga de acesso aos dados, ou base de dados 
fracamente acopladas, em que uma informação solicitada vai sendo coletada numa 
propagação da consulta numa cadeia de servidores. 
 
A característica básica é a existência de diversos programas aplicativos consultando a 
rede para acessar os dados necessários, porém, sem o conhecimento explícito de quais 
servidores dispõem desses dados. 
 
 
 
Figura 1.5 - Arquitetura Distribuída N camadas 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES Aula 7 
Modelagem 
 
FUNDAMENTOS DE MODELAGEM DE DADOS 
 
 
O Modelo Entidade-Relacionamento é um modelo de alto nível, independente do SGBD 
(Sistemas Gerenciadores de Bancos de Dados), que representa o problema a ser 
modelado. 
 
 A notação que será utilizada para a representação deste modelo é o DER (Diagrama 
Entidade-Relacionamento), exemplificado na Figura 1, onde os retângulos representam as 
entidades (elementos do domínio do problema) e os losangos representam os 
relacionamentos entre estas entidades (HEUSER,2004). Entidades ainda são descritas 
através de atributos e devem possuir uma chave primária (ou Primary Key - atributo ou 
conjunto de atributos que identificam unicamente uma instância em uma entidade, e que não 
podem receber um valor nulo). 
 
A Figura 1 representa que uma instância da Entidade A está associada a zero (opcional) ou 
mais instâncias da Entidade B. Por outro lado, uma instância da Entidade B está 
associada a uma (obrigatoriedade), e somente uma, instância da Entidade A. A este par 
de elementos chama-se cardinalidade, onde o primeiro elemento indica a participação 
(opcional ou obrigatório) do relacionamento, enquanto o segundo representa o grau do 
relacionamento (um ou muitos). Naturalmente, existem outros elementos utilizados na 
construção deste diagrama, como agregação, relacionamento ternário (ou de maior grau), 
auto-relacionamento e generalização/especialização, que serão apresentados 
posteriormente. 
 
 
 
 
 
 
 
Figura 1. Notação do Diagrama Entidade-Relacionamento 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJTels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Relacionamentos ainda podem ter atributos, quando algum dado precisa ser associado à 
ligação das duas instâncias envolvidas. Relacionamentos são descritos através da 
cardinalidade, que indica como as instâncias das entidades se relacionam. 
 
Os tipos utilizados na modelagem são (KORTH, SILBERCHATZ e SUDARSHAN, 2006): 
 
• Um-para-um (1:1): uma instância em “A” está associada com no 
 máximo uma instância em “B”, e uma instância em “B” 
 está associada com no máximo uma instância em “A”; 
 
• Um-para-muitos (1:n): uma instância em “A” está associada a 
 qualquer número de instâncias em “B”, e uma 
 instância em “B”, todavia, pode estar associado a no 
 máximo uma instância em “A”; 
 
• Muitos-para-muitos (n:n): uma instância em “A” está associada a 
 qualquer número de instâncias em “B” e vice-versa. 
 Alguns autores preferem chamar esta cardinalidade de 
 m:n, por considerar que podem representar valores 
 diferentes. 
 
O modelo conceitual representa os elementos do domínio do problema e, 
consequentemente, não considera questões tecnológicas. 
Assim, alguns dos elementos descritos neste modelo não possuem correspondência com os 
recursos oferecidos pelos bancos de dados relacionais, tornando necessário transformar o 
Modelo Entidade-Relacionamento em uma notação que possa ser implementada neste 
tipo de banco de dados. 
O DTR (Diagrama de Tabelas Relacionais) é uma representação gráfica deste modelo, cuja 
notação está exemplificada na Figura 2, retratando a mesma situação descrita na Figura 
1. Esta notação também é comumente conhecida como “Pé de Galinha”, devido à 
simbologia utilizada (COUGO, 1997). Este diagrama é interessante, pois apresenta 
elementos com correspondência direta àqueles implementados nos bancos de dados 
relacionais, facilitando a transição do modelo conceitual para o lógico. Além disso, muitas 
ferramentas CASE atuais implementam apenas este diagrama. Assim também será 
apresentado este diagrama de maneira a facilitar o entendimento desta transição. 
 
 
 
 
 
 
Figura 2. Notação do Diagrama de Tabelas Relacionais 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Neste sentido, existem algumas regras de conversão do Modelo Entidade- 
Relacionamento para o Diagrama de Tabelas Relacionais, sendo as principais 
(ELMASRI e NAVATHE, 2005): 
Toda entidade vira uma tabela; 
 
o Relacionamentos que possuem atributos viram tabelas (existe a 
 possibilidade em relacionamentos 1:n dos atributos irem para uma das 
 tabelas, ao invés de se criar uma nova. Entretanto, relacionamentos com 
 atributos são mais comuns em relacionamentos n:n, gerando assim 
uma 
 nova tabela); 
 
o Relacionamentos são representados por chaves estrangeiras (ou 
 Foreign Key – atributo correspondente à chave primária de outra 
 relação, base para a integridade referencial); 
 
o Relacionamentos 1:1 podem ser mapeados numa única tabela (quando 
 possuem a mesma chave primária), em duas tabelas (quando as 
 chaves primárias são diferentes e um dos lados do relacionamento é 
 obrigatório) ou em três tabelas (quando o relacionamento é opcional em 
 ambos os lados); 
 Relacionamentos 1:n são mapeados de forma que a chave primária 
do lado “1” seja representada do lado “n” como chave estrangeira; 
 Relacionamentos n:n devem ser transformados em dois 
relacionamentos 1:n, resultando numa nova tabela; 
 
o Relacionamentos ternários (ou de maior grau) geram novas tabelas; 
 
o Agregações normalmente geram novas tabelas; 
 
 Auto-relacionamentos geram novas tabelas se forem 
relacionamentos do tipo n:n; 
 Generalização/Especialização podem ser mapeadas em uma 
única tabela, em uma tabela para cada especialização ou uma 
tabela para cada entidade envolvida, dependendo da situação. 
 
 
Assim, a partir do modelo conceitual é construído o modelo lógico que, diferentemente 
do primeiro, é dependente das características do SGBD escolhido. A ferramenta para 
este fim é o MR (Modelo Relacional), que representa a solução do problema modelado, 
considerando as estruturas (relações) que serão transformadas em tabelas quando da 
criação do banco de dados propriamente dito. 
 
 
 
 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
Existem também algumas diferenças na nomenclatura. 
 
Por exemplo, 
 
“entidades” no Modelo Entidade-Relacionamento são chamadas de “relações” no Modelo 
Relacional, e “instâncias” são chamadas de “tuplas” (as linhas de uma relação). 
 
Quando da construção do banco de dados propriamente dito, as “relações” são chamadas 
de “tabelas”, as “tuplas” de “registros”, e os “atributos” de “campos” ou “colunas”. 
 
Neste contexto, uma questão importante a ser discutida na construção do Modelo Relacional 
é a normalização, que é um conjunto de regras que leva à construção de modelos mais 
robustos, com menos dependências entre seus elementos e menos redundância de 
informações. 
 
Normalização é uma atividade de verificação do modelo lógico e suas Formas Normais 
mais comuns, apesar de existirem outras, são (DATE, 2004): 
 
1ª Forma Normal (1FN): 
 
Toda relação deve ter uma chave primária e deve-se garantir que todo 
atributo seja atômico (único). Atributos compostos devem ser separados. 
Por exemplo ; 
 Um atributo Endereço deve ser subdividido em seus componentes: 
Logradouro, Número, Complemento, Bairro, Cidade, Estado e CEP. Além 
disso, atributos multivalorados devem ser discriminados separadamente ou 
separados em uma outra relação. Por exemplo, um atributo 
multivalorado Telefones poderia ser separado em Telefone Residencial, 
Telefone Comercial e Telefone Celular ou, ainda, ser convertido em 
outra relação que pudesse representar um número indeterminado 
de telefones. 
 
2ª Forma Normal (2FN): 
 
Toda relação deve estar na 1FN e devem-se eliminar dependências 
funcionais parciais, ou seja, todo atributo não chave deve ser totalmente 
dependente da chave primária. Como exemplo, uma relação que 
contenha os atributos Código da Obra, Código do Fornecedor, Nome do 
Fornecedor e Preço de Venda, considerando que a chave primária é 
composta pelos atributos Código da Obra e Código do Fornecedor, não 
está na Segunda Forma Normal, uma vez que o Nome do Fornecedor 
depende apenas do Código do Fornecedor, e não do Código da Obra. 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
Uma nova relação (Fornecedor) deve ser criada contendo os campos 
Código do Fornecedor (como chave) e Nome do Fornecedor. Na 
relação original, ficariam os atributosCódigo da Obra e o Código do 
Fornecedor, ambos formando a chave primária composta, e o atributo 
Preço de Venda. Além disso, o atributo Código do Fornecedor também 
seria uma chave estrangeira para a nova relação criada. Esta forma normal 
ajuda a diminuir redundâncias de informações criadas indevidamente. 
 
3ª Forma Normal (3FN): 
 
 Toda relação deve estar na 2FN e devem-se eliminar dependências 
funcionais transitivas, ou seja, todo atributo não chave deve ser 
mutuamente independente. Como exemplo, uma relação que contenha 
os atributos Matrícula do Funcionário (atributo chave), Nome do 
Funcionário, Código do Departamento e Nome do Departamento não está 
na Terceira Forma Normal. O Nome do Departamento é dependente do 
Código do Departamento, e não da Matrícula do Funcionário. Uma 
mudança no nome do departamento, por exemplo, levaria a modificações 
em todos os funcionários daquele departamento. Para eliminar este 
problema, cria-se uma nova relação (Departamento) contendo Código do 
Departamento e Nome do Departamento. Na relação original, retira-se o 
Nome de Departamento, mantendo-se o Código do Departamento, 
agora como chave estrangeira. Esta forma normal também ajuda a 
diminuir redundâncias e aumentar a independência das relações. 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 Aula 8 
UTILIZAÇÃO DE RELACIONAMENTOS 1:1 E 1:N 
 
 
No sentido de exemplificar estes conceitos, será apresentado um fragmento de um 
sistema de controle de biblioteca. Como requisitos iniciais foram identificados: 
 
1. Devem ser cadastradas as obras do acervo, que representam livros, 
 
periódicos (revistas, jornais) e qualquer outro elemento do acervo da 
biblioteca. Inicialmente, obras devem possuir um código que as 
identifique: título, autor principal, ano de publicação, situação 
(disponível, emprestada) e editora. Editoras, por sua vez, possuem um 
código, nome e cidade. Uma obra sempre é de uma editora e uma 
editora pode possuir diversas obras; 
2. Devem ser cadastrados usuários da biblioteca, que devem ter uma 
 
identificação única, nome, endereço completo, telefone de contato e 
 
CPF; 
 
3. Os funcionários da biblioteca também devem ser cadastrados. 
 
Funcionários têm um número de matrícula, seu nome completo e 
departamento em que trabalha. Departamentos, por sua vez, possuem 
código e nome. Todo funcionário obrigatoriamente é vinculado a um 
departamento, que pode ter vários funcionários. Além disso, todo 
departamento possui um único chefe; 
4. Usuários devem poder realizar empréstimo de obras. Um empréstimo 
deve conter uma única obra e ser de um único usuário, 
obrigatoriamente. Empréstimos ainda devem registrar a data e horário 
do empréstimo, data prevista de retorno, bem como o funcionário que o 
realizou. Quando da devolução da obra em empréstimo, deve-se 
registrar a data e horário da devolução, bem como o funcionário 
responsável; 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
5. Usuários ainda podem realizar reservas de obras. Uma reserva deve 
conter uma única obra e ser de um único usuário, obrigatoriamente. 
Reservas ainda devem registrar a data e horário da reserva e data na 
qual a obra será retirada. 
 
 
Alguns comentários são importantes de serem considerados quando da 
modelagem de dados. 
 
Primeiro, deve-se atentar para o fato de que redundância de dados não é 
desejável. Numa primeira análise, e pela simplicidade inicial do problema, se poderia 
imaginar a construção de uma única entidade contendo todas as informações do 
funcionário, por exemplo, incluindo os dados de seu departamento. Entretanto, a 
cada funcionário alocado a um mesmo departamento, acarretaria que os dados do 
departamento seriam duplicados no novo funcionário. Se, por exemplo, o 
departamento mudasse de nome, teria que mudar esta informação nos diversos 
funcionários lotados nele o que, além de redundante, pode causar inconsistências. 
 
Outra consideração importante é a respeito do endereço do usuário. No 
modelo conceitual pode-se representar apenas o atributo Endereço, pois é o 
problema que está sendo modelado. Entretanto, no modelo lógico, representam-se 
as estruturas internas das relações (atributos, restrições, chaves, relacionamentos). 
 
Neste caso, deve-se lembrar que a Primeira Forma Normal (1FN) 
determina que todo atributo deve ser atômico. Desta forma, deve-se separar o 
endereço em seus diversos atributos. Isso é importante, pois se for necessário 
saber quais são os usuários que vivem numa determinada cidade, este atributo 
deve estar separado. Caso contrário, torna-se difícil distinguir, por exemplo, um 
usuário que mora na cidade do Rio de Janeiro de outro que mora na Rua Rio de 
Janeiro na cidade de Belo Horizonte. 
 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
Além disso, quando construir um relacionamento entre duas entidades, deve- 
se tomar cuidado com as obrigatoriedades dos dois lados do relacionamento. Por 
exemplo, se for modelado que um funcionário deve pertencer a um departamento e, 
ao mesmo tempo, um departamento deve ter ao menos um funcionário, não se está 
considerando a situação inicial, com o banco de dados vazio, onde primeiro se 
cadastram os departamentos sem funcionários e, no momento do cadastramento do 
funcionário, este é alocado ao departamento. 
Também é importante notar que nem todas as entidades estão explicitamente 
descritas no enunciado do problema. 
Por fim, não se deve preocupar com outras necessidades de modelagem, 
 
devendo-se focar no problema apresentado. 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
A Figura 3 apresenta o Diagrama Entidade-Relacionamento contendo uma 
possível solução para o problema apresentado. Optou-se por não representar os 
atributos neste diagrama, para não dificultar a legibilidade. Os atributos 
serão apresentados posteriormente na estrutura das entidades. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 3. DER do problema apresentado 
 
 
Vale lembrar que, apesar de uma prática comum, não é obrigatório nomear os 
relacionamentos, exceto quando estes irão originar tabelas, o que é o caso de 
relacionamentos n:n ou relacionamentos que possuem atributos. Nestes casos, o 
nome dos relacionamentos normalmente são os nomes das tabelas resultantes. 
Entretanto, nomear relacionamentos é importante para uma melhor compreensão do 
modelo e este recurso será utilizado quando for necessário. Neste exemplo, foram 
nomeados os relacionamentos entre as entidades Funcionario e Departamento, uma 
vez que seu entendimento fica dificultado se os relacionamentos não forem 
nomeados, por existirem dois relacionamentos entre as mesmas entidades. 
EmprestimoRua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
A seguir, é descrita a estrutura inicial das entidades, onde o atributo 
determinante está sublinhado. Observe que, propositadamente, foram deixados os 
atributos da editora dentro da entidade Obra: 
 
• Obra (cod_obra, titulo, autor_principal, ano_publicacao, 
 situacao_obra, tipo_obra, cod_editora, nome_editora, cidade) 
 
 
• Usuario (cod_usuario, nome_usuario, endereco, telefone, CPF) 
 
 
• Emprestimo (cod_emprestimo, cod_obra, cod_usuario, data_emprestimo, 
 horario_emprestimo, data_prevista_retorno, 
 num_matricula_funcionario) 
 
• Devolucao (cod_emprestimo, data_devolucao, horario_devolucao, 
 num_matricula_funcionario) 
 
• Funcionario (num_matricula, nome_funcionario, cod_departamento) 
 
 
• Departamento (cod_departamento,nome_departamento, 
 num_matricula_chefe) 
 
• Reserva (cod_reserva, cod_usuario, cod_obra, data_reserva, 
 horario_reserva, data_retirada) 
 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 Aula 9 
Para a construção deste diagrama, algumas decisões de projeto foram 
tomadas e valem a pena serem discutidas: 
• Na entidade Emprestimo, uma possibilidade para a definição do atributo 
determinante seria a concatenação dos atributos cod_usuario e 
cod_obra, caracterizando uma chave composta. Entretanto, esta chave 
impediria que o mesmo usuário realizasse o empréstimo da mesma obra 
em datas diferentes. Uma possibilidade seria incluir também o atributo 
data_emprestimo na chave. Neste caso, preferiu-se incluir um atributo 
cod_emprestimo como atributo determinante. Este tipo de situação é 
chamada de chave cega, onde um novo atributo é inserido por 
dificuldades na determinação da chave da entidade. O mesmo raciocínio 
foi utilizado para determinar a chave da entidade Reserva; 
• O relacionamento 1:1 entre as entidades Emprestimo e Devolucao 
não necessariamente precisaria existir. Relacionamentos com esta 
cardinalidade muitas vezes podem ser eliminados e os atributos das 
duas entidades podem ser unificados, principalmente neste caso onde 
os atributos determinantes são os mesmos (a entidade Devolucao 
poderia ter um atributo determinante diferente, como cod_devolucao 
mas, neste caso, seria necessário definir um outro atributo que fizesse a 
ligação com a entidade Emprestimo). Assim, uma possibilidade seria 
transferir para a entidade Emprestimo todos os atributos da entidade 
Devolucao e eliminar esta entidade. Com isso, o empréstimo também 
teria os dados de sua devolução, sendo necessário ter um outro 
relacionamento com a entidade Funcionario, para representar o 
funcionário responsável pela devolução. Neste exemplo, preferiu-se 
manter as entidades separadas, uma vez que são eventos que 
representam situações diferentes e acontecem em momentos distintos e, 
no caso da devolução, pode nem acontecer; 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
 
 
• Os dois relacionamentos entre as entidades Funcionario e 
Departamento são importantes, uma vez que representam ligações 
diferentes entre as entidades, um representando lotação e outro chefia. 
Neste caso, o relacionamento 1:1 não poderia ser eliminado, uma vez que 
existe um segundo relacionamento entre as mesmas entidades; 
• Optou-se por não fazer um relacionamento entre as entidades 
Emprestimo e Reserva, representando que um empréstimo possa 
ter sido efetivado em função de uma reserva. Esta decisão foi tomada 
uma vez que não existe a necessidade de estar armazenando 
definitivamente as reservas, podendo as mesmas ser eliminadas após a 
data da reserva ter sido vencida; 
• Deve-se observar ainda um problema na entidade Obra. Caso existam 
 
vários exemplares da mesma obra, tem-se que cadastrar a obra várias 
vezes, uma para cada exemplar. Este problema será resolvido 
posteriormente. 
 
 
O próximo passo é analisar se as entidades representadas estão 
normalizadas, podendo transformar-se em relações. Segue esta análise das Formas 
Normais: 
• 1ª FN: esta Forma Normal não foi satisfeita, uma vez que o atributo Endereco 
 
da entidade Usuario não é atômico. Para satisfazer esta FN, este atributo deve 
ser desmembrado em Logradouro, Numero, Complemento, Bairro, Cidade, UF, 
CEP; 
• 2ª FN: o modelo encontra-se na Segunda Forma Normal, que determina que 
 
todo atributo não chave deve ser totalmente funcionalmente dependente da 
chave primária, e não de parte dela. Só faz sentido preocupar-se com esta 
Forma Normal para aquelas relações que possuem chave primária composta. 
No estudo de caso em questão, como todas as relações possuem chaves 
primárias simples, contendo de apenas um atributo, não é necessário 
preocupar-se com esta Forma Normal no momento; 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
• 3ª FN: pode-se observar um problema com esta Forma Normal ao analisar a 
 
relação Obra. Neste caso, os atributos nome da editora e cidade da editora 
dependem funcionalmente apenas do atributo código da editora, que é um 
atributo não chave. Lembrando, a 3ª FN indica que todos os atributos não 
chave devem ser mutuamente independentes. Assim, apesar dos dados da 
editora poderem ser considerados como atributos da obra, torna-se importante 
separar estas entidades, primeiro para não ter estes atributos redundantes. 
Segundo, a digitação diferente do nome de uma editora, por exemplo, faz com 
que consultas indiquem editoras diferentes, o que não é desejável. Outra 
situação indesejável acontece se uma editora mudar de cidade, ocasionando 
uma mudança no valor deste atributo em todas as obras desta editora. 
 
 
A Figura 4 apresenta o DTR (Diagrama de Tabelas Relacionais) ou DER 
(Diagrama entidade relacionamento) do modelo após a etapa de normalização. 
Novamente os atributos foram suprimidos para facilitar a visualização e serão 
detalhados a seguir. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4. O DTR do problema apresentado 
 
 
 
 
 
Rua da Assembléia, nº. 10 -3ºandar - sala 319 CEP 20011-901 • Rio de Janeiro • RJ 
 Tels.: (21) 3543-6442 e 3543-6413 
 escm@candidomendes.edu.br • www.candidomendes.edu.br/escm 
ESCOLA SUPERIOR CANDIDO MENDES 
 
As Tabelas 1 a 8 apresentam as estruturas das tabelas, onde PK (Primary 
Key) representa a chave primária da tabela (que deve ser obrigatória) e FK (Foreign 
Key) representa uma chave estrangeira, onde o valor do atributo deve ser 
correspondente a uma chave primária da tabela a qual está referenciando, ou ser 
nulo, quando não for obrigatório. Isto se chama integridade

Continue navegando