Normalização

terça-feira, 1 de dezembro de 2009

Normalização


1)Quais são as diretrizes informais para o projeto de esquema de relações? Explique resumidamente cada uma.

R: No total são quatro diretrizes: primeira diretriz da semântica tem como objetivo projetar um esquema de relação de maneira que seja simples descrever seu significado;
Segunda projetar esquemas de relações de maneira que nenhuma anomalia de alteração ocorra em relações;
Terceira diretriz diz esta ligada a valores nulos, ela evita colocar atributos em um esquema de relação base cujo valor possa ser null;
Quarta diretriz corresponde a tuplas espúrias o objetivo principal é projetar esquemas de relação tal que, quando aplicadas operações JOIN-NATURAIS, os atributos nas condições-joins envolvam atributos que sejam ou chaves primarias ou chaves estrangeiras de maneira a garantir que nenhuma tupla espúria seja gerada;


2)Quais são as métricas de qualidade informal para projeto de esquemas de relações? Explique resumidamente cada uma delas.

R: São quatro métricas (Semântica de Atributos, Informação redundante ou anomalias de atribuição, valor null em tuplas e não permissão de tuplas espúrias).
Semântica de atributos: verificar se o atributo caracteriza (pertence) mesmo aquela entidade.
Informação redundante ou anomalias de atribuição: verificar se os atributos geram redundância e, portanto desperdício de espaço.
Valor null em tuplas: uma relação degenerada (tabelão) pode causar valores null, o que prejudica a interpretação dos dados.
Não permissão de tuplas espúrias: tabelas degeneradas, quando relacionadas podem gerar informações/ dados errôneos (tupla espúrias)


3)O que é e para que serve o conceito de dependência funcional? Quais são os tipos de dependência? Explique-os

R: dependência funcional: Dependências Funcionais são restrições ao conjunto de relações válidas. Elas permitem expressar determinados fatos em banco de dados relativos ao empreendimento que se deseja modelar. Anteriormente foi definido o conceito de superchave. Para existir o destino (dependência -->chave estrangeira) tem que existir a origem (chave primaria). O atributo deve realmente caracterizar a relação.


4)O que é e para que serve normalização de dados relacionais? Quando será utilizada a normalização na maioria das vezes?

R: Eliminar redundâncias e inconsistências de um banco de dados, com reorganização mínima dos dados, é o processo pelo qual transformamos um BD fora do padrão do m-rel, num BD normalizado (dentro do padrão m-rel). Normalmente é usado em BD antigos ou criado por pessoa não técnica.


5)O que são e quantas são as formas formais de relação? Explique-as resumidamente. Para manter eficiência e a simplicidade de processamento em certos casos podemos normalizar as relações até a 3ºFN por quê?

R: O objetivo da normalização de um banco de dados é evitar os problemas que podem provocar falhas no projeto do banco de dados, bem como eliminar a mistura de assuntos e as correspondentes redundâncias dos dados desnecessárias. O processo de normalização aplica uma série de regras sobre as tabelas (também chamadas de relações) de um banco de dados, para verificar se estão corretamente projetadas.
Primeira Forma Normal: A primeira forma normal enuncia que cada atributo de uma entidade ou relacionamento pode armazenar apenas um valor. Tabelas com atributos multi-valorados não são consideradas em 1NF.
Segunda Forma Normal: A segunda forma normal (2NF) descreve que todo atributo deve ser determinado unicamente pela chave primária. Se existem atributos que dependem apenas de parte da chave, estes devem ser separados em tabelas onde a 2NF seja obedecida.
Terceira Forma Normal: A terceira forma normal (3NF) exige que a tabela esteja em 2NF e que todos os atributos que não são chave sejam mutuamente independentes, isto é, que não existam funções que definam um ao outro. Portanto, sempre a chave por inteiro deve definir toda a tabela.
Forma normal Boyce/Codd (BCNF): Definição que engloba as outras formas normais, e define que uma tabela está em BCNF se, e somente se, todo determinante funcional for em relação a uma chave candidata. Na prática, uma tabela está em BCNF se estiver em 3NF e não existir dependência funcional dentro da chave primária.


