Sei sulla pagina 1di 148

Caderno de Atividades

Sistemas de Banco de Dados

Semestre 3

Tecnologia em Anlise e
Desenvolvimento de
Sistemas

CLIQUEAQUIPARA
VIRARAPGINA

Caderno de Atividades
Tecnologia em Anlise e Desenvolvimento de Sistemas
Disciplina
Sistemas de Banco de Dados
Coordenao do Curso
Emir Mansur Smaka
Autor
Douglas Fugita de Oliveira Cezar

FICHA TCNICA
Equipe de Gesto Editorial
Regina Cludia Fiorin
Joo Henrique Canella Firio
Priscilla Ramos Capello
Anlise de Processos
Juliana Cristina e Silva
Flvia Lopes

Reviso Textual
Alexia Galvo Alves
Giovana Valente Ferreira
Ingrid Favoretto
Julio Camillo
Luana Mercrio
Diagramao
Clula de Inovao e Produo de Contedos

Chanceler
Ana Maria Costa de Sousa

Pr-Reitor de Graduao
Eduardo de Oliveira Elias

Reitora
Leocdia Agla Petry Leme

Pr-Reitor de Extenso
Ivo Arcanglo Vedrsculo Busato

Pr-Reitor Administrativo
Antonio Fonseca de Carvalho

Pr-Reitora de Pesquisa e PsGraduao


Luciana Paes de Andrade

Realizao:
Diretoria de Planejamento de EAD
Jos Manuel Moran
Barbara Campos
Diretoria de Desenvolvimento de EAD
Thais Costa de Sousa
Gerncia de Design Educacional
Rodolfo Pinelli
Gabriel Arajo

Como citar esse documento:


CEZAR, Douglas Fugita de Oliveira. Sistemas
de Banco de Dados. Valinhos: Anhanguera
Educacional, 2014. p. 1-148.
Disponvel em: <http://www.anhanguera.com>.
Acesso em: 3 fev. 2014.

2014 Anhanguera Educacional


Proibida a reproduo final ou parcial por qualquer meio de impresso, em forma idntica, resumida ou modificada em lngua
portuguesa ou qualquer outro idioma.

ndic
e

Tema 01: Conceitos Fundamentais de Banco de Dados 

Tema 02: Introduo ao Modelo Entidade-Relacionamento 

22

Tema 03: Modelagem E-R: Conceitos e Fundamentos 

40

Tema 04: Modelagem E-R: Tcnicas e Ferramentas 

60

Tema 05: Arquitetura de Banco de Dados 

80

Tema 06: Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional 

96

Tema 07: Introduo Linguagem SQL 

116

Tema 08: Segurana e Recuperao de Dados 

134

Tema 01

sees

Conceitos Fundamentais de Banco de Dados

s
e

e
S

Tema 01

Conceitos Fundamentais de Banco de Dados

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
Tabelas, registros e campos.
A evoluo dos modelos de bancos de dados.
Introduo ao modelo de banco de dados relacional.

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
Quais os principais modelos de bancos de dados?
O que so tabelas, registros e campos?
O que so chaves primrias e chaves estrangeiras?
Como feito o relacionamento em um banco de dados de modelo relacional?

LEITURAOBRIGATRIA
Conceitos Fundamentais de Banco de Dados
Os homens mais primitivos utilizavam as pinturas rupestres, ao passo que os
egpcios utilizavam hierglifos. Anotaes relacionadas s atividades de vendas dirias,
tbuas de mar, variaes de clima e temperatura, fatos do cotidiano e tambm fatos
histricos. Exemplo como esses evidenciam que, desde sempre, o armazenamento de
dados acompanha a humanidade em todas suas fases de evoluo.
Dado pode ser definido como a matria-prima ou o elemento bsico para a gerao de
informaes. um elemento bsico para um banco de dados.
Talvez voc possa ter presenciado a cena, ou ento visto em algum filme, de salas de
clnicas mdicas ou hospitais com grandes armrios que armazenavam pastas que, por sua
vez, continham fichas referentes ao paciente, aos procedimentos realizados, s receitas
mdicas e a diversas outras informaes pertinentes ao ambiente clnico. Esse tipo de
organizao pode ser entendido como um banco de dados.
Banco de dados pode ser definido como uma coleo de dados persistentes referentes a
um tema especfico. A funo dessa coleo atender s necessidades de seus usurios,
sendo elas a de uma simples consulta ou a de gerao de informaes ou conhecimento.
10

LEITURAOBRIGATRIA
O mesmo estilo de armazenamento representado por meio de armrios, gavetas, pastas e
fichas pode ser transportado para o mundo computacional. Assim surgiu o primeiro modelo
de estrutura de banco de dados. O modelo baseado no gerenciamento de arquivos se
utilizava da estrutura bsica do sistema operacional, composta de diretrios e arquivos.
Para armazenar os dados nesse modelo, estes so mantidos em um nico arquivo. Por
exemplo, os dados de clientes so armazenados sequencialmente em um arquivo distinto
ao arquivo que armazena os dados sobre vendas realizadas.
Nesses arquivos existem linhas e colunas, tal qual uma planilha que voc provavelmente
j conhece. Cada coluna denominada campo, que a menor unidade de informao
existente em um banco de dados. Uma linha que contm um conjunto de campos
denominada registro, devendo haver dados em cada um dos campos. Um conjunto de
campos e registros denominado de tabela.
A facilidade e a simplicidade na estrutura correspondem a uma grande vantagem desse
modelo, o que, em contrapartida, contrasta com sua dificuldade em relacionar os dados e
com a grande chance de haver dados redundantes nesses arquivos.
Na dcada de 1960, foi desenvolvido pela IBM o IMS (Information Management System),
que possui como base o modelo hierrquico. Esse modelo representou um grande avano
nas tcnicas de armazenamento de dados, utilizando como referncia uma estrutura em
rvore. Essa estrutura possibilita a organizao dos registros atravs de ligaes, nas quais
cada registro possui vrios campos e cada campo possui somente um valor.
Cada um dos registros possui dois segmentos: o superior e o subordinado. Eles so
utilizados para a ligao com um outro registro, em um relacionamento pai-filho. O registro
pai pode possuir vrios filhos, mas os registros filhos s podem possuir um registro pai,
como demonstrado na figura 1.1.

11

LEITURAOBRIGATRIA
Figura 1.1 Modelo hierrquico

N RAIZ
segmento superior
Jos So Paulo 01/09/75
segmento subordinado
segmento superior
15
caneta
R$ 45,00
segmento subordinado

segmento superior
Jos
Olinda
25/03/83
segmento subordinado
segmento superior
10
caneta
R$ 30,00
segmento subordinado

segmento superior
5 calculadoras R$ 50,00
segmento subordinado

Fonte: Elaborao do autor.

Houve grandes melhoras na forma que o armazenamento era feito, e, pela primeira vez,
os dados de diferentes assuntos poderiam ser relacionados. No entanto, essa estrutura
comeou a perder prestgio quando foi necessrio armazenar uma grande quantidade de
dados. Alm disso, houve problemas em razo de suas prprias premissas, em casos em
que os relacionamentos necessitavam ser representados como vrios registros pai para um
nico registro filho.
Na tentativa de melhorar o modelo hierrquico, foi criado o modelo de rede, representado
por um diagrama similar ao hierrquico. No entanto, este novo modelo poderia relacionar
cada registro filho com vrios pais diferentes. Sua estrutura utilizava termos como entidades
e atributos (registros e itens do registro, respectivamente).
As melhorias propostas acarretaram em um sistema com buscas mais rpidas e complexas,
pois o modelo no dependia de um nico registro para levar aos prximos. No entanto,
o modelo de rede apresentava os mesmos problemas de seu antecessor, ao se deparar
com grandes quantidades de dados, ou ento na difcil manuteno das estruturas quando
alteraes eram solicitadas.
O prximo modelo apresentou melhoras significativas quando comparado aos modelos
hierrquico e de rede. O modelo relacional se destaca pela simplicidade e flexibilidade,
utilizando como base os mesmo conceitos dos arquivos de dados. Os dados so armazenados
em tabelas que, por sua vez, so compostas de campos e registros.

12

LEITURAOBRIGATRIA
O banco de dados relacional foi criado com base na teoria matemtica de conjuntos, e, por
isso, seus componentes principais supracitados tambm podem ser conhecidos por seus
correspondentes em linguagem matemtica. Os campos podem ser chamados de atributos,
os registros so chamados de tuplas, e as tabelas so conhecidas como relao.
A estrutura pode se comparada a uma planilha eletrnica, com suas linhas (tuplas) e colunas
(atributos). O contedo de um conjunto linha-coluna especfico denominado clula, tanto
para a planilha eletrnica como para o banco de dados relacional. A clula responsvel
por conter o valor do atributo que, por definio, deve ser um valor atmico.
Entende-se por valor atmico um dado que est em uma forma que no consiga ser
divisvel. Por exemplo, o registro de um telefone no padro +99 (99) 9999-9999 pode ser
considerado um valor no atmico, visto que ele pode ser dividido em partes como cdigo
do pas, cdigo da localidade, prefixo e sufixo.
Outro conceito importante para o banco de dados relacional o domnio do atributo,
representado pelo conjunto de valores possveis de serem assumidos por um atributo. Por
exemplo, para o atributo preo da relao produto, o domnico do atributo o conjunto
de todos os valores possveis para esse campo, sendo impossvel a utilizao de valores
negativos. Para o domnio do atributo cor da relao produto, deve ser considerado o
conjunto de todas as cores possveis.
O modelo orientado a objetos surgiu com a misso de armazenar dados complexos, tais
como sistemas de informaes geogrficas (SIG) ou ferramentas de Computer Aided Desing
(CAD) e Computer Aided Manufacturing (CAM).
O banco de dados orientado a objetos busca agrupar os dados separados em objetos
com tipos estruturados, tal como um tipo endereo que composto pelos atributos
rua, nmero, bairro e cidade. Outros recursos como herana e aninhamentos esto
disponveis no modelo orientado a objetos. Para modelar bancos de dados orientados a
objetos utiliza-se a linguagem Unified Modeling Language (UML).
A utilizao dos modelos apresentados foi possvel por meio da utilizao de sistemas
que facilitassem o acesso aos dados e fossem capazes de manipular essas informaes,
implementando as regras de cada modelo. Cada um desses sistemas chamado de Sistema
de Gerenciamento de Banco de Dados (SGBD).

13

LEITURAOBRIGATRIA
Os SGBDs so responsveis por evitar problemas tais como redundncia de dados,
dificuldade nos acessos, isolamento de dados, problemas de integridade, problemas de
atomicidade ou problemas com acesso concorrente.
Para que os dados e as estruturas do banco de dados sejam manipulados, os SGBDs
apresentam linguagens especficas para essas tarefas, sendo a Structured Query Language
(SQL) a mais utilizada nos dias de hoje.
As linguagens podem ser divididas em duas partes diferentes: a linguagem de manipulao
de dados e a linguagem de definio de dados.
A linguagem de manipulao de dados (DML) a responsvel por inserir, atualizar, excluir
e recuperar os dados e as informaes no banco de dados.
A linguagem de definio de dados (DDL) utilizada para criar, modificar ou excluir a
parte estrutural do banco de dados, incluindo as consistncias necessrias para insero
de dados, permisses de acesso e implementao do esquema criado pelo projetista. O
esquema do banco de dados apenas uma parte do projeto do banco de dados.
Um projeto de banco de dados composto de vrios documentos que determinam projetos
em diferentes nveis de viso. O primeiro modelo baseado na viso descritiva, que a
mais prxima do mundo real. Esse documento busca trazer o maior nmero de informaes
e caractersticas para que as necessidades relatadas durante o levantamento sejam
satisfeitas.
Aps, o projeto do banco de dados segue para o modelo conceitual, no qual o projetista
comea a adequar o documento descritivo a um modelo de dados. Assim iniciada uma
das fases mais crticas do projeto, na qual ser definida uma viso macro de todo o banco
de dados, descrevendo quais informaes sero armazenadas e o relacionamento entre
elas. Um modelo bastante utilizado para essa etapa o modelo entidade-relacionamento
(MER).
O projeto do banco de dados segue ento para o projeto lgico, no qual o modelo conceitual
ser transformado em um modelo de dados especfico para a implementao estrutural do
banco de dados. Esse projeto sucedido pelo projeto fsico, que deve conter os detalhes
da arquitetura que ser utilizada no projeto.

14

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Leia o artigo Utilizao de um banco de dados relacional no Sistema de Informaes
Geogrficas (SIG) para o cadastro florestal, de Marcos Vinicius Giongo Alves, Henrique
Soares Koehler e Bencio de Melo Filho, 2004.
Disponvel em: <http://marte.sid.inpe.br/col/ltid.inpe.br/sbsr/2004/11.23.10.20/doc/2003.
pdf>. Acesso em: 1 fev. 2014.
Esse artigo demonstra o uso de um banco de dados relacional em uma tarefa de alta
complexidade, que a integrao com um sistema de informaes geogrficas.
Saiba mais sobre banco de dados na nuvem, por meio do artigo Banco de dados na nuvem
coloque sua cabea nas nuvens, de Jin Zhang, 2011.
Disponvel em: <http://www.ibm.com/developerworks/br/data/library/dmmag/DMMag_2011_
Issue2/cloudDBaaS/>. Acesso em: 1 fev. 2014.
Descreve a forma de adoo da computao em nuvem e o oferecimento de banco de
dados como servio.

Vdeos
Teoria de banco de dados Aula 1.
Disponvel em: <http://www.youtube.com/watch?v=pGBGbL1ORJ0>. Acesso em: 1 fev.
2014.
Vdeo que explica de forma simples e com vrios exemplos a teoria sobre bancos de dados
relacionais.
15

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

Questo 1:

a) Projeto descritivo.

Assim como citado no texto, os armrios


de metal em uma clnica mdica com suas
pastas e fichas podem representar uma
organizao de um banco de dados e, em
sua maioria, j foram substitudos por sistemas computacionais. Com quais outras situaes, em seu dia a dia, voc j se deparou que poderiam ser substitudas por um
conjunto de sistemas e banco de dados?

b) Projeto conceitual.

Questo 2:
O projeto do banco de dados que contm
as informaes mais prximas ao mundo
real :

16

c) Projeto lgico.
d) Projeto fsico.

Questo 3:
Marque V (verdadeiro) ou F (falso) para
as afirmaes relacionadas com o modelo
hierrquico
I. ( ) Os registros possuem dois segmentos: superior e inferior.
II. ( ) Os registros possuem um relacionamento pai-filho com outro registro.

AGORAASUAVEZ
III. ( ) Um registro pode estar relacionado
somente com um registro filho.

podendo se relacionar com vrios registros


pais e tambm vrios registros filhos.

IV. ( ) Um registro pode estar relacionado


somente com um registro pai.

Qual alternativa traz a palavra adequada para


completar a lacuna do pargrafo anterior?

V. ( ) Um registro deve, obrigatoriamente,


estar relacionado com um registro pai.
VI. ( ) Um registro deve, obrigatoriamente,
estar relacionado com um registro filho.

a) Hierrquico.
b) De rede.
c) Relacional.
d) Orientado a objetos.

