Você está na página 1de 14

Sintetizando e Enriquecendo

1.Defina o que so banco de dados. Alm disso, descreva as principais caractersticas de um


Sistema de Gerenciamento de Banco de Dados (SGBD) e destaque quais seriam as vantagens e
desvantagens de sua utilizao.
Banco de dados pode ser definido como uma forma de se instituir e manter relacionamentos
diversos entre dados (informaes, caractersticas de elementos/objetos definidos). Estes
relacionamentos so o que definem as caratersticas (coerncia lgica, significado inerente) de
determinado dado dentro de uma perspectiva de interesse.
O SGBD , justamente, o mtodo (aplicaes) como estes dados e suas caractersticas
(relacionamentos) esto pr-definidas/determinadas pelo gerenciador (os metadados) e para ser
ofertado ao usurio. Neste sistema de controle e (determinao) de relacionamento de dados, estes
so representados de maneira conceitual e definidos em trs abstraes diferentes: a) fsica: o
armazenamento fsico (memria computacional) do dado; b) lgica: descrio de seu
armazenamento no banco de dados e as relaes existentes entre as 'colees' de dados; e c) visual:
subconjunto de dados que existem durante a execuo do programa (opera) por parte do usurio.
Desvantagens: alto custo e manuteno.
Vantagens: controle de redundncia; compartilhamento de dados; restrio de acesso; padronizao;
flexibilidade de manuteno; reduo de tempo e economia de escala.

Praticando
2. Baseado nos assuntos mencionados no Captulo 2 e defina a utilidade dos Modelos de
Dados, dos esquemas e das instncias.
Modelos de dados: descrio das estruturas lgicas e fsicas de um banco de dados. Ou seja, so
conceitos utilizados para a realizao do banco de dados em sua constituio fsica
(armazenamento) e lgica, das estruturas que definem os tipos de dados, os relacionamentos entre
eles e suas restries. Assim, os modelos de dados constituem-se por dois tipos: alto nvel
(conceitual, mis prxima da visualizao dos usurios) e baixo nvel (dados fsicos, modo como
esto armazenados no computador).
Esquema de um banco de dados: descrio do mesmo. A intenso de um banco de dados.
Instncias: a "cristalizao" do banco de dados num determinado momento (ela alterada toda vez
que o banco de dados sofrer alguma alterao). A extenso de um banco de dados.
O SGBD garante que toda instncia seja coerente ao esquema (intenso) do banco de dados.
A utilidade, portanto, destas descries "internas" (anteriores, demonstrativas) de um banco de
dados se d na condio de abstrao do banco de dados para o planejamento, constituio e
execuo do mesmo... Em outra palavras, a forma como o banco de dados existir e se far.

Sintetizando e Enriquecendo
3. Cite e explique as caractersticas do Modelo Entidade-Relacionamento (MER).
O modelo entidade-relacionamento a disposio de um banco de dados constitudo a partir de
entidades (objetos, aspectos da realidade, abstraes do real) formadas por atributos (caractersticas
prprias, definidas) e que se relacionam entre si. Estas relaes, os relacionamentos, tambm
possuem atributos especficos. Ou seja, o modelo de entidade-relacionamento a prpria
modelagem (conceitual) do banco de dados e sua determinao especifica quais so os aspectos
(entidades) que sero dispostos, a partir da realidade definida/requisitada, e como sero
relacionados uns com os outros.
As principais caractersticas deste modelo de banco de dados so:
a) Expressividade: mltiplas relaes
b) Simplicidade: riqueza de conceitos
c) Minimalidade: cada conceito possui sua prpria definio
d) Formalidade: cada conceito define uma nica interpretao
e) Representao grfica: todos os seus conceitos possuem uma representao grfica associada.