6)Dê exemplos de normalizações de uma relação.

R: FUNCIONÁRIOS = {CODFUNC + NOME + CARGO + {PROJETO + DATAINI + DATA FIM}}
Para colocar na 1FN:
FUNCIONÁRIOS = {CODFUNC + NOME + CARGO}
FUNC_PROJ = {CODFUNC + PROJETO + DATAINI + DATA FIM}

Algebra Relacional (Exercícios)

quarta-feira, 18 de novembro de 2009

Algebra Relacional (Exercícios)

Seleção

1) Mostre o conteúdo da relação departamentos.

R: Signa(σ)(departamento)

2) Mostre os empregados que trabalham no departamento 4.

R: Sigma(σ)=4 (Departamento)


3) Mostre a(s) localização(ões) do departamento de pesquisa (5).

R: Signa(σ) = 5 (Locais_depto)


4) Mostre o(s) projeto(s) do departamento 4.

R: Signa(σ) = 4 (Projetos)


5) Mostre as informações de relação trabalha_em cujo número do projeto igual a 3.

R: Signa(
σ) = 3 (Trabalha_em)

Projeção

1) Mostre o número e o nome dos dependentes.

R:PI(
π)nssemp, nomedep(Dependente)

2) Mostre o nome e a localização dos projetos

R: PI(
π)pnome, plocalização(Projetos)

3) Mostre o nome e o código do gerente dos departamentos.

R: PI( π)DNOME, SNNGER (Departamento)

4) Mostre o nome e a data de nascimento dos empregados.

R: PI( π)PNOME, DATANASC (Empregado)

5) Mostre o nome e o salário dos empregados.

R: PI( π)PNOME, SALÁRIO (Empregado)

Seleção + Projeção

1) Mostre o código, nome e o salário dos empregados que ganham mais de 2500.

R: PI( π)PNOME, NSS, SALARIO(Signa(σ)SALARIO>2500(EMPREGADO))

2) Mostre o nome e a localização dos projetos do departamento 5.

R: PI( π)PNOME, PLOCALIZAÇÃO(Signa(σ)DNUM=5(PROJETO))

3) Mostre o número do empregado e o número do projeto cujas horas são maiores que 10.

R: PI( π)NSSEMP, PNRO (G_horas > 10 (Trabalham_em))

4) Mostre o nome e o sexo do dependente cujo número do empregado é igual a 123456789.

R: PI( π)NOMEDEPENDENTE, SEXO (GNSSEMP=123456789(DEPENDENTE)

5) Mostre o nome, relação e a data do aniversário dos dependentes cujo número do empregado é igual a 333445555.

R: PI( π)NOMEDEPENDENTE, DATANIV, RELAÇÃO (GNSSEMP = 333445555 (DEPENDENTE)


Junção

1) Mostre o nome e o salário do empregado e o nome e a relação dos seus dependentes.

R: PI( π)PNOME, SALARIO, NOMEDEPENDENTE, RELAÇÃO (EMPREGADOҲNSS=NSSEMP DEPENDENTE)

2) Mostre o nome do departamento e o nome e o salário do empregado que é o seu gerente.

R: PI( π)D.DNOME,E.PNOME,E.SALARIO(EMPREGADO.E Ҳ E.NSS=DSSNGER DEPARTAMENTO.D)

3) Mostre o nome do departamento e a sua localização.

R: PI( π)DNOME, L.LOCALIZAÇÃO (DEPARTAMENTO D X DNUMERO = LNÚMERO LOCAIS – DEMO L)

4) Mostre o nome do projeto, sua localização e o departamento ao qual pertence.

R: PI( π)DNOME, PLOCALIZAÇÃO, DNOME (PROJETO X DNUMERO = NUMERO DEPARTAMENTO)

5) Mostre o nome do empregado e o nome do projeto nos quais eles trabalharam.