Questo 4:

Questo 6:

Marque V (verdadeiro) ou F (falso) para


as afirmaes referentes ao modelo relacional.

Quais eram os principais problemas encontrados no modelo de dados em rede?

I. ( ) As relaes so compostas por tuplas e tabelas.


II. ( ) O modelo relacional faz o uso de
chaves primrias e chaves secundrias
para realizar um relacionamento.
III. ( ) A interseco entre linhas e colunas
denominada clula.
IV. ( ) Clula o atributo principal de uma
tupla.
V. ( ) Domnio do atributo o conjunto de
valores possveis de serem assumidos.

Questo 5:
O modelo ______________ se utiliza
de registros que possuem segmentos
especficos para se interligarem com
outros registros de forma hierrquica, mas,

Questo 7:
Quais vantagens o modelo relacional apresentou sobre seus antecessores?

Questo 8:
Quais as funes das duas partes de uma
linguagem de banco de dados?

Questo 9:
Qual a diferena entre o projeto fsico e o
projeto lgico, componentes do projeto de
banco de dados?

Questo 10:
Qual a relao entre tabelas, campos e
registros?
17

FINALIZANDO
Neste tema, voc aprendeu o histrico da evoluo dos modelos de dados at o
modelo mais utilizado atualmente, que o modelo relacional. Viu tambm os principais
componentes de um banco de dados relacional, que so as tabelas, os campos e registros,
e tambm as chaves primrias e estrangeiras, responsveis pelo relacionamento entre
tabelas em um mesmo banco de dados.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
PRESTES, F. Banco de dados. Apostila, ETEC, s.d. Disponvel em: <http://www.etefernandoprestes.com.br/arquivos_geral/downloads/BD.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

18

GLOSSRIO
CPF: cadastro de pessoas fsicas. Documento de registro de todo cidado brasileiro na
Receita Federal.
Dados persistentes: dados que, em razo de sua natureza, devem ser armazenados e
guardados para futuras consultas.
Hierglifos: cada um dos sinais da escrita de civilizaes, tais como a dos egpcios e a dos
maias.
Pinturas rupestres: representaes artsticas gravadas nas paredes de cavernas e abrigos
ou em rochas ao ar livre pelos homens do perodo pr-histrico.
Premissas: Suposies que servem como base para um projeto ou uma ideia e que so
consideradas verdadeiras para que o projeto ou a ideia tenham uma concluso.

GABARITO
Questo 1
Resposta: A citao depender do contedo trazido pelo aluno. Exemplos como listas
telefnicas, agendas, fichas de controle de estoque, etc. podem ser considerados.
Questo 2
Resposta: Alternativa A.
19

GABARITO
Questo 3
Resposta: Sequncia correta: F, V, F, V, V, F.
Questo 4
Resposta: Sequncia correta: F, F, V, F, V.
Questo 5
Resposta: Alternativa B.
Questo 6
Resposta: Os principais problemas do modelo de rede o armazenamento e a recuperao
de grandes quantidades de dados e seu alto custo de manuteno.
Questo 7
Resposta: O modelo relacional possui alta simplicidade e flexibilidade, sendo sua
representao similar a uma planilha eletrnica.
Questo 8
Resposta: A linguagem de manipulao de dados (DML) a responsvel por inserir,
atualizar, excluir e recuperar os dados e as informaes no banco de dados. A linguagem
de definio de dados (DDL) utilizada para criar, modificar ou excluir a parte estrutural do
banco de dados, incluindo as consistncias necessrias para insero de dados, permisses
de acesso e implementao do esquema criado pelo projetista.
Questo 9
Resposta: O projeto lgico define o esquema que atender a todas as necessidades
indicadas no projeto conceitual. No projeto fsico, as informaes do projeto lgico so
utilizadas para especificar os recursos e a arquitetura necessrios para a implantao.
Questo 10
Resposta: As tabelas so compostas por campos e registros, que podem ser representados
por colunas e linhas, respectivamente.

20

Tema 02

sees

Introduo ao Modelo EntidadeRelacionamento

s
e

e
S

Tema 02

Introduo ao Modelo EntidadeRelacionamento

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
O contexto no qual o modelo entidade-relacionamento inserido.
Entidades e conjunto de entidades.
Relacionamentos e conjunto de relacionamentos.
Atributos e os tipos bsicos para um MER.

25

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
Qual a importncia do modelo entidade-relacionamento para um projeto de banco de
dados?
O que um conjunto de entidades?
Quais so os possveis tipos de atributos em uma entidade?
Quando dividir um atributo composto em vrios atributos simples?

LEITURAOBRIGATRIA
Introduo ao Modelo Entidade-Relacionamento
Ao iniciar um projeto de um banco de dados, o maior desafio de um projetista levar
para um meio computacional a representao de um aspecto do mundo real.
A primeira tarefa conseguir um modelo descritivo do mundo real, podendo ser obtido com
o uso de ferramentas ou tcnicas de entrevistas com os usurios, desenho de diagramas,
textos, relatrios etc. Esse descritivo deve conter os problemas a serem solucionados, as
necessidades e os pr-requisitos, as premissas, as regras de negcios e todos os dados
que possam auxiliar o projetista a entender melhor todo o projeto.
Em posse de um modelo capaz de descrever o mundo real, o projetista deve trazer o
projeto a um modelo conceitual, que servir para definir como ser implementado o banco
de dados, bem como todos os atributos das entidades e o relacionamento entre elas. O
modelo conceitual ser representado pelo modelo entidade-relacionamento (MER), que
ser o nosso objeto de estudo neste caderno.

26

LEITURAOBRIGATRIA
O modelo entidade-relacionamento pode ser destacado pela simplicidade em representar
a estrutura lgica de um banco de dados. O MER pode ser dividido em trs componentes
bsicos:
Conjunto de entidades.
Conjunto de relacionamentos.
Atributos.
Uma entidade uma representao simplificada de algo existente no mundo real. A palavra
algo utilizada na frase anterior pode ser entendida como qualquer coisa que possa se
relacionar com o modelo entidade-relacionamento que ser proposto pelo projetista, sendo
ela tangvel ou no.
A entidade definida por um conjunto de atributos, sem os quais no seria possvel identificla de forma nica. Cada um dos funcionrios de uma empresa pode ser considerado uma
entidade, visto que cada um possui um nmero de matrcula, um CPF e, talvez, um ID de
funcionrio que o identifica de maneira exclusiva.
Sendo assim, um conjunto de entidades um conjunto de elementos que compartilham
os mesmos atributos. Por exemplo, o conjunto de funcionrios pode ser representado
pela entidade funcionrios. Assim, um conjunto de funcionrio possuir todos os campos
descritos na entidade, tais como data de admisso, salrio, cargo etc.
Cada um dos atributos de uma entidade deve possuir um valor associado a ele. Como
exemplo, na figura 2.1 mostra-se o fragmento de uma base de dados que representa a
entidade funcionrios.
Figura 2.1 Conjunto de entidades funcionrios

ID

Nome

Cargo

Salrio

Data de
Admisso

Data de
Demisso

29

Jos

Analista Sr.

R$ 4.200,00

9/4/2007

22/3/2012

35

Hugo

Analista Jr.

R$ 2.100,00

15/1/2008

NULL

16

Luiz

Coordenador

R$ 5.300,00

19/4/2002

NULL

Fonte: Elaborao do autor.


27

LEITURAOBRIGATRIA
Outro fato que deve ser levado em considerao que uma entidade pode fazer parte de
vrios conjuntos de entidades. No caso anterior, o conjunto de funcionrios pode fazer parte
da entidade funcionrios, mas tambm pode ser parte das entidades pessoas, como
mostrado na figura 2.2.
Figura 2.2 Conjunto de entidades pessoas

ID

Nome

Cidade

UF

Data de Nascimento

42

Jos

So Paulo

SP

23/5/1982

85

Hugo

Porto Alegre

RS

10/10/1986

27

Luiz

Campo Grande

MS

21/9/1984

Fonte: Elaborao do autor.

O MER destaca tambm a interao e a associao entre as vrias entidades atravs


de um relacionamento. A figura 2.3 destaca o relacionamento recursos do projeto,
que envolve as entidades projetos e funcionrios, demonstrando os funcionrios que
estiveram envolvidos em cada projeto.
Figura 2.3 Conjunto de Relacionamento Recursos do Projeto

ID

Projeto

ID

Nome

Cargo

Projeto Alfa

29

Jos

Analista Sr.

Projeto Bravo

35

Hugo

Analista Jr.

Projeto Charlie

16

Luiz

Coordenador

Fonte: Elaborao do autor.

Existem casos nos quais o relacionamento pode acontecer entre duas entidades do mesmo
conjunto de entidades. Essas duas entidades podem possuir diferentes papis. A figura 2.4
demonstra a entidade funcionrio com o papel de lder e tambm com o papel de liderado
no conjunto de relacionamento hierarquia. A este tipo de relacionamento no qual uma
entidade interage com ela mesma se d o nome de relacionamento recursivo.

28

LEITURAOBRIGATRIA
Figura 2.4 Conjunto de relacionamento hierarquia

ID

Nome

Cargo

ID

Nome

Cargo

29

Jos

Analista Sr.

29

Jos

Analista Sr.

35

Hugo

Analista Jr.

35

Hugo

Analista Jr.

16

Luiz

Coordenador

16

Luiz

Coordenador

Funcionrios - papel lder

Funcionrios - papel liderado

Fonte: Elaborao do autor.

Os relacionamentos, assim como as entidades, podem possuir atributos. Para esses casos,
d-se o nome de atributos descritivos.
Os atributos descritivos abrem a possibilidade de registrar dados que no pertencem a
nenhuma entidade, mas se fazem necessrios para o conjunto relacionamento. Por exemplo,
a quantidade de tempo em que um recurso foi destinado a um projeto especfico, conforme
a figura 2.4.
Figura 2.4 Atributos descritivos

ID

Projeto

Projeto Alfa

Projeto Bravo

Projeto Charlie

Carga
Horria
160 h

ID

Nome

Cargo

29

Jos

Analista Sr.

Carga
Horria
80 h

35

Hugo

Analista Jr.

16

Luiz

Coordenador

Fonte: Elaborao do autor.

Os atributos utilizados em um modelo entidade-relacionamento podem ser:


Simples ou compostos.
De valor nico ou multivalorados.
Armazenados ou derivados.
29

LEITURAOBRIGATRIA
Um atributo pode ser considerado simples quando no pode ser dividido em outras partes,
como, por exemplo, a cidade onde nasceu o funcionrio. Por outro lado, um atributo
endereo considerado composto, visto que pode ser dividido em vrios outros atributos,
tais como tipo do logradouro, logradouro, nmero, bairro, complemento, cidade, estado e
CEP. A escolha pelo uso ou no do campo composto passa pelo crivo da necessidade que a
diviso do campo ter para o projeto. Um campo data de nascimento pode ser considerado
composto de dia, ms e ano, para casos em que seja importante definir isoladamente o ms
ou ano de nascimento. Caso essa diferenciao no se faa necessria, o atributo pode ser
mantido como um atributo simples.
Atributos de valor nico so, como o nome j diz, aqueles atributos que se definem somente
por um valor. O nome do funcionrio nico dentro daquela entidade, bem como o nome
de um projeto. No entanto, uma entidade pode carregar consigo um atributo que seja
multivalorado, ou seja, que aceite mais de um valor, tal como os vrios telefones de um
funcionrio ou uma lista de dependentes.
Os atributos geralmente so caractersticas da prpria entidade. Os atributos armazenados
ficam disponveis para consulta, independentemente de a entidade estar relacionada com
outra. Mas, em alguns casos, atributos podem ser gerados a partir de outras entidades, sendo
estes os atributos derivados. Um atributo da entidade projeto pode ser a quantidade de
recursos atrelados a ele, que pode ser definida verificando-se a quantidade de funcionrios
que esto em um relacionamento com aquela entidade. Outro exemplo a quantidade de
funcionrios que respondem para um lder.
Voc reparou que as tabelas utilizadas como exemplo neste caderno possuem um campo
ID para identificao dos registros e que, dentro da mesma tabela, eles no se repetem?
Para facilitar o relacionamento entre as tabelas e a busca por informaes dentro do banco
de dados, cada registro da tabela dever possuir um campo, ou um conjunto de campos,
com valores exclusivos ao registro, com o qual ser possvel localizar o registro em caso
de uma busca. A esta informao dada o nome de chave primria ou primary key (PK).
Um exemplo clssico de chave primria o CPF para o caso de pessoa fsica, situao
em que cada pessoa tem um nmero referente ao CPF, no existindo dois nmeros iguais.
Outro caso que pode ser considerado como de chave primria a numerao sequencial,
tal como nmeros de notas fiscais.

30

LEITURAOBRIGATRIA
O relacionamento entre tabelas feito atravs da gravao da chave primria de uma
tabela em uma outra tabela, associando-se entre si. A esse campo ou conjunto de campos
gravados na segunda tabela d-se o nome de chave estrangeira ou foreign key (FK).
Pode ser dado como exemplo de relacionamento a gerao de uma nota fiscal: o banco
de dados possui a tabela notas_fiscais com a chave primria nmero_nota_fiscal. O
banco de dados tambm possui a tabela itens_notas_fiscais e possui a chave primria
nmero_item_notas_fiscais. No entanto, a relao das duas tabelas fica por conta da
chave estrangeira nmero_nota_fiscal gravada na segunda tabela, como mostrado na
figura 2.5. Com essa relao possvel identificar os registros relacionados entre as duas
tabelas por meio de uma consulta.
Figura 2.5 Diagrama de esquema

notas_fiscais

Itens_notas_fiscais

numero_nota_fiscal(PK)

numero_item_nota_fiscal(PK)

codigo_cliente(FK)

numero_nota_fiscal(FK)

data_emissao

codigo_produto(FK)

data_entrega

quantidade

valor_liquido

valor_unitario

valor_impostos

valor_total

valor_frete
valor_bruto
Fonte: Elaborao do autor.

Na figura 2.5 tambm podem ser observadas outras chaves estrangeiras na duas tabelas,
como o campo codigo_cliente na tabela notas_fiscais e o campo codigo_produto na
tabela itens_notas_fiscais. Esses campos demonstram a possibilidade do relacionamento
dessas tabelas com outra tabelas do mesmo banco de dados.

31

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Leia o artigo Modelagem de dados Teoria e prtica, de M. Arajo.
Disponvel em: <http://www.faa.edu.br/revista/v1_n1_art03.pdf>. Acesso em: 1 fev. 2014.
O texto mostra teorias e prticas da modelagem envolvendo diagramas entidaderelacionamento e banco de dados relacional.
Leia o artigo Aplicaes prticas de inteligncia artificial para modelagem conceitual de
banco de dados, de Geoflvia Guilarducci de Alvarenga.
Disponvel em: <http://www.inf.ufg.br/sites/default/files/uploads/relatorios-tecnicos/RTINF_001-05.pdf>. Acesso em: 1 fev. 2014.
Artigo que mostra a importncia dos modelos conceituais em um projeto de banco de dados,
considerando a implantao de um sistema baseado em inteligncia artificial.
Veja a tese Modelos conceituais de dados como parte do processo da catalogao:
perspectiva de uso dos FRBR no desenvolvimento de catlogos bibliogrficos digitais, de
Elvis Fusco.
Disponvel em: <http://www.marilia.unesp.br/Home/Pos-Graduacao/CienciadaInformacao/
Dissertacoes/fusco_e_do_mar.pdf>. Acesso em: 1 fev. 2014.
Em sua tese, o autor explora o uso do modelo entidade-relacionamento para gerar o modelo
conceitual para catalogao baseado em FRBR Functional Requirements for Bibliographic
Records (Requisitos Funcionais para Registros Bibliogrficos).

