Tutorial BD Relacional Aula2 (1)

32
1 [Digite texto] ÍNDICE ANALÍTICO CONCEITOS DE BANCO DE DADOS .............................................................................. 3 PROPRIEDADES DE UM BANCO DE DADOS ................................................................. 4 SISTEMA GERENCIADOR DE BANCO DE DADOS SGBD ........................................................ 4 ABSTRAÇÃO DE DADOS ................................................................................................. 5 LINGUAGENS DOS SGBDS ............................................................................................. 5 LINGUAGENS DE DEFINIÇÃO DE DADOS (DDL) ................................................................... 6 LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) ............................................................... 6 ABORDAGEM BD VERSUS PROCESSAMENTO TRADICIONAL DE ARQUIVOS......... 7 USUÁRIOS DE BANCO DE DADOS ............................................................................... 32 ADMINISTRADOR DE BANCO DE DADOS (DBA) ................................................................... 7 PROJETISTA DE BANCO DE DADOS (DBD) .......................................................................... 8 USUÁRIOS FINAIS ............................................................................................................. 8 VANTAGENS DA ABORDAGEM DE BANCO DE DADOS ................................................ 8 CONTROLE DE REDUNDÂNCIA.................................................................................. 8 COMPARTILHAMENTO DE DADOS ............................................................................. 8 RESTRIÇÕES DE ACESSO NÃO AUTORIZADO .............................................................. 8 RESTRIÇÕES DE INTEGRIDADE................................................................................. 8 MANUTENÇÃO DE BACKUP E RECUPERAÇÃO ............................................................ 9 PADRONIZAÇÃO ...................................................................................................... 9 FLEXIBILIDADE ........................................................................................................ 9 DISPONIBILIDADES DE INFORMAÇÕES ATUALIZADAS .................................................. 9 MODELAGEM DE DADOS .............................................................................................. 13 CONCEITOS ................................................................................................................... 13 TIPOS DE ENTIDADES ..................................................................................................... 13 ENTIDADE FRACA ........................................................................................................... 13 CHAVE PRIMÁRIA ........................................................................................................... 14 CHAVE CANDIDATA ......................................................................................................... 15 CHAVE CONCATENADA ................................................................................................... 15 CHAVE ESTRANGEIRA ..................................................................................................... 15 REPRESENTAÇÕES GRÁFICAS ................................................................................... 15 RELACIONAMENTOS ..................................................................................................... 16 CARDINALIDADE ................................................................................................................ 16 MAPEAMENTO DO MER PARA O MODELO DE DADOS RELACIONAL ....................... 20 PRIMEIRO PASSO .......................................................................................................... 21 SEGUNDO PASSO: ............................................................................................................. 22 TERCEIRO PASSO .............................................................................................................. 23 QUARTO PASSO ................................................................................................................ 24 QUINTO PASSO ................................................................................................................. 25

description

banco de dados relacional

Transcript of Tutorial BD Relacional Aula2 (1)

Page 1: Tutorial BD Relacional Aula2 (1)

1

[Digite texto]

ÍNDICE ANALÍTICO

CONCEITOS DE BANCO DE DADOS .............................................................................. 3

PROPRIEDADES DE UM BANCO DE DADOS ................................................................. 4

SISTEMA GERENCIADOR DE BANCO DE DADOS – SGBD ........................................................ 4

ABSTRAÇÃO DE DADOS ................................................................................................. 5

LINGUAGENS DOS SGBDS ............................................................................................. 5

LINGUAGENS DE DEFINIÇÃO DE DADOS (DDL) ................................................................... 6 LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) ............................................................... 6

ABORDAGEM BD VERSUS PROCESSAMENTO TRADICIONAL DE ARQUIVOS......... 7

USUÁRIOS DE BANCO DE DADOS ............................................................................... 32

ADMINISTRADOR DE BANCO DE DADOS (DBA) ................................................................... 7 PROJETISTA DE BANCO DE DADOS (DBD) .......................................................................... 8 USUÁRIOS FINAIS ............................................................................................................. 8

VANTAGENS DA ABORDAGEM DE BANCO DE DADOS ................................................ 8

CONTROLE DE REDUNDÂNCIA .................................................................................. 8

COMPARTILHAMENTO DE DADOS ............................................................................. 8

RESTRIÇÕES DE ACESSO NÃO AUTORIZADO .............................................................. 8

RESTRIÇÕES DE INTEGRIDADE ................................................................................. 8

MANUTENÇÃO DE BACKUP E RECUPERAÇÃO ............................................................ 9

PADRONIZAÇÃO ...................................................................................................... 9

FLEXIBILIDADE ........................................................................................................ 9

DISPONIBILIDADES DE INFORMAÇÕES ATUALIZADAS .................................................. 9

MODELAGEM DE DADOS .............................................................................................. 13

CONCEITOS ................................................................................................................... 13 TIPOS DE ENTIDADES ..................................................................................................... 13 ENTIDADE FRACA ........................................................................................................... 13 CHAVE PRIMÁRIA ........................................................................................................... 14 CHAVE CANDIDATA ......................................................................................................... 15 CHAVE CONCATENADA ................................................................................................... 15 CHAVE ESTRANGEIRA ..................................................................................................... 15

REPRESENTAÇÕES GRÁFICAS ................................................................................... 15

RELACIONAMENTOS ..................................................................................................... 16

CARDINALIDADE ................................................................................................................ 16

MAPEAMENTO DO MER PARA O MODELO DE DADOS RELACIONAL ....................... 20

PRIMEIRO PASSO .......................................................................................................... 21

SEGUNDO PASSO: ............................................................................................................. 22 TERCEIRO PASSO .............................................................................................................. 23 QUARTO PASSO ................................................................................................................ 24 QUINTO PASSO ................................................................................................................. 25

Page 2: Tutorial BD Relacional Aula2 (1)

2

[Digite texto]

SEXTO PASSO ................................................................................................................... 26

EXERCÍCIOS DE MAPEAMENTO ................................................................................... 27

NORMALIZAÇÃO ............................................................................................................ 29

1ª FORMA NORMAL ............................................................................................... 29

2ª FORMA NORMAL ............................................................................................... 30

3ª FORMA NORMAL ............................................................................................... 31

BIBLIOGRAFIA ................................................................................................................ 32

Page 3: Tutorial BD Relacional Aula2 (1)

3

[Digite texto]

