SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Teoria 
De 
Bases de dados 
Paulo Leocádio
Índice 
A informática na empresa.............................................................................................................2 
Da dependência à independência dos dados..............................................................................3 
Os três níveis da arquitectura de um SGBD.................................................................................6 
Funções e estrutura de um SGBD.................................................................................................7 
Operações de definição e alteração da estrutura de uma BD................................................7 
Operações de manipulação de dados sem alteração da estrutura da BD............................7 
Operações de controlo de dados..............................................................................................8 
O que é uma Base de Dados?.......................................................................................................9 
Vantagens na utilização de BD’s...................................................................................................9 
Esquema e Instância de uma Base de Dados..........................................................................11 
Modelos de Bases de Dados......................................................................................................11 
Modelos baseados em objectos:...........................................................................................11 
Modelos baseados em registos:............................................................................................11 
Modelo Hierárquico.............................................................................................................12 
Modelo de rede...................................................................................................................12 
Modelo Entidade-Relacionamento.............................................................................................13 
Entidades.................................................................................................................................13 
Relacionamentos....................................................................................................................13 
Atributos e Ocorrências...........................................................................................................14 
Valores e Domínios dos atributos..........................................................................................14 
Tipos de atributos....................................................................................................................15 
Atributo Identificador..............................................................................................................15 
Chave Primária........................................................................................................................16 
Chave Estrangeira ou Externa................................................................................................17 
Relacionamentos entre entidades.........................................................................................17 
Tipos de Relacionamentos.....................................................................................................18 
Grau de Relacionamento........................................................................................................19 
Qualidade de participação......................................................................................................20 
Derivação de tabelas..............................................................................................................20 
Normalização de tabelas............................................................................................................22 
1ª Forma Normal (1ª FN)........................................................................................................23 
Dependência funcional...........................................................................................................25 
2ª Forma normal (2ª FN).........................................................................................................26 
3ª Forma normal (3ª FN).........................................................................................................28
Teoria de Bases de Dados 
2 
A informática na empresa 
Ao longo dos tempos a informática deixou as áreas exclusivamente técnicas e científicas para se tornar uma ferramenta de uso geral em qualquer sector da actividade humana. Se há uns anos atrás o grande problema residia na limitação à quantidade e capacidade de processamento de informação que era possível tratar num computador, hoje em dia a tecnologia permite ultrapassar isso, criando, no entanto, um outro problema que é a qualidade dessa informação. 
As novas tecnologias permitem também explorar melhor as capacidades do computador. A informação deixou de ser apenas texto (símbolos ou caracteres), e passou a incluir imagens e sons. Abrem-se novos campos para a exploração dos sistemas de informação. 
Sendo as empresas os locais onde mais intensivamente se utiliza a informática, é também nelas que as necessidades e quantidades de informação são maiores. O aumento de potência dos sistemas informáticos, assim como a sua aplicação a todos as áreas da empresa, proporciona quantidades de informação gigantescas quando comparadas com alguns anos atrás. 
A necessidade das organizações em possuir um sistema de gestão mais eficaz torna- as cada vez mais dependentes da informação existente e dos métodos para a tratar. O tempo das enormes e fastidiosas listagens de computador já passou, hoje a informação tem de ser compreensível, completa, fácil e rápida de obter. 
É num contexto de necessidade de informação cada vez maior que se insere o aparecimento dos Sistemas de Gestão de Bases de Dados (SGBD). Estes sistemas são um conjunto de programas que fazem uma gestão autónoma da informação, de acordo com um modelo preestabelecido e adaptado à empresa. 
Deste modo vários programas concebidos em diferentes linguagens, por diversos programadores e executando funções específicas, podem aceder à mesma informação. Esta deixa de ser propriedade dos departamentos da empresa e é agora encarada como uma entidade única e autónoma à qual vários e diferentes utilizadores recorrem. 
Paulo Leocádio
Teoria de Bases de Dados 
3 
Base de Dados 
SGBD 
Da dependência à independência dos dados 
O Sistema de Gestão de Bases de Dados gere toda a informação contida na base de dados e constitui o interface entre a informação e os utilizadores, quer sejam utilizadores finais quer sejam programadores. 
Utilizadores 
Fig. 1 – SGBD: O interface entre utilizador e a base de dados 
Inicialmente as aplicações informáticas destinadas a gerir os sistemas de informação das organizações (empresas, administração pública, etc...), tinham uma característica: os dados eram dependentes dos programas de aplicação que os geravam e manipulavam. 
Esta característica logo revelou os seus problemas: 
Limitação por parte dos utilizadores às estruturas de dados definidas pelos programadores; 
A alteração da estrutura da informação, como por exemplo, incluir ou retirar campos num ficheiro de base de dados, implicava que os programadores tivessem de alterar os programas de aplicação que operavam sobre estes dados; 
A dependência dos dados relativamente às aplicações implicava que a alteração das estruturas de dados levava quase sempre a uma reintrodução dos dados visto ser necessários adaptá-los aos novos programas e novos formatos definidos; 
Numa mesma organização, a informação encontrava-se repartida e repetida em diversos locais, pois cada departamento criava os seus programas de aplicação de forma autónoma e de acordo com as suas necessidades. Este facto originava a duplicação de informação perfeitamente desnecessária. 
Paulo Leocádio
Teoria de Bases de Dados 
ORGANIZAÇÃO X 
Aplicação A 
Depart. P 
Aplicação B 
Depart. Q Depart. T 
Aplicação C 
Depart. R 
Aplicação D 
Depart. S 
Aplicação E 
Aplicação A Aplicação B 
Aplicaçã 
o C 
4 
Depart. U Depart. V Depart. X Fig. 2 cia dos sistemas de ap 
orma, tomou-se evidente a necessidade de criar programas ou sistemas de 
SGBD são programas ou conjuntos integrados de programas que permitem criar 
ara manipular os mesmos 
pendência dos dados num SGBD significa que é possível alterar a estrutura 
– Dependên 
licação 
Desta f 
bases de dados capazes de gerir a informação de uma forma mais flexível, em que os dados pudessem ser separados e organizados de forma independente em relação aos programas de aplicação. E assim, surgiram os Sistemas de Gestão de Bases de Dados (SGBD). Os 
e manipular bases de dados, em que os dados são estruturados com independência relativamente aos programas de aplicação que os manipulam. Deste modo, podem ser criadas diversas aplicações p 
dados ou a mesma base de dados, em conformidade com as necessidades dos seus utilizadores. A inde 
dos dados de uma base de dados, quer ao nível físico quer ao nível conceptual, sem que isso implique a necessidade de reformular as aplicações que operam com os dados. 
Departamento X Departamento Y 
SGBD 
* Departamento Z 
Fig. 3 – Independência dos programas de aplicação 
Paulo Leocádio
Teoria de Bases de Dados 
No entanto, os sistemas de bases de dados não gerem apenas a informação, eles comportam uma série de utilitários que visam facilitar a vida aos utilizadores e programadores. 
Alguns dos produtos fornecidos pelos maiores fabricantes de SGBD são os seguintes: 
9 Motor da base de dados (Data Engine); 
9 Linguagem de pesquisa (Query Language); 
9 Gerador de listagens (Report Generator); 
9 Gerador de entradas de dados (Form Generator); 
9 Interfaces para linguagens de programação de 3ª geração; 
9 Linguagens de programação de 4ª geração (4GL – 4th Generation Language); 
9 Processamento distribuído (produtos NET); 
9 Bases de dados distribuídas (produtos STAR); 
9 Interligação com outros sistemas de bases de dados (produtos GATEWAY); 
9 Ferramentas: CASE (Computer-Aided Software Engineering); 
O SGBD actual fornece à empresa um meio sólido de armazenamento da informação, suficientemente flexível para acompanhar as novas tecnologias, e sobretudo generaliza o acesso à informação, permitindo que qualquer utilizador através de procedimentos simples compile a informação que deseja. 
Paulo Leocádio 5
Teoria de Bases de Dados 
6 
Os três níveis da arquitectura de um SGBD 
Um Sistema de Gestão de Bases de Dados é uma colecção de ficheiros de dados inter- relacionados e um conjunto de programas ou rotinas que permitem aos utilizadores o acesso à informação assim armazenada. 
Os ficheiros de dados são guardados em suportes de armazenamento informático (discos, disquetes, cd's, etc...) e, a partir daí são manipulados pelos programas ou rotinas do SGBD em execução no computador. 
O armazenamento dos ficheiros de dados em suportes informáticos e a forma como eles se encontram organizados nesses suportes constitui o chamado Nível Físico da base de dados. 
Além de operar ao nível físico, o SGBD tem também de proporcionar aos utilizadores e programadores meios de estruturar ou organizar a informação, afim de esta vir a ser consultada e actualizada pelos utilizadores finais. É a esta estruturação e organização dos dados que se chama o Nível Conceptual de uma base de dados. 
Por fim, o chamado Nível de Visualização corresponde à forma como são apresentados os interfaces gráficos aos utilizadores finais, que geralmente não têm, ou são poucos conhecimentos dos níveis físico e conceptual. 
Armazenamento da informação em suportes informáticos 
Interface gráfico com o utilizador 
Organização da informação em tabelas e relacionamentos 
Nível Físico 
Nível Conceptual 
Nível de visualização 
Fig. 4 - Os três níveis da arquitectura de um SGBD 
Paulo Leocádio
Teoria de Bases de Dados 
7 
Funções e estrutura de um SGBD 
O trabalho com uma base de dados implica diversos tipos de operações sobre os ficheiros e os dados que eles contêm, tais como: 
9 Inserir novos registos; 
9 Procurar e visualizar um registo; 
9 Eliminar registos existentes; 
9 Seleccionar registos e/ou campos; 
9 Ordenar os registos de um ficheiro; 
9 Juntar ou intercalar registos de ficheiros diferentes; 
9 Fazer cópias ou duplicações de ficheiros; 
9 Alterar a estrutura de campos de um ficheiro; 
9 Eliminar ficheiros; 
Assim podemos distinguir os seguintes agrupamentos de operações típicas do trabalho com bases de dados: 
Operações de definição e alteração da estrutura de uma BD 
(Linguagem de Definição de Dados – DDL) 
Criação de uma nova base de dados; 
Criação de um novo ficheiro ou tabela; 
Alteração da estrutura de campos de uma tabela; 
Criação e alteração de ficheiros de índices; 
Eliminação de ficheiros ou tabelas de uma base de dados; 
Operações de manipulação de dados sem alteração da estrutura da BD 
(Linguagem de Manipulação de Dados–LMD) 
Consultas ou pesquisas de dados; 
Inserção de novos dados (registos); 
Alteração de dados existentes (campos e registos); 
Eliminação de dados (registos); 
Paulo Leocádio
Teoria de Bases de Dados 
Operações de controlo de dados 
Têm a ver com a atribuição ou supressão dos direitos de acesso aos dados em relação a utilizadores ou grupos de utilizadores. 
NNíívveell ddee VViissuuaalliizzaaççããoo 
NNíívveell CCoonncceeppttuuaall 
•• OOppeerraaççõõeess ddee ccrriiaaççããoo ee aalltteerraaççããoo ddaa eessttrruuttuurraa ddaa bbaassee ddee ddaaddooss 
•• OOppeerraaççõõeess ddee mmaanniippuullaaççããoo ddee ddaaddooss;; 
•• OOppeerraaççõõeess ddee ccoonnttrroolloo ddooss ddaaddooss;; 
NNíívveell FFííssiiccoo 
Paulo Leocádio 8
Teoria de Bases de Dados 
9 
O que é uma Base de Dados? 
De um modo geral, pode-se definir uma Base de Dados como sendo um conjunto de dados ou informações relacionados entre si e organizados de forma a facilitar a sua utilização por parte do utilizador. 
Ou ainda, como um sistema cuja finalidade é registar, actualizar, manter e disponibilizar a informação relevante para a actividade de uma organização. 
Este conjunto de informações será partilhado e utilizado para diferentes objectivos e por diferentes utilizadores. No entanto, os utilizadores não só partilham informações como também têm necessidades e perspectivas diferentes dessas informações. 
Quando se cria uma base de dados tem-se como objectivos: 
- Diminuir o espaço ocupado pela informação; 
- Facilitar a actualização da informação; 
- Aumentar a velocidade de pesquisa; 
- Evitar a redundância de informação. 
Vantagens na utilização de BD’s 
Os benefícios aqui abordados dividem-se em três categorias principais, nomeadamente: 
1. Benefícios de cceennttrraalliizzaaççããoo de dados: 
- Redução/Eliminação de redundância de dados: evitar a repetição de informação desnecessária, reduzindo também o espaço ocupado pela base de dados; 
- Melhoria na concorrência de dados: aumentar a eficiência no acesso aos dados; 
- Obtenção de informação atempadamente: Aceder e obter informação de forma mais rápida e eficaz; 
- Simplificação da infra-estrutura de informação: permitir uma estruturação e organização da informação de forma mais simples permitindo, deste modo, alcançar os pontos referidos acima. 
2. Benefícios resultantes de uma melhor ggeessttããoo ddee ddaaddooss: 
- Organização e controlo dos dados: a simplificação da própria estrutura da base de dados implica benefícios na organização dos dados o que é uma mais valia para a gestão e controlo dos dados; 
Paulo Leocádio
Teoria de Bases de Dados 
- Recuperação, backup e rasteio de dados: por vezes pode acontecer que se percam dados relevantes para a base de dados. Nestes casos é importante que hajam mecanismos de recuperação dos mesmos, de forma a ser possível o seu restauro. É importante, também, que a base de dados permita a execução de backups, isto é, de cópias de segurança da informação armazenada; 
- Simplificação e aperfeiçoamento da segurança: a segurança é crucial nos dias de hoje. Não só para prevenir ataques externos à base de dados, mas também como forma de restringir o acesso aos dados por parte de utilizadores sem privilégios para tal; 
- Melhor integridade dos dados: apresentar os dados com rigor e qualidade. 
3. Melhoria de ppeerrffoorrmmaannccee através de: 
- Chamadas (calls) de aplicações: permitem que outras aplicações, que não aquela que gere a base de dados, acedam aos dados e os utilizem para obter determinados resultados; 
- Mecanismos de recuperação (unit recovery mechanism, URM): são mecanismos que permitem a qualquer momento restaurar informação perdida pela base de dados. 
Paulo Leocádio 10
Teoria de Bases de Dados 
11 
Esquema e Instância de uma Base de Dados 
Esquema: Consiste no design ou estrutura lógica com que a base de dados é definida, o modo como é concebida a organização da informação. 
Instância: Refere-se aos dados concretos que a base de dados contém a cada momento, os quais podem variar com a utilização da base de dados. 
9 O esquema de uma BD é concebido segundo um modelo conceptual e implementado num SGBD através da sua DDL. 
9 A instanciação de uma BD é feita através dos recursos de manipulação dos dados do SGBD, portanto ao nível da LMD. 
Modelos de Bases de Dados 
O desenvolvimento de uma base de dados pode ser efectuado segundo diferentes modelos conceptuais. 
Estes são um conjunto de ferramentas conceptuais, para descrever os dados, a sua semântica e restrições 
Estes modelos podem ser agrupados em dois tipos: 
Modelos baseados em objectos: 
9Representam a realidade através de objectos; 
9Os objectos são entidades reais (Aluno, Professor, Disciplina, ...); 
9Alguns modelos: 
• Entidade-Relacionamento; 
• Semânticos; 
• Orientados por Objectos; 
Modelos baseados em registos: 
9Representam a realidade através de registos; 
9Informação estruturada com o formato de campos; 
9Alguns modelos: 
• Hierárquico; 
• Rede; 
• Relacional. 
Paulo Leocádio
Teoria de Bases de Dados 
Modelo Hierárquico 
- Uma base de dados concebida segundo o modelo hierárquico consiste numa colecção de registos que se encontram relacionados entre si, através de relações; 
- A estrutura hierárquica de ligação entre os registos toma o aspecto de uma árvore invertida; 
- Cada registo (excepto o primeiro) encontra-se ligado a um outro denominado de superior hierárquico; 
- Se um superior hierárquico for eliminado todos os que se encontram abaixo dele na estrutura hierárquica serão eliminados. 
Modelo de rede 
- Uma base de dados concebida segundo o modelo hierárquico também consiste numa colecção de registos que se encontram relacionados entre si, através de relações; 
- A estrutura de ligação dos registos já não se apresenta em forma de árvore mas sim em forma de rede, o que implica uma maior flexibilidade em relação à forma como se podem ligar os registos. 
ierárquico 
Fig. 5 – Modelo em Rede 
Fig. 4 – Modelo h 
Paulo Leocádio 12
Teoria de Bases de Dados 
13 
Modelo Entidade-Relacionamento 
O modelo de Entidade-Relacionamento, foi desenvolvido para auxiliar o projecto de base de dados, através da especificação de um esquema que define a organização da base de dados. 
É uma técnica que: 
- utiliza uma abordagem top-down; 
- baseia-se na identificação dos grandes objectos informacionais com interesse para o sistema a informatizar e nas associações entre estes; 
- por ser gráfica, e suportar um número limitado de símbolos, permite representar o modelo de informação com: 
• clareza; 
• redução de esforço; 
• facilidade de compreensão; 
• facilidade de apresentação. 
O modelo E-R é baseado na percepção de que o mundo real é constituído por dois objectos: entidades e relacionamentos. 
Entidades 
São elementos relevantes, abstractos ou concretos, sobre os quais é necessário guardar informação. 
Por exemplo: 
9Pessoas ( Fornecedores, Empregados, Clientes, Alunos, etc...) 
9Organizações ( Empresas, Hospitais, Escolas, Farmácias, etc...) 
9Objectos ( Carro, Factura, Produtos, Boletim de Incrição, etc...) 
Relacionamentos 
Após a identificação das entidades a incluir no esquema da BD, e dos atributos que as definem, é necessário perceber o modo como estas entidades se relacionam entre si. Assim, um relacionamento é uma associação existente entre entidades. 
Paulo Leocádio
Teoria de Bases de Dados 
Atributos e Ocorrências 
Uma entidade é definida por um conjunto de dados que de alguma forma se encontram relacionados. 
Os dados numa entidade encontram-se divididos em campos ou atributos que são os elementos que a caracterizam. 
A cada ocorrência relativa a uma entidade dá-se o nome de registo. 
Campo 
Nome 
Morada 
Telefone 
António 
Ponta Delgada 
296123456 
Manuel 
Angra do Heroísmo 
295789012 
Maria 
Horta 
291345678 
Registo 
Valores e Domínios dos atributos 
Os atributos das entidades são preenchidos com VALORES. São estes valores que caracterizam e identificam cada entidade. 
Exemplo: 
O nome próprio de uma pessoa: Ana, Maria, João, Francisco, etc... 
O estado civil de uma pessoa: Solteiro, casado, divorciado. 
Cada atributo de uma entidade pode tomar os seus valores dentro de um determinado conjunto – DOMÍNIO – que não é mais do que o conjunto de todos os valores que esse atributo pode assumir. 
Exemplo: 
Os valores para a idade de uma pessoa só podem ser numéricos, nunca podendo conter valores alfanuméricos. Assim, o seu domínio será o dos números inteiros. 
Paulo Leocádio 14
Teoria de Bases de Dados 
Tipos de atributos 
Os atributos de uma entidade podem ser de dois tipos: 
ATÓMICOS – Não é possível decompor esses atributos em unidades mais elementares. 
Exemplo: nº de aluno, idade, nome próprio, BI, NIF, etc... 
COMPOSTOS – São atributos que podem ser decompostos em unidades mais elementares. 
Exemplo: 
- O nome completo de uma pessoa pode ser decomposto em nome próprio, sobrenome e restantes. 
- A data que pode ser decomposta em dia, mês e ano. 
- A hora que pode ser decomposta em hora, minuto e segundo. 
Atributo Identificador 
Entre os diversos atributos que definem uma entidade deve existir um ou mais campos que identifiquem inequivocamente cada registo. A este(s) atributo(s) dá-se o nome de Atributo Identificador. 
ATRIBUTO IDENTIFICADOR – É o atributo que deve identificar sem ambiguidades cada entidade concreta. Para cada entidade deve existir sempre um atributo deste tipo. Geralmente, este atributo desempenha o papel de chave numa entidade ou tabela. 
Exemplo: Consideremos a entidade Filmes e os seus atributos: 
FILMES (Nº Filme, Título, Actor, Realizador, Duração, Classificação) 
O campo Nº Filme é um atributo identificador pelo facto de identificar inequivocamente cada ocorrência (filme) da entidade. 
Paulo Leocádio 15
Teoria de Bases de Dados 
Chave Primária 
CHAVE PRIMÁRIA – É um atributo identificador que representa univocamente cada ocorrência ou registo de uma tabela. 
Existem dois tipos de chave primária: 
Simples - constituída apenas por um atributo; 
Composta - constituída por dois ou mais atributos. 
Uma chave primária deve ser: 
Unívoca – O valor da chave primária deve ser único para todos os registos. 
Não Redundante – No caso de uma chave composta não devem ser incluídos mais campos do que os necessários. 
Não Nula – Nenhum dos valores que compõem a chave primária pode conter valores nulos. 
Exemplo 1) Consideremos a entidade Cd´s que é caracterizada pelos seguintes atributos: 
CD´s ( Nº Cd, Título, Intérprete, Editora) 
O atributo que a identifica univocamente é Nº de Cd visto ser o único cujos valores nunca se irão repetir. 
Deste modo, conclui-se que a chave primária da entidade CD´s é simples. 
Exemplo 2) Consideremos a entidade Faixas de um Cd que é caracterizada pelos seguintes atributos: 
Faixas ( Nº Cd, Nº Faixa, Título, Duração, Género) 
Neste caso, os atributos que a identificam univocamente são Nº de Cd e Nº Faixa, visto serem os únicos cujos valores nunca se irão repetir. 
Deste modo, conclui-se que a chave primária da entidade Faixas é composta. 
Paulo Leocádio 16
Teoria de Bases de Dados 
Chave Estrangeira ou Externa 
CHAVE ESTRANGEIRA OU EXTERNA – É um atributo que definido como chave primária de uma tabela é incluído na estrutura de uma outra tabela. 
Exemplo: Consideremos as entidades Cd´s e Faixas, que identificam um Cd e as suas respectivas Faixas. 
CD´s ( Nº Cd, Título, Intérprete, Editora) 
Faixas ( Nº Cd, Nº Faixa, Título, Duração, Género) 
O atributo Nº de Cd da entidade Faixas faz parte da sua chave primária, no entanto como é chave primária da entidade CD´s é considerado uma chave estrangeira na entidade Faixas. 
Relacionamentos entre entidades 
O relacionamento entre entidades é um dos propósitos das bases de dados relacionais, daí a importância dada à selecção da chave primária, pois é através destas que são estabelecidas as associações entre as diferentes entidades. 
Os símbolos convencionados para se representar estes relacionamentos são em número reduzido, com significados específicos e fáceis de distinguir: 
Entidade 
Atributo 
----- 
Atributo chave 
Relacionamento 
Paulo Leocádio 17
Teoria de Bases de Dados 
Exemplo: Consideremos as entidades Cd´s e Faixas, e os seus atributos definidos anteriormente. 
A relação existente entre estas entidades pode ser representada da seguinte forma: 
Tipos de Relacionamentos 
São as formas como as entidades se relacionam num determinado modelo de informação. As associações podem classificar-se em unárias, binárias e complexas. 
UNÁRIAS associam uma entidade com ela própria. 
CD´s 
Faixas 
Nº Cd 
Título 
Intérprete 
Editora 
Nº Cd 
NºFaixa 
Inclui 
joga 
EQUIPA 
Género 
Duração 
Título 
Neste caso, uma equipa joga com outra equipa. 
BINÁRIAS associam duas entidades. 
pertence 
ALUNO 
TURMA 
Neste tipo de relacionamento, um aluno pertence a uma turma. 
Paulo Leocádio 18
Teoria de Bases de Dados 
COMPLEXAS associam mais do que duas entidades. 
disputa 
MODALIDADE 
PROVA 
ATLETA 
Tem-se que um atleta que pratica uma determinada modalidade disputa uma prova dessa modalidade. 
Observação: Regra geral, uma associação do tipo complexa ternária dá origem a uma entidade associativa. 
Grau de Relacionamento 
É a participação máxima (limite superior) de cada uma das entidades nas associações a que está ligada. 
O grau de relacionamento é independente do tipo de associação. 
Tendo em conta o seu grau, os relacionamentos classificam-se em: 
Relacionamento 1:1 
(um para um) 
Relacionamento 1:N 
(um para muitos) 
Relacionamento M:N 
(muitos para muitos) 
Observação: Regra geral, uma associação de grau M:N dá origem a uma entidade associativa. 
Paulo Leocádio 19
Teoria de Bases de Dados 
Qualidade de participação 
É a participação mínima (limite inferior) da entidade na associação a que está ligada. A participação de cada entidade é ou pode ser diversa de associação para associação. 
A qualidade de participação de uma entidade classifica-se em obrigatória e não obrigatória. 
OBRIGATÓRIA quando não pode haver qualquer ocorrência que não esteja associada a alguma ocorrência da outra entidade que participa na associação. 
NÃO OBRIGATÓRIA quando pode haver ocorrências numa entidade, mesmo que não associadas a alguma ocorrência da outra entidade que participa na associação. 
Derivação de tabelas 
Analisando o grau de relacionamento e a qualidade de participação é possível identificar o número de tabelas necessárias para cada relacionamento. 
Assim: 
UMA TABELA 
9 Relacionamentos de 1:1 com participação obrigatória de ambas as entidades. 
DUAS TABELAS 
9 Relacionamento de 1:1 com participação obrigatória de uma das entidades, em que nesta é adicionada uma chave externa; 
9 Relacionamentos de 1:N ou N:1 com participação obrigatória do lado N, em que nesta é adicionada uma chave externa. 
TRÊS TABELAS 
A terceira tabela é responsável pelo relacionamento entre as outras duas e nela serão incluídas como chaves externas as chaves primárias das outras duas. A esta tabela dá-se o nome de Entidade Associativa. 
Paulo Leocádio 20
Teoria de Bases de Dados 
9 Relacionamentos de N:N; 
9 Relacionamentos de 1:N ou N:1 com participação não obrigatória do lado N; 
9 Relacionamentos de 1:1 com participação não obrigatória de ambas as entidades. 
Paulo Leocádio 21
Teoria de Bases de Dados 
22 
Normalização de tabelas 
A normalização é um processo que consiste em estruturar as tabelas e atributos de forma a eliminar redundâncias e evitar problemas com a inserção, eliminação e actualização dos dados. 
Este processo é composto pelas chamadas formas normais: 
- 1ª Forma Normal (1ª FN); 
- 2ª Forma Normal (2ª FN); 
- 3ª Forma Normal (3ª FN); 
________________________________ 
- Forma Normal de Boyce-Codd (FNBC); 
- 4ª Forma Normal (4ª FN); 
- 5ª Forma Normal (5ª FN); 
Um modelo de base de dados que respeite os princípios estipulados até à 3ª FN é considerado adequadamente elaborado para funcionar num SGBD relacional. 
Existe uma hierarquia de formas normais que pode ser apresentada através de um conjunto de círculos concêntricos. 
3F 
2FN 
2FN 
1FN 
1FN 
Se estiver na 1FN e se todos os atributos que não pertencem à chave primária dependem da totalidade da chave e não de nenhum dos seus elementos ou conjuntos isoladamente. 
Todos os atributos assumem apenas valores atómicos ou elementares, isto é, não podem ser tipo subconjunto. 
Se estiver na 2FN e se dos atributos que não pertencem à chave forem independentes entre si. 
Paulo Leocádio
Teoria de Bases de Dados 
Em geral, este processo de normalização consiste no seguinte: 
Definição das entidades com todos os atributos considerados relevantes; 
Análise das relações e dependências entre os atributos de cada entidade, comparando-as com as formas normais; 
Reestruturação de atributos e/ou derivação de entidades sempre que apresentem características que não estejam de acordo com as formas normais; 
Repetição do processo até que todas as entidades estejam na forma normal pretendida. 
1ª Forma Normal (1ª FN) 
Uma tabela encontra-se na 1ª FN se todos os seus atributos estiverem definidos em domínios que contenham apenas valores atómicos, isto é, os domínios devem ser formados por valores elementares e não por conjuntos de valores. 
Vejamos o seguinte exemplo: 
Imaginemos uma tabela destinada a registar a informação sobre os alunos e as disciplinas em que estes estão matriculados: 
1º caso) ALUNOS (CodAluno, Nome, Morada, Disciplinas) 
Esta tabela não obedece à primeira forma normal (1FN), uma vez que o atributo Disciplinas admite conjuntos de valores. Consideremos a tabela com alguns dados como exemplo: 
CodAluno 
Nome 
Morada 
Disciplinas 
1214 
Rui Costa 
Rua A 
Português, Matemática, Física 
1250 
Ana Maria 
Rua B 
Latim, Português, Inglês 
1356 
Carla Silva 
Av. ABC 
Economia, Matemática, Direito 
1456 
Hugo Leal 
Bairro DEF 
Português, Matemática 
Paulo Leocádio 23
Teoria de Bases de Dados 
Como podemos constatar, o atributo Disciplinas apresenta o conjunto de disciplinas frequentadas por cada aluno. 
Poderíamos, no entanto, repetir os valores na tabela para que o atributo Disciplinas apenas contivesse um único valor (2º caso). 
2º caso) ALUNOS (CodAluno, Nome, Morada, Disciplina1, Disciplina2, Disciplina3,...) 
Esta tabela não obedece à primeira forma normal (1FN) porque, embora todos os campos sejam atómicos, existem campos repetidos para a mesma categoria. Consideremos a tabela com alguns dados como exemplo: 
CodAluno 
Nome 
Morada 
Disciplina1 
Disciplina2 
Disciplina3 
1214 
Rui Costa 
Rua A 
Português 
Matemática 
Física 
1250 
Ana Maria 
Rua B 
Latim 
Português 
Inglês 
1356 
Carla Silva 
Av. ABC 
Economia 
Matemática 
Direito 
1456 
Hugo Leal 
Bairro DEF 
Português 
Matemática 
Como podemos constatar os atributos Disciplina1, Disciplina2 e Disciplina3 aparecem como campos repetidos para a mesma categoria. 
A solução para este problema, ou seja, para a tabela se encontrar na 1ª FN é a apresentada no 3º caso. 
3º caso) ALUNOS (CodAluno, Nome, Morada, Disciplina) 
CodAluno 
Nome 
Morada 
Disciplina 
1214 
Rui Costa 
Rua A 
Português 
1214 
Rui Costa 
Rua A 
Matemática 
1214 
Rui Costa 
Rua A 
Física 
1250 
Ana Maria 
Rua B 
Latim 
1250 
Ana Maria 
Rua B 
Português 
1250 
Ana Maria 
Rua B 
Inglês 
Paulo Leocádio 24
Teoria de Bases de Dados 
1356 
Carla Silva 
Av. ABC 
Economia 
1356 
Carla Silva 
Av. ABC 
Matemática 
1356 
Carla Silva 
Av. ABC 
Direito 
1456 
Hugo Leal 
Bairro DEF 
Português 
1456 
Hugo Leal 
Bairro DEF 
Matemática 
A tabela ALUNOS agora está na 1FN, pois todos os atributos contêm apenas valores elementares. 
Apresenta, no entanto, grande redundância de informação, que se reflecte na repetição dos identificadores dos nomes e moradas dos alunos. Para além desse inconveniente, podem apontar-se ainda os seguintes: 
Problemas de actualização - se a morada de um aluno for alterada, essa alteração tem de ser feita em várias linhas da tabela, sob o risco de gerar incoerências na Base de Dados, isto é, numa determinada linha o aluno poderá aparecer uma morada e noutra linha outra; 
Problemas de inserção – com a tabela estruturada desta maneira torna-se impossível registar um aluno que não esteja matriculado a nenhuma disciplina mas que se encontra a fazer apenas exames, sem o atributo DISCIPLINA fique com valor nulo não obedecendo à regra de integridade de entidade; 
Problemas de eliminação - porque para anular a matrícula de um aluno implica ter de eliminar várias linhas da tabela, e mesmo perder a informação do aluno, tal como NÚMERO, NOME e MORADA. 
Dependência funcional 
Um atributo ou conjunto de atributos é determinante de outros atributos quando os identifica de modo unívoco. 
Os atributos identificados de modo unívoco por um outro atributo, ou conjunto de atributos, são funcionalmente dependentes deste último. 
Paulo Leocádio 25
Teoria de Bases de Dados 
Considerando a seguinte entidade: 
ALUNOS (CodAluno, Nome, Morada, CodDisciplina, Disciplina) 
Temos que: 
- Nome e Morada são dependentes de CodAluno 
- Disciplina é dependente de CodDisciplina 
2ª Forma normal (2ª FN) 
Uma tabela encontra-se na 2ª FN se: 
• estiver na primeira forma normal (1FN); 
• todos os atributos que não pertencem à chave, dependem da chave através de uma dependência funcional elementar, isto é, dependem da totalidade da chave e não de um dos seus atributos ou subconjuntos isoladamente. 
Esta condição evidentemente só se aplica no caso da chave ser composta por mais de um atributo. Caso a chave seja constituída por um único atributo, chave simples, a condição imposta é que os restantes atributos dependam funcionalmente da chave. 
Vejamos o seguinte exemplo: 
Imaginemos uma tabela destinada a registar a informação sobre as encomendas efectuadas por clientes e os produtos nelas contidos: 
ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada, CodProduto, Designação, PreçoUnitário, Quantidade, TotalProd) 
• A tabela encontra-se na 1ª FN porque todos os campos são atómicos e não existe repetição de valores; 
• O campo Nº Encomenda identifica cada encomenda feita por um cliente; 
Paulo Leocádio 26
Teoria de Bases de Dados 
• De Nº Encomenda dependem os campos: DataEnc, TotalEnc, CodCliente, NomeCli e Morada; 
• De CodProduto dependem os campos: Designação, PreçoUnitário, Quantidade, TotalProd; 
A tabela não se encontra na 2ª FN porque existem campos que dependem de partes da chave. Assim, aplicando a normalização, obtém-se as seguintes tabelas: 
ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) 
DETALHE (Nº Encomenda, CodProduto, Designação, PreçoUnitário, Quantidade, TotalProd) 
• A tabela ENCOMENDAS encontra-se na 2ª FN, visto já estar na 1ª FN e ter um chave simples, o que implica que todos os atributos não-chave dependem da totalidade da chave; 
• A tabela DETALHE não se encontra na 2ª FN, porque existem alguns atributos não-chave que dependem funcionalmente de parte da chave; 
• De Nº Encomenda dependem os campos: CodProduto, Quantidade e TotalProd; 
• De CodProduto dependem os campos: CodProduto, Designação, PreçoUnitário. 
Assim, obtemos as seguintes tabelas: 
ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) 
DETALHE (Nº Encomenda, CodProduto, Quantidade, TotalProd) 
PRODUTOS (CodProduto, Designação, PreçoUnitário) 
Paulo Leocádio 27
Teoria de Bases de Dados 
3ª Forma normal (3ª FN) 
Uma tabela encontra-se na 3ª FN se: 
• estiver na primeira forma normal (2FN); 
• nenhum atributo não-chave depender funcionalmente de algum outro atributo que não seja a chave, isto é, todos os atributos não-chave dependem funcionalmente apenas da chave; 
Voltando ao exemplo anterior, obtivemos as seguintes tabelas: 
ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) 
DETALHE (Nº Encomenda, CodProduto, Quantidade, TotalProd) 
PRODUTOS (CodProduto, Designação, PreçoUnitário) 
Vamos verificar se as tabelas encontram-se na 3ª FN: 
1) PRODUTOS (CodProduto, Designação, PreçoUnitário) 
Entre os seus atributos não-chave (Designação e PreçoUnitário) não existe qualquer dependência funcional, pelo que a tabela encontra-se na 3ª FN. 
2) DETALHE (Nº Encomenda, CodProduto, Quantidade, TotalProd) 
Entre os seus atributos não-chave (Quantidade e TotalProd) não existe qualquer dependência funcional, pelo que a tabela encontra-se na 3ª FN. 
3) ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) 
Nesta tabela existe um grupo de atributos não-chave que dependem de um outro atributo não-chave: 
NomeCli e Morada dependem funcionalmente de CodCliente. Deste modo, conclui-se que esta tabela não se encontra na 3ª FN. 
Paulo Leocádio 28
Teoria de Bases de Dados 
Assim, devem ser retirados da tabela os atributos dependentes de CodCliente e constituir com eles uma nova tabela: 
CLIENTES (CodCliente, NomeCli, Morada) 
Que já se encontra na 3ª FN, pois: 
- todos os seus atributos são atómicos (1ª FN); 
- tem uma chave simples o que implica que todos os atributos não-chave dependem da totalidade da chave (2ª FN); 
- os atributos não-chave não dependem de nenhum outro atributo não-chave (3ª FN); 
Paulo Leocádio 29