32

LINKSIMPORTANTES
Consulte tambm as seguintes bibliografias:
Mini curso Introduo modelagem conceitual de banco de dados.
Disponvel em: <https://www.youtube.com/watch?v=enYpF-KB0eo>. Acesso em: 1 fev.
2014.

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

Questo 1:
Com base em seu conhecimento prvio
sobre escola, identifique quatro ou mais
entidades dentro desse contexto e liste os
relacionamentos entre as entidades identificadas.

Questo 2:
Indique a alternativa correta. Entidade :

a) Representao grfica de uma tabela


de dados.
b) Representao simplificada de algo do
mundo real.
c) Representao simplificada de um
modelo de dados
d) Representao da instncia de um
objeto

33

AGORAASUAVEZ
Questo 3:

( ) Telefone.

Marque S para atributo simples e C para


atributo composto, quanto capacidade de
o atributo ser divisvel:

( ) Nome completo.

( ) Telefone.

( ) Endereo.

( ) Nome completo.

( ) Valor bruto de venda.

( ) Quantidade em estoque.
( ) Cor.

( ) Quantidade em estoque.
( ) Cor.

Questo 6:

( ) Valor bruto de venda.

O que define se um atributo que pode ser


divisvel em outros atributos deve ser listado como um atributo simples ou composto?

Questo 4:

Questo 7:

No que diz respeito capacidade de o atributo conter mais de um valor, marque U


para atributo de valor nico ou M para
atributo multivalorado:

O que so relacionamentos recursivos?


Exemplifique.

( ) Endereo.

( ) Telefone.
( ) Nome completo.
( ) Quantidade em estoque.
( ) Cor.
( ) Endereo.
( ) Valor bruto de venda.

Questo 5:
Marque A para atributo armazenado ou
D para atributo derivado:

34

Questo 8:
Os atributos descritivos no pertencem a
nenhuma entidade. A afirmao est correta? Explique.

Questo 9:
Complemente a figura 2.5, relacionando as
tabelas notas_fiscais e itens_notas_fiscais com as tabelas produtos e clientes.

Questo 10:
Qual a diferena entre chave primria e
chave estrangeira?

FINALIZANDO
Neste caderno voc pode acompanhar os trs componentes que compem um
modelo entidade-relacionamento: entidades, relacionamentos e atributos. Esses conceitos
so importantes para as prximas fases, que tero como objetivo definir atravs de um
diagrama (o diagrama entidade-relacionamento) a especificao de um projeto de banco
de dados.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
PRESTES, F. Banco de dados. Apostila, ETEC, s.d. Disponvel em: <http://www.etefernandoprestes.com.br/arquivos_geral/downloads/BD.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

35

GLOSSRIO
Pr-requisitos: o que necessrio previamente e indispensvel para a realizao de algo.
Projetista: responsvel por desenvolver o projeto do banco de dados a ser implementado.
Regras de negcios: regras que definem o funcionamento de um setor.
Tangvel: concreto, fsico, tocvel.

GABARITO
Questo 1
Resposta:
Entidades:



Aluno.
Professor.
Sala.
Matria.

Relacionamentos:



Professor atende alunos.


Alunos esto alocados em uma sala.
Alunos atendem a matrias.
Professor est alocado por matrias.

Observao: as respostas podem variar.


36

GABARITO
Questo 2
Resposta: Alternativa B.
Questo 3
Resposta: Sequncia correta de indicaes: C, C, S, S, C, S.
Questo 4
Resposta: Sequncia correta de indicaes: M, U, U, M, M, U.
Questo 5
Resposta: Sequncia correta de indicaes: A, A, D, A, A, D.
Questo 6
Resposta: O que define isso a forma como ele ser utilizado e a importncia que ter
para o sistema a diviso dos dados de um atributo em vrios atributos menores.
Questo 7
Resposta: So relacionamentos em que uma entidade se relaciona com ela mesma. Por
exemplo, um produto cuja composio feita de outros produtos.
Questo 8
Resposta: Sim. Um atributo descritivo pertence a um relacionamento e s existe graas
associao entre as entidades.

37

GABARITO
Questo 9
Resposta:
clientes

produtos

codigo_cliente(PK)

codigo_produto(PK)

Nome_cliente

descrio

Endereo

Peso

CNPJ

cor

notas_fiscais

Itens_notas_fiscais

numero_nota_fiscal(PK)

numero_item_nota_fiscal(PK)

codigo_cliente(FK)

numero_nota_fiscal(FK)

data_emissao

codigo_produto(FK)

data_entrega

quantidade

valor_liquido

valor_unitario

valor_impostos

valor_total

valor_frete
valor_bruto
Questo 10
Resposta: A chave primria um campo ou conjunto de campos que definem a exclusividade
de um registro dentro de uma tabela. A chave estrangeira um campo responsvel por
armazenar a replicao da chave primria de outra tabela, para que seja possvel identificar
o relacionamento entre duas ou mais tabelas.

38

Tema 03

sees

Modelagem E-R: Conceitos e Fundamentos

s
e

e
S

Tema 03

Modelagem E-R: Conceitos e Fundamentos

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
Diagrama que representa o modelo entidade-relacionamento.
Restries de um mapeamento.
Importncia da cardinalidade para o modelo entidade-relacionamento.

43

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
Como representar um modelo entidade-relacionamento em diagrama?
Quais os smbolos utilizados para atributos, relacionamentos e entidades?
Como definir o grau de associao entre unidades atravs de cardinalidade?
Qual a importncia da indicao da restrio de participao?

LEITURAOBRIGATRIA
MER Diagrama e Restries
Para que seja possvel demonstrar as definies realizadas atravs do modelo
entidade-relacionamento, foi padronizada uma simbologia, conhecida como diagrama
entidade-relacionamento (DER). Esse diagrama representa de forma simples e eficiente
todos os componentes do modelo entidade-relacionamento vistos at agora.
As entidades so definidas no DER por um retngulo simples, que em seu interior est o
nome da entidade, geralmente representado por um substantivo, como mostrado na figura
3.1.
Figura 3.1 Entidade fornecedor

Fornecedor

Fonte: Elaborao do autor.

44

LEITURAOBRIGATRIA
Os relacionamentos so definidos por um losango, no interior do qual encontra-se uma
definio breve sobre o tipo de relacionamento existente entre as entidades associadas.
Um exemplo mostrado na figura 3.2. A ligao entre os componentes feita atravs de
uma linha simples.
Figura 3. 2 - Relacionamento entre entidades

Fornecedor

fornece

Produto

Fonte: Elaborao do autor.

Os atributos so representados em um retngulo localizado logo abaixo do nome da


entidade, conforme visto na figura 3.3.
Figura 3. 3 Atributos da entidade fornecedor

Fornecedor
cdigo
razo social
Fonte: Elaborao do autor.

Repare que um dos atributos est sublinhado. Os atributos-chave possuem essa


diferenciao, como representado na figura 3.3 pelo atributo cdigo. Os demais atributos
no possuem nenhuma alterao quanto forma de escrita.
Nos diagramas entidade-relacionamento, somente devem ser apresentados atributos que
tm relevncia ao diagrama. Essa recomendao feita em razo do potencial de poluio
ao DER nos casos em que todos os atributos sejam representados em uma entidade.
A representao de um mundo real seria dificultada se somente fossem utilizados entidades,
atributos e relacionamentos para sua descrio. Um projetista que usa o modelo entidaderelacionamento deve-se valer de restries para que possa representar com o maior nmero
possvel de detalhes o modelo descritivo.
45

LEITURAOBRIGATRIA
A primeira restrio a cardinalidade de mapeamento, que define, em um conjunto de
relacionamento, qual o nmero de associaes possveis entre as entidades que compem
o conjunto.
A cardinalidade de mapeamento envolvendo duas entidades (A e B) deve ser de um dos
seguintes tipos:
Um-para-um (1:1): a entidade A se associa a, no mximo, uma entidade B. Da mesma
forma, a entidade B se relaciona a, no mximo, uma entidade A, como pode ser visto na
figura 3.4, com o relacionamento entre o conjunto de entidades pessoa e o conjunto de
entidades funcionrio.
Um-para-muitos (1:n): a entidade A pode ser associada a vrias entidades B. No
entanto, a entidade B se associa somente com uma entidade A, como mostra a figura
3.5, representando as notas fiscais de uma empresa e os vrios itens presentes em casa
nota fiscal.
Muitos-para-um (n:1): a entidade A pode ser associada a no mximo uma entidade B.
No entanto, a entidade B pode ser associada a vrias entidades A, como representado
na figura 3.6 com a indicao de que vrios produtos podem ser fornecidos por um
mesmo fornecedor.
Muitos-para-muitos (n:n): uma entidade A pode se associar a vrias entidades B e,
neste caso, a recproca verdadeira. A figura 3.7 mostra um caso de relao muitospara-muitos, em que um projeto pode estar associado a vrias entidades funcionrio e
um mesmo funcionrio pode estar associado a vrias entidades projeto diferentes.
Figura 3. 4 Relacionamento um-para-um

ID Nome

Cidade

42 Jos

So Paulo

UF

Data de
Nascimento

ID Nome

Salrio

SP 23/05/1982

29 Jos

Analista Sr. R$ 4.200,00

85 Hugo Porto Alegre RS 10/10/1986

35 Hugo

Analista Jr.

27

Luiz

Campo
Grande

MS 21/09/1984

16

R$ 2.100,00

Luiz Coordenador R$ 5.300,00

55 Maria Florianpolis SC 15/01/1989


Fonte: Elaborao do autor.
46

Cargo

LEITURAOBRIGATRIA
Figura 3. 5 Relacionamento um-para-muitos

ID

Nota
Fiscal

Cliente

Data de
Emisso

ID

Produto

Quantidade

01

000001

Cliente A

04/08/2012

01

Caneta

100

02

000002

Cliente B

04/08/2012

02

Papel

03

Caneta

300

04

Lpis

50

05

Papel

20

Fonte: Elaborao do autor.


Figura 3. 6 Relacionamento muitos-para-um

ID

Produto

ID

Fornecedor

0008

Caneta

000003

Fornecedor A

0022

Papel

000009

Fornecedor B

0025

Lpis
Fonte: Elaborao do autor.
Figura 3. 7 Relacionamento muitos-para-muitos

ID

Projeto

ID

Nome

Cargo

Projeto Alfa

29

Jos

Analista Sr.

Projeto Bravo

35

Hugo

Analista Jr.

Projeto Charlie

16

Luiz

Coordenador

Fonte: Elaborao do autor.

47

LEITURAOBRIGATRIA
A restrio de cardinalidade representada no diagrama entidade-relacionamento atravs
da indicao do tipo na linha que liga as entidades ao relacionamento. Como exemplo, pode
ser observada na figura 3.8 a forma de diagrama do relacionamento representado na figura
3.5.
Figura 3. 8 DER com cardinalidade de mapeamento

Nota fiscal

Possui

Itens da nota fiscal

Fonte: Elaborao do autor.

A notao exibida ser utilizada para todos os tipos de cardinalidade de mapeamento, seja
ela um-para-um, um-para-muitos, muitos-para-um ou muitos-para-muitos.
Em caso de um relacionamento recursivo, a cardinalidade de mapeamento representada
pela figura 3.9.
Figura 3. 9 DER com relacionamento recursivo

Funcionrio

gerencia

n
Fonte: Elaborao do autor.

A cardinalidade tambm pode ser representada de uma maneira mais complexa, que leva
em considerao o nmero mnimo e mximo de vezes que uma entidade pode participar de
um relacionamento. A representao dessa forma complexa de exibio da cardinalidade
mostrada na figura 3.10.

48

LEITURAOBRIGATRIA
Figura 3. 10 DER com cardinalidade complexa

Nota fiscal

1..*

Possui

1..1

Itens da nota fiscal

Fonte: Elaborao do autor.

A notao definida por min..max, sendo min o menor valor possvel e max o maior valor
do relacionamento. A linha entre o relacionamento e a entidade itens da nota fiscal possui
a restrio de cardinalidade 1..1, o que significa que cada elemento da entidade itens da
nota fiscal deve estar relacionado obrigatoriamente (pelo menos um e no mximo um) com
um elemento da entidade nota fiscal.
J a linha que liga o relacionamento entidade nota fiscal mostra que os elementos dessa
entidade devem estar relacionados com no mnimo um elemento da entidade itens da nota
fiscal e sem limite mximo de associaes. Caso seja necessrio, a notao aceita casos
em que nenhuma associao obrigatria, sendo o min da notao indicado como 0.
Para complementar a restrio de cardinalidade, existe a restrio de participao, a
qual o projetista pode utilizar para indicar uma dependncia de existncia. Ou seja, todas
as entidades que compem o conjunto de entidades A devem necessariamente estar
associadas a entidades do conjunto de entidades B. Essa restrio classificada em dois
tipos: participao parcial e participao total.
A participao parcial determinada quando, em um relacionamento, um elemento de uma
entidade no precisa estar relacionado a nenhum item de outra entidade para existir. Nem
todos os funcionrios gerenciam um setor, logo um relacionamento que defina este fato
ser de participao parcial, o que representado pela figura 3.11.
Figura 3. 11 Participao parcial

Funcionrio

gerencia

Setor

Fonte: Elaborao do autor.


49

LEITURAOBRIGATRIA
J a participao total define que todos os elementos de uma entidade precisam estar
associados a pelo menos um elemento da entidade a qual a primeira est relacionada.
Todos os funcionrios de uma empresa devem estar associados a um setor, o que pode ser
visto na figura 3.12.
Figura 3. 12 Participao total

Funcionrio

pertence

Setor

Fonte: Elaborao do autor.

Para registrar a participao total no DER, a linha que liga a entidade ao relacionamento
deve ser dupla, conforme se identifica na figura 3.12.

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Veja a pgina do software brModelo.
Disponvel em: <http://sis4.com/brModelo/>. Acesso em: 1 fev. 2014.
Software livre utilizado para o ensino de criao de diagrama entidade-relacionamento.

50

LINKSIMPORTANTES
Leia o artigo Comparao entre a modelagem orientada a objeto e a modelagem estruturada
relacional, de Marcos Leandro Figueiredo e Hlio Rubens Soares.
Disponvel em: <http://online.unicaldas.edu.br/portal/publicacao/arq/modelagem.pdf>.
Acesso em: 1 fev. 2014.
Nesse artigo, os autores comparam o diagrama entidade-relacionamento (DER) com o
diagrama de classe.
Veja o trabalho de concluso de curso intitulado Sistema de informaes para controle da
frota de veculos, de Ricardo Sorroche.
Disponvel
em:
<http://campeche.inf.furb.br/tccs/2010-I/TCC2010-1-20-VFRicardoSorroche.pdf>. Acesso em: 1 fev. 2014.
No texto demonstrada a documentao de um sistema de controle de frotas que possui,
entre outros diagramas, um DER bem detalhado, com seu dicionrio de dados.