R: PI( π)DNOME, P.PNOME (EMPREGADO E X NSSEMP TRABALHAEMT ) X TPNRO = P.PNÚMERO PROJETO P)

Agregação

1) Mostre a quantidade de empregados do sexo masculino e a quantidade de empregados do sexo feminino.

R: SEXO (ƒ) CAUNT NSS(EMPREGADO)

2) Mostre a quantidade de dependentes do sexo masculino e a quantidade de dependentes do sexo feminino do empregado cujo número é 123456789.

R: SEXO (ƒ) CAUNT NSSEMP(Signa(σ) NSSEMP=123456789(DEPENDENTE))

3) Mostre o nome e o salário do empregado e a quantidade de dependentes que possui.

R: PI( π)DNOME, SALARIO, (ƒ) COUNT NOMEDEPENTE (EMPREGADO X NSS=NSSEMP DEPENDENTE)

4) Mostre a despesa total de cada departamento com os salários dos empregados.

R: DNOME (ƒ) SUM SALARIO (EMPREGADO X NDEP = DNÚMERO DEPARTAMENTO)

5) Mostre a soma total das horas empregadas em cada projeto.

R: PNRO (ƒ) SUM HORAS (TRABALHA_EM) PNOME (ƒ) SUM HORA( TRABALHA_EM X PNRO = PNUMERO PROJETO)

Álgebra Relacional

quinta-feira, 29 de outubro de 2009
Álgebra Relacional


1) Quantos e Quais são os grupos nos quais a álgebra relacional está dividida? Identifique quais operações pertencem a cada um deles.


R: A álgebra relacional é dividida em dois grupos, que são:

Union: A operação de união para funcionar tal como na teoria dos conjuntos necessita que as relações a se unir tenham o mesmo número de atributos e que os domínios dos atributos correspondentes coincidam.

Intersection: A operação de interseção retorna uma relação que contém as tuplas que estejam em ambas as relações argumentos da interseção.

Difference: A operação diferença encontra as tuplas que estão em uma relação mas não estão na outra. Para encontrar os usuários do banco que na agência Madureira tenham conta corrente mas não tenham empréstimos pode-se escrever

Cartesian Product: O Produto Cartesiano de duas relações é denotado por ´. O resultado da operação r1 ´ r2 é uma nova relação com uma tupla para cada possível par de tuplas de r1 e r2. Para evitar ambigüidade os atributos tem seus nomes concatenados com os nomes das relações a que pertencem.

Depois vem o SELECT,PROJECT e JOIN que são para o desenvolvimento de operações desenvolvidas para base de dados relacionais.


2) Explique a Operação SELECT e PROJECT. Quando usar, Para que usar, Como usar, diferenças, etc.

R: Select: seleção de subconjuntos de tuplas de uma relação, ele é utilizado quando for necessário selecionar um registro ou uma tabela, a seleção é utilizada para formar uma condição de seleção composta.
Como usar:

SELECT*FROM TABELA.

Project: quando necessário selecionar e descartar colunas de uma tabela que serve para projeção de atributos, pode ser utilizado PROJECT quando ha necessidade de listar atributos.
Como usar (exemplo):

NOME_C, ENDEREÇO_C, TELEFONE (CLIENTE).


3) Explique a Operação UNION, INTERSECTION e DIFFERENCE. Quando usar, Para que usar, Como usar, etc.

R: A operação UNION é uma operação binária que cria uma relação partindo de duas outras relações, estabelecendo assim, a união de todas as tuplas dessa nova relação.

INTERSECTION é uma operação binária que cria uma relação partindo de duas outras relações, estabelecendo assim a intersecção das duas, gerando uma nova relação as quais estarão presentes apenas os dados pertencentes às duas condições pré-estabelecidas.

DIFFERENCE É uma operação que cria uma relação partindo de duas outras relações, o qual resultará em uma nova relação que contenha todas as tuplas que pertençam à primeira relação e não pertença à segunda.
Entretanto UNION E INTERSECTION são utilizadas em operações comutativas.


4) Explique a Operação CARTESIAN PRODUCT. Quando usar, Para que usar, Como usar, etc.