Contenu connexe

Tendances

Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2
Filipa Cordeiro
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
essa
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de Dados
Clara Ferreira
 
Fundamentos de banco de dados 02 caracteristicas e vantagens sgbd
Fundamentos de banco de dados   02 caracteristicas e vantagens sgbdFundamentos de banco de dados   02 caracteristicas e vantagens sgbd
Fundamentos de banco de dados 02 caracteristicas e vantagens sgbd
Rafael Pinheiro
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Andre Sidou
 
Sistema de gerenciamento de coletas
Sistema de gerenciamento de coletasSistema de gerenciamento de coletas
Sistema de gerenciamento de coletas
Lucas Machado
 
Introducao bd e normalização (1)
Introducao bd e normalização (1)Introducao bd e normalização (1)
Introducao bd e normalização (1)
Barbosacv
 
Respostas exercício 1 bdi
Respostas exercício 1   bdiRespostas exercício 1   bdi
Respostas exercício 1 bdi
Patty Muniz
 

Tendances (19)

Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de Dados
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos Alexandruk
 
PDB: Texto Complementar Aula 16/08/2016
PDB: Texto Complementar Aula 16/08/2016PDB: Texto Complementar Aula 16/08/2016
PDB: Texto Complementar Aula 16/08/2016
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
0000000
00000000000000
0000000
 