Introdução Em uma grande organização, um sistema de Banco de Dados é apenas uma parte de um grande sistema de informação que é utilizado para gerenciar os recursos de informação da organização. Um sistema de informação inclui todos os recursos da organização que estão envolvidos na coleta, gerenciamento, uso e disseminação da informação. Estes recursos incluem os dados por si só, o sistema gerenciador de Banco de Dados, o hardware, o meio de armazenagem, as pessoas na organização que usam e gerenciam os dados, as aplicações que acessam e atualizam os dados, etc. Assim, os sistemas de Banco de Dados formam uma pequena parte de um grande sistema organizacional. Banco de Dados Relacionais

A idéia de banco de dados Relacionais foi apresentada em 1970, por Coad Yourdon, o qual partiu de uma visão intuitiva onde era possível associar um conjunto de atributos de uma entidade do mundo real, como sendo uma relação. Além disso, Coad, propôs a álgebra relacional, que seria um conjunto de operações que iriam atuar sobre estas relações, cujo resultado seria sempre outra relação.

O modelo relacional mostrou-se muito útil para lidar com aplicações comerciais, tornando-se a tecnologia mais difundida na área, nas décadas de 80 e 90.

Este modelo representa os dados armazenados em um Banco de Dados através de relações, as quais contém informações sobre as entidades representadas e seus respectivos relacionamentos. Utiliza o conceito de matrizes, onde as linhas seriam os registros e as colunas seriam os campos. Tal modelo consiste em uma coleção de tabelas, onde cada tabela possui seu respectivo nome.

Conceitos de Banco de Dados Banco de Dados é uma coleção de dados interrelacionados. Dados são fatos que podem ser registrados e que têm um significado. Registro ou Tupla é uma coleção de dados. É dividido em campos que é utilizado para identificar os valores contidos no registro. Veja a figura a seguir:

A figura abaixo representa um registro de um cliente em SGBD Relacional – conceitos

relações de campos e tuplas. Veja a figura abaixo:

Entendendo o que é dado Exemplo: - Telefone (011) 289-3587 com Valdir;

Ou

Telefone:

- DDD: (011)

- Fone: 289-3587

- Contato: Valdir

Importante: Dado é a

menor unidade que em

si possui significância

ao negócio

Page 4: Tutorial BD Relacional Aula2 (1)

4

[Digite texto]

Dorotéia Rua Castilho, 45 15990-000 10/05/80 384.150.122-9

Figura 1 – Representação do SGBD Relacional

Propriedades de um Banco de Dados

Um banco de dados é uma coleção lógica e coerente de dados com algum significado com dados com algum significado em comum.

Um Banco de Dados é projetado, construído e “preenchido” com dados para um propósito específico. Existe sempre um grupo de usuários e um conjunto de aplicações pré estabelecidas que vão trabalhar em torno de um Banco de Dados.

Um Banco de Dados representa algum aspecto do mundo real, também chamado de “Mini-Mundo”. Toda a mudança no mini-mundo deve ser refletida no Banco de Dados.

Um Banco de Dados pode variar em tamanho e Complexidade. Exemplos: Banco de Dados da Receita Federal Banco de Dados de uma micro empresa Esta grande quantidade de informações deve ser bem organizada e bem gerenciada, de modo que permita ao usuário manipular estes dados através de consultas e atualizações.

Um Banco de dados deve ser criado e mantido ou por um pacote de ferramentas específicas ou por um sistema gerenciador de Banco de Dados.

Sistema Gerenciador de Banco de Dados – SGBD Um SGBD é um pacote de ferramentas com um propósito geral que facilita os processos de definição, construção e manipulação de Banco de Dados para qualquer aplicação. Definição de um B.D

É a especificação dos tipos de dados que serão armazenadas no B.D com uma descrição detalhada de cada tipo de dado.

Nome dos Campos

Valores

Nome Endereço Cep Data Nasc CPF

Tupla

Page 5: Tutorial BD Relacional Aula2 (1)

5

[Digite texto]

Construção de um B.D É o processo de armazenagem dos dados em algum meio de armazenamento.

Manipulação de um B.D

Aplicação de algumas funções como a consulta para a recuperação de alguns dados específicos, atualização para refletir mudanças no mini-mundo e a geração de documentos.

Abstração de Dados Quando um usuário utiliza um Banco de Dados, ele não faz idéia da quantidade de informações que ele está manipulando. Isto porque, o SGBD oculta certos detalhes de como os dados são armazenados ou mantidos, proporcionando ao usuário uma visão abstrata dos dados. Os Bancos de Dados são freqüentemente utilizados por pessoas sem conhecimentos na área de Banco de Dados. É missão do SGBD manipular a grande quantidade de dados complexos, sem que o usuário precise se preocupar. Para isto, temos três níveis de abstração. Nível Físico – Nível mais baixo de abstração. Descreve como os dados são armazenados. Descreve com detalhes as estruturas complexas de baixo nível. Nível Conceitual – Descreve quais dados são realmente armazenados no Banco de Dados. Assim como, o relacionamento entre esses dados. Nível Visão – Nível mais alto da abstração no qual se expõem apenas parte do BD. Podem existir diferentes visões para um mesmo banco de dados.

ABSTRAÇÃO

É o ato de separar

mentalmente elementos de uma totalidade

complexa

Visão 1 Visão 2 Visão 3

Nível

Conceitual

Nível

Físico

Page 6: Tutorial BD Relacional Aula2 (1)

6

[Digite texto]

Linguagens dos SGBDs Linguagens de Definição de Dados (DDL)

Conjunto de definições que especificam um esquema de Banco de Dados. O resultado da compilação de instrução DDL é um conjunto formado por tabelas que são armazenadas no catálogo. A estrutura de armazenamento e os métodos de acesso utilizados para SGBD são especificados por um conjunto de definições de uma DDL especial, chamado Linguagem de Definição de Dados e memória. O resultado da compilação dessas definições é um conjunto de instruções que especificam os detalhes de implementação dos esquemas de BD. Exemplo:

Aluno alfanumérico 50

RG numérico 10

Mensalidade moeda -

A Linguagem de Definição de Dados (DDL) compõe o Esquema do Banco de Dados ! Linguagem de Manipulação de Dados (DML) A manipulação de Dados consiste em : - Consultas; - Atualizações Inserção de informações Remoção de informações Uma linguagem de manipulação de dados (DML) permite aos usuários acessar e manipular dados organizados por um modelo de dados apropriado. - Procedimental - Não Procedimental A parte da DML que trata de consultas é chamada de linguagem de consultas. Quando os comandos de uma DML estão incorporados em uma linguagem de propósito geral, isto é chamada de linguagem host e a DML é chamada de sub-linguagem de dados.

Cadastro de Clientes

Nome: José da Silva

Endereço: Rua 9 de Julho, 500

Telefone: (16)282-8282

A definição do tipo de dados, tamanho e