Sintetizando e Enriquecendo
4. Leia o Captulo 3 e explique o que voc entende ser uma entidade fraca.
Entidade todo objeto representado no banco de dados e que possui caractersticas definidas e
determinadas em atributos. Em um banco de dados MER, cada entidade deve (preferencialmente)
possuir um atributo (normalmente um nmero) nico de identificao, o que constitui a chave
primria. Nem toda entidade, no entanto, capaz de possuir um nico atributo que o defina
(distinga) dos demais e, neste caso, pode-se utilizar de dois atributos simultaneamente. Para estes
casos d-se o nome entidade de entidade fraca.
Um exemplo:

Para Pesquisar
5. Realize pesquisa na Internet, em jornais, revistas, livros, artigos e outros meios sobre o
Modelo de Dados Relacional, seus aspectos principais e suas restries. Justifique sua opinio
e cite as referncias pesquisadas.
Os aspetos principais so
1) o estrutural, onde os dados so percebidos pelo usurio como tabelas.
2) a integridade, referncia integridade (restries) das tabelas.
3) o manipulador, que a referncia possibilidade de o usurio operar (manipular) as tabelas do
banco de dados.
Dentre o aspecto manipulador, trs operadores podem ser destacados como de maior importncia.
Tratam-se dos operadores de:
1) restrio: extrai linhas especficas de uma tablea.
2) projeo: extrai colunas especficas de uma tablea.
3) juno: une duas tabelas com base em valores comuns em uma coluna comum.
Em relao s restries de integridade do modelo de dados relacional, citamos:
1) Restries de domnio (tipo): especificao dos valores que compem o tipo dos dados para uma
determinada entidade.
2) Restries de chave: primria, estrangeira...
3) Restrio de integridade de entidade: nenhum valor de chave primria pode ser null (nulo).
4) Restrio de integridade referencial.
Fonte: C.j. Date Introduo a sistemas de bancos de dados.Ed. Campus 8ed.
http://www2.unemat.br/~ivanpires/files/dwl/bd/slides/bd_5.pdf

Sintetizando e Enriquecendo
6. Conforme citado no Captulo 5, descreva resumidamente os passos para o Mapeamento do
MER.
1 etapa: mapear os tipos de entidades regulares. Para cada entidade regular E, criar uma relao R
que inclua todos os atributos de E. Escolher um atributo chave de E para a chave primria de R.
2 etapa: mapear os tipos de entidades fracas. Para cada entidade fraca F com tipo de entidade
proprietria E, criar uma relao R e incluir todos os atributos de F como atributos de R. Incluir
como atributo de chave estrangeira de R os atributos de chave primria da(s) relao(es) que
corresponde(m) aos tipos de entidade proprietria (a chave primria de R a chave primria de E -proprietrio -- e a chave parcial de F, se houver.
3 etapa: mapear os tipos de relacionamentos binrios 1:1. Identificar as relaes S e T que
correspondem aos tiipos de entidade participantes de R com relacionamento binrio 1:1. So trs
modos possveis:
1) Tcnica de chave estrangeira: escolher uma das relaes -- talvez S -- e incluir como
chave estrangeira em S a chave primria de T. Incluir todos os atributos simples do tipo de
relacionamento 1:1 R como atributos de S.
2) Tcnica de relao mesclada: mesclar os dois tpos de entidade e o relacionamento em
uma nica relao. isso possvel quando ambas as participaes so totais.
3) Tcnica de relacionamento: configurar uma terceira relao R para a finalidade de
referncia cruzada das chaves primrias das duas relaes S e T representando os tipos de entidades.
4 etapa: mapear tipos de relacionamento binrio 1:N. para cadad tipo de relacionamento R binrio
regular 1:N, identificar a relao S que representa o tipo de entidade participante no lado N do tipo
de relacionamento. incluir como chave estrangeira em S a chave primria de relao T que
representa o outro tipo de entidade participante em R. incluir quaisquer atributos simples do tipo de
relacionamento 1:N como atributo de S.
5 mapear tipos de relacionamento binrio M:N. Para cada tipo de relacionamento binrio M:N,
criar uma nova relao S para representar R. Incluir como atributos de chave estrangeira em S as
chaves primrias das relaes que representam os tipos de entidades participantes; sua combinao
formar a chave primria de S. incluir tambm quaisquer atributos simples di tipo relacionamento
M:N como atributos de S.
6 etapa: mapear atributos multivalorados. Para cada atributo multivalorado A, criar uma relao R.
Tal relao dever incluir um atributo correspondente a A, mais o atributo da chave primria Ch -como chave estrangeira em R -- da relao que representa o tipo de entidade ou tipo de
relacionamento que tem A como atributo multivalorado. A chave primria de R a combinao de A
e Ch.
7 etapa: mapear tipos de relacionamento n-rio. Para cada tipo de relacionamento n-rio R, onde
n>2, criar uma relao S para representar R. Incluir como atributo de chave estrangeira em S as
chaves primrias das relaes que representam os tipos de entidades participantes. Incluir tambm
quaisquer atributos simples do tipo de relacionamento n-rio como atributos de S. A chave primria
de S normalmente a combinao de todas as chaves estrangeiras que referenciam as relaes
representando os tipos de entidade participantes.
Observao de Fonte bibliogrfic: Elmasri & Navathe, Sistemas de banco de dados. 6 edio.
ELABORAR UM EXEMPLO DE PROJETO/MAPEAMENTO