Fundamentos de banco de dados 02 caracteristicas e vantagens sgbd
Fundamentos de banco de dados   02 caracteristicas e vantagens sgbdFundamentos de banco de dados   02 caracteristicas e vantagens sgbd
Fundamentos de banco de dados 02 caracteristicas e vantagens sgbd
 
SGBD
SGBDSGBD
SGBD
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
Caderno de info(banco de dados).
Caderno de info(banco de dados).Caderno de info(banco de dados).
Caderno de info(banco de dados).
 
Sistema de gerenciamento de coletas
Sistema de gerenciamento de coletasSistema de gerenciamento de coletas
Sistema de gerenciamento de coletas
 
Introducao bd e normalização (1)
Introducao bd e normalização (1)Introducao bd e normalização (1)
Introducao bd e normalização (1)
 
Artigo CONSAD 2013 - Cloud Computing: Necessidade e Benefícios Esperados Com ...
Artigo CONSAD 2013 - Cloud Computing: Necessidade e Benefícios Esperados Com ...Artigo CONSAD 2013 - Cloud Computing: Necessidade e Benefícios Esperados Com ...
Artigo CONSAD 2013 - Cloud Computing: Necessidade e Benefícios Esperados Com ...
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Respostas exercício 1 bdi
Respostas exercício 1   bdiRespostas exercício 1   bdi
Respostas exercício 1 bdi
 