R: Operação binária que permite a combinação de informações de duas relações quaisquer, assim a relação resultante conterá todas as tuplas da primeira relação relacionadas às da segunda relação. Seu símbolo é: ×.Exemplo: K = conjunto de todos os códigos dos moradores de “Petrópolis” L = conjunto de todos os códigos de filmes de 2001
C = K × L
#C - #F
C3 - F3
C3 - F5
C5 - F3
C5 - F5

5) Explique as Operações de junção (JOIN) e divisão (DIVISION). Quando usar, Para que usar, Como usar, etc.

R: Esta operação tem como objetivo unir duas tabelas, as quais possuem um atributo em comum. Este tipo de operação é muito utilizado quando tratamos de relacionamentos com chaves estrangeiras, em que é realizada uma seleção a partir dos atributos de um relacionamento sobre um produto cartesiano das tabelas. Seu símbolo é: x.
Clientes|X|Locação = σ Clentes.#C = Locação.#C (Clientes x Locação)
Exemplo:
πnome, idade(σ #F = F2 (Clientes |X| Locação))

Nome - Idade

João - 21
Carlos- 41
Carol - 60
Carol - 60

É apresentado os nomes e as idades dos clientes que alugaram o filme de código “F2”. Observa-se a repetição da cliente Carol, pois esta realiza duas locações do mesmo filme. Para resolvermos este problema, pode-se utilizar a operação de Junção Natural (Natural Join), na qual obtemos o mesmo resultado, porém sem repetições.

Nome - Idade
João - 21
Carlos - 41
Carol - 60


6) Explique as Operações de AGREGAÇÃO. Quando usar, Para que usar, Como usar, etc.

R: Uma operação de agregação calcula um valor Simples de uma coleção de valores, ou seja, reunir os registro de tabela, em grupos sobre os quais podem ser aplicadas funções agregadas, como Soma (SUM), Media (AVG), Maximo (MAX), Mínimo (MIN), Contar (COUNT).
Exemplo usando SQL contar quantos registros existem na tabela Cliente: Select count(*) from Cliente

quinta-feira, 24 de setembro de 2009

Apresentação sobre Firebird

MRel - Modelo Relacional

sexta-feira, 11 de setembro de 2009
MRel - Modelo Relacional

1. Explique conceitualmente a diferença entre o MER e o Modelo de Dados Relacional, ou simplesmente Modelo Relacional (MRel).

R: A diferença entre eles é que no MER utiliza dados conceituais de alto-nível e o MRel utiliza implementação de dados mais simples.
O MER é um modelo de dados conceitual de alto-nível. Assim, os conceitos do MER foram projetados para serem compreensíveis a usuários, descartando detalhes de como os dados são armazenados. E já o MRel os modelos de dados de implementação são mais simples com uma estrutura de dados uniforme e o mais formal. E os modelos de dados relacional apresenta os dados da base com uma coleção de relações, cada relação poderá ser estendida como uma tabela ou um simples arquivo de registro.
Atualmente, o conceito MER é utilizado principalmente durante processo de projetos da base de dados, estima-se que esse conceito possa ser utilizado diretamente em uma classe de SGBS’s.

2. Explique os conceitos de Instância, Esquema e Domínio no MRel. Explique as notações no MRel.