Para Pesquisar
7. Realize pesquisa na Internet, em jornais, revistas, livros, artigos e outros meios sobre a SQL
Structured Query Language, seu surgimento, seus principais aspectos e sua aplicabilidade.
Cite as referncias pesquisadas.
SQL a sigla do nome "Structured Query Language" (linguagem de consulta estruturada),
originalmente criada como SEQUEL (Structured English Query Language) pela IBM Research. Sua
origem, assim, foi implementada para a interface de um sistema de banco de dados relacional
experimental e veio a se tornar a linguagem padro para SGBDs relacionais comerciais. Tal
padronizao se deu a partir de duas organizaes, a ANSI (American Nationl Standards Institute)
e a ISO (International Standards Organization). A partir desta primeira verso de 1986, outras
atualizaes foram sendo elaboradas com as seguintes denominaes (e anos): SQL2 (ou SQL92),
SQL3 (ou SQL 99), SQL2003 e SQl2008.
Caractersticas: possui instrues para definio de dados, consultas e atualizaes (logo, uma
DDL e uma DML); possui facilidades para definir vises sobre o banco de dados, para especificar
segurana e autorizao, para definir restries de integridade e para especificar controles de
transao.; por fim, ela tambm possui regras para embutir instrues SQL em linguagens de
programao, tais como java, COBOL e C/C++.
Os padres mais recentes de SQL possuem um ncelo e extenses especializadas. Os ncleos
devem ser implementados por todos os fornecedores de SGBD compatveis com SQL, enquanto que
as extenses servem como mdulos opcionais a serem impementados de acordo com a
especificidade do banco de dados.
Subconjuntos do SQL:
* DML (Linguagem de manipulao de dados): utilizado para realizar incluses, consultas,
alteraes e excluses de dados presentes em registros. Estas tarefas podem ser executadas em
vrios registros de diversas tabelas ao mesmo tempo. Os comandos que realizam respectivamente as
funes acima referidas so Insert, Select, Update e Delete.
* DDL (Linguagem de definio de dados): permite ao utilizador definir tabelas novas e elementos
associados. Comandos bsicos da DDL so CREATE (cria um objeto) e DROP (apaga um objeto).
* DCL (Linguagem de controle de dados): controla os aspectos de autorizao de dados e licenas
de usurios para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.
Dois comandos bsicos so: GRANT (autoriza ao usurio executar ou setar operaes) e REVOKE
(remove ou restringe a capacidade de um usurio de executar operaes).
* DTL (Linguagem de transao de dados): realiza a ao/transao em um banco de dados.
* DQL (Linguagem de consulta de dados): Embora tenha apenas um comando, a DQL a parte da
SQL mais utilizada. O comando SELECT permite ao usurio especificar uma consulta ("query")
como uma descrio do resultado desejado. Esse comando composto de vrias clusulas e opes,
possibilitando elaborar consultas das mais simples s mais elaboradas.
Clusulas: As clusulas so condies de modificao utilizadas para definir os dados que deseja
selecionar ou modificar em uma consulta.
FROM Utilizada para especificar a tabela que se vai selecionar os registros.
WHERE Utilizada para especificar as condies que devem reunir os registros que sero
selecionados.
GROUP BY Utilizada para separar os registros selecionados em grupos especficos.