Software para Gestao de Conteudo: Sete Caracteristicas Criticas
Software para Gestao de Conteudo: Sete Caracteristicas CriticasSoftware para Gestao de Conteudo: Sete Caracteristicas Criticas
Software para Gestao de Conteudo: Sete Caracteristicas Criticas
 

Similaire à Banco de dados_i-ok

Universidade federal do amazonas Banco de Dados - Apresentação final
Universidade federal do amazonas   Banco de Dados - Apresentação finalUniversidade federal do amazonas   Banco de Dados - Apresentação final
Universidade federal do amazonas Banco de Dados - Apresentação final
Renan Levy
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
Carlos Melo
 

Similaire à Banco de dados_i-ok (20)

BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS
 
1_intro.ppt
1_intro.ppt1_intro.ppt
1_intro.ppt
 
(Banco de dados distríbuidos bdd)
(Banco de dados distríbuidos   bdd)(Banco de dados distríbuidos   bdd)
(Banco de dados distríbuidos bdd)
 
Banco de dados distribuidos
Banco de dados distribuidosBanco de dados distribuidos
Banco de dados distribuidos
 
Universidade federal do amazonas Banco de Dados - Apresentação final
Universidade federal do amazonas   Banco de Dados - Apresentação finalUniversidade federal do amazonas   Banco de Dados - Apresentação final
Universidade federal do amazonas Banco de Dados - Apresentação final
 
Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4Riscos de segurança em cloud computing - Parte 4
Riscos de segurança em cloud computing - Parte 4
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
 