R: Criado por Edgar Codd, nos anos 70, começou a ser utilizado nas empresas a partir de 1987, através do SGBD’s. A abordagem relacional está baseada no principio de que as informações em uma base de dados podem ser consideradas como relações matemáticas e que estão representadas de maneira uniforme, através do uso de tabelas, ou falando de uma forma direta um arquivo, porem um arquivo é mais restrito que uma tabela.
Numa tabela de alunos aonde contenha os itens RA , NOME, END, TELEF, IDADE. Esta é representação de uma tabela no modelo Relacional.
O domínio de um atributo, em geral, um tipo de dado que especifica o que pode receber. EX: Numero de salas de aula. –conjunto. Dos nume. De 1 a 150, inteiros no formato 999.
Nomes d alunos. –conjunto de todos os nomes possíveis para pessoas no formato String.
Cod. de Disciplinas. –conjunto. de três letras seguidas de um traço e de três dígitos: AAA-999.
É um conjunto de valores atômicos, que significa um valor indivisível e monovalorado.
Relações: dado seguinte esquema de uma Relação de alunos:
Aluno = {Nome, RG, Idade}
Uma possível instanciação para esse esquema é a Relação:
R(Aluno)={.

A instância de uma relação em um determinado momento é toda a relação no momento, ou seja, uma instancia de Alunos são todos os alunos cadastrados no momento. Se amanhã acrescentar mais alunos, a instância será todos os alunos antigos mais os novos.

3. Explique os conceitos de super-chave, chave candidata e chave estrangeira?
R: Super-Chave e uma chave com mais atributos que uma chave primária normal, Chave Candidata é aquela que pode ser candidata a chave primária, já chave estrángeira e uma chave primaria em uma tabela que é representada em outra tabela, denominandose chave estrângeria.

4. Explique o conceito de integridade no MRel?

R: As restrições de chave e de integridade de entidade aplicam-se apenas a relações individuais. A restrição de integridade referencial é uma restrição que é especificada entre duas relações e é usada para manter a consistência entre tuplas de duas relações.
Informalmente, a restrição de integridade referencial estabelece que um tupla de uma relação que se refere à outra relação deve se referir a uma tupla existente naquela relação. Não existe uma representação formal para chave estrangeira. Normalmente, identifica-se um arco direto de cada chave estrangeira à relação que ela faz referência.

5. Explique o conceito de integridade referencial no MRel.

R: Uma Chave Estrangeira ou Integridade Referencial ocorre quando um conjunto de atributos C
Informalmente, a restrição de entidade referencial declama que uma tupla em uma relação, que faz referência a outra relação, deve se referir a uma tupla existente nessa relação. O conceito de Integridade Referencial depende do conceito de Chave Estrangeira.

6. Explique os conceitos de Intenção e Extensão no MRel. Quais são as operações de atualização sobre relações?

R: Foi introduzido por Codd (1970). Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. É um modelo formal, baseado na teoria matemática das relações.
Um dos SGBD's precursores que implementaram este modelo foi o System R (IBM). Baseado em seus conceitos surgiram: DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase entre outros.

DER – Diagrama Entidade Relacionamento

quarta-feira, 2 de setembro de 2009



DER – Diagrama Entidade Relacionamento


1) CADASTRO NACIONAL DE VEÍCULOS: Você apresentará um modelo de dados para o cadastro nacional de veículos. Sabe-se que:

  • O veículo possui sempre uma placa única em todo o país;
  • O veículo possui sempre um responsável legal por ele. É necessário manter o histórico desta responsabilidade (propriedade);
  • O veículo pertence sempre a uma categoria;
  • O veículo é sempre de uma marca e de um modelo e possui ano de fabricação.





2) BIBLIOTECA: Você irá elaborar um modelo de dados para atender as necessidades de informação de uma biblioteca universitária. São elas:
  • O cadastro dos usuários com endereço completo, inclusive com a informação do curso do usuário e data de início e de término previsto
  • O cadastro das obras da biblioteca, com a devida classificação: livros científicos, periódicos científicos, periódicos nformativos, periódicos diversos, entretenimento, etc.;
  • A língua em que encontra-se a obra;
  • A mídia onde encontra-se a obra;
  • Os autores da obra com o controle da nacionalidade do autor;
  • As editoras dos exemplares com o ano de edição;
  • Os usuários estão classificados entre alunos, professores e funcionários, sendo que para os professores não serão considerados limites de volumes para empréstimos, nem possíveis atrasos na devolução deste.
  • O histórico dos empréstimos

    3) CONTROLE DE ESTOQUE. Uma empresa do comércio varejista, deseja fazer o controle de estoque de seu estabelecimento. Para facilitar a administração do seu estoque, a organização criou uma estrutura de almoxarifados, onde um produto pode ser estocado em vários almoxarifados e um almoxarifado pode conter vários produtos. A reposição de estoque acontece quando os produtos adquiridos de um fornecedor chegam com sua respectiva nota fiscal de compra. Já a baixa do estoque se dá quando ocorre a emissão de uma nota fiscal de venda para um determinado cliente. Além disso, deseja-se classificar os produtos em linhas a serem determinadas pelo usuário de acordo com a sua necessidade.