HAVING Utilizada para expressar a condio que deve satisfazer cada grupo.
ORDER BY Utilizada para ordenar os registros selecionados com uma ordem especifica.
DISTINCT Utilizada para selecionar dados sem repetio.
UNION - combina os resultados de duas consultas SQL em uma nica tabela para todas as linhas
correspondentes.
Operadores lgicos do SQL:
AND E lgico. Avalia as condies e devolve um valor verdadeiro caso ambos sejam corretos.
OR OU lgico. Avalia as condies e devolve um valor verdadeiro se algum for correto.
NOT Negao lgica. Devolve o valor contrrio da expresso.
Operadores relacionais do SQL: usados para realizar comparaes entre valores em estruturas de
controle.
Operador
Descrio
<
Menor
>
Maior
<=
Menor ou igual
>=
Maior ou igual
=
Igual
<>
Diferente
BETWEEN Utilizado para especificar valores dentro de um intervalo fechado.
LIKE Utilizado na comparao de um modelo e para especificar registros de um banco de
dados. "Like" + extenso % significa buscar todos resultados com o mesmo incio da extenso.
IN - Utilizado para verificar se o valor procurado est dentro de um a lista. Ex.: valor IN
(1,2,3,4).
Funes de agregao: usadas dentro de uma clusula SELECT em grupos de registros para
devolver um nico valor que se aplica a um grupo de registros.
AVG Utilizada para calcular a mdia dos valores de um campo determinado.
COUNT Utilizada para devolver o nmero de registros da seleo.
SUM Utilizada para devolver a soma de todos os valores de um campo determinado.
MAX Utilizada para devolver o valor mais alto de um campo especificado.
MIN Utilizada para devolver o valor mais baixo de um campo especificado.
Desenvolver as principais caractersticas da linguagem SQL:
0) Sintaxe SQL
1) Identificadores e Palavras chaves
2) Constantes
3) Operadores lgicos
4) Caracteres especiais
5) Comentrios
6) Restries
7) Chaves
8) Esquemas
9) Consultas
Assim, a linguagem SQL aplicada atravs de comandos dispostos em sequncia e terminados com
ponto-evrgula (';'). A esta aplicao, construes de comandos, se d o nome de sintaxe. Por
exemplo:

CREATE TABLE tab_livros; '


SELECT * FROM tab_livros;
VER APOSTILA

Sintetizando e Enriquecendo
8. Explique, com suas palavras, o que voc entende por dependncia funcional e
normalizao. Baseie-se no contedo do Captulo 7.