Fit Bd 01
Fit Bd 01Fit Bd 01
Fit Bd 01
 
Utilização de Big Data em portais de dados abertos
Utilização de Big Data em portais de dados abertosUtilização de Big Data em portais de dados abertos
Utilização de Big Data em portais de dados abertos
 
Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estilo
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
 
Guia sobre análise de dados e aprendizado de máquina para CIO.
Guia sobre análise de dados e aprendizado de máquina para CIO.Guia sobre análise de dados e aprendizado de máquina para CIO.
Guia sobre análise de dados e aprendizado de máquina para CIO.
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Artigo de banco de dados
Artigo  de banco de dadosArtigo  de banco de dados
Artigo de banco de dados
 
Projeto ppi v 27.10
Projeto ppi v   27.10Projeto ppi v   27.10
Projeto ppi v 27.10
 
Gerencia de Serviços de TI
Gerencia de Serviços de TIGerencia de Serviços de TI
Gerencia de Serviços de TI
 
Gerenciamento de serviços de TI
Gerenciamento de serviços de TIGerenciamento de serviços de TI
Gerenciamento de serviços de TI
 
Artc 1249307788 43
Artc 1249307788 43Artc 1249307788 43
Artc 1249307788 43
 

Dernier

Dernier (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Banco de dados_i-ok

  • 1. Teoria De Bases de dados Paulo Leocádio
  • 2. Índice A informática na empresa.............................................................................................................2 Da dependência à independência dos dados..............................................................................3 Os três níveis da arquitectura de um SGBD.................................................................................6 Funções e estrutura de um SGBD.................................................................................................7 Operações de definição e alteração da estrutura de uma BD................................................7 Operações de manipulação de dados sem alteração da estrutura da BD............................7 Operações de controlo de dados..............................................................................................8 O que é uma Base de Dados?.......................................................................................................9 Vantagens na utilização de BD’s...................................................................................................9 Esquema e Instância de uma Base de Dados..........................................................................11 Modelos de Bases de Dados......................................................................................................11 Modelos baseados em objectos:...........................................................................................11 Modelos baseados em registos:............................................................................................11 Modelo Hierárquico.............................................................................................................12 Modelo de rede...................................................................................................................12 Modelo Entidade-Relacionamento.............................................................................................13 Entidades.................................................................................................................................13 Relacionamentos....................................................................................................................13 Atributos e Ocorrências...........................................................................................................14 Valores e Domínios dos atributos..........................................................................................14 Tipos de atributos....................................................................................................................15 Atributo Identificador..............................................................................................................15 Chave Primária........................................................................................................................16 Chave Estrangeira ou Externa................................................................................................17 Relacionamentos entre entidades.........................................................................................17 Tipos de Relacionamentos.....................................................................................................18 Grau de Relacionamento........................................................................................................19 Qualidade de participação......................................................................................................20 Derivação de tabelas..............................................................................................................20 Normalização de tabelas............................................................................................................22 1ª Forma Normal (1ª FN)........................................................................................................23 Dependência funcional...........................................................................................................25 2ª Forma normal (2ª FN).........................................................................................................26 3ª Forma normal (3ª FN).........................................................................................................28
  • 3. Teoria de Bases de Dados 2 A informática na empresa Ao longo dos tempos a informática deixou as áreas exclusivamente técnicas e científicas para se tornar uma ferramenta de uso geral em qualquer sector da actividade humana. Se há uns anos atrás o grande problema residia na limitação à quantidade e capacidade de processamento de informação que era possível tratar num computador, hoje em dia a tecnologia permite ultrapassar isso, criando, no entanto, um outro problema que é a qualidade dessa informação. As novas tecnologias permitem também explorar melhor as capacidades do computador. A informação deixou de ser apenas texto (símbolos ou caracteres), e passou a incluir imagens e sons. Abrem-se novos campos para a exploração dos sistemas de informação. Sendo as empresas os locais onde mais intensivamente se utiliza a informática, é também nelas que as necessidades e quantidades de informação são maiores. O aumento de potência dos sistemas informáticos, assim como a sua aplicação a todos as áreas da empresa, proporciona quantidades de informação gigantescas quando comparadas com alguns anos atrás. A necessidade das organizações em possuir um sistema de gestão mais eficaz torna- as cada vez mais dependentes da informação existente e dos métodos para a tratar. O tempo das enormes e fastidiosas listagens de computador já passou, hoje a informação tem de ser compreensível, completa, fácil e rápida de obter. É num contexto de necessidade de informação cada vez maior que se insere o aparecimento dos Sistemas de Gestão de Bases de Dados (SGBD). Estes sistemas são um conjunto de programas que fazem uma gestão autónoma da informação, de acordo com um modelo preestabelecido e adaptado à empresa. Deste modo vários programas concebidos em diferentes linguagens, por diversos programadores e executando funções específicas, podem aceder à mesma informação. Esta deixa de ser propriedade dos departamentos da empresa e é agora encarada como uma entidade única e autónoma à qual vários e diferentes utilizadores recorrem. Paulo Leocádio
  • 4. Teoria de Bases de Dados 3 Base de Dados SGBD Da dependência à independência dos dados O Sistema de Gestão de Bases de Dados gere toda a informação contida na base de dados e constitui o interface entre a informação e os utilizadores, quer sejam utilizadores finais quer sejam programadores. Utilizadores Fig. 1 – SGBD: O interface entre utilizador e a base de dados Inicialmente as aplicações informáticas destinadas a gerir os sistemas de informação das organizações (empresas, administração pública, etc...), tinham uma característica: os dados eram dependentes dos programas de aplicação que os geravam e manipulavam. Esta característica logo revelou os seus problemas: Limitação por parte dos utilizadores às estruturas de dados definidas pelos programadores; A alteração da estrutura da informação, como por exemplo, incluir ou retirar campos num ficheiro de base de dados, implicava que os programadores tivessem de alterar os programas de aplicação que operavam sobre estes dados; A dependência dos dados relativamente às aplicações implicava que a alteração das estruturas de dados levava quase sempre a uma reintrodução dos dados visto ser necessários adaptá-los aos novos programas e novos formatos definidos; Numa mesma organização, a informação encontrava-se repartida e repetida em diversos locais, pois cada departamento criava os seus programas de aplicação de forma autónoma e de acordo com as suas necessidades. Este facto originava a duplicação de informação perfeitamente desnecessária. Paulo Leocádio
  • 5. Teoria de Bases de Dados ORGANIZAÇÃO X Aplicação A Depart. P Aplicação B Depart. Q Depart. T Aplicação C Depart. R Aplicação D Depart. S Aplicação E Aplicação A Aplicação B Aplicaçã o C 4 Depart. U Depart. V Depart. X Fig. 2 cia dos sistemas de ap orma, tomou-se evidente a necessidade de criar programas ou sistemas de SGBD são programas ou conjuntos integrados de programas que permitem criar ara manipular os mesmos pendência dos dados num SGBD significa que é possível alterar a estrutura – Dependên licação Desta f bases de dados capazes de gerir a informação de uma forma mais flexível, em que os dados pudessem ser separados e organizados de forma independente em relação aos programas de aplicação. E assim, surgiram os Sistemas de Gestão de Bases de Dados (SGBD). Os e manipular bases de dados, em que os dados são estruturados com independência relativamente aos programas de aplicação que os manipulam. Deste modo, podem ser criadas diversas aplicações p dados ou a mesma base de dados, em conformidade com as necessidades dos seus utilizadores. A inde dos dados de uma base de dados, quer ao nível físico quer ao nível conceptual, sem que isso implique a necessidade de reformular as aplicações que operam com os dados. Departamento X Departamento Y SGBD * Departamento Z Fig. 3 – Independência dos programas de aplicação Paulo Leocádio
  • 6. Teoria de Bases de Dados No entanto, os sistemas de bases de dados não gerem apenas a informação, eles comportam uma série de utilitários que visam facilitar a vida aos utilizadores e programadores. Alguns dos produtos fornecidos pelos maiores fabricantes de SGBD são os seguintes: 9 Motor da base de dados (Data Engine); 9 Linguagem de pesquisa (Query Language); 9 Gerador de listagens (Report Generator); 9 Gerador de entradas de dados (Form Generator); 9 Interfaces para linguagens de programação de 3ª geração; 9 Linguagens de programação de 4ª geração (4GL – 4th Generation Language); 9 Processamento distribuído (produtos NET); 9 Bases de dados distribuídas (produtos STAR); 9 Interligação com outros sistemas de bases de dados (produtos GATEWAY); 9 Ferramentas: CASE (Computer-Aided Software Engineering); O SGBD actual fornece à empresa um meio sólido de armazenamento da informação, suficientemente flexível para acompanhar as novas tecnologias, e sobretudo generaliza o acesso à informação, permitindo que qualquer utilizador através de procedimentos simples compile a informação que deseja. Paulo Leocádio 5
  • 7. Teoria de Bases de Dados 6 Os três níveis da arquitectura de um SGBD Um Sistema de Gestão de Bases de Dados é uma colecção de ficheiros de dados inter- relacionados e um conjunto de programas ou rotinas que permitem aos utilizadores o acesso à informação assim armazenada. Os ficheiros de dados são guardados em suportes de armazenamento informático (discos, disquetes, cd's, etc...) e, a partir daí são manipulados pelos programas ou rotinas do SGBD em execução no computador. O armazenamento dos ficheiros de dados em suportes informáticos e a forma como eles se encontram organizados nesses suportes constitui o chamado Nível Físico da base de dados. Além de operar ao nível físico, o SGBD tem também de proporcionar aos utilizadores e programadores meios de estruturar ou organizar a informação, afim de esta vir a ser consultada e actualizada pelos utilizadores finais. É a esta estruturação e organização dos dados que se chama o Nível Conceptual de uma base de dados. Por fim, o chamado Nível de Visualização corresponde à forma como são apresentados os interfaces gráficos aos utilizadores finais, que geralmente não têm, ou são poucos conhecimentos dos níveis físico e conceptual. Armazenamento da informação em suportes informáticos Interface gráfico com o utilizador Organização da informação em tabelas e relacionamentos Nível Físico Nível Conceptual Nível de visualização Fig. 4 - Os três níveis da arquitectura de um SGBD Paulo Leocádio
  • 8. Teoria de Bases de Dados 7 Funções e estrutura de um SGBD O trabalho com uma base de dados implica diversos tipos de operações sobre os ficheiros e os dados que eles contêm, tais como: 9 Inserir novos registos; 9 Procurar e visualizar um registo; 9 Eliminar registos existentes; 9 Seleccionar registos e/ou campos; 9 Ordenar os registos de um ficheiro; 9 Juntar ou intercalar registos de ficheiros diferentes; 9 Fazer cópias ou duplicações de ficheiros; 9 Alterar a estrutura de campos de um ficheiro; 9 Eliminar ficheiros; Assim podemos distinguir os seguintes agrupamentos de operações típicas do trabalho com bases de dados: Operações de definição e alteração da estrutura de uma BD (Linguagem de Definição de Dados – DDL) Criação de uma nova base de dados; Criação de um novo ficheiro ou tabela; Alteração da estrutura de campos de uma tabela; Criação e alteração de ficheiros de índices; Eliminação de ficheiros ou tabelas de uma base de dados; Operações de manipulação de dados sem alteração da estrutura da BD (Linguagem de Manipulação de Dados–LMD) Consultas ou pesquisas de dados; Inserção de novos dados (registos); Alteração de dados existentes (campos e registos); Eliminação de dados (registos); Paulo Leocádio
  • 9. Teoria de Bases de Dados Operações de controlo de dados Têm a ver com a atribuição ou supressão dos direitos de acesso aos dados em relação a utilizadores ou grupos de utilizadores. NNíívveell ddee VViissuuaalliizzaaççããoo NNíívveell CCoonncceeppttuuaall •• OOppeerraaççõõeess ddee ccrriiaaççããoo ee aalltteerraaççããoo ddaa eessttrruuttuurraa ddaa bbaassee ddee ddaaddooss •• OOppeerraaççõõeess ddee mmaanniippuullaaççããoo ddee ddaaddooss;; •• OOppeerraaççõõeess ddee ccoonnttrroolloo ddooss ddaaddooss;; NNíívveell FFííssiiccoo Paulo Leocádio 8
  • 10. Teoria de Bases de Dados 9 O que é uma Base de Dados? De um modo geral, pode-se definir uma Base de Dados como sendo um conjunto de dados ou informações relacionados entre si e organizados de forma a facilitar a sua utilização por parte do utilizador. Ou ainda, como um sistema cuja finalidade é registar, actualizar, manter e disponibilizar a informação relevante para a actividade de uma organização. Este conjunto de informações será partilhado e utilizado para diferentes objectivos e por diferentes utilizadores. No entanto, os utilizadores não só partilham informações como também têm necessidades e perspectivas diferentes dessas informações. Quando se cria uma base de dados tem-se como objectivos: - Diminuir o espaço ocupado pela informação; - Facilitar a actualização da informação; - Aumentar a velocidade de pesquisa; - Evitar a redundância de informação. Vantagens na utilização de BD’s Os benefícios aqui abordados dividem-se em três categorias principais, nomeadamente: 1. Benefícios de cceennttrraalliizzaaççããoo de dados: - Redução/Eliminação de redundância de dados: evitar a repetição de informação desnecessária, reduzindo também o espaço ocupado pela base de dados; - Melhoria na concorrência de dados: aumentar a eficiência no acesso aos dados; - Obtenção de informação atempadamente: Aceder e obter informação de forma mais rápida e eficaz; - Simplificação da infra-estrutura de informação: permitir uma estruturação e organização da informação de forma mais simples permitindo, deste modo, alcançar os pontos referidos acima. 2. Benefícios resultantes de uma melhor ggeessttããoo ddee ddaaddooss: - Organização e controlo dos dados: a simplificação da própria estrutura da base de dados implica benefícios na organização dos dados o que é uma mais valia para a gestão e controlo dos dados; Paulo Leocádio
  • 11. Teoria de Bases de Dados - Recuperação, backup e rasteio de dados: por vezes pode acontecer que se percam dados relevantes para a base de dados. Nestes casos é importante que hajam mecanismos de recuperação dos mesmos, de forma a ser possível o seu restauro. É importante, também, que a base de dados permita a execução de backups, isto é, de cópias de segurança da informação armazenada; - Simplificação e aperfeiçoamento da segurança: a segurança é crucial nos dias de hoje. Não só para prevenir ataques externos à base de dados, mas também como forma de restringir o acesso aos dados por parte de utilizadores sem privilégios para tal; - Melhor integridade dos dados: apresentar os dados com rigor e qualidade. 3. Melhoria de ppeerrffoorrmmaannccee através de: - Chamadas (calls) de aplicações: permitem que outras aplicações, que não aquela que gere a base de dados, acedam aos dados e os utilizem para obter determinados resultados; - Mecanismos de recuperação (unit recovery mechanism, URM): são mecanismos que permitem a qualquer momento restaurar informação perdida pela base de dados. Paulo Leocádio 10
  • 12. Teoria de Bases de Dados 11 Esquema e Instância de uma Base de Dados Esquema: Consiste no design ou estrutura lógica com que a base de dados é definida, o modo como é concebida a organização da informação. Instância: Refere-se aos dados concretos que a base de dados contém a cada momento, os quais podem variar com a utilização da base de dados. 9 O esquema de uma BD é concebido segundo um modelo conceptual e implementado num SGBD através da sua DDL. 9 A instanciação de uma BD é feita através dos recursos de manipulação dos dados do SGBD, portanto ao nível da LMD. Modelos de Bases de Dados O desenvolvimento de uma base de dados pode ser efectuado segundo diferentes modelos conceptuais. Estes são um conjunto de ferramentas conceptuais, para descrever os dados, a sua semântica e restrições Estes modelos podem ser agrupados em dois tipos: Modelos baseados em objectos: 9Representam a realidade através de objectos; 9Os objectos são entidades reais (Aluno, Professor, Disciplina, ...); 9Alguns modelos: • Entidade-Relacionamento; • Semânticos; • Orientados por Objectos; Modelos baseados em registos: 9Representam a realidade através de registos; 9Informação estruturada com o formato de campos; 9Alguns modelos: • Hierárquico; • Rede; • Relacional. Paulo Leocádio
  • 13. Teoria de Bases de Dados Modelo Hierárquico - Uma base de dados concebida segundo o modelo hierárquico consiste numa colecção de registos que se encontram relacionados entre si, através de relações; - A estrutura hierárquica de ligação entre os registos toma o aspecto de uma árvore invertida; - Cada registo (excepto o primeiro) encontra-se ligado a um outro denominado de superior hierárquico; - Se um superior hierárquico for eliminado todos os que se encontram abaixo dele na estrutura hierárquica serão eliminados. Modelo de rede - Uma base de dados concebida segundo o modelo hierárquico também consiste numa colecção de registos que se encontram relacionados entre si, através de relações; - A estrutura de ligação dos registos já não se apresenta em forma de árvore mas sim em forma de rede, o que implica uma maior flexibilidade em relação à forma como se podem ligar os registos. ierárquico Fig. 5 – Modelo em Rede Fig. 4 – Modelo h Paulo Leocádio 12
  • 14. Teoria de Bases de Dados 13 Modelo Entidade-Relacionamento O modelo de Entidade-Relacionamento, foi desenvolvido para auxiliar o projecto de base de dados, através da especificação de um esquema que define a organização da base de dados. É uma técnica que: - utiliza uma abordagem top-down; - baseia-se na identificação dos grandes objectos informacionais com interesse para o sistema a informatizar e nas associações entre estes; - por ser gráfica, e suportar um número limitado de símbolos, permite representar o modelo de informação com: • clareza; • redução de esforço; • facilidade de compreensão; • facilidade de apresentação. O modelo E-R é baseado na percepção de que o mundo real é constituído por dois objectos: entidades e relacionamentos. Entidades São elementos relevantes, abstractos ou concretos, sobre os quais é necessário guardar informação. Por exemplo: 9Pessoas ( Fornecedores, Empregados, Clientes, Alunos, etc...) 9Organizações ( Empresas, Hospitais, Escolas, Farmácias, etc...) 9Objectos ( Carro, Factura, Produtos, Boletim de Incrição, etc...) Relacionamentos Após a identificação das entidades a incluir no esquema da BD, e dos atributos que as definem, é necessário perceber o modo como estas entidades se relacionam entre si. Assim, um relacionamento é uma associação existente entre entidades. Paulo Leocádio
  • 15. Teoria de Bases de Dados Atributos e Ocorrências Uma entidade é definida por um conjunto de dados que de alguma forma se encontram relacionados. Os dados numa entidade encontram-se divididos em campos ou atributos que são os elementos que a caracterizam. A cada ocorrência relativa a uma entidade dá-se o nome de registo. Campo Nome Morada Telefone António Ponta Delgada 296123456 Manuel Angra do Heroísmo 295789012 Maria Horta 291345678 Registo Valores e Domínios dos atributos Os atributos das entidades são preenchidos com VALORES. São estes valores que caracterizam e identificam cada entidade. Exemplo: O nome próprio de uma pessoa: Ana, Maria, João, Francisco, etc... O estado civil de uma pessoa: Solteiro, casado, divorciado. Cada atributo de uma entidade pode tomar os seus valores dentro de um determinado conjunto – DOMÍNIO – que não é mais do que o conjunto de todos os valores que esse atributo pode assumir. Exemplo: Os valores para a idade de uma pessoa só podem ser numéricos, nunca podendo conter valores alfanuméricos. Assim, o seu domínio será o dos números inteiros. Paulo Leocádio 14
  • 16. Teoria de Bases de Dados Tipos de atributos Os atributos de uma entidade podem ser de dois tipos: ATÓMICOS – Não é possível decompor esses atributos em unidades mais elementares. Exemplo: nº de aluno, idade, nome próprio, BI, NIF, etc... COMPOSTOS – São atributos que podem ser decompostos em unidades mais elementares. Exemplo: - O nome completo de uma pessoa pode ser decomposto em nome próprio, sobrenome e restantes. - A data que pode ser decomposta em dia, mês e ano. - A hora que pode ser decomposta em hora, minuto e segundo. Atributo Identificador Entre os diversos atributos que definem uma entidade deve existir um ou mais campos que identifiquem inequivocamente cada registo. A este(s) atributo(s) dá-se o nome de Atributo Identificador. ATRIBUTO IDENTIFICADOR – É o atributo que deve identificar sem ambiguidades cada entidade concreta. Para cada entidade deve existir sempre um atributo deste tipo. Geralmente, este atributo desempenha o papel de chave numa entidade ou tabela. Exemplo: Consideremos a entidade Filmes e os seus atributos: FILMES (Nº Filme, Título, Actor, Realizador, Duração, Classificação) O campo Nº Filme é um atributo identificador pelo facto de identificar inequivocamente cada ocorrência (filme) da entidade. Paulo Leocádio 15
  • 17. Teoria de Bases de Dados Chave Primária CHAVE PRIMÁRIA – É um atributo identificador que representa univocamente cada ocorrência ou registo de uma tabela. Existem dois tipos de chave primária: Simples - constituída apenas por um atributo; Composta - constituída por dois ou mais atributos. Uma chave primária deve ser: Unívoca – O valor da chave primária deve ser único para todos os registos. Não Redundante – No caso de uma chave composta não devem ser incluídos mais campos do que os necessários. Não Nula – Nenhum dos valores que compõem a chave primária pode conter valores nulos. Exemplo 1) Consideremos a entidade Cd´s que é caracterizada pelos seguintes atributos: CD´s ( Nº Cd, Título, Intérprete, Editora) O atributo que a identifica univocamente é Nº de Cd visto ser o único cujos valores nunca se irão repetir. Deste modo, conclui-se que a chave primária da entidade CD´s é simples. Exemplo 2) Consideremos a entidade Faixas de um Cd que é caracterizada pelos seguintes atributos: Faixas ( Nº Cd, Nº Faixa, Título, Duração, Género) Neste caso, os atributos que a identificam univocamente são Nº de Cd e Nº Faixa, visto serem os únicos cujos valores nunca se irão repetir. Deste modo, conclui-se que a chave primária da entidade Faixas é composta. Paulo Leocádio 16
  • 18. Teoria de Bases de Dados Chave Estrangeira ou Externa CHAVE ESTRANGEIRA OU EXTERNA – É um atributo que definido como chave primária de uma tabela é incluído na estrutura de uma outra tabela. Exemplo: Consideremos as entidades Cd´s e Faixas, que identificam um Cd e as suas respectivas Faixas. CD´s ( Nº Cd, Título, Intérprete, Editora) Faixas ( Nº Cd, Nº Faixa, Título, Duração, Género) O atributo Nº de Cd da entidade Faixas faz parte da sua chave primária, no entanto como é chave primária da entidade CD´s é considerado uma chave estrangeira na entidade Faixas. Relacionamentos entre entidades O relacionamento entre entidades é um dos propósitos das bases de dados relacionais, daí a importância dada à selecção da chave primária, pois é através destas que são estabelecidas as associações entre as diferentes entidades. Os símbolos convencionados para se representar estes relacionamentos são em número reduzido, com significados específicos e fáceis de distinguir: Entidade Atributo ----- Atributo chave Relacionamento Paulo Leocádio 17
  • 19. Teoria de Bases de Dados Exemplo: Consideremos as entidades Cd´s e Faixas, e os seus atributos definidos anteriormente. A relação existente entre estas entidades pode ser representada da seguinte forma: Tipos de Relacionamentos São as formas como as entidades se relacionam num determinado modelo de informação. As associações podem classificar-se em unárias, binárias e complexas. UNÁRIAS associam uma entidade com ela própria. CD´s Faixas Nº Cd Título Intérprete Editora Nº Cd NºFaixa Inclui joga EQUIPA Género Duração Título Neste caso, uma equipa joga com outra equipa. BINÁRIAS associam duas entidades. pertence ALUNO TURMA Neste tipo de relacionamento, um aluno pertence a uma turma. Paulo Leocádio 18
  • 20. Teoria de Bases de Dados COMPLEXAS associam mais do que duas entidades. disputa MODALIDADE PROVA ATLETA Tem-se que um atleta que pratica uma determinada modalidade disputa uma prova dessa modalidade. Observação: Regra geral, uma associação do tipo complexa ternária dá origem a uma entidade associativa. Grau de Relacionamento É a participação máxima (limite superior) de cada uma das entidades nas associações a que está ligada. O grau de relacionamento é independente do tipo de associação. Tendo em conta o seu grau, os relacionamentos classificam-se em: Relacionamento 1:1 (um para um) Relacionamento 1:N (um para muitos) Relacionamento M:N (muitos para muitos) Observação: Regra geral, uma associação de grau M:N dá origem a uma entidade associativa. Paulo Leocádio 19
  • 21. Teoria de Bases de Dados Qualidade de participação É a participação mínima (limite inferior) da entidade na associação a que está ligada. A participação de cada entidade é ou pode ser diversa de associação para associação. A qualidade de participação de uma entidade classifica-se em obrigatória e não obrigatória. OBRIGATÓRIA quando não pode haver qualquer ocorrência que não esteja associada a alguma ocorrência da outra entidade que participa na associação. NÃO OBRIGATÓRIA quando pode haver ocorrências numa entidade, mesmo que não associadas a alguma ocorrência da outra entidade que participa na associação. Derivação de tabelas Analisando o grau de relacionamento e a qualidade de participação é possível identificar o número de tabelas necessárias para cada relacionamento. Assim: UMA TABELA 9 Relacionamentos de 1:1 com participação obrigatória de ambas as entidades. DUAS TABELAS 9 Relacionamento de 1:1 com participação obrigatória de uma das entidades, em que nesta é adicionada uma chave externa; 9 Relacionamentos de 1:N ou N:1 com participação obrigatória do lado N, em que nesta é adicionada uma chave externa. TRÊS TABELAS A terceira tabela é responsável pelo relacionamento entre as outras duas e nela serão incluídas como chaves externas as chaves primárias das outras duas. A esta tabela dá-se o nome de Entidade Associativa. Paulo Leocádio 20
  • 22. Teoria de Bases de Dados 9 Relacionamentos de N:N; 9 Relacionamentos de 1:N ou N:1 com participação não obrigatória do lado N; 9 Relacionamentos de 1:1 com participação não obrigatória de ambas as entidades. Paulo Leocádio 21
  • 23. Teoria de Bases de Dados 22 Normalização de tabelas A normalização é um processo que consiste em estruturar as tabelas e atributos de forma a eliminar redundâncias e evitar problemas com a inserção, eliminação e actualização dos dados. Este processo é composto pelas chamadas formas normais: - 1ª Forma Normal (1ª FN); - 2ª Forma Normal (2ª FN); - 3ª Forma Normal (3ª FN); ________________________________ - Forma Normal de Boyce-Codd (FNBC); - 4ª Forma Normal (4ª FN); - 5ª Forma Normal (5ª FN); Um modelo de base de dados que respeite os princípios estipulados até à 3ª FN é considerado adequadamente elaborado para funcionar num SGBD relacional. Existe uma hierarquia de formas normais que pode ser apresentada através de um conjunto de círculos concêntricos. 3F 2FN 2FN 1FN 1FN Se estiver na 1FN e se todos os atributos que não pertencem à chave primária dependem da totalidade da chave e não de nenhum dos seus elementos ou conjuntos isoladamente. Todos os atributos assumem apenas valores atómicos ou elementares, isto é, não podem ser tipo subconjunto. Se estiver na 2FN e se dos atributos que não pertencem à chave forem independentes entre si. Paulo Leocádio
  • 24. Teoria de Bases de Dados Em geral, este processo de normalização consiste no seguinte: Definição das entidades com todos os atributos considerados relevantes; Análise das relações e dependências entre os atributos de cada entidade, comparando-as com as formas normais; Reestruturação de atributos e/ou derivação de entidades sempre que apresentem características que não estejam de acordo com as formas normais; Repetição do processo até que todas as entidades estejam na forma normal pretendida. 1ª Forma Normal (1ª FN) Uma tabela encontra-se na 1ª FN se todos os seus atributos estiverem definidos em domínios que contenham apenas valores atómicos, isto é, os domínios devem ser formados por valores elementares e não por conjuntos de valores. Vejamos o seguinte exemplo: Imaginemos uma tabela destinada a registar a informação sobre os alunos e as disciplinas em que estes estão matriculados: 1º caso) ALUNOS (CodAluno, Nome, Morada, Disciplinas) Esta tabela não obedece à primeira forma normal (1FN), uma vez que o atributo Disciplinas admite conjuntos de valores. Consideremos a tabela com alguns dados como exemplo: CodAluno Nome Morada Disciplinas 1214 Rui Costa Rua A Português, Matemática, Física 1250 Ana Maria Rua B Latim, Português, Inglês 1356 Carla Silva Av. ABC Economia, Matemática, Direito 1456 Hugo Leal Bairro DEF Português, Matemática Paulo Leocádio 23
  • 25. Teoria de Bases de Dados Como podemos constatar, o atributo Disciplinas apresenta o conjunto de disciplinas frequentadas por cada aluno. Poderíamos, no entanto, repetir os valores na tabela para que o atributo Disciplinas apenas contivesse um único valor (2º caso). 2º caso) ALUNOS (CodAluno, Nome, Morada, Disciplina1, Disciplina2, Disciplina3,...) Esta tabela não obedece à primeira forma normal (1FN) porque, embora todos os campos sejam atómicos, existem campos repetidos para a mesma categoria. Consideremos a tabela com alguns dados como exemplo: CodAluno Nome Morada Disciplina1 Disciplina2 Disciplina3 1214 Rui Costa Rua A Português Matemática Física 1250 Ana Maria Rua B Latim Português Inglês 1356 Carla Silva Av. ABC Economia Matemática Direito 1456 Hugo Leal Bairro DEF Português Matemática Como podemos constatar os atributos Disciplina1, Disciplina2 e Disciplina3 aparecem como campos repetidos para a mesma categoria. A solução para este problema, ou seja, para a tabela se encontrar na 1ª FN é a apresentada no 3º caso. 3º caso) ALUNOS (CodAluno, Nome, Morada, Disciplina) CodAluno Nome Morada Disciplina 1214 Rui Costa Rua A Português 1214 Rui Costa Rua A Matemática 1214 Rui Costa Rua A Física 1250 Ana Maria Rua B Latim 1250 Ana Maria Rua B Português 1250 Ana Maria Rua B Inglês Paulo Leocádio 24
  • 26. Teoria de Bases de Dados 1356 Carla Silva Av. ABC Economia 1356 Carla Silva Av. ABC Matemática 1356 Carla Silva Av. ABC Direito 1456 Hugo Leal Bairro DEF Português 1456 Hugo Leal Bairro DEF Matemática A tabela ALUNOS agora está na 1FN, pois todos os atributos contêm apenas valores elementares. Apresenta, no entanto, grande redundância de informação, que se reflecte na repetição dos identificadores dos nomes e moradas dos alunos. Para além desse inconveniente, podem apontar-se ainda os seguintes: Problemas de actualização - se a morada de um aluno for alterada, essa alteração tem de ser feita em várias linhas da tabela, sob o risco de gerar incoerências na Base de Dados, isto é, numa determinada linha o aluno poderá aparecer uma morada e noutra linha outra; Problemas de inserção – com a tabela estruturada desta maneira torna-se impossível registar um aluno que não esteja matriculado a nenhuma disciplina mas que se encontra a fazer apenas exames, sem o atributo DISCIPLINA fique com valor nulo não obedecendo à regra de integridade de entidade; Problemas de eliminação - porque para anular a matrícula de um aluno implica ter de eliminar várias linhas da tabela, e mesmo perder a informação do aluno, tal como NÚMERO, NOME e MORADA. Dependência funcional Um atributo ou conjunto de atributos é determinante de outros atributos quando os identifica de modo unívoco. Os atributos identificados de modo unívoco por um outro atributo, ou conjunto de atributos, são funcionalmente dependentes deste último. Paulo Leocádio 25
  • 27. Teoria de Bases de Dados Considerando a seguinte entidade: ALUNOS (CodAluno, Nome, Morada, CodDisciplina, Disciplina) Temos que: - Nome e Morada são dependentes de CodAluno - Disciplina é dependente de CodDisciplina 2ª Forma normal (2ª FN) Uma tabela encontra-se na 2ª FN se: • estiver na primeira forma normal (1FN); • todos os atributos que não pertencem à chave, dependem da chave através de uma dependência funcional elementar, isto é, dependem da totalidade da chave e não de um dos seus atributos ou subconjuntos isoladamente. Esta condição evidentemente só se aplica no caso da chave ser composta por mais de um atributo. Caso a chave seja constituída por um único atributo, chave simples, a condição imposta é que os restantes atributos dependam funcionalmente da chave. Vejamos o seguinte exemplo: Imaginemos uma tabela destinada a registar a informação sobre as encomendas efectuadas por clientes e os produtos nelas contidos: ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada, CodProduto, Designação, PreçoUnitário, Quantidade, TotalProd) • A tabela encontra-se na 1ª FN porque todos os campos são atómicos e não existe repetição de valores; • O campo Nº Encomenda identifica cada encomenda feita por um cliente; Paulo Leocádio 26
  • 28. Teoria de Bases de Dados • De Nº Encomenda dependem os campos: DataEnc, TotalEnc, CodCliente, NomeCli e Morada; • De CodProduto dependem os campos: Designação, PreçoUnitário, Quantidade, TotalProd; A tabela não se encontra na 2ª FN porque existem campos que dependem de partes da chave. Assim, aplicando a normalização, obtém-se as seguintes tabelas: ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) DETALHE (Nº Encomenda, CodProduto, Designação, PreçoUnitário, Quantidade, TotalProd) • A tabela ENCOMENDAS encontra-se na 2ª FN, visto já estar na 1ª FN e ter um chave simples, o que implica que todos os atributos não-chave dependem da totalidade da chave; • A tabela DETALHE não se encontra na 2ª FN, porque existem alguns atributos não-chave que dependem funcionalmente de parte da chave; • De Nº Encomenda dependem os campos: CodProduto, Quantidade e TotalProd; • De CodProduto dependem os campos: CodProduto, Designação, PreçoUnitário. Assim, obtemos as seguintes tabelas: ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) DETALHE (Nº Encomenda, CodProduto, Quantidade, TotalProd) PRODUTOS (CodProduto, Designação, PreçoUnitário) Paulo Leocádio 27
  • 29. Teoria de Bases de Dados 3ª Forma normal (3ª FN) Uma tabela encontra-se na 3ª FN se: • estiver na primeira forma normal (2FN); • nenhum atributo não-chave depender funcionalmente de algum outro atributo que não seja a chave, isto é, todos os atributos não-chave dependem funcionalmente apenas da chave; Voltando ao exemplo anterior, obtivemos as seguintes tabelas: ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) DETALHE (Nº Encomenda, CodProduto, Quantidade, TotalProd) PRODUTOS (CodProduto, Designação, PreçoUnitário) Vamos verificar se as tabelas encontram-se na 3ª FN: 1) PRODUTOS (CodProduto, Designação, PreçoUnitário) Entre os seus atributos não-chave (Designação e PreçoUnitário) não existe qualquer dependência funcional, pelo que a tabela encontra-se na 3ª FN. 2) DETALHE (Nº Encomenda, CodProduto, Quantidade, TotalProd) Entre os seus atributos não-chave (Quantidade e TotalProd) não existe qualquer dependência funcional, pelo que a tabela encontra-se na 3ª FN. 3) ENCOMENDAS (Nº Encomenda, DataEnc, TotalEnc, CodCliente, NomeCli, Morada) Nesta tabela existe um grupo de atributos não-chave que dependem de um outro atributo não-chave: NomeCli e Morada dependem funcionalmente de CodCliente. Deste modo, conclui-se que esta tabela não se encontra na 3ª FN. Paulo Leocádio 28
  • 30. Teoria de Bases de Dados Assim, devem ser retirados da tabela os atributos dependentes de CodCliente e constituir com eles uma nova tabela: CLIENTES (CodCliente, NomeCli, Morada) Que já se encontra na 3ª FN, pois: - todos os seus atributos são atómicos (1ª FN); - tem uma chave simples o que implica que todos os atributos não-chave dependem da totalidade da chave (2ª FN); - os atributos não-chave não dependem de nenhum outro atributo não-chave (3ª FN); Paulo Leocádio 29