4) EMPRESA DE FLORES. A X.P.T.O LTDA. criou a FLOWERNET, uma rede que tem como objetivo atender todo o mercado nacional no que diz respeito à venda e entrega de flores. Através desta rede, um cliente pode fazer uma compra de flores em Belo Horizonte e pedir para a entrega ser feita em Fortaleza. Para isso a X.P.T.O firmou convênio com várias floriculturas em várias cidades do Brasil. Uma floricultura pode atender várias cidades da região. O pedido do cliente, que pode possuir vários tipos de flores, é cadastrado e repassado para uma das floriculturas conveniadas que atendem a cidade, na qual será entregue o pedido.

5) APURAÇÃO ELEITORAL. Para facilitar o processamento da apuração eleitoral da eleição municipal a ser realizada nesse ano, o TRE (Tribunal Regional Eleitoral) resolveu informatizar esse processo. Sabe-se que cada localidade é dividida em várias zonas eleitorais que, por sua vez, são divididas em várias seções nas quais os eleitores estão vinculados. O candidato a um cargo público deve estar vinculado a um único partido político. Vale ressaltar que, segundo a legislação vigente, o voto é secreto.


6) CONCURSO PÚBLICO. Uma organização deseja implementar o procedimento de concurso público para tornar transparente o seu processo de seleção de pessoal. Esta organização possui vários departamentos, que por sua vez, possui vários cargos. O mesmo cargo pode estar vinculado à vários departamentos. Um concurso público é realizado para vários cargos, e um cargo pode ser oferecido em vários concursos. O candidato faz inscrição em somente um cargo oferecido em um concurso público. O concurso tem várias etapas, que tem a participação de vários candidatos. O candidato obtém a nota em cada etapa que participa. A etapa pode ser classificatória ou eliminatória.


MER - Modelo Entidade Relacionamento

quarta-feira, 26 de agosto de 2009

MER - Modelo Entidade Relacionamento


1) Explique o conceito do MER e a sua importância no relacionamento entre os profissionais da informática e os demais profissionais.


R: O MER é um modelo de dados conceitual de alto-nível ele consiste em mapear o mundo real do sistema em um modelo gráfico que irá representar o modelo e o relacionamento existente entre os dados. Este modelo foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de um esquema que representa a estrutura lógica global do Banco de Dados. Assim, os conceitos do MER foram projetados para serem compreensíveis a usuários, assim tendo uma ampla visão do que esta sendo projetado e de fácil entendimento a todos os profissionais, descartando detalhes de como os dados são armazenados. Atualmente, o MER é usado principalmente durante o processo de projeto da base de dados.


2) Explique e comente o conceito de entidades e atributos.


R: O objeto básico que o MER representa é a entidade. Uma entidade é algo do mundo real que possui uma existência independente. Uma entidade pode ser um objeto com uma existência física - uma pessoa, carro ou empregado - ou pode ser um objeto com existência conceitual - uma companhia, um trabalho ou um curso universitário. Cada entidade tem propriedades particulares, chamadas atributos, que o descrevem. Por exemplo, uma entidade empregada pode ser descrita pelo seu nome, o trabalho que realiza idade, endereço e salário. Uma entidade em particular terá um valor para cada um de seus atributos. Os valores de atributos que descrevem cada entidade ocupam a maior parte dos dados armazenados na base de dados.


Alguns atributos podem ser divididos em subpartes com significados independentes. Por exemplo, Endereço da entidade e podem ser dividido em Endereço da Rua, Cidade, Estado e CEP. Um atributo que é composto de outros atributos mais básicos é chamado composto. Já, atributos que não são divisíveis são chamados simples ou atômicos. Atributos compostos podem formar uma hierarquia.