Sintetizando e Enriquecendo
9. Baseado no contedo do Captulo 8, descreva a respeito da Metodologia para Projeto
Prtico de Banco de Dados, os aspectos relevantes a serem considerados e sobre o ambiente de
desenvolvimento de aplicativos.
Elementos tipicamente fundamentais para se considerar quando da criao e desenvolvimento de
um SBD so:
1) Previso de armazenamento de dados para perodos curto, mdio e longo, com projetos lgico e
funcional do BD com capacidade de adapatao ao volume de informaes requeridas;
2) Generalidade e alto grau de astrao de dados para permitir o uso de diferentes gerenciadores de
dados;
3) Um projeto de intarface, para o usurio, gil, "amigvel" e que seja ituitivo;
4) Independncia de implementao desta interface em relao ao SGBD;
5) Projeto compatvel com mltiplas plataformas (Unix, Windows, Aple);
6) Converso e mapeamento ads diferenas semnticas entre os paradigmas utilizados no
desenvolvimento de intefaces, de servidores de dados e de aplicativos.
Estas questes, fundamentais, encontram sua importncia pela disposio e oferta do uso dos dados
no BD. Em outras palavras, elas se refletem na contituio do prprio banco de dados em relao
disponibilidade do mesmo para o usurio final atravs de sua programao (conceito e
desenvolvimento) da arquitetura dos dados a sua disposio atravs de um aplicativo de usurio.
Ou seja, deve ser considerado a interface do usurio (aplicativos de consulta) e o servidor de dados
(base de dados). Entre estes, os eventos disponveis na interface do usurio para a realizao de
consulta ao banco de dados (SQL), com o devido retorno (tabela) ao usurio (objeto de interface,
resultado da consulta). Entre a realizao da consulta (case) e o retorno dos dados (cursor)
demandados, existe o aplicativo que deve se conectar ao SGBD.
neste contexto que aqueles elementos fundamentais de um sistema de banco de dados entra. Isso
porque: 1) o volume do armazenamento bsico e autoexplicativo; 2) os gerenciadores de banco de
dados bem como os aplicativos dos usurios podem ser de diferentes plataformas e/ou paradigmas,
mas ambos devero ser considerados para a metodologia para o projeto prtico do BD; 3)
(normalmente) o banco de dados para a utilizao de multiusurios, o que implica em diferentes
aplicativos (e plataformas) para acesso base dos dados.

Para Pesquisar
10. Realize pesquisa na Internet, em jornais, revistas, livros, artigos e outros meios sobre
Algoritmos para Processamento e Otimizao de Consultas, destacando o processamento de
consultas, sua otimizao e seu surgimento. Cite as referncias pesquisadas.
Uma consulta, para ser bem definida, necessita ser lida, analisada e validada. A leitura identifica os
tokens (smbolos) e o analisador sinttico verifica se sintaxe da consulta est em acordo das regras
sintticas da linguagem. A validao se d em relao aos nomes de atributos e relaes junto ao
esquema do banco de dados a ser conultado.
O SGBD precisa idealizar uma estratgia de execuo ou plano de consulta para recuperar os dados
requeridos com base no banco de dados disposto. Tal estratgia de execuo mltiple sendo,
ento, importante a realizao de uma otimizao de consulta para o processo da escolha de melhor
estratgia. Elmasri e Navathe assim dispem as etapas para a definio de um processo de consulta
(extrado de https://www.ime.usp.br/~jef/bd12.pdf):

Os passos que so seguidos para a otimizao de consultas so:


1) traduo de consultas SQL para lgebra relacional.
2) algoritmos bsicos para a execuo de consultas: ordenao externa; seleo; juno; projeo e
conjunto; agregao.
3) heurstica na otimizao de consultas.
4) estimativa de custos.
1) Traduo de consultas SQL para lgebra relacional.
As consultas em SQL so decompostas em blocos onde devem ser transformados em expresses de
lgebra relacional. Tal transformao, realizada internamente, considera a ordem de execuo entre
eles. Cada bloco constitudo de um nico comando SELECT-FROM-WHERE, e podem incluir
clusulas GROUP BY e HAVING.
Exemplo:
SELECT SOBRENOME, NOME
FROM EMPREGADO
WHERE SALARIO (SELECT MAX(SALARIO)
FROM EMPREGADO
WHERE NUD=5);
Em lgebra relacional:
MAX SALARIO (NUD=5 (EMPREGADO))
SOBRENOME, NOME (SALARIO > C (EMPREGADO))

Praticando
11. Descreva, com suas palavras, as Tcnicas de Controle de Concorrncia, seus aspectos mais
relevantes, Isolamento de Transao e Bloqueios.

Sintetizando e Enriquecendo
12. Baseado no contedo do Captulo 11, sintetize as principais Tcnicas de Recuperao de
Dados.