Vdeos
Entidade Relacional usando brModelo Parte I.
Disponvel em: <http://www.youtube.com/watch?v=yhKaCw2smno>. Acesso em: 1 fev.
2014.
O vdeo ensina como gerar um DER na ferramenta livre brModelo.

51

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

Questo 1:

a) Um-para-um.

Descreva uma situao de seu dia a dia


como estudante que represente um relacionamento um-para-um. A seguir, descreva outra situao que represente um relacionamento um-para-muitos.

b) Um-para-muitos.

Questo 2:
A entidade loja pode ser associada a vrias entidades carros. No entanto, um
item da entidade carro s pode estar associado a uma loja.
Essa afirmao representa um relacionamento:

52

c) Muitos-para-um.
d) Muitos-para-muitos.

Questo 3:
A entidade loja pode ser associada a vrias entidades carros. No entanto, um item
da entidade carro deve estar associado a
uma loja.
No ponto de vista da entidade loja, ela
possui uma restrio de:

AGORAASUAVEZ
a) Participao parcial.
b) Participao total.

a)
Nota fiscal

1..1

pertence

1..1

1..1

pertence

0..1

0..1

pertence

1..*

1..1

pertence

0..*

cliente

c) Participao integral.
d) Participao completa.

Questo 4:
A entidade nota fiscal est relacionada a
somente um cliente. No entanto, um cliente
pode estar relacionado a vrias notas fiscais.
Essa afirmao pode ser representa por
qual notao de cardinalidade de mapeamento?

b)
Nota fiscal

cliente

c)
Nota fiscal

cliente

d)
Nota fiscal

cliente

a) ( ) 1:1
b) ( ) 1:n

Questo 6:

c) ( ) n:1

Represente a entidade aluno e seus atributos mais comuns atravs da simbologia


estudada neste caderno. Deve-se indicar
ao menos uma chave primria.

d) ( ) n:n

Questo 5:
A entidade nota fiscal est relacionada a
somente um cliente. No entanto, um cliente
pode estar relacionado a vrias notas fiscais.
Essa afirmao pode ser representada por
qual notao complexa de cardinalidade de
mapeamento?

Questo 7:
Utilizando a figura 3.5 e a figura 3.6 como
base, construa um nico DER que represente os dois relacionamentos.

Questo 8:
Qual a importncia das restries para o
modelo entidade-relacionamento?
53

AGORAASUAVEZ
Questo 9:
Qual o efeito da restrio de participao
total em um relacionamento entre duas entidades?

Questo 10:
Em uma rede de supermercados, cada
supermercado possui vrios setores, nos
quais esto dispostos os produtos para venda. Cada um desses setores gerenciado
por um funcionrio que, por sua vez, possui
ao menos dois funcionrios que respondem
a ele. Geralmente, existe mais de um fornecedor para o mesmo tipo de produto.
Represente em um nico DER a situao
detalhada no pargrafo anterior.

FINALIZANDO
Neste tema voc pde acompanhar uma parte mais voltada prtica do modelo
entidade-relacionamento: a criao dos diagramas entidade-relacionamento. Esse diagrama
responsvel por mostrar aos desenvolvedores uma viso mais simples e direta do modelo
entidade-relacionamento criado pelo projetista.
Tambm pde acompanhar as principais restries de um modelo entidade-relacionamento
e seu importante papel de delimitar o relacionamento criado entre entidades.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!
54

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

GLOSSRIO
Diagrama: representao atravs de esboos, desenhos, linhas.
Potencial: possibilidade de que algo acontea.
Relevncia: importncia.
Restrio: imposio de limites.
Simbologia: conjunto de smbolos.

55

GABARITO
Questo 1
Resposta: A primeira situao pode ser representada por relacionamentos como aluno
pertence a um curso, aluno pertence a uma turma, coordenador coordena um curso etc.
A segunda situao pode ser representada por orientador orienta vrios alunos, um curso
possui vrios professores, uma classe comporta vrios alunos etc.
As respostas podem variar nesse sentido.
Questo 2
Resposta: Alternativa B.
Questo 3
Resposta: Alternativa A.
Questo 4
Resposta: Alternativa B.
Questo 5
Resposta: Alternativa D.
Questo 6
Resposta: Observao: as respostas podem variar.
Aluno
RA
nome
curso
ano de ingresso
formado?
ano de colao de grau
CNPJ
endereo
telefone
56

GABARITO
Questo 7
Resposta:
Nota Fiscal

possui

Itens de nota
fiscal

contm

ID
Produto
Quantidade

ID
Nota Fiscal
Cliente
Data de Emisso

1
Fornecedor
ID
Fornecedor

fornece

Produtos
ID
Produto

Questo 8
Resposta: As restries so utilizadas para aumentar o nmero de detalhes em um modelo
entidade-relacionamento. Esses detalhes podem deixar o modelo conceitual mais prximo
do modelo descritivo.
Questo 9
Resposta: A restrio de participao total impe que a entidade esteja relacionada
obrigatoriamente a pelo menos uma outra entidade do relacionamento.

57

GABARITO
Questo 10
Resposta:
n

Funcionrio

coordena

1
gerencia
1
Supermercado

possui

Setores

contm

Fornecedor
n
fornece

58

1
n

Tipo de
produto

contm

Produtos

Tema 04

sees

Modelagem E-R: Tcnicas e Ferramentas

s
e

e
S

Tema 04

Modelagem E-R: Tcnicas e Ferramentas

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
Recursos estendidos do modelo de entidade-relacionamento.
Generalizao e especializao.
Agregao.

63

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
Qual a importncia dos recursos estendidos para o MER?
Qual a relao entre generalizao e especializao?
Quais os ganhos com o uso da agregao?
Como funcionam as heranas?

LEITURAOBRIGATRIA
Modelo Entidade-Relacionamento Estendido
Utilizando os componentes do modelo entidade-relacionamento vistos at o momento,
voc capaz de trazer para o modelo conceitual uma infinidade de situaes do mundo
real. No entanto, em certos momentos, so necessrias extenses do modelo entidaderelacionamento como visto at o momento.
Os recursos estendidos do MER foram baseados no modelo de orientao a objeto. Por
isso, termos como especializao, generalizao e herana sero vistos ao longo deste
material.
A especializao foi criada para que fosse possvel representar situaes nas quais um
conjunto de itens de uma entidade no compartilhe alguns atributos com outros itens da
mesma entidade. Em uma indstria alimentcia, onde vrias matrias-primas so misturadas
para que seja formado um novo produto acabado, a entidade produtos possui atributos
comuns entre todos os itens dessa entidade, como descrio, validade, lote, quantidade
em estoque e custo do produto.
No entanto, essa entidade pode ser dividida em subgrupos que possuem atributos
especficos. Os produtos que so produtos acabados podem possuir os atributos preo
de venda, margem de lucro, percentual de comisso para os vendedores.
64

LEITURAOBRIGATRIA
J os produtos que so materiais de laboratrio podem possuir atributos como material
controlado?, rgo de controle, inflamvel?, corrosivo?.
Por sua vez, os itens da entidade Produtos que so matrias-primas podem possuir
atributos como fornecedor preferencial, ltimo preo de compra, preo mdio de compra,
ponto de pedido e nvel mnimo para estoque. Essa especializao detalhada at aqui
pode ser representada pela figura 4.1.
Figura 4. 1 Especializao da entidade produtos

Produtos
ID
descrio
validade
lote
qtde em estoque
custo do produto

Produto acabado

Material Laboratrio

Matria-prima

preo de venda
margem de lucro
comisso de venda

produto controlado?
rgo de controle
inflamvel?
corrosivo?

ltimo preo compra


preo mdio compra
nvel mnimo

Fonte: Elaborao do autor.

As entidades derivadas do recurso da especializao tambm podem sofrer especializaes.


Os produtos acabados destinados para outras indstrias so vendidos a granel,
necessitando somente de uma unidade de venda, bem como quantidade por embalagem,
por exemplo 25 kg por saco. Esses atributos so compartilhados com os produtos que so
destinados ao consumidor final. No entanto, os que so destinados ao consumidor final
possuem atributos especficos como unidade de venda ao consumidor final, quantidade
65

LEITURAOBRIGATRIA
por embalagem para consumidor final e mercado alvo; por exemplo: so vendidas caixas
com 10kg de produto, sendo que em cada caixa h embalagens de 400g de produtos para
atender a classe B/C.
Esse cenrio pode ser representado pela expanso da figura 4.1, mostrado na figura 4.2.
Figura 4. 2 Especializao da entidade Produto Acabado

Produtos
ID
descrio
validade
lote
qtde em estoque
custo do produto

Produto acabado

Material Laboratrio

Matria-prima

preo de venda
margem de lucro
comisso de venda
unidade de venda
quantidade/embalagem

produto controlado?
rgo de controle
inflamvel?
corrosivo?

ltimo preo compra


preo mdio compra
nvel mnimo

Produto acabado
Consumidor final
unidade venda cons. final
qtdade/embalagem cons. final
Fonte: Elaborao do autor.
66

LEITURAOBRIGATRIA
A linha que une as entidades com suas especializaes chamada de -UM. Olhando
para a figura 4.2, pode se dizer que produto acabado um produto.
Agora que voc j conhece a especializao, entender o conceito de generalizao se torna
fcil. Em vez de verificar as diferenas que um conjunto de itens de uma entidade possui
em relao aos outros itens, como feito na especializao, o objetivo na generalizao
encontrar as semelhanas entre itens de entidades diferentes. Olhando para a figura 4.2,
pode se observar que as entidades produto acabado, material de laboratrio e matriaprima possuem atributos em comum, que so: descrio, validade, lote, quantidade em
estoque e custo do produto. Pode-se ento dizer que a entidade produtos a generalizao
das entidades citadas anteriormente.
Um conceito importante sobre as especializaes e generalizaes a herana de atributos.
Uma entidade inferior herda os atributos das entidades superiores a ela. A entidade produto
acabado para consumidor final da figura 4.2 possui, alm de seus prprios atributos, os
atributos herdados das entidades produto acabado e produtos.
As entidades tambm herdam o relacionamento pelo qual as entidades superiores a ela se
associam. Por exemplo, as entidades produto acabado e matria-prima esto em um
relacionamento, visto que os produtos acabados so compostos por matrias-primas. Com
isso, a entidade produto acabado para consumidor final herda este relacionamento, como
visto na figura 4.3.

67

LEITURAOBRIGATRIA
Figura 4. 3 Herana de relacionamento

Produtos
ID
descrio
validade
lote
qtde em estoque
custo do produto

Produto acabado
preo de venda
margem de lucro
comisso de venda
unidade de venda
quantidade/embalagem

Matria-prima

composto
de

1..n

0..n

ltimo preo compra


preo mdio compra
nvel mnimo

Produto acabado
Consumidor final
unidade venda cons. final
qtdade/embalagem cons. final
Fonte: Elaborao do autor.

Outro recurso do modelo entidade-relacionamento estendido est associado com a


impossibilidade de relacionamento entre relacionamentos, imposta pelo modelo entidaderelacionamento. A figura 4.4 mostra como seria a construo de um DER com os conceitos
bsicos de MER.

68

LEITURAOBRIGATRIA
Figura 4. 4 Relacionamento entre relacionamento Conceitos bsicos de MER

Funcionrio

alocado

Departamento

Gerenciado
por

Funcionrio

Fonte: Elaborao do autor.

Para facilitar essa representao, o recurso estendido agregao utilizado. Esse recurso
tem a funo de tratar um relacionamento como uma entidade de nvel superior, como
mostrado na figura 4.5. A agregao representada por um retngulo que delimita um
relacionamento, transformando-o em uma nova entidade.

69

LEITURAOBRIGATRIA
Figura 4. 5 Relacionamento entre relacionamento utilizando-se agregao

Funcionrio

alocado

Departamento

Gerenciado
por

Funcionrio

Fonte: Elaborao do autor.

A agregao tem a capacidade de fazer com que todos os atributos de um relacionamento


possam estar presentes em uma associao com outros relacionamentos. O relacionamento
alocado possui o atributo data de alocao e na figura 4.4 ele no seria estaria presente
na associao com o relacionamento gerenciado por. J na figura 4.5 esse atributo e
todos os outros envolvidos no relacionamento alocado estariam disponveis.

70

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Veja os slides de aula sobre Modelagem de Dados, de Rafael Dias Ribeiro.
Disponvel em: <http://www.rafaeldiasribeiro.com.br/downloads/MD_aula6.pdf>. Acesso
em: 1 fev. 2014.
Material que contm muita informao sobre o modelo entidade-relacionamento estendido,
bem como diversos exemplos sobre seus componentes.
Leia a monografia ERE-CASE: Ferramenta CASE de Modelagem Conceitual com EntidadeRelacionamento Estendido para Banco de Dados, de Renan Pereira Gouveia de Lima.
Disponvel em: <http://www.cin.ufpe.br/~tg/2008-2/rpgl.pdf>. Acesso em: 1 fev. 2014.
O texto mostra a adoo de uma ferramenta de software livre para a modelagem utilizando
os conceitos estendidos do modelo entidade-relacionamento.

Vdeos
Srie de vdeos do site Study Yaar sobre o modelo entidade-relacionamento.
Disponvel
em:
<http://www.studyyaar.com/index.php/module/22-entity-relationshipmodel>. Acesso em: 1 fev. 2014.
Nessa srie so mostrados conceitos de MER, inclusive com as extenses do MER vistas
neste caderno.

71

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

Questo 1:

a) Especializao

Considerando o contexto cozinha, indique


possveis entidades com generalizaes e
especializaes. Indique tambm alguns
atributos para as entidades indicadas.

b) Agregao
c) Herana
d) Todas alternativas anteriores

Questo 2:

Questo 3:

Em um banco, os clientes possuem contas


bancrias, que podem ser contas-correntes
ou ento contas-poupana.

O recurso de agregao transforma um relacionamento em um(a):

Este cenrio pode ser mapeado utilizandose os conceitos de:

a) Atributo.
b) Generalizao.
c) Relacionamento.
d) Entidade.

72

AGORAASUAVEZ
Questo 4:

Questo 6:

Marque V ou F para as afirmaes seguintes referentes herana de atributo.

A partir das entidades seguintes, crie uma


entidade atravs da generalizao que as
suporte.

( ) As entidades inferiores herdam os atributos somente da entidade imediatamente


superior.
( ) As entidades superiores herdam os atributos das entidades inferiores.
( ) As entidades inferiores herdam os atributos de todas as entidades superiores.
( ) Os relacionamentos tambm so herdados pelas entidades inferiores.
( ) Os relacionamentos de uma entidade
superior devem ser representados atravs
de um novo relacionamento com as entidades inferiores.