formatos de cada campo, consiste na

Linguagem de Definição de Dados !

Instância

Page 7: Tutorial BD Relacional Aula2 (1)

7

[Digite texto]

A Linguagem de Manipulação de Dados (DML) compõe a Instância do Banco de Dados ! Abordagem BD versus Processamento Tradicional de Arquivos

Na abordagem tradicional, o usuário define e implementa os arquivos necessários para uma determinada aplicação. Exemplo: O departamento de contabilidade pode Ter arquivos diferentes dos arquivos da secretaria sobre o mesmo grupo de alunos. A redundância dos dados ocasiona em perda de espaço de armazenamento e em um esforço considerável para manter os arquivos atualizados. Natureza de armazenamento de um Sistema de Banco de Dados Um Banco de Dados contém não apenas os dados, mas também a descrição completa do banco de dados. Esta definição contém informações como a estrutura de cada arquivo. A estrutura e o formato de cada item de dado e várias restrições de acesso. Estas informações são chamadas de “Meta de Dados” e são armazenados com um arquivo chamado catálogo ou “meta de banco de dados”. No processamento tradicional, a definição dos dados é inerente ao programa. Deste modo, o programa se restringe a manipular somente dados definidos no próprio programa. Separação entre Programas e Dados Como no processamento tradicional a definição da estrutura de dados está embutida no programa qualquer mudança necessária na estrutura de dados implica em mudanças no programa em um BD. A mudança só será necessária no meta BD, pois os programas de acesso aos dados são escritos independentemente de qualquer arquivo. Esta independência é chamada “Independência-Dados-Programa”. Usuários de Banco de Dados Administrador de Banco de Dados (DBA) Um grande BD precisa de uma grande equipe trabalhando para que ele se mantenha íntegro e coeso. Para isto, há a necessidade de uma pessoa para manter o controle central dos dados e dos programas que acessam os dados. Esta pessoa é o Administrados de BD. O DBA é responsável pela concessão de autorização para acesso aos dados.

Programas de Aplicação

Ferramentas do SGBD

Meta

Dados

Banco

de

Dados

Page 8: Tutorial BD Relacional Aula2 (1)

8

[Digite texto]

Projetista de Banco de Dados (DBD) O DBD tem como função principal identificar os dados a serem armazenados e definir a estrutura apropriada para representar e armazenar estes dados para a obtenção destes dados, o DBD deve interagir com os usuários para descobrir suas necessidades e encontrar a solução ideal para as mesmas. O projeto final do BD deve ser capaz de atender as necessidades de todos os grupos de usuários do mesmo. Usuários Finais

Usuários Ocasionais- são usuários habituados ao uso do SGBD e que não utilizam programas, elaborando suas consultas diretamente em linguagens de consultas.

Usuários simples – são usuários que precisam dos programas de aplicações para interagir com o sistema.

Usuários especializados – são usuários que elaboram sistemas altamente especializados, que não se encaixam no processamento de dados normal. Vantagens da abordagem de Banco de Dados

Controle de Redundância No processamento de Dados Tradicional, cada grupo de usuários mantêm seus próprios arquivos. Isto leva ao armazenamento múltiplo dos mesmos dados, causando problemas de espaços e inconsistência dos dados.

Compartilhamento de Dados Um SGBD multi-usuário deve permitir que vários usuários possam acessar os dados ao mesmo tempo. O SGBD deve incluir um software de controle de concorrência para evitar o acesso desordenado ao BD, fazendo com que os resultados das atualizações sejam sempre corretos. Um SGBD multi-usuário facilita o controle de visões, pois as mesmas podem ser especificadas para grupos de usuários.

Restrições de acesso não autorizado Um SGBD deve manter um programa de segurança e autorização, o qual é utilizado para manter o controle das pessoas que poderão acessar quais dados e de que forma.

Restrições de Integridade As aplicações de BD possuem restrições de integridade que devem ser mantidas. As restrições devem ser especificadas para DBD durante o projeto de Banco de Dados.

Page 9: Tutorial BD Relacional Aula2 (1)

9

[Digite texto]

Manutenção de Backup e Recuperação Um SGBD deve prover sistema de recuperação de falha de hardware ou software. O sub-sistema de recuperação deve assegurar que o programa seja reinicializado do ponto do qual foi interrompido.

Padronização A abordagem BD permite ao DBD (Projetista de Banco de Dados) manter uma padronização entre os usuários de BD. Os padrões podem ser definidos a nível de elementos de dados, telas, estruturas de documentos, etc. Torna-se muito mais fácil manter padronização em um sistema BD centralizado do que em um ambiente onde cada grupo de usuário mantém controle sobre seus arquivos e softwares.

Flexibilidade Alguns SGBDs permitem que as estruturas sejam alteradas sem que haja grandes alterações nos programas de aplicações.

Disponibilidades de informações atualizadas Um SGBD mantém um banco de dados disponível para todos os usuários. Deste modo, quando um usuário atualiza um BD, todos os usuários irão perceber esta atualização de imediato. Esta disponibilidade de dados é muito importante para diversos sistemas, como controle de reservas, sistemas bancários, etc, e é mantida pelo sistema de concorrência do SGBD. Quando não usar Banco de Dados - Alto investimento inicial - Necessidade de hardware adicional - BD e aplicações simples e bem definidas - Uso somente de acesso centralizado. Interfaces dos SGBDs - Baseada em Menus - Gráfica - Baseada em Formulários - Linguagem Natural - Interfaces para o DBA

Page 10: Tutorial BD Relacional Aula2 (1)

10

[Digite texto]

EXERCÍCIOS

1) Um catálogo telefônico pode ser considerado um exemplo de:

a) Banco de dados

b) Registro

c) Tupla

d) DBA Justifique sua resposta:

2) Em uma clínica veterinária são usados 2 cartões de controle de vacinação para cada animal vacinado, ficando um com o veterinário que aplica as vacinas e o outro com o atendente que controla o pagamento. Certo dia, o atendente foi ao banco enquanto o veterinário vacinou um animal. No mês seguinte, devido às divergências entre as duas fichas (a do atendente e a do veterinário) a clínica ficou em dúvida a respeito da vacinação do animal em questão. O fato acima exemplifica um problema de: a) Redundância de dados b) Inconsistência de Dados c) Definição de Banco de dados d) Meta de dados Neste caso, o que poderia ser feito para resolver este problema?

3) Em um canhoto de talão de cheques, são anotados para todo cheque emitido, data de

emissão, valor e destino do cheque. Cada um desses itens constitui: a) Dado b) Meta de dados c) Banco de dados d) Sistema gerenciador de banco de dados

