Você está na página 1de 13

MEMOREX BANCO DE DADOS

por Paulo Marcelo paulo1410@hotmail.com 10/10/2009


Esse o terceiro memorex destinado aos concurseiros de TI. Neste material, foram compilados os principais conceitos sobre banco de dados e as clusulas SQL avanadas (grupos, funes agregadas, subconsultas, etc) que costumam confundir at os candidatos mais experientes sobre o assunto. Questes comentadas encontram-se ao final do material. Agradecimento ao concurseiro Diogo Fagundes [diofagor] que pacientemente comentou a maioria das questes. Bons estudos a todos!

Memorex anteriores: http://www.scribd.com/doc/16787717/Memorex-Redes http://www.scribd.com/doc/17101886/Memorex-PMBOK-2004

Errata: No Memorex de Redes a seguinte questo elaborada pelo cespe: O criptossistema Diffie Hellman define uma forma segura de troca de chaves est errada devido a vulnerabilidade ao ataque man-in-themiddle e nada tem a ver com termo criptossistema como consta no material.

O texto a seguir foi compartilhado por um membro da lista timaster. Fica a reflexo.

Um Meio ou uma Desculpa No conheo ningum que conseguiu realizar seu sonho, sem sacrificar feriados e domingos pelo menos uma centena de vezes, da mesma forma, se voc quiser construir uma relao amiga com seus filhos, ter que se dedicar a isso, superar o cansao, arrumar tempo para ficar com eles, deixar de lado o orgulho e o comodismo. Se quiser um casamento gratificante, ter que investir tempo, energia e sentimentos nesse objetivo. O sucesso construdo noite! Durante o dia voc faz o que todos fazem. Mas, para obter um resultado diferente da maioria, voc tem que ser especial. Se fizer igual a todo mundo, obter os mesmos resultados, no se compare maioria, pois infelizmente ela no modelo de sucesso, se voc quiser atingir uma meta especial, ter que estudar no horrio em que os outros esto tomando chopp com batatas fritas. Ter de planejar, enquanto os outros permanecem frente da televiso. Ter de trabalhar enquanto os outros tomam sol beira da piscina. A realizao de um sonho depende de dedicao, h muita gente que espera que o sonho se realize por mgica, mas toda mgica iluso, e a iluso no tira ningum de onde est, em verdade a iluso o combustvel dos perdedores, pois.... 'Quem quer fazer alguma coisa, encontra um meio'. 'Quem no quer fazer nada, encontra uma desculpa'. Roberto Shinyashiki

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

CHAVES
Especifica como entidades e relacionamentos so identificados. Conceitualmente, entidades e relacionamentos individuais so distintos, mas numa perspectiva de banco de dados a diferena entre eles precisa ser expressa em termos de seus atributos. O conceito de super-chave permite-nos fazer tais distines. Uma superchave um conjunto de um ou mais atributos que, tomando coletivamente, permite-nos identificar unicamente uma entidade no conjunto de entidades. Por exemplo, o atributo SeguridadeSocial do conjunto de entidades cliente suficiente para distinguir uma entidade cliente das outras. Desta forma, seguridade-social uma super-chave. De forma semelhante, a combinao NomeCliente e SeguridadeSocial uma super-chave para o conjunto de entidades cliente. O atributo NomeCliente de cliente no uma super-chave, pois diversas pessoas podem ter o mesmo nome. O conceito de super-chave no suficiente para nossos propsitos, pois ela pode ter atributos redundantes (ou seja atributos no necessrios para serem nicos). Ex: se K uma super-chave, ento um subconjunto de K tambm poder ser. Toda a relao tem, no mnimo, uma super-chave que a juno de todos os seus atributos. Frequentemente, procuramos super-chaves que no contenham nenhum subconjunto prprio que seja uma superchave. Tais super-chaves mnimas so chamadas chaves candidatas. Utilizaremos o termo chave primria para denotar uma chave candidata que escolhida por um projetista de banco de dados como meio principal de identificao de entidades dentro de um conjunto de entidades. possvel que diversos conjuntos distintos de atributos possam servir como uma chave candidata. Suponha que uma combinao de NomeCliente e rua seja suficiente para distinguir entre membros do conjunto de entidades cliente. Ento ambos, {SeguridadeSocial} e {NomeCliente, rua}, so chaves candidatas. Embora os atributos SeguridadeSocial e NomeCliente juntos possam distinguir entidades de cliente, sua combinao no forma uma chave candidata, uma vez que o atributo SeguridadeSocial sozinho uma chave candidata. Chaves estrangeiras podem ser definidas como sendo um conjunto de atributos pertencentes a um esquema de relao que constituem chaves primrias ou candidatas em outros esquemas independentes. Diferentemente da chave primria, uma chave estrangeira pode conter valores nulos. Chave primria e chave estrangeira no podem ser multivaloradas