Questo 5:
Marque V (verdadeiro) ou F (falso) para
as afirmaes seguintes referentes a generalizao / especializao.
( ) Duas entidades que possuam atributos
semelhantes podem gerar uma nova entidade atravs da generalizao.
( ) Entidades inferiores no podem sofrer
uma nova especializao.
( ) A especializao utilizada quando entidades possuem atributos semelhantes.
( ) As entidades geradas pela especializao possuem atributos diferentes da entidade superior.

Carro

Caminho

Fabricante
Ano
Ano-modelo
Renavam
Nmero de
passageiros
Preo
Nmero de portas
Capacidade de
combustvel
Tipo de
combustvel

Fabricante
Ano
Renavam
Nmero de
eixos
Preo
Capacidade
de carga
Tipo de
combustvel

Questo 7:
Com base no diagrama da questo 6, crie
uma entidade atravs da especializao
que separe os carros utilitrios dos demais
carros. Indique ao menos dois atributos.

Questo 8:
Com base no diagrama da resposta da
questo 7, quais so os atributos da entidade carros utilitrios de acordo com o
conceito de herana de atributos?

73

AGORAASUAVEZ
Questo 9:
Qual melhoria a agregao proporciona ao
conceito bsico do MER?

Questo 10:
Algumas pessoas so atendidas por recepcionistas de uma clnica mdica. Aps o
atendimento, elas so encaminhadas a um
profissional, que pode ser um mdico, um
fisioterapeuta ou uma enfermeira.
Com esse cenrio, gere um DER utilizando
conceitos de especializao, generalizao e agregao, bem como atributos para
cada entidade.

FINALIZANDO
Neste tema voc pde conhecer novos componentes para o modelo entidaderelacionamento, facilitando situaes nas quais o conceito bsico de MER limitado.
O uso dos recursos do modelo entidade-relacionamento estendido traz uma nova viso e
um maior poder de detalhamento para que seja possvel traduzir em diagramas e projetos
de banco de dados os modelos descritivos do mundo real.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!

74

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

GLOSSRIO
Alocado: que est em um local definido.
Granel: produto que se encontra em uma grande embalagem, no estando em pacotes ou
caixas como as apresentadas para venda.
Lote: delimitao de itens produzidos em uma mesma sequncia.
Ponto de pedido: nmero que define quando novos produtos devero ser comprados, para
manter o nvel do estoque.

75

GABARITO
Questo 1
Resposta: Pode-se indicar entidades como eletrodomsticos e especializaes
como refrigeradores, micro-ondas e fogo, ou ento a entidade mantimentos e suas
especializaes arroz, feijo, acar.
Questo 2
Resposta: Alternativa A.
Questo 3
Resposta: Alternativa D.
Questo 4
Resposta: Sequncia correta de indicaes: F, F, V, V, F.
Questo 5
Resposta: Sequncia correta de indicaes: V, F, F, V.
Questo 6
Resposta:

Veculo
Fabricante
Ano
Renavam
Preo
Tipo de combustvel
Carro

Ano-modelo
Nmero de passageiros
Nmero de portas
Capacidade de combustvel
76

Caminho
Nmero de eixos
Capacidade de carga

GABARITO
Questo 7
Resposta:

Veculo
Fabricante
Ano
Renavam
Preo
Tipo de combustvel
Carro

Ano-modelo
Nmero de passageiros
Nmero de portas
Capacidade de combustvel

Caminho
Nmero de eixos
Capacidade de carga

Carro
Ano-modelo
Nmero de passageiros
Nmero de portas
Capacidade de combustvel
Observao: as respostas podem variar.
Questo 8
Resposta:
Fabricante.
Ano.
Renavam.
Preo.
Tipo de Combustvel.
Ano-modelo.

77

GABARITO
Nmero de passageiros.
Nmero de portas.
Capacidade de combustvel.
Capacidade da caamba*
Cabine estendida*
Observao: os itens marcados com * podem variar, de acordo com a questo 7.
Questo 9
Resposta: Atravs da agregao possvel criar relacionamento entre relacionamentos,
inclusive com associao com os atributos descritivos dos relacionamentos.
Questo 10
Resposta:

Pessoas

atendidas

Nome
CPF

paciente

recepcionista
Nome
Matrcula

Encaminhada
para

Profissional
Nome
CPF

78

Mdico

Enfermeira

Fisioterapeuta

CRM

COREN

CREFITO

Tema 05

sees

Arquitetura de Banco de Dados

s
e

e
S

Tema 05

Arquitetura de Banco de Dados

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
O histrico da arquitetura, desde os sistemas centralizados at o sistema distribudo.
A importncia do sistema cliente-servidor.
Arquiteturas paralelas de bancos de dados.

83

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
Qual a diferena entre a arquitetura centralizada e a de cliente-servidor?
Quais os tipos de sistema servidor?
Quais as vantagens e desvantagens da arquitetura distribuda?
Qual a diferena entre uma arquitetura paralela nada compartilhada e uma arquitetura
distribuda?

LEITURAOBRIGATRIA
Arquitetura de Banco de Dados
Os bancos de dados e seus SGBDs necessitam de uma estrutura fsica para que o
projeto de banco de dados possa sair do papel e ganhar vida no mundo computacional. Para
isso, um passo importante saber qual a melhor arquitetura para atender s necessidades
do seu banco de dados.
A arquitetura utilizada inicialmente para a implantao dos bancos de dados foi a arquitetura
centralizada, na qual um nico computador o responsvel por todos o processamentos
para aquele repositrio. Essa arquitetura se beneficia da evoluo tecnolgica, utilizando-se
de processadores com vrios ncleos, memria com maior capacidade de armazenamento
e acesso, discos rgidos e discos de estado slido cada vez mais rpidos e seguros.
Nessa arquitetura se enquadram os sistemas monousurios, nos quais o banco de dados
acessado por somente uma pessoa, ou ento sistemas multiusurios, nos quais vrios
usurios se conectam remotamente ao servidor centralizado.
Com a melhoria dos desktops, parte dos sistemas passou a ser executada em cada
estao de trabalho e, com isso, no era mais necessria a conexo remota ao servidor.
84

LEITURAOBRIGATRIA
Essa arquitetura ficou conhecida como cliente-servidor, na qual o servidor de arquitetura
centralizada trabalha para atender s requisies dos sistemas cliente. O computador que
era utilizado com a arquitetura centralizada agora utilizado como sistema servidor.
A arquitetura cliente-servidor a mais utilizada nos dias de hoje.
Os sistemas servidores podem ser divididos em dois tipos: os servidores de transao e os
servidores de dados. Os servidores de transao executam as solicitaes de processamento
enviadas da estao de trabalho e, aps sua execuo, devolvem o resultado da operao
estao de solicitante.
J os sistemas servidores de dados tm uma maior interao com seus clientes, visto que
o servidor entrega os dados s estaes de trabalho para que elas possam executar o
processamento do mesmo. Esse sistema depende de que cada uma das estaes possa
suprir a demanda de processamento necessria para cada tarefa.
Um conceito que vem ganhando muito espao nos dias de hoje o dos concorrentes aos
sistemas centralizados: os sistemas paralelos. Estes permitem que os sistemas possam
iniciar suas operaes em computadores com configuraes mais modestas e, com o
passar do tempo, novos computadores possam ser agregados ao sistema, paralelamente
aos antigos. Esse recurso ganhou ainda mais utilizao com os esforos em busca de
melhores tcnicas de virtualizao de servidores. O uso dos sistemas paralelos se faz
necessrio pela alta demanda de processamento tanto em quantidade como em rapidez.
Fatores importantes para os sistemas paralelos so o ganho de velocidade e o ganho de
escala possveis com o aumento de novas mquinas ao processo. Pode-se entender como
ganho de velocidade a diminuio do tempo necessrio para se executar uma tarefa quando
se aumenta o grau de paralelismo. O ganho de escala se refere capacidade de executar
tarefas maiores no tempo aferido antes do aumento do grau do paralelismo.
Embora os dois fatores sejam parecidos, o principal fator de sucesso de um sistema paralelo
o seu ganho de escala, pois, com o aumento do tamanho dos bancos de dados, a massa
de dados a ser processada maior.
O paralelismo pode ser dar por vrias arquiteturas diferentes. Estas podem ser de memria
compartilhada, disco compartilhado, nada compartilhado ou hierrquico.

85

LEITURAOBRIGATRIA
A arquitetura de memria compartilhada estabelece que todos os processadores e discos
acessem uma memria em comum, como pode ser visto na figura 5.1.
Figura 5. 1 Arquitetura de memria compartilhada

Fonte: Elaborao do autor.

Sendo a escrita e o acesso memria bem mais rpidos que outras formas de acesso,
processadores podem trocar mensagens atravs desses espaos de memria compartilhada.
Sua limitao fica por conta da arquitetura das mquinas de memria compartilhada, com
barramentos que permitem at 32 ou 64 processadores.
O paralelismo pode ser dado em arquitetura de disco compartilhado, com a qual todos
os processadores podem acessar todos os discos, bem como no modelo de memria
compartilhada. No entanto, cada processador possui sua prpria memria, como mostrado
na figura 5.2.

86

LEITURAOBRIGATRIA
Figura 5. 2 Arquitetura de disco compartilhado

Fonte: Elaborao do autor.

Com esta arquitetura, o problema da limitao gerado pelo barramento de memria


solucionado, bem como a tolerncia a falhas, visto que, se um conjunto memria-processador
falhar, os outros continuam funcionando.
Embora alguns dos problemas sejam solucionados, o acesso aos discos passa a ser
custoso, pois no existe mais uma rea de memria comum para troca de mensagens.
Alm disso, mesmo que a possibilidade de expanso seja bem maior que arquitetura de
memria compartilhada, o acesso aos dados mais lento, em razo de todos os dados
terem que trafegar por um mesmo barramento.
A arquitetura de nada compartilhado indica que vrios conjuntos de processadores,
memrias e discos se comunicam com outros conjuntos semelhantes, funcionando como
um servidor dos dados contidos no prprio conjunto, como mostrado na figura 5.3.

87

LEITURAOBRIGATRIA
Figura 5. 3 Arquitetura de nada compartilhado

Fonte: Elaborao do autor.

Como melhoria relativa ao modelo de disco compartilhado, o acesso ao disco local muito
mais rpido, alm de ser necessrio que trafeguem pelo barramento somente os dados
que esto em discos fora do conjunto. A escalabilidade muito maior graas capacidade
de adicionar mais conjuntos ao mesmo barramento. Seu ponto fraco o custo da troca de
informaes entre os ns, visto que, em virtude de nada estar compartilhado, essa troca se
dar por meio de softwares em cada um dos conjuntos.
A arquitetura hierrquica um sistema hbrido entre as trs arquiteturas de sistemas
paralelos vistas anteriormente. Como se fosse uma arquitetura de nada compartilhado, a
hierrquica mantm vrios conjuntos separados, ligados apenas por um barramento. No
entanto, cada um desses conjuntos pode conter em seu interior arquiteturas de memria
compartilhada ou de disco compartilhado.
Alm dos sistemas centralizados e dos sistemas paralelos, uma outra possibilidade de
definio de funcionamento fsico de um banco de dados so os sistemas distribudos.
Nestes, o banco de dados armazenado em vrios computadores diferentes. Eles se
assemelham em arquitetura aos bancos de arquitetura paralela nada compartilhado, e a
diferena entre eles que cada n de um sistema distribudo se encontra geograficamente
88

LEITURAOBRIGATRIA
separado um do outro. Nesse caso, o custo de acesso a um dado que no se encontra no
mesmo conjunto se torna alto.
A principal vantagem de um sistema distribudo a capacidade de usurios poderem acessar
os dados que esto em outra localidade. Alm disso, caso os dados sejam replicados entre
os ns do sistema distribudo, aumenta muito a tolerncia a falhas, visto que caso um
dos ns deixem de responder, outros podem assumir esta operao, mesmo em casos de
problemas de larga escala como falta de energia eltrica em uma localidade ou desastres
naturais.

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Leia a monografia Um estudo sobre sistemas de banco de dados cliente/servidor, de Enio
Kilder Oliveira da Silva.
Disponvel em: <http://www.sebraepb.com.br:8080/bte/download/
Inform%C3%A1tica/190_1_arquivo_bdados.pdf>. Acesso em: 1 fev. 2014.
O autor realiza um estudo bastante amplo sobre sistema em arquitetura cliente-servidor.
Veja uma apresentao do tema Top Esp em Banco de Dados, da professora Marta Mattoso.
Disponvel em: <http://www.cos.ufrj.br/~marta/IntroductionP.pdf>. Acesso em: 1 fev. 2014.
Slides sobre bancos de dados distribudos, com uma srie de informaes e exemplos
sobre o tema.

89

LINKSIMPORTANTES
Leia o captulo 2 da tese QEEF-G: Execuo Paralela Adaptativa de Consultas Iterativas,
de Vincius Fontes Vieira da Silva.
Disponvel em: <http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0410861_06_cap_02.
pdf>. Acesso em: 1 fev. 2014.
Esse captulo mostra conceitos de bancos de dados paralelos.

Vdeos
CloudCast07 - Amazon RDS - O Servio de Banco de Dados Relacional na Nuvem.
Disponvel em: <http://www.youtube.com/watch?v=tkuhKSNgD_s>. Acesso em: 1 fev. 2014.
Vdeo sobre a estrutura de banco de dados relacional oferecida na nuvem pela Amazon.

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

Questo 1:

Questo 2:

Voc provavelmente j teve experincia


com algum tipo de banco de dados. Qual
arquitetura e quais caractersticas esse
banco de dados possua?

Quais das opes seguintes melhor define


o conceito de arquitetura cliente-servidor?

90

AGORAASUAVEZ
a)
O servidor processa somente as
solicitaes enviadas pelos clientes.
b) O servidor possui acesso multiusurio
por conexo remota com o cliente.
c)
O
servidor
monousurio.

possibilita

acesso

d) O servidor envia os dados para que os


clientes processem.

Questo 3:

a) Memria compartilhada.
b) Disco compartilhado.
c) Nada compartilhado.
d) Hierarquia.

Questo 5:
Marque as afirmaes que se referem ao
sistema paralelo nada compartilhado:

Marque V (verdadeiro) ou F (falso) para


as definies sobre arquitetura paralela:

I. ( ) Seu crescimento limitado pela


quantidade de processadores possveis
no barramento.

( ) Os sistemas paralelos fazem uso das


tcnicas de virtualizao.

II. ( ) O custo de acessar informaes em


outros discos elevado.

( ) Seus ganhos so estimados em ganhos


de velocidade e ganho de escala.

III. ( ) Semelhante ao sistema distribudo.

( ) O ganho de escala o mais importante


a ser considerado em casos de sistemas
paralelos.
( ) O objetivo dos sistemas paralelos que
o, ao longo do tempo, a arquitetura v se
adequando aos recursos necessrios ao
banco de dados.

IV. ( ) Os ns so separados geograficamente.


V. ( ) O aumento do grau de paralelismo
mais simples que os demais.

Questo 6:
Qual a diferena entre arquitetura centralizada e a de cliente-servidor?

Questo 4:
A arquitetura que prev vrios processadores, cada qual com sua memria, acessando vrios discos em barramento a arquitetura paralela de:

Questo 7:
Qual a diferena entre o sistema servidor
transacional e o de dados?

91

AGORAASUAVEZ
Questo 8:

Questo 10:

Qual a diferena entre ganho de escala e


ganho de velocidade?

Em que a arquitetura paralela de nada


compartilhado se assemelha arquitetura
distribuda? O que as diferencia?

Questo 9:
A arquitetura paralela hierrquica considerada hbrida. Justifique essa afirmao.

FINALIZANDO
Neste tema voc pde conhecer vrios tipos de arquiteturas de bancos de dados.
Cada aplicao e cada modelagem possuem requisitos diferentes e, por isso, importante
que voc conhea as possveis solues para que seu banco de dados tenha um excelente
desempenho.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!

92

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

GLOSSRIO
Barramento: linhas de comunicao que permitem a interligao de dispositivos de um
sistema computacional.
Conexo remota: conexo via rede a um computador que emula uma conexo local.
Disco de estado slido: um tipo de dispositivo, sem partes mveis, para armazenamento
no voltil de dados digitais.
Hbrido: que mistura dois ou mais elementos em uma mesma soluo.
Virtualizao: a simulao, via software, de uma plataforma de hardware, dispositivos de
armazenamento e recursos de rede.

93

GABARITO
Questo 1
Resposta: Esta resposta pode variar. Deve ser explicado quais tipos de bancos de dados
os alunos tiveram contato. Geralmente, ter sido um sistema cliente-servidor transacional.
Questo 2
Resposta: Alternativas A e D.
Questo 3
Resposta: Sequncia correta de indicaes: V, V, V, V.
Questo 4
Resposta: Alternativa B.
Questo 5
Resposta: Afirmaes corretas: II, III e V.
Questo 6
Resposta: Na arquitetura centralizada, toda infraestrutura fica a cargo do servidor, sendo ele
monousurio ou multiusurio, atravs de conexo remota. J na arquitetura cliente-servidor,
toda interface fica no cliente, e o computador, que antes centralizava toda operao, agora
faz o papel de servidor.
Questo 7
Resposta: No transacional, o cliente envia solicitaes ao servidor, que se encarrega de
processar e devolver o resultado ao cliente. J no de dados, o servidor tem o papel de
armazenar os dados, pois todo o processamento fica a cargo dos clientes.
94

GABARITO
Questo 8
Resposta: O ganho de velocidade implica fazer as mesmas tarefas em um menor perodo.
J o ganho de escala significa processar um volume maior de informaes com o mesmo
tempo.
Questo 9
Resposta: Ela concentra vrios conceitos de arquitetura paralela. Pode ser utilizada uma
estrutura de primeiro nvel nada compartilhado, em que cada n da estrutura possui outra
arquitetura, como, por exemplo, a de disco compartilhado.
Questo 10
Resposta: A semelhana est no fato de que so conjuntos de processadores, memrias
e discos separados que se comunicam entre si. A diferena entre elas est no fato de que,
na arquitetura distribuda, os conjuntos esto geograficamente separados.

95

Tema 06

sees

Mapeamento do Modelo EntidadeRelacionamento para o Modelo Relacional

s
e

e
S

Tema 06

Mapeamento do Modelo EntidadeRelacionamento para o Modelo Relacional

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
Normalizao.
Como aplicar cada uma das formas normais.
Gerar o modelo relacional a partir do MER.

99

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
Como funciona cada forma normal?
Qual a melhor forma normal a ser utilizada?
Qual o objetivo da normalizao?
Como transformar MER em modelo relacional?

LEITURAOBRIGATRIA
Mapeamento do Modelo Entidade-Relacionamento para o
Modelo Relacional
Aps completar o modelo conceitual com o auxlio do modelo entidade-relacionamento,
chegou o momento de levar essas informaes para o modelo relacional.
Antes de iniciar o processo, necessrio definir qual nvel de normalizao ser utilizado
para o modelo relacional. Normalizao um recurso que evita anomalias na gerao de
tabelas para o modelo relacional, atravs da aplicao de regras sucessivas, conhecidas
como formas normais (FN). O grau de normalizao possui grande importncia para definir
o comportamento e a forma das tabelas, campos e registros.
A 1 Forma Normal (1FN) define que no devem existir campos multivalorados em uma
tabela ou subgrupos de atributos repetidos. Para atender a essas regras, ser utilizado o
descritivo no normalizado, mostrado na figura 6.1.

100

LEITURAOBRIGATRIA
Figura 6. 1 Tabela no normalizada

Nome

Cidade

UF

Nota
Fiscal

Data de
Emisso

Itens

Jos

So Paulo

SP

000001

04/05/2013

10 canetas, 10 lpis, 4 cadernos

Hugo

Porto Alegre

RS

000002

09/06/2013

8 canetas, 5 cadernos, 1 lpis,


1 borracha

Luiz

Campo Grande

MS

000005

10/06/2013

50 canetas, 20 lpis

Fonte: Elaborao do autor.

O campo itens possui diversos valores, caracterizando um campo multivalorado. Uma


forma de solucionar esse problema mostrada na figura 6.2.
Figura 6. 2 Remoo de campos multivalorados

Nome Cidade UF

Nota
Fiscal

Data de
Emisso

Item 1

Qtd
1

Jos

So
Paulo

Hugo

Porto
RS 000002 09/06/2013 Canetas
Alegre

Luiz

Campo
MS 000005 10/06/2013 Canetas 50
Grande

SP 000001 04/05/2013 Canetas 10


8

Item 2
lpis

Qtd
2

Item 3

Qtd
Qtd
Item 4
3
4

10 cadernos

cadernos

lpis

20

lpis

borracha

Fonte: Elaborao do autor.

Voc pode observar na figura 6.2 que existe um limite fsico da tabela para o nmero de
itens possveis em uma compra. Caso a tabela possua caractersticas que mostrem que ela
poder crescer infinitamente em campos para atender regra de campos multivalorados,
esta estratgia no funcionar. Alm disso, os campos Item e Qtd se repetem vrias
vezes, o que infringe a segunda regra da 1FN: proibio de subgrupos de atributos repetidos.

101

LEITURAOBRIGATRIA
Sendo assim, para atender aos requisitos da 1FN, necessrio que todos os registros
relacionados quele item estejam separados, como pode ser visto na figura 6.3.
Figura 6. 3 Normalizao em nvel 1FN

Grupos de repetio
Nome Cidade UF

Nota
Fiscal

Data de
Emisso

Item 1

Qtd
1

Jos

So
Paulo

Hugo

Porto
RS 000002 09/06/2013 Canetas
Alegre

Luiz

Campo
MS 000005 10/06/2013 Canetas 50
Grande

Item 2

SP 000001 04/05/2013 Canetas 10

Item 3

Qtd
Qtd
Item 4
3
4

10 cadernos

cadernos

lpis

20

borracha

Item

Qtd

SP 000001 04/05/2013

01

Canetas

10

So Paulo

SP 000001 04/05/2013

02

Lpis

10

Jos

So Paulo

SP 000001 04/05/2013

03

Cadernos

Hugo

Porto Alegre

RS 000002 09/06/2013

01

Canetas

Hugo

Porto Alegre

RS 000002 09/06/2013

02

Cadernos

Hugo

Porto Alegre

RS 000002 09/06/2013

03

Lpis

Hugo

Porto Alegre

RS 000002 09/06/2013

04

Borracha

Cidade

Jos

So Paulo

Jos

UF

Data de
Emisso

lpis

Num
Item

Nome

Nota
Fiscal

lpis

Qtd
2

Fonte: Elaborao do autor.

Para utilizarmos a 2 Forma Normal (2FN), a tabela j deve estar na 1FN, e a ateno
deve se voltar para os atributos que no so atributos-chave, j que todos eles devem ser
dependentes de toda chave primria.
Na tabela da figura 6.3, a chave primria composta de nmero da nota fiscal e nmero do
item. No entanto, o campo como Item e Valor de Venda no so dependentes da chave
102

LEITURAOBRIGATRIA
primria como um todo. Para solucionar esse caso, devem ser criadas quantas tabelas
forem necessrias para atender regra da dependncia dos campos chave primria,
como mostrado na figura 6.4.
Figura 6. 4 Normalizao em nvel 2FN

Notas fiscais

Clientes

Nota
Fiscal

Data de
Emisso

ID Cliente

ID

Nome

Cidade

UF

000001

04/05/2013

01

01

Jos

So
Paulo

SP

000002

09/06/2013

02

02

Hugo

Porto
Alegre

RS

Itens das Notas Fiscais


Nota
Fiscal

Num Item

ID
Produto

Qtd

Preo de Total de
venda desconto

000001

01

000001

10

RS 2,00

R$ 4,30

R$ 15,70

000001

02

000002

10

R$ 1,00

R$ 0,50

R$ 9,50

000001

03

000003

R$ 5,00

R$ 2,00

R$ 18,00

000002

01

000001

R$ 2,00

R$ 0,00

R$ 16,00

000002

02

000003

R$ 5,00

R$ 5,00

R$ 20,00

000002

03

000002

R$ 1,00

R$ 0,00

R$ 1,00

000002

04

000004

R$ 1,50

R$ 0,00

R$ 1,50

Subtotal

Produtos
ID
Produto

Item

Valor de
Venda

000001

Caneta

R$ 2,00

000002

Lpis

R$ 1,00

000003

Cadernos

R$ 5,00

000004

Borracha

R$ 1,50
Fonte: Elaborao do autor.
103

LEITURAOBRIGATRIA
As tabelas comeam a tomar a forma do modelo relacional, agora com chaves primrias e
estrangeiras relacionando as tabelas. Quando se trata de normalizao, geralmente utilizase at a 3 Forma Normal (3FN), que trata da dependncia transitiva, isto , os atributos no
chaves devem ser independentes entre si. Na tabela Clientes da figura 6.4, os campos
Cidade e UF devem ser separados, gerando uma nova tabela com a identificao da
cidade, como demonstrado na figura 6.5.
Figura 6. 5 Normalizao em nvel 3FN

Clientes

Municpios

ID

Nome

ID
Municpio

01

Jos

001

001

So
Paulo

02

Hugo

002

002

Porto
Alegre

Notas fiscais

ID
Cidade UF
Municpio

Nota
Fiscal

Data de
Emisso

ID
Clientes

SP

000001

04/05/2013

01

RS

000002

09/06/2013

02

Produtos
ID
Produto

Item

Valor de
Venda

Nota
Fiscal

Num
Item

ID
Produto

Qtd

Preo de
Venda

Total de
desconto

000001

Caneta

R$ 2,00

000001

01

000001

10

R$ 2,00

R$ 4,30

000002

Lpis

R$ 1,00

000001

02

000002

10

R$ 1,00

R$ 0,50

000003 Cadernos

R$ 5,00

000001

03

000003

R$ 5,00

R$ 2,00

000004 Borracha

R$ 1,50

000002

01

000001

R$ 2,00

R$ 0,00

000002

02

000003

R$ 5,00

R$ 5,00

000002

03

000002

R$ 1,00

R$ 0,00

000002

04

000004

R$ 1,50

R$ 0,00

Fonte: Elaborao do autor.

A 4 Forma Normal (4FN) baseada na remoo de dependncias multivaloradas, como


o caso de um provvel campo que trate vrios telefones.
Aps definir em qual forma normal ser mapeado o projeto de banco de dados, deve-se
trazer as informaes do modelo entidade-relacionamento e seu diagrama para o modelo
relacional, com suas tabelas e campos.
104

LEITURAOBRIGATRIA
Usualmente, todas as entidades e todos os atributos viram tabelas e campos, respectivamente. As chaves primrias e estrangeiras so definidas com base nos relacionamentos em
que as entidades esto envolvidas.
Ao verificar um relacionamento um-para-um no MER, a criao do modelo relacional pode
ser feita de trs formas diferentes. A primeira tabela (T1) pode estar relacionada com a
segunda tabela (T2) gerando uma chave- estrangeira em T2. A segunda opo seria o
inverso da primeira opo, gerando a chave-estrangeira de T2 em T1. A terceira opo
seria a juno das duas anteriores, tendo essas duas tabelas chaves-estrangeiras para
indicar seu relacionamento, como mostrado na figura 6.6.
Figura 6. 6 Modelo relacional para relacionamento um-para-um

Funcionrio

uma

a)

Funcionrio
Cdigo matrcula
Nome
Setor
Salrio

Pessoa
ID Pessoa
Cdigo matrcula (FK)
CPF
Nome
Endereo
Telefone

b)

Funcionrio
Cdigo matrcula
ID Pessoa (FK)
Nome
Setor
Salrio

Pessoa
ID Pessoa
CPF
Nome
Endereo
Telefone

c)

Funcionrio

Pessoa
ID Pessoa
Cdigo matrcula (FK)
CPF
Nome
Endereo
Telefone

Cdigo matrcula
ID Pessoa (FK)
Nome
Setor
Salrio

Pessoa

Fonte: Elaborao do autor.


105

LEITURAOBRIGATRIA
No caso da figura 6.6, pode ser que exista uma pessoa que no seja um funcionrio e, por
isso, no faria sentido manter uma chave-estrangeira da tabela Funcionrio na tabela
Pessoa. Sendo assim, especificamente nesta situao, a segunda opo deveria ser
utilizada.
J para os relacionamentos um-para-muitos existe uma nica opo. A tabela 1 (T1) ter
somente a sua chave-primria, ao passo que a tabela 2 (T2) ter a chave-estrangeira,
conforme demonstra a figura 6.7.
Figura 6. 7 Modelo relacional para relacionamento um-para-muitos

Nota Fiscal

possui

Nota Fiscal

Itens de nota fiscal

Num NF
Cliente
Data de Emisso

ID Item NF
Num NF (FK)
Produto
Quantidade
Valor Unitrio

Itens de nota fiscal

Fonte: Elaborao do autor.

Caso haja atributos descritivos atrelados ao relacionamento, a T2 tambm ser a responsvel


por manter esse registro.
Nos relacionamentos muitos-para-muitos, ser necessria a criao de uma tabela
acessria, como mostra a figura 6.8

106

LEITURAOBRIGATRIA
Figura 6.8 Modelo relacional para relacionamento muitos-para-muitos

Funcionrio

Atende

Projetos

Data_entrada

Funcionrio

Projeto

Cdigo matrcula
Nome
Setor
Salrio

ID projeto
Nome
Data de Incio

Rel Funcionrio x
Projeto
Cdigo matrcula (FK)
ID Projeto (FK)
Data de entrada

Pode ser observado que o atributo descritivo do relacionamento criado na tabela acessria,
que servir de ligao entre as tabelas do relacionamento. A mesma tcnica deve ser
utilizada caso haja relacionamentos que envolvam mais 2 entidades.

107

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Veja as notas de aula da Profa. Dra. Cristina Dutra de Aguiar Ciferri, com o ttulo de
Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional.
Disponvel em: <http://wiki.icmc.usp.br/images/a/aa/Mat05_Mapeamento.pdf>. Acesso em:
1 fev. 2014.
Apresentao que complementa os conceitos vistos neste tema.
Leia o resumo do captulo 19 do livro Database Management Systems, Refinamento de
Esquemas e Formas Normais, por Leonardo B. Oliveira e Carlos Senna.
Disponvel
em:
<http://www.ic.unicamp.br/~geovane/mo410-091/Ch19-Resumo.pdf>.
Acesso em: 1 fev. 2014.
Texto que mostra de forma detalhada o uso e a importncia das formas normais.