4) A direção de um hospital determinou que fosse feito um cadastro de todos os doentes

e de seus acompanhantes. Neste cadastro deveria constar: nome, idade endereço e RG de cada pessoa. Quando o modelo do cadastro ficou pronto, a secretária mostrou-o ao diretor para saber se estava OK. O que a secretária mostrou ao diretor foi: a) O esquema do banco de dados b) A instância do banco de dados c) Uma tupla d) Um registro

5) A seguir, o modelo foi preenchido com os dados dos pacientes e acompanhantes,

gerando aproximadamente 100 registros. Neste caso, o que temos é: a) O esquema do banco de dados b) A instância do banco de dados c) Uma tupla d) Um registro

6) Em seguida, a secretária verificou que alguns dados do paciente numero 54 do banco de dados estavam errados e corrigiu-os. O que ela modificou foi: a) Uma tupla b) O SGBD c) DML d) A abstração

Page 11: Tutorial BD Relacional Aula2 (1)

11

[Digite texto]

e) A linguagem 7) Das sentenças abaixo, é correto afirmar que:

“Dado”

a) Tem um significado b) Só faz parte de uma grandes organizações c) Pode ser registrado d) Vem sempre acompanhado de um SGBD e) Só é encontrado em meios eletrônicos

8) A loja x desenvolveu uma lista para controlar seu clientes inadimplentes, logicamente, os dados constantes nesta lista eram os nomes e registros dos maus pagadores . A lista foi distribuída aos vendedores da loja, para que estes estivessem cientes dos nomes constantes nela, sendo orientados que a cada “inadimplente” que acertasse sua situação junto à loja, tivesse seu nome marcado . Posteriormente, a idéia da lista foi copiada por uma grande loja, mas com o mesmo propósito e foram utilizadas ferramentas informatizadas para poder excluir os nomes da lista, assim com incluir novos nomes e consultar a lista para ver quem ainda estava nela. Estas características descrevem:

a) Um banco de dados b) Processamento tradicional de arquivos c) Abstração de dados d) Administrador de banco de dados e) Compartilhamento de dados

9) Um certo sistema foi desenvolvido em uma locadora para controlar as entradas e as

saídas de seus filmes. O analista contratado definiu que cada registro do programa teria os seguintes campos:

Nome do filme string 50

Data de entrega numérico 08

Data de devolução numérico 08

Após montagem do esquema, o analista definiu que os dados seriam armazenados na unidade c: (winchester) durante o expediente e toda noite seria feito o backup em fitas Dat. Desenvolveu também aplicações para incluir novos filmes (quando fossem comprados), excluir filmes danificados e consultar quais os filmes atuais e emitir relatórios. O exemplo acima reflete: a) Um SGBD b) Um DBA c) Um DBD d) Um mini-mundo

e) Um registro

Page 12: Tutorial BD Relacional Aula2 (1)

12

[Digite texto]

10) Denise trabalha em uma grande empresa de implementos agrícolas. Ela controla os

navios que vão para o exterior, bem como os estoques da filiais fora do Brasil. Os dados envolvidos nestas operações são muitos e bastante complexos. Como Denise não entende muito de informática, toda modificação de estrutura , permissão de acesso e problemas eventuais do seu banco de dados são resolvidos pelos DBA e DBD da empresa. O fato de Denise não enxergar o Banco em profundidade pode ser chamado de:

a) Separação entre dados e programas b) Abstração de dados c) Manipulação de dados d) Meta de dados

11) Um grupo de analistas se juntou para elaborar um sistema de Folha de pagamento.

Resolveram então se dividir em subgrupos para dividir as tarefas. O primeiro grupo definiu a estrutura dos dados, o segundo grupo definiu quais dados seriam armazenados no banco. Do trabalho dos dois grupos surgiu a seguinte tabela:

Nome do empregado

Character 50

Salário Numérico 10

INSS Numérico 08

O terceiro grupo preencheu os campos do banco e manipulou estes dados com consultas, inclusões, alterações e exclusões . Os níveis acima referidos são respectivamente: a) Conceitual, físico e visão b) Físico, visão e Conceitual c) Físico, Conceitual e visão d) Visão, físico e conceitual

12) Sérgio comanda uma grande equipe em uma grande organização. É ele quem

controla o acesso dos funcionários aos dados da empresa. Ele também mantém o controle central e responde por todo problema que possa haver com o banco de dados. Marcelo, por sua vez, subordinado a Sérgio, define quais dados devem constar no banco e suas estruturas, também define como estes dados serão armazenados. Marcelo e Sérgio são respectivamente: a) DBA e DBD b) DBD e DBA

Exercícios elaborados pela profª Nádia C. de Azevedo.

Page 13: Tutorial BD Relacional Aula2 (1)

13

[Digite texto]

Modelagem de Dados Modelo Entidade Relacionamento (MER) - Coleta e Análise de requisitos - Criação de um esquema conceitual - Implementação do BD usando SGBD - Projeto de BD Físico Conceitos Entidade: é a representação de um objeto no mundo real com existência interdependente. Pode ser um objeto com existência física ou conceitual.

Podemos comparar uma Entidade a um Arquivo de Dados. A representação de uma Entidade no modelo Entidade-Relacionamento é feita por um retângulo, com o nome desta entidade em seu interior, como mostra a figura abaixo: Tipos de Entidades Um BD geralmente contém grupos de entidades que são similares. Estas entidades possuem os mesmos atributos, embora cada entidade possua os próprios valores. Entidades similares definem um “tipo entidade”, o qual é um conjunto de entidades que possuem o mesmo atributo. A descrição de um tipo entidade é chamada “Esquema do tipo entidade“, e especifica uma estrutura comum partilhada por entidades individuais daquele tipo. O esquema especifica o nome do tipo entidade, o nome e o significado de cada atributo e as restrições entre as entidades. Entidade Fraca Alguns tipos de entidade podem não Ter algum atributo chave por si só. Isto implica que não poderemos distinguir certas entidades, porque a combinação dos valores de seus atributos podem ser idênticas. Estes são os tipos de Entidade Fraca.

A Reserva do Avião

Existência Física Existência Conceitual

PESSOA

CARRO

AVIÃO

RESERVA

DO AVIÃO

Page 14: Tutorial BD Relacional Aula2 (1)

14

[Digite texto]