Atributos compostos são úteis quando os usuários referenciam o atributo composto como uma unidade e, em outros momentos, referenciam especificamente a seus componentes. Se o atributo composto for sempre referenciado como um todo, não existe razão para subdividi-lo em componentes elementares.


Em outros casos, um atributo pode ter um conjunto de valores. Tais atributos são chamados de atributos multivalorados (exemplo, Telefone). Atributos multivalorados podem possuir uma multiplicidade, indicando as quantidades mínima e máxima de valores.


Em alguns casos, dois ou mais atributos são relacionados. Por exemplo, Idade e Data de Nascimento de uma pessoa. Para uma entidade pessoa em particular, a Idade pode ser determinada a partir da data atual e da Data de Nascimento. Atributos como Idade são chamados atributos derivados.


3) Explique e comente o conceito de relacionamento.


R: Um banco de dados é composto por diversas tabelas, como por exemplo: Clientes, Produtos, Pedidos, Detalhes do Pedido, etc. Embora as informações estejam separadas em cada uma das Tabelas, na prática devem existir relacionamentos entre as tabelas para que elas possam se comunicar uma com a outra. Por exemplo: Um Pedido é feito por um Cliente e neste Pedido podem existir diversos itens, itens que são gravados na tabela Detalhes do Pedido. Além disso, cada Pedido possui um número único (Código do pedido), mas um mesmo Cliente pode fazer diversos pedidos e assim por diante.

Em um banco de dados, precisamos de alguma maneira para representar estes relacionamentos da vida Real, em termos das tabelas e de seus atributos, os quais podem ser de três tipos de relacionamento: Um para Um, Um para Muitos, Muitos para Muitos.

Um para um à Esta relação existe quando os campos que se relacionam são ambos do tipo Chave Primária, em suas respectivas tabelas. Cada um dos campos não apresenta valores repetidos. Na prática existem poucas situações onde se utiliza um relacionamento deste tipo.

Um para Muitos à Este é, com certeza, o tipo de relacionamento mais comum entre duas tabelas. Uma das tabelas (o lado um do relacionamento) possui um campo que é a Chave Primária e a outra tabela (o lado vários) se relaciona através de um campo cujos valores relacionados podem se repetir várias vezes.

Muito para Muitos à Este tipo de relacionamento "aconteceria" em uma situação onde em ambos os lados do relacionamento os valores poderiam se repetir. Pode ter Vários Pedidos nos quais aparecem um determinado produto, além disso, vários Produtos podem aparecer no mesmo Pedido.


4) Explique e comente o conceito de atributo-chave.


R: O atributo-chave permite identificar e diferenciar uma dupla de outra. Através do uso de chaves estabelece a restrição onde proíbe que duas entidades tenham, simultaneamente, o mesmo valor para o atributo-chave.


5) Explique o conceito do DER e a sua importância no relacionamento entre os profissionais da informática e os demais profissionais.


R: O DER trata de uma ferramenta de modelagem usada para definir as informações necessárias ao um modelo baseado em entidades e relacionamentos. Sendo responsável por mostrar de maneira gráfica os relacionamentos entre as entidades do banco de dados.
Sua importância busca minimizar dificuldades reproduzindo ou simulando modelos da realidade de forma mais amigável através de ambientes gráficos e interfaces ricas, simplificando sobremaneira a complexidade do ambiente computacional.


6) Dê ou faça um exemplo de um DER e explique o mesmo.


R: A figura ilustra um DER simples para a representação de pessoas que trabalham em uma empresa. Ele possui duas entidades (Pessoa e Empresa), um relacionamento (trabalha Em) e seis atributos, sendo três em cada entidade (Pessoa: CPF, nome, data Nascimento; Empresa: CNPJ, nome, endereço). Além disso, o relacionamento tem cardinalidade N para 1, ou seja, cada pessoa trabalha em uma empresa, e cada empresa pode ter N pessoas trabalhando.