Normatizao - Um aspecto importante na modelagem de dados consiste na normalizao de dados, realizada com o objetivo de eliminar redundncias e possveis inconsistncias no modelo de dados. Vrias tabelas estreitas com menos colunas so caractersticas de um banco de dados normalizado. Poucas tabelas largas com mais colunas so caractersticas de um banco de dados no normalizado. Diz-se que uma tabela est na primeira forma normal quando ela no contm tabelas aninhadas (grupo repetido 1FN: ou coluna multivalorada ou coluna no atmica) Uma tabela est na 2FN se, alm de estar na 1FN, no possuir dependncias funcionais parciais, ou seja, todos 2FN: os atributos no-chave devem depender funcionalmente da chave primria inteira. S ocorre com chaves primrias compostas Uma tabela est na 3FN se, alm de estar na 2FN, no possuir dependncias transitivas entre os atributos. 3NF: Dependncias transitivas ocorrem quando um atributo no-chave depende de outro que no chave da relao BCNF : Uma tabela est na BCNF, se e somente se, estiver na 3FN e houve dependncias funcionais no triviais.
Alguns benefcios da normalizao incluem o seguinte: Classificao e criao mais rpidas dos ndices. Um nmero maior de ndices clusterizados ndices mais estreitos e mais compactados. Menos ndices por tabela. Isto melhora o desempenho das instrues INSERT, UPDATE e DELETE. Menos valores nulos e menos oportunidades de inconsistncias. Isto aumenta a densidade do banco de dados.

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

Uma associao NxM viola a 1FN devido a ocorrncia de repeties de tuplas do lado da chave primria. CESPE: No modelo ER, um atributo cujos valores so distintos para cada entidade individual de um conjunto de entidades de determinado tipo denominado atributo-chave. [CORRETO] CESPE: O grau de um tipo de relacionamento o nmero de tipos de entidades participantes desse tipo de relacionamento. [CORRETO] Trata do conceito de grau para o modelo entidade-relacionamento que o nmero de entidades que participam de relao, por exemplo, no relacionamento ternrio o grau 3, uma vez que trs entidades se relacionam. CESPE: No modelo de banco de dados relacional, o grau de uma relao o nmero de atributos do esquema dessa relao [CORRETO] O conceito de grau no Modelo Relacional diferente do de Modelo E/R. No Modelo Relacional o grau dado pelo nmero de atributos, enquanto no E/R dado pelo nmero de entidades

Figura: MER x Modelo Relacional

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

Figura: No modelo relacional, ao nmero de atributos que constituem o esquema de uma relao d-se o nome de grau da relao. Por sua vez, o nmero de tuplas de uma relao designa-se por cardinalidade da relao.

Regras de transformao de um modelo entidaderelacionamento (conceitual) para o modelo relacional lgico:


1) Uma entidade forte ser representada por uma relao (tabela); 2) Para cada relacionamento binrio M:N, ser criado trs relaes: duas relaes a partir das entidades envolvidas e uma nova relao (tabela auxiliar). A tabela auxiliar ter duas chaves estrangeiras referenciando as demais relaes, cada chave estrangeira corresponder a chave primria das relaes referenciadas. CESPE - Os relacionamentos muitos-para-muitos entre dois tipos de entidades, tais como relacionamentos entre funcionrios e projetos, no podem ser representados diretamente na modelagem E-R. [ERRADO] O modelo entidade-relacionamento pode representar todas as restries de cardinalidade: um para um, um para muitos, muitos para um e muitos para muitos. CESPE - O modelo relacional clssico no permite a realizao de relacionamentos com multiplicidade de muitos para muitos. [CORRETO] Deve-se adicionar uma tabela para deixar o modelo relacional na forma 1:N

Entidade fraca uma entidade dependente de outra entidade. Geralmente tem uma associao de 1:N e a entidade fraca caracteriza-se por no possuir um atributo chave. Por exemplo, observe o seguinte diagrama que pretende modelar os funcionrios de uma empresa e o seu agregado familiar.

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

Em um conjunto de entidades sem os atributos necessrios para formar uma chave primria, ou seja, em um conjunto de entidades fracas, a chave primria formada pela chave primria do conjunto de entidades fortes ao qual a existncia do conjunto de entidades fracas est vinculada e por um identificador do conjunto de entidades fracas. [CORRETA] Imagine que voc queira identificar filhos de uma entidade Pessoa! Como identific-los (escolher o mais velho, por exemplo) sem um identificador como a ordem de nascimento deles? Voc realmente precisa de um identificador da entidade fraca! Alm, claro, da chave primria da entidade forte! [WelkeyCosta]

Em um modelo entidade-relacionamento, um relacionamento entre duas entidades sempre bidirecional. [CORRETO] No MER no h unidirecinamento como na UML, entretanto esse no o nico conceito que diferencia o MER da UML, na UML podemos representar a visibilidade de um atributo e representar os mtodos, no MER no; etc.

Dependncia Funcional: A B, A funcionalmente determina B

l-se:
B funcionalmente depende de A B funo de A

Se o valor de uma atributo A permite descobrir o valor de outro atributo B, dizemos que A determina funcionalmente B (A B). Por exemplo: NumeroMatricula NomeAluno, idade, curso. Assim, sempre que o NumeroMatricula se repetir tem-se a repetio de NomeAluno, idade e curso;

Dependncia No Transitiva: Ocorre quando cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primria ou se todos os seus atributos no chave forem independentes entre si.

RESTRIES/ INTEGRIDADES
Uma restrio de unicidade (tambm chamada integridade de entidade ou unique constraint) uma regra que previne valores duplicados em uma ou mais colunas em uma tabela. Restries de unicidade so chaves nicas e chaves primrias. Por exemplo, uma restrio de unicidade pode ser definida em um identificador de fornecedor (supplier identifier) em uma tabela de fornecedor (supplier table) para assegurar que o mesmo identificador de fornecedor no seja atribudo a dois fornecedores (suppliers). Uma restrio referencial uma regra sobre valores em uma ou mais colunas em uma ou mais tabelas. Por exemplo, um conjunto de tabelas compartilha informao sobre fornecedores de uma corporao. Ocasionalmente, um identificador (ID) de fornecedor muda. Pode-se definir uma restrio referencial ditando que o ID do fornecedor na tabela deve (must) igualar-se ao ID do fornecedor nas informaes sobre o fornecedor. A restrio previne operaes de insero, atualizao ou deleo que poderiam de outro modo resultar no desaparecimento de informaes do fornecedor. Uma restrio de checagem (tambm chamada integridade de domnio) determina restries em dados adicionados a uma tabela especfica. Por exemplo, a restrio pode ser adicionada para definir que o nvel salarial de um empregado nunca seja menor que um determinado valor quando os dados salariais forem adicinados ou atualizados em uma tabela de informaes de pessoal.

(CESPE/STF2008) Integridade referencial pode ser definida como uma condio imposta a um conjunto de atributos de uma relao para que valores que apaream nesse conjunto tambm apaream em um certo conjunto de atributos de uma outra relao. GAB: C

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