Entidades pertencentes a um tipo de Entidade Fraca são identificadas inicialmente por relacionarem-se com entidades específicas de outro tipo de entidade, em combinação com alguns de seus valores dos atributos. A outra entidade é chamada Proprietária Identificadora e o tipo relacionamento que liga uma entidade fraca a sua proprietária é chamado Relacionamento Identificador do tipo entidade fraca. Um tipo entidade fraca sempre tem participação total (dependência de existência) em seu relacionamento identificador. A participação total não implica que a entidade seja fraca; pois pode não ser possível identificar uma entidade fraca sem sua entidade proprietária. Um tipo entidade fraca tem uma chave parcial, a qual é um conjunto de atributos que identificam unicamente entidades fracas relacionadas à mesma entidade proprietária. Um tipo entidade fraca pode ser substituído por atributos compostos multivalorados. Critérios para escolha: Se o tipo entidade possui muitos atributos ou se participa em outro relacionamento além do tipo relacionamento identificador, geralmente escolhe-se o tipo entidade fraca à atributos. Atributos: São propriedades particulares que descrevem uma determinada entidade. Uma entidade, em particular, irá Ter valores próprios em seus atributos. Atributo Composto: É um atributo formado por vários atributos que não pode ser dividido, é chamado de atômico ou simples. Atributo Simplesmente Valorado: É um atributo que assume um único valor para uma determinada entidade. Atributo Multi-Valorado: É um atributo que pode assumir diversos valores para uma determinada entidade. Atributo Derivado: um atributo pode ser chamado de derivado quando seu valor é determinado a partir de um ou mais atributos. Estes atributos mantêm uma “relação”. Chave Primária Uma chave primária é um atributo que possui um valor único para cada entidade individual. Esta é uma restrição que proíbe que duas entidades possuam o mesmo valor para um determinado atributo ao mesmo tempo. Alguns tipos de entidades podem Ter mais que um atributo formando uma chave ou mais que um atributo chave.

CódigoDoEmpregado

NomeDoEmpregado

FunçãoDoEmpregado

SalárioDoEmpregado

Empregado

CódigoDoDependente

CódigoDoEmpregado

NomeDoDependente

ParentescoDoDependente

Dependente

Possui

Page 15: Tutorial BD Relacional Aula2 (1)

15

[Digite texto]

Chave Candidata Uma tabela pode possuir alternativas de identificador único, ou seja, várias colunas ou concatenações diferentes de colunas podem ter esta propriedade. Estes identificadores são candidatos à chave primária, como um e somente um será escolhido como chave primária, o restante passa a ser considerado como chave alternativa, por isso candidata. Chave Concatenada Se diz que uma chave é concatenada (ou composta) quando apresentar vários atributos individuais agrupados na formação da chave primária. Por exemplo: A chave primária da entidade [Dependente] é composta pelos atributos [Código do Empregado] e [Código do Dependente], sendo, portanto, uma chave concatenada. Chave Estrangeira Quando uma entidade apresenta um atributo importado de outra entidade, esse atributo é denominado de chave estrangeira. Chaves estrangeiras são o resultado de associações entre entidades através de relacionamentos 1:1 – 1:N (um para vários). No exemplo a seguir, o atributo [NúmeroDoDepartamento] é chave estrangeira na entidade Funcionário importada da entidade Departamento. Representações Gráficas

NumeroDoDepartamento

NomeDoDepartamento

LocalizacaoDoDepto

Departamento

Matrícula DoFuncionário

NomeDoFuncionário

EndereçoDoFuncionário NúmeroDoDepartamento

Funcionário

trabal

ha

Chave Estrangeira

Tipo

Entidade

Tipo

Entidade

Fraca

Tipo Relacio

namento

Tipo

Relacioname

nto

Identificador

Page 16: Tutorial BD Relacional Aula2 (1)

16

[Digite texto]

Relacionamentos No mundo real uma entidade raramente apresenta-se isolada, tendo existência completamente independente de quaisquer outras. Geralmente ocorre o contrário: é detectada a existência de uma associação entre as ocorrências de duas entidades distintas. A essa conexão lógica entre duas ou mais entidades damos o nome de relacionamento. Um bom exemplo de relacionamento seria aquele existente entre Funcionário e Departamento: uma ocorrência da entidade Funcionário deverá sempre estar associada a uma ocorrência da entidade Departamento. Poderíamos inclusive nomear de “Pertence” a associação entre essas duas entidades, visto que um funcionário sempre pertence a um departamento. Um relacionamento possui sempre algumas características básicas, uma das quais é a Cardinalidade. Cardinalidade Cardinalidade de um relacionamento consiste na especificação do sentido da associação existente entre as entidades envolvidas. Por exemplo, um funcionário pertence sempre a no mínimo um e no máximo um departamento, ou seja, é obrigatório que exista, uma ocorrência específica da entidade Funcionário, tão somente uma ocorrência da entidade Departamento associativa. Por outro lado, para um determinado departamento é possível que existam vários funcionários relacionados: mais de uma ocorrência da entidade Funcionários refere-se à mesma ocorrência da entidade Departamento. Dizemos nesse caso que a cardinalidade do relacionamento “Pertence” é de 1:N (“um para ene” ou um para muitos” ). No modelo entidade Relacionamento (Modelo E-R ou MER) de Peter Chen as entidades são representadas por um retângulo com seu nome no interior e os relacionamentos são representados por losangos e com um verbo, o que explicita o relacionamento como um objeto de associação. O que é importante é entendermos o que são entidades inicialmente e num segundo instante as formas possíveis destas entidades se relacionarem. A cardinalidade dos relacionamentos será explicitada diretamente através da inserção dos símbolos 1 e N para representar uma ou mais ocorrências respectivamente.

Atributo

simplesmente valorado

Atributo

Chave

Atributo

Multi-

Valorado Atributo

Composto

Atributo

Derivado

Page 17: Tutorial BD Relacional Aula2 (1)

17

[Digite texto]

Modelo E-R Peter Chen Figura 1 – Entidades e Relacionamentos no MER – cardinalidade 1: N Os relacionamentos de cardinalidade 1:N são clássicos, pois representam a maioria das situação encontradas no desenvolvimento de sistemas comerciais. Contudo, existem também relacionamentos que representam outras cardinalidades. Relacionamento 1:N Funcionário Pertence Departamento João R1 Recursos Humanos Pedro R2 Financeiro Paulo R3 Compras Maria R4 Carmem R5 O primeiro deles é o relacionamento 1:1 (“um para um”). Um exemplo seria aquele que existe entre Gerente e Departamento, onde um gerente pode responder por apenas um departamento e um departamento só pode ser gerenciado por um único gerente. Figura 2- Relacionamento 1:1 Apesar de existirem no mundo rela situações que surgem cardinalidades 1:1, devemos sempre desconfiar de tais relacionamentos questionando-nos se na realidade as duas entidades envolvidas não são uma só. Uma forma de analisar essa possibilidade consiste em verificar se o principal identificador da primeira entidade é diferente do principal identificador da Segunda entidade. Caso não o sejam, muito provavelmente estamos interpretando dois aspectos de uma mesma entidade como sendo entidades distintas.