Vdeos
Guia 8 leccion 3 Transformacin del diagrama entidad relacin al modelo relacional.
Disponvel em: <https://www.youtube.com/watch?v=Pl8Hc91MUso>. Acesso em: 1 fev.
2014.
Vdeo que demonstra tcnicas de mapeamento com base nos relacionamentos do MER.

108

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

Questo 1:

a) 1 FN.

Talvez voc j tenha tido contato com algum banco de dados ou ento com alguma
estrutura que esteja em modelo relacional,
como uma planilha eletrnica. Qual foi o
modelo relacional? Estava normalizado? E
em qual forma normal esse modelo relacional poderia ser enquadrado?

b) 2 FN.

Questo 2:
Deve estar na forma normal anterior e no
deve possuir atributos que no estejam relacionados diretamente com a chave-primria.

c) 3 FN.
d) 4 FN.

Questo 3:
Em caso de um relacionamento 1:1 entre
as tabelas T1 e T2, como elas devem ser
mapeadas para o modelo relacional?
a) T1 possui chave estrangeira de T2.
b) T2 possui chave estrangeira de T1.

Essa descrio pertence a:


109

AGORAASUAVEZ
c) Ambas as tabelas possuem chave
estrangeira da outra tabela.
d) As alternativas a, b e c esto
corretas.

O que normalizao e qual o objetivo


de sua utilizao?

Questo 7:

Questo 4:
Em caso de um relacionamento 1:n entre
as tabelas T1 e T2, como elas devem ser
mapeadas para o modelo relacional?
a) T1 possui chave estrangeira de T2.
b) T2 possui chave estrangeira de T1.
c)
Ambas tabelas possuem
estrangeira da outra tabela.

Questo 6:

chave

Descreva as regras de cada forma normal


estudada neste tema.

Questo 8:
Dado o MER a seguir, crie o modelo relacional obedecendo a 3FN.
Nota
Fiscal

possui

Itens
de nota
fiscal

contm

d) As alternativas a, b e c esto
corretas.

Compra
1

Questo 5:

Cliente

Em caso de um relacionamento n:n entre


as tabelas T1 e T2, como elas devem ser
mapeadas para o modelo relacional?

Questo 9:

a) T1 possui chave-estrangeira de T2.

Fornecedor

fornece

1
Produtos

Como devem ser modelados os relacionamentos 1:n? Exemplifique.

b) T2 possui chave-estrangeira de T1.


c) Ambas tabelas possuem
estrangeira da outra tabela.
d) Nenhuma das alternativas.

110

chave-

Questo 10:
Um modelo relacional pode estar em 3FN e
no estar em 1FN? Justifique sua reposta.

FINALIZANDO
Neste tema, voc pode entrar em contato com o conceito de normalizao, que
uma das premissas para que o projeto de um banco de dados seja realizado corretamente.
Sabendo qual a melhor forma normal a ser utilizada, a criao do modelo relacional atravs
do MER se torna fcil, por meio das tcnicas que voc aprendeu neste tema.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

111

GLOSSRIO
Acessria: auxiliar.
Anomalia: o que est fora do padro desejvel.
Especificamente: de forma especfica, determinada.
Sucessivo: seguido, consecutivo.
Subtotal: totalizao parcial.

GABARITO
Questo 1
Resposta: O aluno deve citar ao menos um banco de dados ou uma planilha que j tenha
trabalhado e informar o grau de normalizao, caso houvesse na ocasio.
Questo 2
Resposta: Alternativa B.
Questo 3
Resposta: Alternativa D.

112

GABARITO
Questo 4
Resposta: Alternativa B.
Questo 5
Resposta: Alternativa D.
Questo 6
Resposta: Normalizao um recurso que evita anomalias na gerao de tabelas para
o modelo relacional, atravs da aplicao de regras sucessivas, conhecidas como formas
normais (FN).
Questo 7
Resposta: 1FN: no deve haver subconjuntos de atributos repetidos ou atributos
multivalorados
2FN: deve estar em 1FN, e todos atributos no chave devem depender da chave primria
completa.
3FN: deve estar em 2FN, e os atributos no chave que dependem de outros atributos no
chave devem ser excludos.
4FN: deve estar em 4FN, e as dependncias multivaloradas devem ser separadas em
tabelas diferentes.
Questo 8
Resposta:
Fornecedor

ID Fornecedor

Produtos
ID Produto
ID_Fornecedor (FK)

Itens de nota
fiscal
ID Item
ID_Produto (FK)
Num_FK

Nota Fiscal
Num_FK
ID Cliente (FK)

Cliente

ID Cliente

113

GABARITO
Questo 9
Resposta: Deve ser criada uma chave estrangeira na segunda tabela do relacionamento, e
todos os atributos descritivos ficaro na segunda tabela. O exemplo pode variar, mas deve
seguir essas regras.
Questo 10
Resposta: No. Em razo de as regras serem sucessivas, antes de estar em 3FN, o modelo
deve estar em 2FN, e uma das regras da 2FN que o modelo deve estar em 1FN.

114

Tema 07

sees

Introduo Linguagem SQL

s
e

e
S

Tema 07

Introduo Linguagem SQL

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
Linguagem de manipulao de dados.
Linguagem de definio de dados.
Tipos para definio de dados.

119

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
Quais os comandos responsveis pela criao e estrutura de dados?
Como recuperar informaes em um banco de dados?
Como filtrar os dados que sero atingidos por uma consulta?
Qual a diferena entre DELETE e DROP TABLE?

LEITURAOBRIGATRIA
Introduo Linguagem SQL
Voc deve lembrar que no primeiro tema desta disciplina citamos a Structured Query
Language (SQL) como uma linguagem para SGBDs que possibilita manipular os dados
e as estruturas do banco de dados, e com a qual as linguagens podem ser divididas em
linguagem de manipulao de dados e linguagem de definio de dados.
Para o incio do banco de dados, necessrio que um conjunto de tabelas seja criado, e
isso ser feito atravs da linguagem de definio de dados (Data Definition Language
DDL).
A DDL SQL permite que se definam todas as regras necessrias para criao e manuteno
da integridade de uma tabela, tais como valores associados aos atributos, chaves primrias,
domnio de dados etc.
A criao de tabelas feita atravs do comando CREATE TABLE, e sua sintaxe bsica
a mostrada na figura 7.1.

120

LEITURAOBRIGATRIA
Figura 7. 1 Estrutura bsica do comando CREATE

Fonte: Elaborao do autor.

Os campos e tipos, bem como o nome da tabela, so obrigatrios para sua criao. J as
restries, representadas entre os sinais de maior que e menor que, so opcionais.
Para a definio dos atributos, a DDL SQL possui os seguintes tipos bsicos:
Char(n): um conjunto de caracteres de tamanho fixo (n).
Varchar(n): um conjunto de caracteres de tamanho varivel, sendo (n) o tamanho
mximo.
Nvarchar(n): um conjunto de caracteres de tamanho varivel, sendo (n) o tamanho
mximo. Semelhante ao varchar, mas permite o armazenamento de caracteres Unicode.
Int: um nmero inteiro.
Float(n): nmero de ponto flutuante, com preciso de (n) dgitos.
Date: uma data no formato AAAA-MM-DD.
As restries de integridade possveis ao comando CREATE TABLE esto relacionadas
criao de chaves primrias ou chaves estrangeiras, ou ento com a possibilidade ou no
de um atributo aceitar um valor nulo. So elas:
primary key (campo_1, campo_2, ..., campo_n): ao especificar a chave primria, o
SGBD controlar este campo para que o seu contedo seja nico e para que no possa
ser nulo.
121

LEITURAOBRIGATRIA
foreing key (campo_1, campo_2, ..., campo_n) references tabela_2: define que
os campos relacionados servem de chave estrangeira para a tabela referenciada no
complemento references.
Not null: restrio que define que em um atributo especfico no possvel armazenar
um valor nulo.
Com essas definies, possvel criar uma tabela utilizando o comando CREATE TABLE,
como visto na figura 7.2.
Figura 7. 2 Estrutura bsica do comando CREATE

Fonte: Elaborao do autor.


122

LEITURAOBRIGATRIA
Aps criada, a tabela pode ser destruda ou ento alterada. Para destruir a tabela, utiliza-se
o comando DROP TABLE, e para sua alterao, ALTER TABLE, como demonstra a figura
7.3.
Figura 7. 3 ALTER TABLE e DROP TABLE

Fonte: Elaborao do autor.

Repare que o comando ALTER possui dois possveis complementos: add e drop. O add
utilizado para inserir um campo tabela j existente, ao passo que o drop apaga um
campo.
Aps a definio da tabela, os dados podem ser manipulados atravs da Linguagem de
Manipulao de Dados (Data Manipulation Language ou DML). Sendo que as tabelas
acabaram de ser criadas, a insero de dados feita atravs do comando INSERT. Os
dados tambm podem ser excludo e, para isso, utilizado o comando DELETE. Os dois
comandos so demonstrados na figura 7.4.
Figura 7. 4 INSERT e DELETE

Fonte: Elaborao do autor.

O comando DELETE tem resultado diferente do resultado do comando DROP TABLE. Em


razo de o DELETE estar no conjunto DML, somente os dados so apagados da tabela,
sem que a estrutura desta seja afetada. J o DROP TABLE destri no s os dados, mas
tambm a estrutura da tabela.
Para a recuperao de informaes de uma base da dados, deve se utilizar o comando
SELECT, como demonstrado na figura 7.5.
123

LEITURAOBRIGATRIA
Figura 7. 5 Comando SELECT

Fonte: Elaborao do autor.

O * sugere que todas as colunas sejam recuperadas e retornadas ao solicitante. O


comando acima retornaria o seguinte conjunto exibido na figura 7.6:
Figura 7. 6 Retorno de SELECT
id_produto
CA000001
CA000002
IN000001
IN000002

descricao
Caneta Vermelha
Caneta Azul
Pendrive
Mouse

tipo
Papelaria
Papelaria
Informtica
Informtica

Fonte: Elaborao do autor.

Caso sejam necessrios somente alguns campos, pode se referenciar, em vez do * ,


o nome de cada um dos campos necessrios para a pesquisa. Sendo assim, a consulta
SELECT [descrio], [tipo] FROM [produtos] retornaria os dados demonstrados na figura
7.7.
Figura 7. 7 Retorno de SELECT com campos definidos

Fonte: Elaborao do autor.

Muito utilizada para que seja possvel filtrar dados em uma busca a clusula WHERE. Por
exemplo, poderamos filtrar somente os produtos do tipo Papelaria, como mostra a figura
7.8.

124

LEITURAOBRIGATRIA
Figura 7. 8 Utilizao do WHERE como filtro de resultados

Fonte: Elaborao do autor.

O SQL permite a utilizao de operadores de comparao para a clusula WHERE, podendo


ser utilizados os sinais =, <, <=, >, >= e <>. A clusula WHERE pode conter vrias condies
a serem satisfeitas pela consulta. Por isso, podem ser utilizados os operadores lgicos E,
OR e NOT. O WHERE tambm pode ser utilizado para filtrar os dados que sero apagados
atravs do comando DELETE.
O comando SELECT pode ser utilizado tambm para recuperar dados de duas tabelas
simultaneamente, o que pode ser visto na figura 7.9.
Figura 7. 9 Utilizao do SELECT para obter resultados de mais de uma tabela

Fonte: Elaborao do autor.

Os registros, alm de serem inseridos e deletados, tambm podem ser atualizados. Essa
operao realizada atravs do comando UPDATE. Esse comando pode ser utilizado em
conjunto com a clusula WHERE, possibilitando filtrar quais dados devem sofrer a alterao
indicada pelo comando. Um exemplo deste comando pode ser visto na figura 7.10, que
demonstra os registros da figura 7.9 aps a atualizao.

125

LEITURAOBRIGATRIA
Figura 7. 10 Comando UPDATE

Fonte: Elaborao do autor.

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Leia o artigo DDL, Lidando com as diferenas das instrues SQL nos diferentes SGBDs,
de Diogo Rafael Jacobs e Juliano Varella de Carvalho.
Disponvel em: <http://www.sirc.unifra.br/artigos2006/SIRC-Artigo25.pdf>. Acesso em:
1 fev. 2014.
O texto demonstra a diferena do DDL SQL entre vrios fornecedores de software.
Leia o artigo Merging vs Joining: Comparing the data step with SQL, de Malachy J. Foley.
Disponvel em: <http://www2.sas.com/proceedings/sugi30/249-30.pdf>. Acesso em: 1 fev.
2014.
O texto demonstra mtodos de juno de tabelas e compara a juno natural com os
comandos JOIN.

126

LINKSIMPORTANTES
Leia o artigo Padro SQL e sua Evoluo, de Allyn Grey de Almeida Lima.
Disponvel em: <http://www.ic.unicamp.br/~geovane/mo410-091/Ch05-PadraoSQL-art.
pdf>. Acesso em: 1 fev. 2014.
Nesse artigo, o autor busca relacionar a evoluo da linguagem SQL ao longo do tempo,
trazendo elementos de DDL, DML e tambm de DCL (data control language ou linguagem
de controle de dados).

Vdeos
SQL com SQL Server (T-SQL).
Disponvel
em:
<https://www.youtube.com/watch?v=2kWoPT-6JqA&list=PLucm8g_
ezqNqI5cW3alteV5olcMCcHYRK>. Acesso em: 1 fev. 2014.
Srie de videoaulas prticas relacionadas com o padro T-SQL, baseado no Microsoft SQL
Server.

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

127

AGORAASUAVEZ
Questo 1:

a) DROP TABLE.

Utilizando os comandos da DDL SQL, crie


uma estrutura capaz de armazenar dados
referentes aos alunos de uma sala de aula.

b) UPDATE.
c) ALTER TABLE DROP.
d) Nenhuma das alternativas.

Questo 2:
Qual das clusulas WHERE a seguir demonstra um filtro para salrios maiores que
R$ 5.000,00?

Questo 5:
Marque X para os comandos que fazem
parte da DML SQL:

a) WHERE salario > 5000,00.

I. ( ) SELECT.

b) WHERE NOT(salario <= 5000).

II. ( ) DROP TABLE.

c) WHERE salario < > 5000.

III. ( ) CREATE.

d) As alternativas a e b esto corretas.

IV. ( ) WHERE.

Questo 3:
Qual, dentre os seguintes, o melhor tipo
para registrar um cdigo alfanumrico que
deve conter obrigatoriamente 10 dgitos?
a) Char(10).
b) Varchar(10).

V. ( ) UPDATE.
VI. ( ) FROM.

Questo 6:
Quais os comandos bsicos da linguagem
de definio de dados? E os da linguagem
de manipulao de dados?

c) Nvarchar(10).
d) Todas as alternativas esto corretas.