Uma restrio de integridade UNIQUE KEY requer que cada valor em uma coluna ou conjunto de colunas (chave) seja exclusivo ou seja, duas linhas de uma tabela no podem ter valores duplicados em uma coluna especfica ou conjunto de colunas. A coluna (ou conjunto de colunas) includa na definio da restrio UNIQUE KEY chamada de chave exclusiva. Se a chave UNIQUE contiver mais de uma coluna, tal grupo de colunas considerado uma chave exclusiva composta. As restries UNIQUE KEY permitem a entrada de valores nulos a menos que voc defina as restries NOT NULL para as mesmas colunas. Na realidade, qualquer nmero de linhas pode incluir valores nulos para colunas sem restries NOT NULL porque os valores nulos no so considerados. Um valor nulo em uma coluna (ou em todas as colunas de uma chave UNIQUE composta) sempre satisfaz uma restrio de UNIQUE KEY.

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

OBS: Sem a opo ON DELETE CASCADE, a linha da tabela me no poder ser deletada quando houver referncia a ela na tabela filha. Paulo Marcelo Memorex Banco de Dados paulo1410@hotmail.com

A restrio CHECK (restrio de checagem ou domnio) define uma condio que cada linha deve satisfazer

Projeo: voc pode usar o recurso de projeo da linguagem SQL para escolher as colunas de uma tabela que devem ser retornadas por uma consulta. possvel escolher o nmero de colunas que for necessrio da tabela. representada pela letra grega Pi. A projeo alcanada com a clusula SELECT Seleo ou Restrio: voc pode usar o recurso de seleo da linguagem SQL para escolher as linhas de uma tabela que devem ser retornadas por uma consulta e pode usar vrios critrios para restringir as linhas exibidas. representada pela letra grega Sigma. A Seleo obtida atravs da clusula WHERE Juno: voc pode usar o recurso de juno da linguagem SQL para reunir dados armazenados em diferentes tabelas, criando um vnculo entre eles.

A lgebra relacional consiste de operaes cujos nomes vm da teoria de conjuntos e as principais so:
UNIO (UNION) Que produz uma tabela resultado da unio das tabelas operadas

INTERSEO (INTERSECT) Que cria uma tabela resultado da interseo das tabelas operadas

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

DIFERENA (EXCEPT) Que cria uma tabela contendo tuplas que pertencem primeira tabela operada, mas no pertencem segunda.

PRODUTO CARTESIANO Que gera todas as combinaes possveis entre as t-uplas de duas tabelas.

Esquema Descrio (textual ou grfica) da estrutura de um banco de dados de acordo com um determinado modelo de dados Instncia Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo.

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

TRASAO (MUDANA DE ESTADO/COMPORTAMENTO) Mudanas de estado em um banco de dados so efetuadas por transaes. Uma transao um conjunto de operaes que levam o banco de dados de um estado consistente a outro estado consistente. Mudanas de estado de um banco de dados representam o comportamento desse banco de dados.

CONSISTNCIA Na propriedade de Consistncia, a execuo de uma transao isolada (isto , sem a execuo concorrente de outra transao) preserva a consistncia do banco de dados. A Consistncia garante que uma transao deve ser um programa correto, e suas aes no devem resultar em violaes de restries de integridade definidas para o banco de dados. Assegurar a propriedade de Consistncia aps uma transao tarefa do programador que codifica a transao.

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

PERSITNCIA (DURABILIDADE) Depois de uma transao completar com sucesso (commit), as mudanas que ela fez no banco de dados persistem, at mesmo se houver falhas no sistema. A Durabilidade assegurada tambm pelo prprio sistema de banco de dados, mais especificamente pelo componente de Gerenciamento de Recuperao.

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

MODELO ENTIDADE RELACIONAMENTO (MER)

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

A notao p-de-galinha (crows foot) usada em metodologias alternativas e representada:

Paulo Marcelo

Memorex Banco de Dados

paulo1410@hotmail.com

Você também pode gostar