Relacionamento

N 1

Explicitado

Departamento

Funcionário Perten

1 1

Gerente

Departamento gerenc

Page 18: Tutorial BD Relacional Aula2 (1)

18

[Digite texto]

Relacionamento 1:1 Gerente Gerencia Departamento Joaquim R1 Recursos Humanos Manoel R2 Financeiro Eduardo R3 Compras Existem também os relacionamentos N:M ou N:N (“muitos para muitos”). São aqueles em que uma ocorrência da entidade “A” pode ter ligação com mais de uma ocorrência da entidade “B” e vice versa. Um exemplo de relacionamento N:M ocorre entre as entidades Ator e Filme, onde um ator pode atuar em mais de um filme e um filme pode Ter mais de um ator. Relacionamento N:M Figura 3 – Relacionamento N:M Ator Atua Filme Tarcísio Meira R1 O Impaciente Inglês Regina Duarte R2 Velocidade Mínima Francisco Cuoco R3 E a Chuva Lavou Exercícios de Modelagem de Dados Monte o Modelo Entidade Relacionamento (MER), a partir do enunciado abaixo: 1) Uma biblioteca deseja informatizar os Cadastros de seus livros. Para isso nos passou as seguintes informações: Os livros são definidos pelo número do ISBN, Título, Número de Páginas e Preço. Um livro pode ser escrito por vários autores, sendo os autores definidos pelo Número do autor, Nome e Sobrenome. As Editoras são definidas pelo Código da editora, Nome, Endereço, telefone e E-Mail. Um livro pode conter vários assuntos, sendo que vários livros podem falar sobre o mesmo assunto. Os dados que devemos registrar para o assunto são: Código do assunto e a descrição. Alguns livros podem Ter várias Cópias cadastradas na biblioteca, sendo estas cópias definidas pelo número da Cópia e Data de Aquisição

N M

Ator

Filme atua

Page 19: Tutorial BD Relacional Aula2 (1)

19

[Digite texto]

desta cópia. É claro, que só podemos Ter a cópia de algum livro na biblioteca se existir o livro , caso contrário, não é permitido. 2) Uma empresa deseja manter controle dos projetos desenvolvidos por seus departamentos. Temos as seguintes informações: Cada departamento é responsável por um único projeto em desenvolvimento, sendo que em cada projeto pode ter mais de um departamento responsável pelo seu desenvolvimento. Estes projetos desenvolvem peças para motores hidráulicos. Um projeto envolve várias peças e estas peças estão envolvidas em vários projetos. Para cada departamento há um gerente responsável, sendo que cada departamento possui um único gerente. Para os funcionários que trabalham nos departamentos da empresa deseja-se manter um cadastro de seus responsáveis. Departamentos: Número do departamento, Nome e Local. Projetos: Código do Projeto, Descrição e Duração Peças: Número da Peça e Descrição Gerente e Funcionários: Matrícula, Nome e Cargo Responsáveis: Nome e Parentesco 3) Deseja-se criar um banco de dados para uma agência de turismo, contendo as informações sobre os recursos oferecidos por algumas cidades: Cada cidade possui hotéis, restaurantes e casas de show. Deseja-se armazenar os dados dos shows típicos de cada casa de show e os cardápios principais de cada restaurante da cidade. Para cada hotel existe uma pessoa responsável com quem a agência de turismo deve manter contato (para cada hotel existe uma única pessoa que cuida da hospedagem desta agência de turismo e cada pessoa é responsável por um único hotel). Os cardápios somente devem ser cadastrados se forem realmente utilizados pelos restaurantes. Cidade: Cep, nome, estado Hotel: Cnpj, nome, categoria, endereço(rua,nr,bairro), quantidade de apartamentos, telefone Casa de Show: Cnpj, dias de funcionamento, horário, nome, endereço, telefone Restaurante: Cnpj, nome, categoria, telefone, endereço Cardápio: Código, nome, descrição(café da manhã, almoço e jantar) Responsável pela agencia de turismo: Cpf., nome, telefone(celular e comercial) 4) Uma imobiliária deseja manter controle condomínios pelo quais são responsáveis. Temos as seguintes informações: Um condomínio é formado por diversos apartamentos. Cada apartamento possui uma única garagem. Existem os síndicos dois responsáveis por cada condomínio. Deseja-se manter os dados dos proprietários de cada apartamento (um apartamento pode ser de propriedade de mais de uma pessoa). Pode haver casos de um proprietário possuir mais de um apartamento. A imobiliária deve também manter o cadastro dos herdeiros de cada proprietário. Condomínio: Código, Nome e Endereço.

Page 20: Tutorial BD Relacional Aula2 (1)

20

[Digite texto]

Apartamento: Número, Tipo Proprietário: RG, Nome, Telefone, E-Mail Herdeiro: RG, Nome, Telefone Garagem: Número, Tipo Síndico: Matrícula, Nome, Endereço, Telefone Mapeamento do MER para o Modelo de Dados Relacional É comum, em projetos de banco de dados, realizar a modelagem dos dados através de um modelo de dados de alto-nível. O produto gerado por esse processo são os esquemas de visões que são posteriormente integradas para formar um único esquema. O modelo de dados de alto-nível normalmente é adotado é o Modelo Entidade Relacionamento (MER) e o esquema das visões e de toda a base de dados são especificadas em diagrama entidade-relacionamento (DER). O passo seguinte á modelagem dos dados é o mapeamento do diagrama da base de dados global, obtido na fase anterior, para um modelo de dados de implementação. Existem três tipos de modelos de dados de implementação: hierárquico, rede e relacional. Para cada um desses modelos, pode-se definir estratégias de tradução a partir de um DER específico. A estratégia de tradução, ou de mapeamento, tratado nesta apostila é para o modelo de dados relacional. Uma vez que consegue-se representar a semântica de uma aplicação através de modelos de dados, em especial pelo Modelo Entidade Relacionamento, é importante garantir que as informações contidas neste modelo sejam representadas corretamente no Modelo Relacional. Para garantir uma representação fiel das informações no Modelo Relacional é preciso seguir algumas diretrizes, com objetivo de restringir as opções dos desenvolvedores em um conjunto efetivo de regras. Este documento propõe a modelagem de uma Empresa, e descreve os passos propostos por [Elmasri & Navathe 1994] para o mapeamento do esquema Entidade Relacionamento para o Modelo Relacional. Vamos estudar os seis passos do mapeamento:

Page 21: Tutorial BD Relacional Aula2 (1)

21

[Digite texto]

Primeiro Passo Mapear Conjuntos de Entidades Regulares Identificar todas as entidades regulares (não fracas) e seus atributos

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário}

Departamento = {DNúmero, DNome}

Projeto = {PNúmero, PNome}

OBSERVAÇÕES: 1) O atributo "Localização" não foi representado na relação "Departamento" pois é um atributo multi-valorado e será tratado no passo 6. 2) O conjunto de entidade "Dependente", é um conjunto de entidade fraco e será tratado no seguinte, o passo 2.

Page 22: Tutorial BD Relacional Aula2 (1)

22

[Digite texto]

Segundo Passo:

Mapear Conjuntos de Entidades Fracas Relacionar todos os atributos da entidade fraca, acrescentando também o atributo chave da entidade da qual ela depende.

Veja que o atributo da entidade Funcionário (FNumero), vai para a entidade Dependentes como um atributo chave !

É importante notar que um conjunto de entidade fraca só pode ser mapeado quando os demais conjuntos de entidades envolvidos no conjunto de relacionamento total, que torna esse conjunto de entidade fraca, já estiverem mapeados.

Primeiro Passo: Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, DNome}

Page 23: Tutorial BD Relacional Aula2 (1)

23

[Digite texto]

Projeto = {PNúmero, Pnome} Segundo Passo: Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

Terceiro Passo Mapear Conjuntos de Relacionamentos Binários 1:1 No 3º passo, escolha uma entidade para receber o atributo chave da outra entidade relacionada.

Note que o atributo chave de uma entidade vai para a outra como um atributo simples ! No exemplo, Fnumero (número do funcionário) foi para a entidade departamento como um atributo simples e não como chave !

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, Dnome, FNúmero, DataIni} Projeto = {PNúmero, Pnome} Segundo Passo: Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

Page 24: Tutorial BD Relacional Aula2 (1)

24

[Digite texto]

Terceiro Passo: Os atributos FNúmero e DataIni são adicionados à relação "Departamento", definida no primeiro passo. Note que o atributo Fnúmero é adicionado como um atributo não chave na relação "Departamento". DataIni foi adicionada porque é um atributo do relacionamento gerenciar !

Quarto Passo Mapear Conjuntos de Relacionamento Binário Regular 1:N No 4º passo, deve-se acrescentar à entidade de lado N, o atributo chave da entidade de lado 1.

Note que o atributo chave do lado 1vai para a entidade de lado N, como um atributo simples. Veja no exemplo.

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário, SuperNúmero, DNum} Departamento = {DNúmero, Dnome, FNúmero, DataIni} Projeto = {PNúmero, Pnome, DNro} Segundo Passo: Dependente = {DependNome, FNúmero, DataNiver, Parentesco} Quarto Passo:

Neste passo são mapeados os relacionamentos: supervisionar, trabalhar e controlar.

Avaliando o relacionamento supervisionar, nota-se que este relacionamento não possui atributos, logo, apenas o atributo SuperNúmero foi adicionado a relação "Funcionário", definida no primeiro passo.

Page 25: Tutorial BD Relacional Aula2 (1)

25

[Digite texto]

O mesmo acontece com o relacionamento trabalhar; apenas o atributo DNum foi adicionado a relação "Funcionário".

No relacionamento controlar, que também não possui atributos, foi adicionado o atributo DNro na relação Projeto que já havia sido definida no primeiro passo.

Quinto Passo

Mapear Relacionamento Binário M:N Para cada relacionamento binário M:N cria-se uma nova relação. Os atributos da relação são os atributos do conjunto de relacionamento juntamente com os atributos chave das relações que mapeiam os conjuntos de entidades envolvidos. A chave da relação é a concatenação dos atributos chave das relações que mapeiam os conjuntos de entidades envolvidos.

Primeiro Passo: Funcionário = {FNúmero, FNome, Endereço, Salário, SuperNúmero, DNum} Departamento = {DNúmero, Dnome, FNúmero, DataIni} Projeto = {PNúmero, Pnome, DNro} Segundo Passo: Dependente = {DependNome, FNúmero, DataNiver, Parentesco}

Page 26: Tutorial BD Relacional Aula2 (1)

26

[Digite texto]

Quinto Passo:

O relacionamento participar que envolve os conjuntos de entidades "Funcionário" e "Projeto", é avaliado neste passo.

Cria-se uma nova relação:

Participar = {FNum, PNum, horas}

Sexto Passo Mapear Atributos Multi-valorados No 6º passo, identificamos os atributos multivalorados. Para este atributo, deve-se criar uma nova entidade, inserindo o atributo multivalorado e o atributo chave da entidade da qual ele pertence. Ambos os atributos devem ser chaves primárias, compondo uma chave concatenada.

Primeiro Passo:

Funcionário = {FNúmero, FNome, Endereço, Salário, SuperNúmero, DNum} Departamento = {DNúmero, Dnome, FNúmero, DataIni} Projeto = {PNúmero, Pnome, DNro} Segundo Passo: Dependente = {DependNome, FNúmero, DataNiver, Parentesco} Quinto Passo: Participar = {FNum, PNum, horas}

Page 27: Tutorial BD Relacional Aula2 (1)

27

[Digite texto]

Sexto Passo: LocalDep = {DNúmero, Localização} OBSERVAÇÃO: Nesta apostila não foi citado o mapeamento n-ário, n>2 (ternário, quaternário, etc), devido seu uso não ser muito comum, e pelo tempo que dispomos para a conclusão desta disciplina. Havendo a necessidade de pesquisar sobre o mesmo, acesse a home page http://gbdi.icmc.sc.usp.br/documentacao/apostilas/me-r/passo6.htm EXERCÍCIOS DE MAPEAMENTO

Departamento

Disciplina

Aluno

Orientador

cursa

é

orientad

possui 1

1

N

Nr. Nom

Nom

Nom Nom

Códig

Códig Nr.

Nota

Médi

M

N

N

1) Faça o mapeamento do MER abaixo.

Page 28: Tutorial BD Relacional Aula2 (1)

28

[Digite texto]

2) Faça o mapeamento do MER abaixo.

PASSAGEIRO

SAÍDA

Regist

rado

Nr.

pasNom

e

Endereç

o

fone

dat

a

Instân

cia de

Número

Hora-

Hora-chegada

Escalado

para

Nom

e

EndereçCidad

Bairr

o Nº

Rua

Funções

Número- emp.

Model

o

design

a

AERONAVE

VÔO

N

M

1 N

1

N

Numer

o

CARTÃO DE

PONTO

possui

1

1

