Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Fundamentos de Banco de Dados
Informática - Fundamentos de Banco de Dados
1
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ÍNDICE Índice.................................... Índice........................................................... .............................................. .............................................. .............................................. ..................................2 ...........2 Introdução............................... Introdução...................................................... .............................................. .............................................. .......................................... ...............................4 ............4 Dado.................................. Dado......................................................... .............................................. .............................................. ............................................................4 .....................................4 Informação............................... Informação...................................................... .............................................. .............................................. .............................................. ..............................4 .......4 Modelos Conceituais............................. Conceituais.................................................... .............................................. ............................................... ........................................4 ................4 Modelos Lógicos................................ Lógicos....................................................... .............................................. .............................................. ...........................................5 ....................5 Modelo Hierárquico............................ Hierárquico................................................... .............................................. .............................................. ................................... ...................5 .......5 Modelo de Rede................................. Rede........................................................ .............................................. .................................................................. ...........................................66 Modelo Relacional.......................... Relacional................................................. .............................................. .............................................. ......................................... .......................6 .....6 Modelo de Dados Físico.............................................. Físico..................................................................... .................................................... ........................................ ...........77 Modelagem de Dados Usando o Modelo Entidade-Relacionamento............................... Entidade-Relacionamento.........................................7 ..........7 Fases do Projeto de Bd.......................................... Bd................................................................. .............................................. ...............................................9 ........................9 Construir o Modelo Conceitual............................ Conceitual................................................... .............................................. ................................................9 .........................9 Construir o Modelo Lógico.............................. Lógico..................................................... ............................................... ....................................................9 ............................9 Construir o Modelo Físico ..................................................... ............................................................................ ....................................... ............................. .............99 Avaliar o Modelo Físico ............................................. .................................................................... .............................................. .........................................9 ..................9 Implementar o BD......................................... BD................................................................ .............................................. .............................................. ................................9 .........9 Entidades e Atributos.................................. Atributos......................................................... .............................................. ................................................... ..................................9 ......9 Relacionamentos....................... Relacionamentos.............................................. .............................................. .............................................. ............................................... ...........................10 ...10 Restrições em Relacionamentos.................... Relacionamentos........................................... .............................................. .............................................. ..............................10 .......10 Atributos Chaves......................... Chaves................................................ .............................................. .............................................. ................................................11 .........................11 Modelo Entidade-Relacionamento (M.E.R.)......................................................................... (M.E.R.)............................................................................14 ...14 Elementos do Diagrama Entidade-Relacionamento............................. Entidade-Relacionamento.................................................. .................................. ...............14 ..14 Entidade................................ Entidade....................................................... ............................................... ............................................... .................................... .......................... .................16 ....16 Relacionamento....................... Relacionamento.............................................. .............................................. .............................................. .............................................. .............................16 ......16 Auto-relacionamento.................. Auto-relacionamento.......................................... ............................................... .............................................. ................................................17 .........................17 Cardinalidade de Relacionamentos.............. Relacionamentos...................................... ............................................... .....................................................18 ..............................18 Cardinalidade Máxima.................................... Máxima........................................................... .............................................. ...................................................18 ............................18 Classificação de Relacionamentos Binários........................................... Binários............................................................. .............................. ................18 ....18 Relacionamentos 1:1 (um-para-um)..................................... (um-para-um)............................................................ .............................................. ..............................19 .......19 Relacionamentos 1:N (um-para-muitos)................................ (um-para-muitos)....................................................... ...................................................19 ............................19 Relacionamentos N:N (muitos-para-muitos).............................. (muitos-para-muitos)..................................................... .................................. ....................... ............19 19 Relacionamento ternário................................... ternário.......................................................... .............................................. ....................................... ..........................20 ..........20 Cardinalidade mínima..................................... mínima............................................................ .............................................. ...................................................20 ............................20 Notações Alternativas.................................. Alternativas.......................................................... ............................................... .................................... .......................... .................21 ....21 Atributo .............................................. ..................................................................... .............................................. ...............................................................21 ........................................21 Domínio................................ Domínio....................................................... .............................................. .............................................. ...................................... ........................... ................22 ....22 Tipos de Atributos.................................... Atributos........................................................... .............................................. ..........................................................22 ...................................22 Opcional/Mandatório........................ Opcional/Mandatório............................................... .............................................. ................................................................ ..........................................22 .22 Monovalorado/Multivalorado................... Monovalorado/Multivalorado.......................................... .............................................. ......................................................... ..................................22 22 Atômico/Composto........................... Atômico/Composto.................................................. .............................................. .............................................. .................................. ...................22 ........22 Atributo de Relacionamento ........................................... .................................................................. ............................................... ..................................22 ..........22 Identificador de Entidades........................... Entidades.................................................. .............................................. .................................... .......................... ..................23 .....23 Relacionamento Identificador (Entidade Fraca)....................................................................... Fraca).......................................................................23 23 Identificador de Relacionamentos.................. Relacionamentos......................................... .............................................. .............................................. .............................23 ......23 Generalização/Especialização. Generalização/Especialização........................ .............................................. .............................................. ....................................................24 .............................24 Entidade Associativa (Agregação).............................. (Agregação)..................................................... .............................................. .................................. ................25 .....25 Relacionamento Mutuamente Exclusivo......................................... Exclusivo...................................................................... ......................................... ............26 26 Informática - Fundamentos de Banco de Dados
2
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ÍNDICE Índice.................................... Índice........................................................... .............................................. .............................................. .............................................. ..................................2 ...........2 Introdução............................... Introdução...................................................... .............................................. .............................................. .......................................... ...............................4 ............4 Dado.................................. Dado......................................................... .............................................. .............................................. ............................................................4 .....................................4 Informação............................... Informação...................................................... .............................................. .............................................. .............................................. ..............................4 .......4 Modelos Conceituais............................. Conceituais.................................................... .............................................. ............................................... ........................................4 ................4 Modelos Lógicos................................ Lógicos....................................................... .............................................. .............................................. ...........................................5 ....................5 Modelo Hierárquico............................ Hierárquico................................................... .............................................. .............................................. ................................... ...................5 .......5 Modelo de Rede................................. Rede........................................................ .............................................. .................................................................. ...........................................66 Modelo Relacional.......................... Relacional................................................. .............................................. .............................................. ......................................... .......................6 .....6 Modelo de Dados Físico.............................................. Físico..................................................................... .................................................... ........................................ ...........77 Modelagem de Dados Usando o Modelo Entidade-Relacionamento............................... Entidade-Relacionamento.........................................7 ..........7 Fases do Projeto de Bd.......................................... Bd................................................................. .............................................. ...............................................9 ........................9 Construir o Modelo Conceitual............................ Conceitual................................................... .............................................. ................................................9 .........................9 Construir o Modelo Lógico.............................. Lógico..................................................... ............................................... ....................................................9 ............................9 Construir o Modelo Físico ..................................................... ............................................................................ ....................................... ............................. .............99 Avaliar o Modelo Físico ............................................. .................................................................... .............................................. .........................................9 ..................9 Implementar o BD......................................... BD................................................................ .............................................. .............................................. ................................9 .........9 Entidades e Atributos.................................. Atributos......................................................... .............................................. ................................................... ..................................9 ......9 Relacionamentos....................... Relacionamentos.............................................. .............................................. .............................................. ............................................... ...........................10 ...10 Restrições em Relacionamentos.................... Relacionamentos........................................... .............................................. .............................................. ..............................10 .......10 Atributos Chaves......................... Chaves................................................ .............................................. .............................................. ................................................11 .........................11 Modelo Entidade-Relacionamento (M.E.R.)......................................................................... (M.E.R.)............................................................................14 ...14 Elementos do Diagrama Entidade-Relacionamento............................. Entidade-Relacionamento.................................................. .................................. ...............14 ..14 Entidade................................ Entidade....................................................... ............................................... ............................................... .................................... .......................... .................16 ....16 Relacionamento....................... Relacionamento.............................................. .............................................. .............................................. .............................................. .............................16 ......16 Auto-relacionamento.................. Auto-relacionamento.......................................... ............................................... .............................................. ................................................17 .........................17 Cardinalidade de Relacionamentos.............. Relacionamentos...................................... ............................................... .....................................................18 ..............................18 Cardinalidade Máxima.................................... Máxima........................................................... .............................................. ...................................................18 ............................18 Classificação de Relacionamentos Binários........................................... Binários............................................................. .............................. ................18 ....18 Relacionamentos 1:1 (um-para-um)..................................... (um-para-um)............................................................ .............................................. ..............................19 .......19 Relacionamentos 1:N (um-para-muitos)................................ (um-para-muitos)....................................................... ...................................................19 ............................19 Relacionamentos N:N (muitos-para-muitos).............................. (muitos-para-muitos)..................................................... .................................. ....................... ............19 19 Relacionamento ternário................................... ternário.......................................................... .............................................. ....................................... ..........................20 ..........20 Cardinalidade mínima..................................... mínima............................................................ .............................................. ...................................................20 ............................20 Notações Alternativas.................................. Alternativas.......................................................... ............................................... .................................... .......................... .................21 ....21 Atributo .............................................. ..................................................................... .............................................. ...............................................................21 ........................................21 Domínio................................ Domínio....................................................... .............................................. .............................................. ...................................... ........................... ................22 ....22 Tipos de Atributos.................................... Atributos........................................................... .............................................. ..........................................................22 ...................................22 Opcional/Mandatório........................ Opcional/Mandatório............................................... .............................................. ................................................................ ..........................................22 .22 Monovalorado/Multivalorado................... Monovalorado/Multivalorado.......................................... .............................................. ......................................................... ..................................22 22 Atômico/Composto........................... Atômico/Composto.................................................. .............................................. .............................................. .................................. ...................22 ........22 Atributo de Relacionamento ........................................... .................................................................. ............................................... ..................................22 ..........22 Identificador de Entidades........................... Entidades.................................................. .............................................. .................................... .......................... ..................23 .....23 Relacionamento Identificador (Entidade Fraca)....................................................................... Fraca).......................................................................23 23 Identificador de Relacionamentos.................. Relacionamentos......................................... .............................................. .............................................. .............................23 ......23 Generalização/Especialização. Generalização/Especialização........................ .............................................. .............................................. ....................................................24 .............................24 Entidade Associativa (Agregação).............................. (Agregação)..................................................... .............................................. .................................. ................25 .....25 Relacionamento Mutuamente Exclusivo......................................... Exclusivo...................................................................... ......................................... ............26 26 Informática - Fundamentos de Banco de Dados
2
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Restrição de Persistência no Relacionamento........................ Relacionamento............................................... ...................................................27 ............................27 Mapeando Diagramas Entidade-relacionamento a Relações....................... Relações.................................................... .............................28 28 Atributos: Esquemas e Instâncias, e Chaves......................... Chaves................................................ ....................................................30 .............................30 Normalização........................... Normalização.................................................. .............................................. .............................................. .......................................... ............................30 .........30 Integridade Referencial............................. Referencial..................................................... ............................................... ........................................................34 .................................34 Indexação......................... Indexação................................................ .............................................. .............................................. ...................................................... ....................................34 .....34 Atividades............................... Atividades...................................................... .............................................. .............................................. ....................................... ............................. .............35 35
Informática - Fundamentos de Banco de Dados
3
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
INTRODUÇÃO Os Fundamentos de Banco de Dados se destinam a conduzir o profissional de informática ao processo de elaboração de Bancos de Dados através de uma técnica rebuscada, que diminua redundâncias de dados e volume de armazenamento, aumentando a organização, o desempenho e a qualidade dos retornos de dados. A Modelagem de Dados é concebida após a fase de Levantamento de Requisitos, momento em que será entendida a necessidade do usuário e elencado os atributos que compõem o problema em questão. A modelagem em si consiste em planejar o depósito de dados, considerando fundamentos matemáticos, como Teoria dos conjuntos e Álgebra Relacional, que, por sua vez, alicerçam a Teoria de Banco de Dados. Bancos de Dados hoje representam a materialização potencial da informática diante da necessidade sempre crescente por informações e do valor essencial dos dados para a existência e até sobrevivência das empresas. Imaginem, por exemplo, a empresa que perde em um incêncio todos os seus dados referentes a estoque, pagamentos e recebimentos e não têm nenhum esquema alternativo de salvaguarda de dados. Assim como 96% das empresas que se acometem deste problema, irá a falência, pois todas os seus fornecedores lhe enviarão cobranças, poucos clientes pagarão a quantia realmente devida e os produtos ficarão expostos ao descontrole. Estamos na era da informação e modelar banco de dados é tarefa de grande responsabilidade, valor e importância, além de ser desafiador, curioso, estigante e realizante. Partamos então aos primeiros conceitos.
DADO • • • •
Representação de um evento do mundo físico, de um fato ou de uma idéia Representação de uma propriedade ou característica de um objeto real Não tem significado por si só Ex.: quantidade de Kwh consumidos em uma residência.
INFORMAÇÃO • • •
Organização e agregação dos dados, permitindo uma interpretação Informação interpretação dos dados Ex.: Consumo de energia comparado com a capacidade geradora da usina.
MODELOS CONCEITUAIS São usados para descrição de dados no nível conceitual. Proporcionam grande capacidade de estruturação e permitem a especificação de restrições de dados de forma explícita. Exemplos: Modelo Entidade-Relacionamento (M.E.R.) Modelo de Semântica de dados • •
Informática - Fundamentos de Banco de Dados
4
Escola Estadual de Educação Profissional [EEEP] • •
Ensino Médio Integrado à Educação Profissional
Modelo Infológico Modelos Orientados para Objetos (OO)
MODELOS LÓGICOS São usados na descrição dos dados no nível lógico. Em contraste com modelos conceituais, esses modelos são usados para especificar tanto a estrutura lógica global do BD como uma descrição em alto nível da implementação.
MODELO HIERÁRQUICO Um BD hierárquico é uma coleção de árvores de registros. Os registros são usados para representar os dados e ponteiros são usados para representar o relacionamento entre os dados, numa ligação do tipo pai-filho. A restrição é que um determinado registro somente pode possuir um registro pai.
Informática - Fundamentos de Banco de Dados
5
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
MODELO DE REDE O BD em rede é um grafo, onde os nós representam os registros e os arcos representam os relacionamentos entre os registros, através de ligações pai-filho. Diferente do modelo hierárquico, um registro pode possuir diversos registros pai.
MODELO RELACIONAL Um BD relacional possui apenas um tipo de construção, a tabela. Uma tabela é composta por linhas (tuplas) e colunas (atributos). Os relacionamentos entre os dados também são representados ou por tabelas, ou através da reprodução dos valores de atributos.
Informática - Fundamentos de Banco de Dados
6
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
MODELO DE DADOS FÍSICO Usados para descrever os dados em seu nível mais baixo. Capturam os aspectos de implementação do SGBD.
MODELAGEM DE DADOS USANDO O MODELO ENTIDADE-RELACIONAMENTO Modelagem conceitual é uma fase importante no projeto de uma aplicação de base de dados bem sucedida. De um modo geral, o termo aplicação de base de dados referese a uma base de dados particular e aos programas associados que implementam as consultas e atualizações da base de dados. Por exemplo, a aplicação de base de dados de uma biblioteca corresponde à base de dados que mantém registros sobre livros e revistas, e usuários, e também aos programas que implementam consulta de livros feitos pelos usuários Informática - Fundamentos de Banco de Dados
7
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ou atualizações devido a retiradas ou devoluções. A abordagem tradicional de modelagem de dados concentra-se nas estruturas e nas restrições da base de dados durante seu projeto, segundo os conceitos do Modelo EntidadeRelacionamento, um modelo conceitual de dados de alto nível, freqüentemente usado para o projeto conceitual de aplicações de bases de dados. Ele baseia-se na perspção de um universo constituído por um grupo básico de objetos chamado entidades, e por relacionamentos entre eles. Qual o objetivo da modelagem de dados? Por que modelar? • • • •
Representar o ambiente observado Documentar e normalizar Fornecer processos de validação Observar processos de relacionamentos entre objetos
Modelar implica em construir modelos então como fazer isto? Podemos definir as etapas envolvidas na construção de modelos em:
Modelo Conceitual - Representa as regras de negócio sem limitações tecnológicas ou de implementação por isto é a etapa mais adequada para o envolvimento do usuário que não precisa ter conhecimentos técnicos. Neste modelo temos :
• • • •
Visão Geral do negócio Facilitação do entendimento entre usuários e desenvolvedores Possui somente as entidades e atributos principais Pode conter relacionamentos n para m.
Modelo Lógico - Leva em conta limites impostos por algum tipo de tecnologia de banco de dados. (banco de dados hierárquico , banco de dados relacional ,etc). Suas características são: • • • • • •
Deriva do modelo conceitual e via a representação do negócio Possui entidades associativas em lugar de relacionamentos n:m Define as chaves primárias das entidades Normalização até a 3a. forma normal Adequação ao padrão de nomenclatura Entidades e atributos documentados
Modelo Físico - leva em consideração limites impostos pelo SGBD (Sistema Gerenciador de Banco de dados) e pelos requisitos não funcionais dos programas que acessam os dados. Características: Elaborado a partir do modelo lógico Pode variar segundo o SGBD Pode ter tabelas físicas (log , lider , etc.) Pode ter colunas físicas (replicação) •
• • •
Precisamos definir agora entidade e atributo. O que são e o que representam? Uma Entidade pode ser definida como qualquer coisa do mundo real, abstrata ou concreta , na qual se deseja guardar informações. (Tabela , File, etc..). Exemplos de entidades: Cliente , Produto , Contrato , Vendas , etc. Informática - Fundamentos de Banco de Dados
8
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Um atributo é tudo o que se pode relacionar como propriedade da entidade. (coluna, campo , etc,..). Exemplos de atributos: Código do Produto (Entidade Produto) , Nome do Cliente (Entidade Cliente).
Nota: Chama-se o conjunto de valores possíveis do atributo. Obs: Nenhum modelo é suficientemente claro se não for acompanhado de uma definição formal dos elementos , fazemos isto através do Dicionário de Dados . Lembre-se, conceitos que podem ser triviais a quem esta modelando podem não ser para pessoas leigas no assunto. Assim o dicionário de dados tem o objetivo de deixar claro qualquer informação que seja de valia para o processo de compreensão e unificação de conceitos.
FASES DO PROJETO DE BD CONSTRUIR O MODELO CONCEITUAL •
•
•
•
Modelo de alto nível, independente da implementação Etapa de levantamento de dados Uso de uma técnica de modelagem de dados Abstração do ambiente de hardware/software
CONSTRUIR O MODELO LÓGICO •
•
•
•
Modelo implementável, dependente do tipo de SGBD a ser usado Considera as necessidades de processamento Considera as características e restrições do SGBD Etapa de normalização dos dados
CONSTRUIR O MODELO FÍSICO •
•
•
•
Modelo implementável, com métodos de acesso e estrutura físic a Considera necessidades de desempenho Considera as características e restrições do SGBD Dependente das características de hardware/software
AVALIAR O MODELO FÍSICO •
•
Avaliar o desempenho das aplicações Avaliar os caminhos de acesso aos dados e estruturas utilizadas
IMPLEMENTAR O BD •
•
Etapa de carga (load) dos dados Gerar as interfaces com outras aplicações
ENTIDADES E ATRIBUTOS Uma entidade é um objeto que existe e é distinguível de outros objetos. Uma entidade Informática - Fundamentos de Banco de Dados
9
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
pode ser um objeto com uma existência física (entidade concreta) – um empregado, pessoa, carro, casa em particular – ou conceitual (entidade abstrata) – uma companhia, um emprego, um curso universitário. Um conjunto de entidades é um grupo de entidades do mesmo tipo. Por exemplo: o conjunto de todas as pessoas que possuem cadastro em uma biblioteca pode ser definido como o conjunto de entidades Usuário; de maneira similar, o conjunto de entidades Cadastro pode representar o conjunto de todos os cadastros em uma biblioteca em particular. Tais conjuntos não precisam ser independentes: é possível definir o conjunto de entidades de todos os empregados de um banco (Empregado) e o conjunto de entidades de todos os clientes do mesmo banco (Clientes). Uma entidade Pessoa pode ser uma entidade Empregado, uma entidade Cliente, ambas ou nenhuma delas. Cada entidade tem atributos – propriedades particulares que a descrevem. Por exemplo, uma entidade Aluno pode ser descrito pelos atributos “nome”, “R.A.” e “curso”. Uma base de dados compreende uma coleção de conjuntos de entidades, contendo cada um certo número de entidades do mesmo tipo. Uma entidade em particular possui um valor para cada um de seus atributos. Os valores de atributos que descrevem cada entidade compõem a maior parte dos dados armazenados em uma base de dados.
RELACIONAMENTOS Um relacionamento é uma associação entre dias ou mais entidades. Por exemplo, podemos definir uma relação que associe um aluno particular com uma certa disciplina; isto especifica que ele é um aluno da universidade, cursando aquela disciplina. Um conjunto de relacionamentos CadastroUsuário para denotar a associação entre todos os usuários da biblioteca e seus cadastros guardados lá. Este é um exemplo de um conjunto de relacionamentos é um grupo de relacionamentos do mesmo tipo. Para ilustrar isto, considere duas entidades Usuário e Cadastro; definimos o conjunto de relacionamentos binário (que envolve dois conjuntos de entidades): a maior parte dos conjuntos de relacionamentos num sistema de base de dados é binária; ocasionalmente, há conjuntos de relacionamentos que envolvem mais do que dois conjuntos de entidades. Um relacionamento pode também possuir atributos descritivos. Por exemplo, o conjunto de relacionamentos ClienteConta define a associação entre clientes de um banco e suas contas bancárias; “data” pode ser um atributo de ClienteConta, especificando a data em que um cliente abriu sua conta.
RESTRIÇÕES EM RELACIONAMENTOS Em relacionamentos geralmente são definidos certas restrições que limitam as possíveis combinações de entidades que podem participar do conjunto de relacionamentos correspondente. Tais restrições são determinadas a partir da situação real que o modelo entidade-relacionamento representa. Uma restrição importante é a cardinalidade, que expressa o número de entidades ao qual outra entidade pode estar associada via um relacionamento. É especialmente útil na descrição dos conjuntos de relacionamentos binários, podendo contribuir na descrição de conjuntos de relacionamentos que envolvam mais de dois conjuntos de entidades . Para um conjunto de relacionamentos binário (entre os conjuntos de entidades A e B), a cardinalidade pode ser: •
•
um-para-um: uma entidade em A está associada com no máximo uma entidade em B; e vice-versa (fig.1). um-para-muitos: uma entidade em A está associada a qualquer número de entidades em
Informática - Fundamentos de Banco de Dados
10
Escola Estadual de Educação Profissional [EEEP]
•
•
Ensino Médio Integrado à Educação Profissional
B, enquanto que uma entidade em B está associada com no máximo uma entidade em A (fig. 2). Se as posições de A e B forem trocadas, pode-se denominar sua cardinalidade como muitos-para-um (fig.3): muitos-para-muitos: uma entidade em A está associada a qualquer número de entidades em B, e vice-versa (fig.4).
Figura 1
Figura 2
Figura 3 Figura 4 Outra importante classe de restrições é chamada restrição de participação, que especifica quando a existência de uma entidade depende de estar relacionado a outra entidade via um relacionamento. Tal participação pode ser total (também denominado dependência existencial, pois a existência de uma entidade depende plenamente da existência de outra entidade, ou seja, se esta – a entidade dominante – for removida, aquela – a entidade subordinada – também será) – ou parcial (caso contrário).
ATRIBUTOS CHAVES Uma tarefa importante na modelagem da base de dados é como especificar, na perspectiva da base de dados, a distinção entre entidades e relacionamentos – a diferença entre eles precisa ser expressa em termos de seus atributos. Para ser feito tais distinções, é assinalada para cada conjunto de entidades uma superchave – o conjunto de um ou mais atributos que nos permite identificar inequivocamente uma entidade em um conjunto de entidades. Este conceito, entretanto, não é suficientemente adequado, pois uma superchave pode conter atributos desnecessários. Por exemplo: um conjunto de entidades Pessoa pode ter como superchave o conjunto {CPF, nome}, apesar do CPF ser único para cada pessoa. Portanto, são interessantes as menores superchaves possíveis (cujos subconjuntos não sejam superchaves), que passam a ser chamadas de chaves candidatas. É possível que haja diversos conjuntos distintos de atributos que poderiam servir como chaves candidatas, ficando a cargo do projetista da base de dados escolher uma delas, a seu critério, como mecanismo principal para a identificação de entidades no conjunto de entidades. Esta chave candidata escolhida passa a ser conhecida como chave primária. Informática - Fundamentos de Banco de Dados
11
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
É também possível que um conjunto de entidades não possua atributos suficientes para a formação de uma chave primária; tal tipo é chamado de entidade fraca (ou filho), enquanto que o conjunto de entidades que possui chave primária é denominado entidade forte (ou pai). O conceito de entidade forte e fraca está relacionado com o conceito de dependência existencial: uma entidade forte é, por definição, uma entidade dominante, e uma entidade fraca é uma entidade subordinada. A chave primária de uma entidade fraca é formada pela chave primária da entidade forte (da qual é existencialmente dependente), mais um conjunto de atributos que identificam unicamente as entidades fracas relacionadas àquela entidade forte – tal conjunto de atributos é conhecido como chave parcial ou discriminador. Conjuntos de relacionamentos também possuem chaves primárias, formados pela composição de todas as chaves primárias dos conjuntos de entidades associadas pelo conjunto de relacionamentos.
Atributo obrigatório - é aquele que para uma instância de uma entidade ou relacionamento deve possuir um valor. (NOT NULL) Atributo opcional - É aquele que para uma instância da entidade ou relacionamento pode possuir um valor. (NULL) Podemos ainda classificar os atributos como :
Atributo Identificador - (#) - Atributo capaz de identificar exclusivamente cada ocorrência de uma entidade. Também conhecido como chave Primária ou Primary Key (PK). Ex: Código do Cliente , Código do Produto , etc.( O símbolo # é usado para representar a chave primária em algumas notações) Chave Candidata - Atributo ou grupamento de atributos que têm a propriedade de identificar unicamente uma ocorrência da entidade . Pode vir a ser uma chave Primária. A chave candidata que não é chave primária também chama-se chave Alternativa. Chave de Ordenação – Atributo ou agrupamento que tem potencial de exclusividade, seu valor ou domínio representa a ordem de inserção do registro. Alguns banco de dados permitem o tipo de dados numérico chamado autoincremento, como no caso do Access. Características de uma Chave Primária: a - NÂO PODE haver duas ocorrências de uma mesma entidade com o mesmo conteúdo na Chave Primária b - A chave primária não pode ser composta por atributo opcional , ou seja , atributo que aceite nulo. c - Os atributos identificadores devem ser o conjunto mínimo que pode identificar cada instância de um entidade. d - Não devem ser usadas chaves externas. (Atributos sobre os quais você não tem controle. Ex: CPF) e - Cada atributo identificador da chave deve possui um tamanho reduzido Informática - Fundamentos de Banco de Dados
12
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
f - Não deve conter informação volátil. Ao criar modelos geralmente temos diversas entidades cada uma com diversos atributos que podem se relacionar entre si. Vamos definir como podem ser estes relacionamentos. Para definir o número de ocorrências de uma entidade usamos o conceito de Cardinalidade. A Cardinalidade indica quantas ocorrências de uma Entidade participam no mínimo e no máxima do relacionamento. Cardinalidade Mínima - define se o relacionamento entre duas entidades é obrigatório ou não. Ex: Abaixo temos a entidade Pais e a Entidade UF. Um país possui no mínimo ZERO UF (Existem paises que não possuem Estados . Ex: Vaticano) Uma UF pertence pelo menos a UM País. Nota: O nome UF talvez não seja mais apropriado. A entidade representa um estado ou subdivisão equivalente em um País
Cardinalidade Máxima - define a quantidade máxima de ocorrências da Entidade que pode participar do Relacionamento. Deve ser maior que zero. Ex: Abaixo temos a entidade Pais e a Entidade UF novamente.
País possui no máximo Várias (mais de uma) UF
Juntando as duas cardinalidade temos o modelo lógico abaixo: País pertence no mínimo a ZERO UF e no máximo a VÀRIOS UF UF pertence no máximo e no mínimo a UM País
Informática - Fundamentos de Banco de Dados
13
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
MODELO ENTIDADE-RELACIONAMENTO (M.E.R.) •
•
•
•
•
•
•
Apresentado por Peter Chen, em 1976 É a técnica mais difundida para construir modelos conceituais de bases de dados É o padrão para modelagem conceitual, tendo sofrido diversas extensões Está baseado na percepção de uma realidade constituída por um grupo básico de objetos chamados ENTIDADES e por RELACIONAMENTOS entre estas entidades Seu objetivo é definir um modelo de alto nível independente de implementação O modelo é representado graficamente por um Diagrama de Entidade-Relacionamento (DER), que é simples e fácil de ser entendido por usuários não técnicos Conceitos centrais do MER: entidade, relacionamento, atributo, generalização/especialização, agregação (entidade associativa)
ELEMENTOS DO DIAGRAMA ENTIDADE-RELACIONAMENTO A estrutura lógica global de uma base de dados pode ser expressa graficamente por um diagrama chamado entidade-relacionamento, que consiste nos seguintes componentes: Retângulo: representam conjuntos de entidades:
Informática - Fundamentos de Banco de Dados
14
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
identifica uma entidade forte
identifica uma entidade fraca Elipses: representam atributos:
identifica um atributo para um único valor (monovalorado)
identifica um atributo para vários valores (multivalorado)
identifica um atributo cujo valor é deduzido de outros atributos, sendo usado mas não armazenado na base de dados (derivado)
identifica um atributo para agrupamentos de valores (compostos) – exemplo é a data, composta de dia, mês e ano. Losangos: representam conjuntos de relacionamentos.
Segmentos de reta ligam atributos a conjuntos de entidades, e estes a conjuntos de relacionamentos. Neste último, uma linha identifica uma participação parcial, e duas linhas identifica uma participação total Cada componente é rotulado com seu nome correspondente. Se o atributo for chave primária, esta condição é demonstrada sublinhando seu nome. As retas que ligam conjuntos de entidades e de relacionamentos são rotulados segundo sua cardinalida de: para cardinalidade um-para-um
para cardinalidade um-para-muitos Informática - Fundamentos de Banco de Dados
15
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
para cardinalidade muitos-para-muitos A respeito de como nomear os vários componentes, como prática geral adota-se o emprego de substantivos para os conjuntos de entidades e verbos para os conjuntos de relacionamentos, de modo que o diagrama forneça uma descrição narrativa das requisições da base de dados. O exemplo abaixo apresenta o diagrama entidade-relacionamento proposto para uma base de dados de uma universidade:
ENTIDADE •
•
•
•
Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no Banco de Dados Uma entidade pode representar objetos concretos da realidade (pessoas, automóveis, material, nota fiscal) quanto objetos abstratos (departamentos, discipli nas, cidades) A entidade se refere a um conjunto de objetos; para se referir a um objeto em particular é usado o termo instância (ou ocorrência) No DER, uma entidade é representada através de um retângulo que contém o nome da entidade PESSOA
DEPARTAMENTO
RELACIONAMENTO •
•
•
É toda associação entre entidades, sobre a qual deseja-se manter informações no Banco de Dados. Os relacionamentos representam fatos ou situações da realidade, onde as entidades interagem de alguma forma Um dado por si só não faz uma informação, pois não tem sentido próprio; é necessário que haja uma associação de dados para que a informação seja obtida.
Informática - Fundamentos de Banco de Dados
16
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Exemplos: Fornecimento: entre as entidades FORNECEDOR e MATERIAL Matrícula: entre as entidades ALUNO e DISCIPLINA Financiamento: entre as entidades PROJETO e AGENTE FINANCEIRO No DER, os relacionamentos são representados por losangos, ligados às entidades que participam do relacionamento •
•
•
•
•
LOTAÇ ÃO Diagrama de ocorrências de relacionamentos: DEPARTAMENTO
•
PESSOA
AUTO-RELACIONAMENTO Relacionamento entre ocorrências da mesma entidade.
PESSOA
esposa
marido CASAMENTO
Informática - Fundamentos de Banco de Dados
17
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Diagrama de ocorrências no auto-relacionamento:
O papel da entidade no relacionamento indica a função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento.
CARDINALIDADE DE RELACIONAMENTOS A cardinalidade de uma entidade em um relacionamento expressa o número de instâncias da entidade que podem ser associadas a uma determinada instância da entidade relacionada. Devem ser consideradas duas cardinalidades: Cardinalidade mínima de uma entidade é o número mínimo de instâncias da entidade associada que devem se relacionar com uma instância da entidade em questão. Cardinalidade máxima de uma entidade é o número máximo de instâncias da entidade associada que devem se relacionar com uma instância da entidade em questão. •
•
CARDINALIDADE MÁXIMA No projeto para BD relacional (como neste curso) não é necessário distinguir as cardinalidades que sejam maiores que 1. Assim, são usados apenas as cardinalidades máximas 1 e n (muitos). CLASSIFICAÇÃO DE RELACIONAMENTOS BINÁRIOS A cardinalidade máxima é usada para classificar os relacionamentos binários (aqueles que envolvem duas entidades).
Informática - Fundamentos de Banco de Dados
18
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Relacionamentos 1:1 (um-para-um)
Relacionamentos 1:N (um-para-muitos)
Relacionamentos N:N (muitos-para-muitos)
Informática - Fundamentos de Banco de Dados
19
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
RELACIONAMENTO TERNÁRIO É o relacionamento formado pela associação de três entidades
Cardinalidade em relacionamentos ternários:
CARDINALIDADE MÍNIMA A cardinalidade mínima é usada para indicar o tipo de participação da entidade em um relacionamento. Esta participação pode ser: •
•
Parcial ou Opcional: quando uma ocorrência da entidade pode ou não participar de determinado relacionamento; é indicado pela cardinalidade mínima = 0 (zero). Total ou Obrigatória: quando todas as ocorrências de uma entidade devem participar de determinado relacionamento; é indicado pela cardinalidade mínima > 0 (zero). Exemplos: CLIENTE
1
REALIZA
N
PEDIDO
Um cliente pode fazer pedidos ou não, mas todos os pedidos devem estar associados a Informática - Fundamentos de Banco de Dados
DEPTO
1
ALOCA
N
20
EMPREGADO
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
um cliente. Todos os departamentos devem possuir pelo menos um empregado alocado, e todos os empregados devem estar alocados em um departamento.
DEPTO
1 10
ALOCA
N
EMPREGADO
Parcialidade mínima: para um departamento ser criado, devem existem pelo menos 10 empregados alocados.
NOTAÇÕES ALTERNATIVAS •
Notação Heuser: semântica associativa DEPTO
•
(0,N) ALOCA
EMPREGADO
Notação Santucci/MERISE: semântica participativa DEPTO
•
(1,1 )
(0,N)
ALOCA
(1,1) EMPREGADO
Notação Setzer: semântica associativa DEPTO
1
ALOCA
N
EMPREGADO
ATRIBUTO É um dado que é associado a cada ocorrência de uma entidade ou relacionamento. Os atributos não possuem existência própria ou independente - estão sempre associados a uma entidade ou relacionamento Exemplos: Funcionário: Matrícula, Nome, Endereço Material: Código, Descrição Financiamento: Valor total, Meses Fornecedor: Nome, Endereço • •
•
•
•
•
•
Informática - Fundamentos de Banco de Dados
21
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
DOMÍNIO É o conjunto de valores válidos que um atributo pode assumir. Ex: Estado civil: solteiro, casado, divorciado, viúvo
TIPOS DE ATRIBUTOS Opcional/Mandatório
Opcional: o atributo pode possuir um valor nulo (vazio). Ex: número
de telefone Mandatório: o atributo deve possuir um valor válido, não nulo. Ex: nome do cliente
Monovalorado/Multivalorado
Monovalorado: o atributo assume um único valor dentro do domínio. Ex: data de nascimento Multivalorado: o atributo pode assumir um número qualquer de valores dentro do domínio. Ex: Telefone para contato
Atômico/Composto
Atômico: o atributo não pode ser decomposto em outros atributos.
Ex: Idade
Composto: o atributo é composto por mais de um atributo. Ex:
Endereço
ATRIBUTO DE RELACIONAMENTO Assim como as entidades, os relacionamentos também podem possuir atributos.
Informática - Fundamentos de Banco de Dados
22
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
IDENTIFICADOR DE ENTIDADES Conjunto de atributos que tem a propriedade de identificar univocamente cada ocorrência de uma entidade Toda entidade deve possuir um identificador O identificador deve ser mínimo, único, monovalorado e mandatório •
• •
RELACIONAMENTO IDENTIFICADOR (ENTIDADE FRACA) Existem casos em que uma entidade não pode ser identificada apenas com seus próprios atributos, mas necessita de atributos de outras entidades com as quais se relaciona. Este relacionamento é denominado Relacionamento Identificador. Alguns autores denominam uma entidade nesta situação de Entidade Fraca.
IDENTIFICADOR DE RELACIONAMENTOS Uma ocorrência de relacionamento diferencia-se das demais pelas ocorrências das entidades que participam do relacionamento. No exemplo
No exemplo, uma ocorrência de ALOCAÇÃO é identificada pela ocorrência de Engenheiro e pela ocorrência de Projeto. Ou seja, para cada par (engenheiro, projeto) há no máximo um relacionamento de alocação. Informática - Fundamentos de Banco de Dados
23
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Em certos casos, será necessário o uso de atributos identificadores de relacionamentos. Por exemplo:
Como o mesmo médico pode consultar o mesmo paciente em diversas ocasiões, é necessário o uso de um atributo que diferencie uma consulta da outra.
GENERALIZAÇÃO /ESPECIALIZAÇÃO A generalização é um processo de abstração em que vários tipos de entidade são agrupados em uma única entidade genérica, que mantém as propriedades comuns A especialização é o processo inverso, ou seja, novas entidades especializadas são criadas, com atributos que acrescentam detalhes à entidade genérica existente A entidade genérica é denominada superclasse e as entidades especializadas são as subclasses. A superclasse armazena os dados gerais de uma entidade, as subclasses armazenam os dados particulares Este conceito está associado à idéia de herança de propriedades. Isto significa que as subclasses possuem, além de seus próprios atributos, os atributos da superclasse correspondente. Usada quando é necessário caracterizar entidades com atributos próprios ou participação em relacionamentos específicos •
•
•
•
•
Uma generalização/especialização pode ser total ou parcial: É total quando, para cada ocorrência da entidade genérica, existe sempre uma ocorrência em uma das entidades especializadas. É parcial quando nem toda ocorrência da entidade genérica possui uma ocorrência correspondente em uma entidade especializada. •
•
Informática - Fundamentos de Banco de Dados
24
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
ENTIDADE ASSOCIATIVA (AGREGAÇÃO ) O uso desta abstração é necessário quando um relacionamento deve ser representado como uma entidade no modelo conceitual. Isto ocorre quando é necessário estabelecer um relacionamento entre uma entidade e um relacionamento. Para atender a esta situação foi criado o conceito de Entidade Associativa ou Agregação. A agregação é simplesmente um relacionamento que passa a ser tratado como entidade. Considerando o exemplo •
•
•
Se for necessário adicionar a informação que, a cada consulta um ou mais medicamentos podem ser prescritos ao paciente, será necessário criar uma nova entidade (MEDICAMENTO). Esta entidade deve se relacionar com as consultas, mas CONSULTA é um relacionamento. Deve ser criada então uma entidade associativa.
Informática - Fundamentos de Banco de Dados
25
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Outra forma alternativa de se representar a entidade associati va é
RELACIONAMENTO MUTUAMENTE EXCLUSIVO Neste tipo de relacionamento uma ocorrência de um entidade pode estar associada com ocorrências de outras entidades, mas não simultaneamente. AVIÃO
TRANSPORT E
CARGA
TRANSPORT E
PASSAGEIRO Informática - Fundamentos de Banco de Dados
26
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
RESTRIÇÃO DE PERSISTÊNCIA NO RELACIONAMENTO Um relacionamento é persistente quando, depois de criado, ele não puder ser removido indiretamente pela remoção de uma ocorrência de uma das entidades associadas.
1 ALUNO
Informática - Fundamentos de Banco de Dados
EMPRÉ S-TIMO
N LIVRO
27
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
MAPEANDO DIAGRAMAS ENTIDADE-RELACIONAMENTO A RELAÇÕES Uma base de dados com forma correspondente a um diagrama entidaderelacionamento pode ser mapeado (representado) por uma coleção de relações - para cada conjunto de entidades e para cada conjunto de relacionamentos, há uma única tabela que tem o nome do conjunto correspondente; cada tabela possui um número de colunas (vinculados aos atributos), que possuem nomes únicos. Para vermos o resultado do mapeamento dos diagramas em relações, os exemplos serão baseados na proposta para a universidade vista no modelo entidade-relacionamento:
•
•
Entidades: seja A um conjunto de entidades com atributos "a 1", "a2", ..., "an". Tal entidade é representada por uma relação chamada A com "n" colunas distintas - cada uma corresponde a um dos atributos de A; cada tupla corresponde a uma entidade do conjunto de entidades A. Temos como exemplos:
Entidades fracas: seja B um conjunto de entidades fracas com atributos "b 1", "b2", ..., "bn"; seja A um conjunto de entidades fortes do qual B é totalmente dependente. Se a chave primária de B constitui-se dos atributos "a1", "a2", ..., "ak", então B é representada por uma relação chamada B com uma coluna para cada atributo do conjunto {a 1, a2, ..., ak} {b1, b2, ..., bn}. Por exemplo:
Informática - Fundamentos de Banco de Dados
28
Escola Estadual de Educação Profissional [EEEP]
•
•
Ensino Médio Integrado à Educação Profissional
Relacionamentos: seja R um conjunto de relacionamentos envolvendo os conjuntos de entidades E1, E2, ..., Em. Para cada Ei, seja Πi o conjunto de atributos que formam sua chave primária. Seja "r 1", "r 2", ..., "r n" os atributos de R. A relação correspondente chamase R e possui uma coluna para cada atributo do conjunto Π 1 Π 2 ... Πm {r 1, r 2, ..., r n}. Exemplo:
Generalização e especialização: seja G um conjunto de entidades, que é especializada em conjuntos de entidades E 1, E2, ..., En (cada entidade com seus devidos atributos). Há dois métodos para mapear este tipo de conjuntos de entidades em uma representação tabular: criar uma relação para a entidade de nível mais alto e, para cada entidade de nível mais baixo, criar uma relação que inclua uma coluna para cada atributo mais uma para cada atributo da chave primária herdado da entidade de nível mais alto: o
Informática - Fundamentos de Banco de Dados
29
Escola Estadual de Educação Profissional [EEEP] o
•
Ensino Médio Integrado à Educação Profissional
não criar uma relação para a entidade de nível mais alto, mas para cada entidade de nível mais baixo, criar uma relação que inclua uma coluna para cada atributo mais uma para cada atributo herdado da entidade de nível mais alto:
Agregação: seja R um conjunto de relacionamentos (envolvendo os conjuntos de entidades E1, E2, ..., En) que é agregada, passando a ser tratada como o conjunto de entidades R. Seu mapeamento é simples: cria-se uma relação para cada conjunto de entidades e uma relação para R (que representa tanto o conjunto de relacionamentos quanto o conjunto de entidades agregadas).
ATRIBUTOS: ESQUEMAS E INSTÂNCIAS, E CHAVES Em uma relação, o conjunto de atributos define sua concepção lógica (ou seja, seu esquema), enquanto que o conjunto de valores relacionados àqueles atributos determina sua instância (o conjunto de dados da relação em um determinado instante). Observe que, em algumas relações de uma mesma base de dados, alguns atributos aparecem em ambos (por exemplo: o atributo "código" nas relações Disciplina e Assiste). Não é coincidência: o uso de atributos comuns em esquemas de relações distintas é uma maneira de relacionar tuplas de relações distintas. No caso do exemplo, o atributo "código" representa o mesmo conjunto de entidades em ambas as relações. A noção de superchave, chave candidata e chave primária, conforme discutidos no modelo entidade-relacionamento, também é aplicável no modelo relacional. Por exemplo: no relacionamento Disciplina, {código, nome, departamento} é uma superchave, mas não é uma chave candidata pois "código" e {nome, departamento}, por si sós, também são superchaves; como nem "nome" nem "departamento" são superchaves, temos que {nome, departamento} e "código" são chaves candidatas, sendo que o último foi escolhido como chave primária.
NORMALIZAÇÃO Normalização é o conjunto de regras que visa minimizar as anomalias de modificação dos dados e dar maior flexibilidade em sua utilização. Por que Normalizar ? 1º)Minimização de redundâncias e inconsistências; 2º) Facilidade de manipulações do Banco de Dados; 3º) Facilidade de manutenção do Sistema de Informações Para que você compreenda melhor vou dar um exemplo. Vamos supor que você criou uma entidade Funcionários para armazenar as informações dos funcionários de um empresa e que o resultado físico final seja a tabela mostrada abaixo. Informática - Fundamentos de Banco de Dados
30
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Se você olhar bem para a tabela acima vai ter que concordar comigo que ele sofre das seguintes anomalias:
•
•
•
Anomalia de Exclusão - O que acontece se você excluir o funcionário de código igual a 3 ? O Setor vai ser excluído junto e ai você dançou... Anomalia de Alteração - O nome do Setor Suporte mudou para Apoio . Você vai ter alterar o nome em todos os registros da tabela. Dançou novamente... Anomalia de Inclusão - Foi contratado um novo funcionário para o Setor Suporte. Você vai ter que incluir um funcionário ao campo - QuantidadeFuncionarios - em todas as ocorrências com setor de nome SUPORTE. Dançou mais uma vez...
Para poder resolver o dilema acima temos que NORMALIZAR a entidade. Para isto aplicamos as formas normais a saber: 1- Primeira Forma Normal -(1FN)- Uma relação está na 1FN se somente todos os domínios básicos contiverem somente valores atômicos (não contiver grupos repetitivos). Para atingir esta forma normal devemos eliminar os grupos de repetição. Como ?0 Procedimentos: a) Identificar a chave primária da entidade; b) Identificar o grupo repetitivo e excluí-lo da entidade; c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo. A chave primária da nova entidade será obtida pela concatenação da chave primária da entidade inicial e a do grupo repetitivo. Abaixo temos um exemplo de como efetuar a normalização para a primeira forma normal:
Informática - Fundamentos de Banco de Dados
31
Escola Estadual de Educação Profissional [EEEP]
Não normalizada
Ensino Médio Integrado à Educação Profissional
Normalizada usando a primeira forma normal (1FN)
2- Segunda Forma Normal -(2FN)- Uma relação R está na 2FN se e somente se ela estiver na primeira e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela). Procedimentos: a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária. b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles. A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes. Exemplo: Sejam as entidades : Arquivo de Notas Fiscais (Num. NF, Série, Código do Cliente, Nome do cliente, Endereço do cliente, Total Geral da Nota) Arquivo de Vendas (Num. NF, Código da Mercadoria, Descrição da Mercadoria, Quantidade vendida, Preço de venda e Total da venda )
Normalizando para segunda forma normal (2FN): Arquivo de Notas Fiscais (Num. NF, Série, Código do Cliente, Nome do cliente, Endereço do cliente, Total Geral da Nota) Arquivo de Vendas (Num. NF, Código da Mercadoria, Quantidade vendida e Total da Venda) Arquivo de Mercadorias (Código da Mercadoria, Descrição da Mercadoria, Preço de venda)
Informática - Fundamentos de Banco de Dados
32
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
Como resultado desta etapa, houve um desdobramento do arquivo de Vendas (o arquivo de Notas Fiscais, não foi alterado, por não possuir chave composta) em duas estruturas a saber: Primeira estrutura (Arquivo de Vendas): Contém os elementos originais, sendo excluídos os dados que são dependentes apenas do campo Código da Mercadoria. Segundo estrutura (Arquivo de Mercadorias): Contém os elementos que são identificados apenas pelo Código da Mercadoria, ou seja, independentemente da Nota Fiscal, a descrição e o preço de venda serão constantes. 3- Terceira Forma Normal -(2FN)- Uma relação R está na 3FN se somente estiver na 2FN e todos os atributos não chave forem dependentes não transitivos da chave primária (cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primária ou se todos os seus atributos não chave forem independentes entre si). Procedimentos: a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave; b) Removê-los e criar uma nova entidade com os mesmos. A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes. Estrutura na segunda forma normal (2FN): Arquivo de Notas Fiscais (Num. NF, Série, Data emissão, Código do Cliente, Nome do cliente, Endereço do cliente, Total Geral da Nota) Arquivo de Vendas (Num. NF, Código da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) Arquivo de Mercadorias (Código da Mercadoria, Descrição da Mercadoria, Preço de venda) Estrutura na terceira forma normal (3FN): Arquivo de Notas Fiscais (Num. NF, Série, Data emissão, Código do Cliente e Total Geral da Nota) Arquivo de Vendas (Num. NF, Código da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) Arquivo de Mercadorias (Código da Mercadoria, Descrição da Mercadoria, Preço de venda) Arquivo de Clientes (Código do Cliente, Nome do cliente, Endereço do cliente) Como resultado desta etapa, houve um desdobramento do arquivo de Notas Fiscais, por ser o único que possuía campos que não eram dependentes da chave principal (Num. NF), uma vez que independente da Nota Fiscal, o Nome, Endereço são inalterados. Este procedimento permite evitar inconsistência nos dados dos arquivos e economizar espaço por eliminar o armazenamento freqüente e repetidas vezes destes dados. A cada nota fiscal comprada pelo cliente, haverá o armazenamento destes dados e poderá ocorrer divergência entre eles. As estruturas alteradas e o motivo das alterações : - Primeira estrutura (Arquivo de Notas Fiscais): Contém os elementos originais, sendo excluído os dados que são dependentes apenas do campo Código do Cliente Informática - Fundamentos de Banco de Dados
33
Escola Estadual de Educação Profissional [EEEP]
Ensino Médio Integrado à Educação Profissional
(informações referentes ao cliente). - Segundo estrutura (Arquivo de Clientes): Contém os elementos que são identificados apenas pelo Código do Cliente, ou seja, independente da Nota Fiscal, o Nome, Endereço serão constantes. Após a normalização, as estruturas dos dados estão projetadas para eliminar as inconsistências e redundâncias dos dados, eliminando desta forma qualquer problema de atualização e operacionalização do sistema. A versão final dos dados poderá sofrer alguma alteração, para atender as necessidades específicas do sistema, a critério do analista de desenvolvimento durante o projeto físico do sistema.
INTEGRIDADE REFERENCIAL O conceito de integridade Referencial nos remete à preocupação de consistência no relacionamento entre os dados de duas ou mais entidades ligadas. E uma proteção estrutural contra as anomalias de exclusão e atualização em cascata. Os dados constantes em tabelas são armazenados segundo a estrutura planejada e implementada pelos seus relacionamentos, mantendo assim o nexo dos dados em suas respectivas relações. No projeto de chaves, foram definidas as chaves primárias e estrangeiras, ligando os dados relacionáveis por números. A tabela clientes empresta a chave primária, como chave estrageira, para a tabela vendas, dizendo assim que um determinada venda foi feita por um determinado cliente. Se por algum motivo, mesmo que não recomendável, na tabela clientes, o registro de um cliente seja excluído a referência às vendas perderá a sua integridade. Muitos registros em venda citarão um número de cliente que não existe. Perde-se o nexo ou a integridade referencial. Da mesma forma, trará problemas de integridade o número do cliente que seja alterado em clientes e não seja alterado na tabela Vendas. Alguma vendas não terão cliente com o número citado ou outras vendas passarão a ser representadas como pertencentes a outro cliente com o numero coincidente com a ataulização. Como solução para a anomalia de atualização em cascata ,o banco de dados trata de atualizar a chave estrangeira em todas as tabelas dependentes daquela chave primária, mantendo assim o nexo. Solução razoável. No caso da exclusão em cascata o SGBD, toma uma atitude drástica, todos os registros das tabelas dependentes serão excluídos, já que perdendo o nexo ou referência, permaneceriam armazenados, sem utilidade, ocupando espaço e possivelmente gerando erros em consultas e perda de desempenho.
INDEXAÇÃO Para organizar os registros armazenados em uma tabela, sob o critério de ordenação alfabética ou numérica, otimizando busca e consultas ao banco de dados são criados índices, referenciando um ou mais campos. Na planilha eletrônica, por exemplo, podem ser organizadas as informações pelo nome do aluno. Portanto as demais colunas acompanharão o nome do respectivo aluno.
Informática - Fundamentos de Banco de Dados
34