Questo 4:
Qual comando deve ser utilizado para remover todos os dados de uma tabela sem
afetar a estrutura?
128

Questo 7:
Qual a diferena entre os tipos char, varchar e nvarchar?

AGORAASUAVEZ
Questo 8:

Funcionrio: nome e setor.

Gere os comandos necessrios para criar


a estrutura baseada na figura seguinte.

Projeto: Nome.

Funcionrio

Atende

Projetos

Rel. Funcionrio versus Projeto: Data


de entrada.

Data_entrada
Funcionrio

Projeto

Cdigo matrcula
Nome
Setor
Salrio

ID Projeto
Nome
Data de Incio
Rel Funcionrio x
Projeto

Cdigo matrcula (FK)


ID Projeto (FK)
Data de entrada

Questo 9:
Com base na estrutura criada na questo
8, retire o campo salrio da tabela de funcionrios e coloque o campo data de trmino na tabela projeto.

Questo 10:
Recupere os dados armazenados nas tabelas, buscando os seguintes campos em
uma mesma consulta:

129

FINALIZANDO
Neste tema voc pde acompanhar os comandos bsicos e introdutrios linguagem
mais utilizada para consultas em bancos de dados, o SQL. Pde observar tambm tanto
os comandos componentes da linguagem de definio de dados como os comandos da
linguagem de manipulao de dados. Com esses conceitos, grande parte dos bancos de
dados j pode ser modelada.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

130

GLOSSRIO
Integridade: segurana e confiabilidade da informao.
Manipulao: insero, excluso, alterao ou recuperao dos dados.
Operadores lgicos: operadores que servem para comparao entre sentenas, sendo o
retorno da operao sempre binrio, 0 ou 1, ou ento verdadeiro ou falso.
Restrio: imposio de regras ou limites.
Sintaxe: regra de construo de um comando.

GABARITO
Questo 1
Resposta: Deve-se modelar tabelas como Aluno, Provas, Notas, Professores, Cursos. As
respostas podem variar.
Questo 2
Resposta: Alternativa D.
Questo 3
Resposta: Alternativa A.
Questo 4
Resposta: Alternativa D.
131

GABARITO
Questo 5
Resposta: I e V.
Questo 6
Resposta:
DDL: CREATE TABLE, ALTER TABLE e DROP TABLE.
DML: SELECT, UPDATE, INSERT e UPDATE.
Questo 7
Resposta: O tipo char um conjunto de strings de tamanho fixo, a ser definido na declarao.
A varchar tambm um conjunto de strings, que tem tamanho varivel e tem o tamanho
mximo definido na declarao. A nvarchar semelhante varchar, armazenando strings
em formato Unicode.
Questo 8
Resposta:

132

GABARITO
Questo 9
Resposta:

Questo 10
Resposta:

133

Tema 08

sees

Segurana e Recuperao de Dados

s
e

e
S

Tema 08

Segurana e Recuperao de Dados

Introduo ao Estudo da Disciplina


Caro(a) aluno(a).
Este Caderno de Atividades foi elaborado com base no livro Sistema de Banco de Dados,
dos autores Abraham Silberschatz, Henry Korth e S. Sudarshan, Editora Elsevier, 2012.
Livro-Texto 670.

Roteiro de Estudo:
Sistemas de Banco de
Dados

Douglas Fugita de Oliveira


Cezar

CONTEDOSEHABILIDADES
Contedo
Nessa aula voc estudar:
Conceitos de segurana e recuperao de dados.
Conceito de transao
Propriedades ACID.

137

CONTEDOSEHABILIDADES
Habilidades
Ao final, voc dever ser capaz de responder as seguintes questes:
O que uma transao?
O que atomicidade?
Quais so os estados possveis de uma transao?
O que commit?

LEITURAOBRIGATRIA
Segurana e Recuperao de Dados
Uma das principais atribuies de um SGBD denominada controle de transao. Um
exemplo clssico para explicar o conceito de transao uma operao de transferncia
bancria. Embora parea uma nica operao, uma transferncia de fundos pode ser
separada em duas partes. A primeira o saque do dinheiro de uma conta e a segunda o
depsito do valor sacado em outra conta. A esse conjunto inseparvel de operaes d-se
o nome de transao.
Uma transao geralmente composta por um ou mais comandos de Data Manipulation
Language (DML), um comando de Data Definition Language (DDL) ou ento um comando
de Data Control Language (DCL).
As transaes possuem certas caractersticas que podem ser resumidas pelo acrnimo
ACID: atomicidade, consistncia, isolamento e durabilidade.
A atomicidade tem esse nome graas ao tomo que, antigamente, era tido como indivisvel,
pois seria a menor parte da matria. Por essa analogia, voc pode entender que uma transao
tambm indivisvel, e todas as operaes devem ser efetuadas. Caso contrrio, nenhuma
das operaes deve ser registrada. Em nosso exemplo, uma falha na atomicidade seria o
dinheiro ser sacado de uma conta e, por uma falha, no ser depositado na outra conta.
138

LEITURAOBRIGATRIA
Nos casos em que a transao no consiga ser completada, ocorre uma operao de rollback,
que faz com que o banco de dados retorne forma original, antes do incio da transao.
Quando a transao confirmada, ocorre a operao de commit. Essas operaes ocorrem
ao trmino de uma transao.
Para representar melhor o estado atual de uma transao, podem ser consideradas as
seguintes opes:
Ativo: estado inicial da transao, seguindo nessa condio durante a execuo das
instrues da transao.
Parcialmente confirmado: este estado representa que a ltima instruo foi executada.
Confirmado: sucede o parcialmente confirmado, determinando a finalizao bemsucedida da transao.
Falho: quando, em razo de algum problema na transao, a execuo no pode
prosseguir.
Abortado: aps o estado de falha, iniciada a operao de rollback. Assim que esta
for finalizada, a transao entra neste estado.
Um recurso que auxilia a atomicidade o registro de log. Esse recurso responsvel por
gravar informaes sobre quais registros foram alterados, sobre qual o novo valor e
tambm sobre o valor antigo do registro.
A gerao do registro de log deve ser realizada antes da gravao dos dados no banco
de dados. O registro de log ento gera uma modificao dos registros no banco de dados,
podendo essa atualizao ser desfeita a qualquer momento.
A transao deve garantir que os dados, aps o commit da transao, se mantenham
consistentes. Todas as regras que definem a integridade dos dados devem ser atendidas,
mesmo que algumas regras no estejam no nvel de banco de dados. No exemplo da
transferncia de fundos, no caso da existncia de uma regra que defina que o saldo das
contas no deve ficar negativo, uma falha seria, aps a ocorrncia da transferncia, o saldo
da conta ficar abaixo de zero.
O isolamento a garantia de que as operaes que acontecem no banco de dados no
sejam influenciadas por outras operaes que ocorrem simultaneamente. Para o caso da
139

LEITURAOBRIGATRIA
transferncia de fundos, imagine um cenrio no qual duas operaes de transferncia so
feitas simultaneamente. Uma falha no isolamento poderia fazer com que a operao 1 (op1)
realizasse o saque ao mesmo tempo da segunda operao (op2). No entanto, um nico local
de memria armazena o valor a ser transferido e, sendo assim, o depsito da op1 receberia
o valor sacado da op2. J a conta da op2 no receberia nenhum valor de transferncia.
possvel que aconteam falhas referentes ao acesso simultneo dos dados, como perdas
de atualizao, leituras de dados com falha ou erro ao executar operaes de agregao.
As perdas de atualizao acontecem quando, aps a alterao de um dado, outra instncia
altera a mesma informao. Isso faz com que a primeira alterao seja perdida. Outra
situao o caso em que uma instncia execute uma operao que resultou em um rollback
mas na qual, antes de o dado retornar ao valor original, outra instncia j est utilizando
o valor inconsistente. As operaes de agregao tambm podem estar sujeitas a falha
pois, durante uma funo de totalizao de registros, possvel que um dos registros seja
alterado aps j ter sido considerado pela funo, gerando uma totalizao inconsistente.
Para solucionar esses problemas, um recurso de controle de concorrncia acionado. O
controle de concorrncia pode ser baseado em locks ou bloqueios. Este tipo faz com que
um objeto do banco de dados seja reservado para a operao em questo. O controle
baseado em bloqueios tambm permite um modo compartilhado, no qual outras instncias
so capazes de obter acesso aos dados, mas somente em modo leitura. Outra forma de
ao do controle de concorrncia enviar mensagens de espera para clientes que tentam
acessar os dados, pois outra instncia j est fazendo uso desse dado.
Pouco adiantaria toda essa garantia de atomicidade, consistncia e isolamento se, para
os casos em que ocorra algum incidente, o banco de dados volte ao seu estado original,
esquecendo-se da operao executada anteriormente. A garantia de que este problema
no vai ocorrer denominada durabilidade.

140

LINKSIMPORTANTES
Quer saber mais sobre o assunto?
Ento:
Sites
Leia os captulos 6 e 8 do livro Princpios de sistemas de gerncia de bancos de dados
distribudos, de Marco Antonio Casanova e Arnaldo Vieira Moura.
Disponvel em: <http://www.inf.puc-rio.br/~casanova/Publications/Books/1985-BDD.pdf>.
Acesso em: 1 fev. 2014.
Os captulos citados so relacionados transao e ao controle de concorrncia em bancos
de dados distribudos.
Veja o artigo Estudo Comparativo dos Sistemas Gerenciadores de Bancos de Dados:
Oracle, SQL Server e PostgreSQL, de Rodrigo de Carvalho Santos.
Disponvel em: <http://www.unipac.br/bb/tcc/tcc-6cda526f17394bae9bbed711b2188920.
pdf>. Acesso em: 1 fev. 2014.
Artigo que compara SGBDs de mercado, com nfase nas propriedades de transao.
Leia o trabalho final de graduao intitulado Anlise comparativa sobre a consistncia de
banco de dados nas nuvens, de Drio Saraiva de Melo Pinheiro.
Disponvel em: <http://www.cin.ufpe.br/~tg/2012-2/dsmp.pdf>. Acesso em: 1 fev. 2014.
Nesse texto, o autor compara solues de banco de dados armazenadas na nuvem quanto
suas caractersticas CAP Consistency, Avaliability e Partition Tolerance.

141

LINKSIMPORTANTES
Vdeos
Videoaulas ITnerantes: Banco de Dados: Transaes.
Disponvel em: <http://www.youtube.com/watch?v=ANUnMUJUx4A>. Acesso em: 1 fev.
2014.
Primeiro vdeo de uma srie que trata de uma forma simples e objetiva os temas transao,
concorrncia e recuperao.

AGORAASUAVEZ
Instrues:
Chegou a hora de voc exercitar seu aprendizado por meio das resolues
das questes deste Caderno de Atividades. Essas atividades auxiliaro
voc no preparo para a avaliao desta disciplina. Leia cuidadosamente
os enunciados e atente-se para o que est sendo pedido e para o modo de
resoluo de cada questo. Lembre-se: voc pode consultar o Livro-Texto
e fazer outras pesquisas relacionadas ao tema.

Questo 1:

Questo 2:

O texto citou a operao de transferncia


de fundos como um exemplo de transao.
Quais outras atividades do seu dia a dia
podem ser consideradas dentro do conceito de transao?

O que significa o acrnimo ACID?

142

a) Atomicidade, consistncia, isolamento


e desempenho.
b) Atualizvel, concorrncia, integralidade
e destrutvel.

AGORAASUAVEZ
c) Atomicidade, concorrncia, inteligncia
e durabilidade.
d) Atomicidade, consistncia, isolamento
e durabilidade.

Questo 3:
Em qual estado estar a transao aps
ser finalizada a operao de rollback?
a) Ativo.
b) Parcialmente confirmado.
c) Confirmado.
d) Falho.
e) Abortado.

Questo 4:
Marque V (verdadeiro) ou F (falso) para
as afirmaes seguintes:
( ) A consistncia deve ser garantida somente no SGBD.
( ) Caso a atomicidade seja garantida, todos as outras caractersticas do ACID so
atendidas.
( ) Durabilidade a responsvel por manter operaes distintas separadas uma das
outras.
( ) A consistncia deve ser garantida somente na aplicao que utilizar o banco
de dados.

Questo 5:
Marque a alternativa que define um problema de durabilidade.
a) Os dados de duas instncias distintas
so armazenados no mesmo espao de
memria.
b) Aps a confirmao da operao, o banco
de dados retornou ao seu estado original.
c) Aps o cancelamento da operao, o
banco de dados retornou ao seu estado
original.
d) Foram executadas somente 9 instrues
das 10 existentes dentro da transao.

Questo 6:
O que transao?

Questo 7:
A falha de atomicidade pode gerar uma falha na consistncia? Explique.

Questo 8:
O que durabilidade?

Questo 9:
O que controle de concorrncia?

Questo 10:
O que uma operao de rollback?
143

FINALIZANDO
Neste tema voc pde no s entrar em contato com o tema transao, de grande
importncia, ao utilizar um SGBD, mas tambm conhecer suas principais caractersticas,
de acrnimo ACID.
Caro aluno, agora que o contedo dessa aula foi concludo, no se esquea de acessar
sua ATPS e verificar a etapa que dever ser realizada. Bons estudos!

REFERNCIAS
CONCEITOS gerais de banco de dados. Disponvel em: <http://julianakolb.files.wordpress.
com/2012/04/teoria-de-banco-de-dados.pdf>. Acesso em: 1 fev. 2014.
SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. So
Paulo: Elsevier, 2012.
TAKAI, O. K.; ITALIANO, I. C.; FERREIRA, J. E. Introduo a banco de dados. Apostila,
DCC-IME-USP, 2005. Disponvel em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acesso
em: 1 fev. 2014.

144

GLOSSRIO
Acrnimo: palavra formada pelas letras ou slabas iniciais de vrias outras palavras.
Modo leitura: os dados no podem ser alterados ou excludos, sendo somente possvel a
leitura do mesmo.
Saque: operao de retirada.
Simultaneamente: que ocorre ao mesmo tempo.

GABARITO
Questo 1
Resposta: Devem ser consideradas respostas nas quais vrias atividades devem ser
executadas e que no possam ser separadas. Atividades que exigem pagamento em troca
de um servio ou produto so exemplos de transao.
Questo 2
Resposta: Alternativa D.
Questo 3
Resposta: Alternativa E.

145

GABARITO
Questo 4
Resposta: Sequncia correta de indicaes: F, F, F, F.
Questo 5
Resposta: Alternativa B.
Questo 6
Resposta: Transao um conjunto inseparvel de operaes.
Questo 7
Resposta: Sim. Caso a atomicidade no seja garantida, uma srie de instrues que
deveriam ser executadas inseparavelmente geraro valores que podem ser invlidos,
gerando assim uma falha tambm em consistncia.
Questo 8
Resposta: a propriedade da transao que garante que, aps confirmada a operao,
esta seja mantida no banco de dados.
Questo 9
Resposta: um recurso que assegura que o mesmo dado no ser editado ao mesmo
momento por vrias instncias diferentes.
Questo 10
Resposta: A operao de rollback a reverso das alteraes efetuadas em um banco de
dados, caso uma transao no seja confirmada.

146

Potrebbero piacerti anche