Horár

io_ent

Total de

Horas

Horár

io_saí

da

Número_Cart

destino

origem

N

M

EMPREGADO

Page 29: Tutorial BD Relacional Aula2 (1)

29

[Digite texto]

Normalização Normalização é um processo formal passo a passo que examina os atributos de uma entidade com o intuito de evitar anomalias de armazenamento de tuplas específicas. Esse processo causa a simplificação dos atributos dentro da respectiva tupla, eliminando grupos repetitivos, dependências parciais de chaves concatenadas, dependências transitivas, entre outros, colaborando para a integridade e a estabilidade do modelo. A experiência tem mostrado que o investimento de tempo que se faz para efetuar manutenções em uma base de dados implementada é inversamente proporcional ao tempo aplicado no processo de normalização. O conceito de normalização no modelo relacional foi introduzido por Codd Yourdon em seu primeiro artigo sobre o modelo relacional de 1970, onde estabeleceu o que posteriormente chamou-se de 1º Forma Normal. A teoria de Normalização está montada em torno deste conceito de formas normais. Uma tabela (entidade) está numa forma normal se ela atender a um conjunto específico de restrições. A normalização é um processo formal passo a passo que examina os atributos de uma entidade com o objetivo de evitar anomalias na inclusão, exclusão e alteração de tuplas específicas. Principais Formas Normais: 1ª Forma Normal 2ª Forma Normal 3ª Forma Normal

1ª Forma Normal Remove grupos de repetição. É a normalização da Tupla, de forma que o relacionamento entre a sua chave e seus atributos seja UNÍVOCA, isto é, para cada chave há a ocorrência de um e somente um dado de cada atributo. Passos da 1ª Forma Normal 1. Identifique atributos que possuam valores para uma ocorrência da entidade. 2. Remova os atributos com uma cópia da chave primária. Exemplo: Cliente(Número, Nome, {EnderecoEntrega}) => Não é 1ª Forma Normal

Page 30: Tutorial BD Relacional Aula2 (1)

30

[Digite texto]

Número Nome Endereço-Entrega

124 João dos Santos Rua 9 de Julho, 56 Av. 15 de Novembro, 1980

256 José Ferreira Av. Campos Sales, 250

311 André Alves Av. São Carlos, 95 Rua Jorge Assef, 900 Rua Rui Barbosa, 935

Conversão para 1FN Cliente(Número, Nome, End_Entrega)

Número Nome Endereço_Entrega

124 João dos Santos Rua 9 de Julho, 56

124 João dos Santos Av. 15 de Novembro, 1980

256 José Ferreira Av. Campos Sales, 250

311 André Alves Av. São Carlos, 95

311 André Alves Rua Jorge Assef, 900

311 André Alves Rua Rui Barbosa, 935

2ª Forma Normal É a normalização da tupla de forma que, já submetida à 1FN, apresente uma chave Concatenada que se relacione de forma integral com todos os seus atributos. A relação está na 2FN se está na 1FN e se não existir atributo não chave que é dependente de só uma parte de qualquer chave candidata. Passos da 2ª Forma Normal 1- Identifique atributos dependentes somente de parte da chave primária 2- Remova os atributos encontrados com uma cópia de parte da chave primária. Exemplo: Pedido(Nr_Ped, Data, Nr_Peça, Descrição, Quantidade_Comprada, Preço_Cotado) Não é 2FN, pois: Nr_Ped, Nr_Peça => Quantidade_Comprada, Preço_Cotado Nr_Ped => Data Nr_Peça => Descrição Anomalias de Atualização (Não é 2FN) Pedido

Nr_Ped Data Nr_Peça Descrição Qtd_Comprada

Preço_Cotado

Só dependem de uma

parte da chave primária

Page 31: Tutorial BD Relacional Aula2 (1)

31

[Digite texto]

1000 14/11/98 AX12 Bicicleta 3 100,00

1020 15/11/98 BT04 TV 10 400,00

1030 15/11/98 BZ66 Bola 300 10,00

1040 16/11/98 BT04 TV 4 390,00

1050 17/11/98 CB03 Video-Game 5 380,00

1070 20/11/98 BT04 TV 2 410,00

- Gasto de Espaço de Armazenamento e anomalias 1- Atualização

Mudar descrição de BT04 implica em várias mudanças (tempo!) 2- Dados Inconsistentes

A Peça BT04 pode Ter descrições diferentes 3- Adições

Adicionar nova peça e descrição sem pedido para ela. Qual é o valor de Nr_Ped ? (Faz parte da Chave Primária !)

4- Eliminações

Eliminar o Pedido 1000 = perde-se a informação de que a peça AX12 é Bicicleta Para corrigir o Problema: - Incluir nas relações os atributos correspondentes à Chave Primária apropriada

(coleção mínima da qual dependem) - Atribuir um nome para cada relação Pedido (Nr_Ped, Data) 2FN Peça (Nr_Peça, Descrição) Linha_Pedido (Nr_Pedido, Nr_Peça, Quantidade_Comprada, Preço_Cotado)

3ª Forma Normal Uma relação está na 3FN se e somente se estiver na 2FN e todo atributo não chave não é transitivamente dependente de qualquer outro não chave. Passos para a 3ª Forma Normal 1- Identifique atributos dependentes de outros atributos não chave. 2- Remova esses atributos com uma cópia do atributo do qual depende. Exemplo: Cliente(Nr_Cli, Nome, Endereço, Nr_Vendedor, Nome_Vendedor) Não está na 3FN, pois Nome do Vendedor é transitivamente dependente de Nr_Vendedor que por sua vez não é chave.

Page 32: Tutorial BD Relacional Aula2 (1)

32

[Digite texto]

Para corrigir o Problema: Cliente (Nr_Cliente, Nome, Endereco) 3FN Vendedor (Nr_Vendedor, Nome_Vendedor) Bibliografia - Elmasri, Ramez e Navathe, Shamkant B. – “Fundamentals of Database Systems”,

World Student Series Edition, 1989 - Machado, F.N.R e Abreu, M. – Projeto de Banco de Dados, Uma Visão Prática,

Editora Érica, 1996 - Korth, H.F e Silberschatz, A. “Sistemas de Banco de Dados”Ed. Mc. Graw-Hill, 1995 - Fulan José Davi – “Modelagem de Negócio” – Editora Makron Books, 1997 - SARRO, Larissa Pinça - Mapeamento do ME-R para o Modelo Relacional. Capturado

em 11/07/2002. Online. Disponível na Internet http://gbdi.icmc.sc.usp.br/documentacao/apostilas/me-r/

Elaboração: Profª Eliana C. Nogueira Barion