Você está na página 1de 6

Introduo a Sistemas de Banco de Dados

Introduo a Sistemas de Banco de Dados

1.1 - Banco de Dados


Um banco de dados (BD) uma coleo de dados relacionados, isto , dados cujos significados esto interligados. Um DB projetado e constitudo para armazenar dados que representam algumas informaes de um determinado universo do mundo real e permitir que estas informaes sejam manipuladas. Quando estas informaes so uma grande quantidade, elas devem ser organizadas de forma eficiente, que permita uma manipulao tambm eficiente, (eficiente em termos de espao em disco e em memria, de tempo de acesso e de facilidade de uso). A cada momento o contedo de um BD representa uma viso instantnea do estado do mundo real. Cada mudana em alguma informao contida no BD reflete uma mudana ocorrida na realidade.

Os modelos de dados so classificados em conceituais, lgicos e fsicos de acordo com os conceitos que utilizam para representar os dados. Modelos Conceituais O objetivo da modelagem conceitual descrever as informaes contidas em uma realidade, as quais estaro armazenadas em um BD. uma descrio alto nvel, mas que tem a preocupao de captar e retratar toda a realidade de uma organizao. So modelos mais abstratos que utilizam conceitos como objetos, propriedades dos objetos e a relao entre eles para representar os dados, estruturados independentemente das restries de implementao. O modelo mais utilizado na modelagem conceitual o Modelo EntidadeRelacionamento. Modelos Lgicos Tm seu incio a partir do modelo conceitual. Descreve as estrutura que estaro contidas no BD, mas sem considerar, ainda, nenhuma caracterstica especfica de um SGBD, resultando em um esquema lgico de dados sob uma das seguintes abordagens: modelo relacional, modelo de redes e modelo hierrquico. So modelos mais prximos da implementao e utilizam conceitos como registros para representar os dados. Modelos Fsicos Parte do modelo lgico e descreve as estruturas fsicas de armazenamento de dados, tais como, tamanho dos campos, ndices, formas de acesso, etc. Descrevem como os dados so armazenados fisicamente.

1.2 - Sistemas de Gerenciamento de Banco de Dados


Um sistema de Gerenciamento de Bando de Dados (SGBD) consiste numa coleo de dados inter-relacionados e um conjunto de programas para acessar esses dados. A coleo de dados denominada banco de dados e contm as informaes de um empreendimento em particular. O principal objetivo de um SGBD proporcionar um ambiente conveniente e eficiente para as tarefas de definio, construo e manipulao de um BD. Definio: corresponde a definio dos dados a serem armazenados, da relao entre os dados, da semntica dos dados e das restries sobre eles. Construo: envolve a criao de estruturas de um BD e ao armazenamento dos dados nestas estruturas. Manipulao: permite a realizao de consultas e atualizao dos dados de um BD. Para manipular um BD, podemos desenvolver programas que so chamados de programas de aplicao que consultam e atualizam (inserir, remover e alterar) o BD.

1.4 - Projeto de um Banco de Dados


O projeto de um BD para sistemas de informao uma atividade complexa que inclui planejamento, especificaes e desenvolvimento de vrios componentes. O que se prope situar a seqncia destas atividades em uma ordem que possa resultar em ganhos de produtividade e confiabilidade dos sistemas desenvolvidos, eliminando-se sensivelmente as falhas de sistema aps sua implantao. Infelizmente as metodologias de projeto de BD no so ainda muito populares entre a comunidade tcnica. O projeto de BD consiste das seguintes etapas: Descrio Informal a percepo do universo do mundo real e descrio informal (textual) dos dados nele existentes, das relaes entre os dados, do significado e das restries sobre os dados. o resultado de entrevistas realizadas com o usurio e/ou responsveis pelos setores ou partes do ambiente a ser modelado. Projeto Conceitual Representao destas informaes utilizando um modelo conceitual de dados. Definio de quais informaes devem ser mantidas no BD e de como elas esto relacionadas (utiliza o modelo conceitual).

1.3 - Modelos de Dados


Um modelo de Dados um conjunto de conceitos formais utilizados para a definio de BD (descrio do dados, das relaes entre eles, da semntica de dados e das restries entre eles). A caracterstica bsica de um modelo de dados, como o prprio termo explicita, que ele corresponde a uma abstrao da realidade. A distncia existente entre a maneira na qual as entidades existem na realidade e a maneira como estas entidades so representadas internamente nos computadores levaram ao surgimento de modelos de dados em diferentes nveis de abstrao. A Modelagem de dados o processo de abstrao onde somente os elementos essenciais da realidade so enfatizados para a aplicao em questo, descartando-se os elementos no essenciais. O principal objetivo da modelagem de dados transmitir e apresentar uma representao nica, no redundante e resumida dos dados de uma determinada aplicao.

Introduo a Sistemas de Banco de Dados

Introduo a Sistemas de Banco de Dados

Projeto Lgico Transformao do projeto conceitual em projeto lgico de dados. Definio da organizao das informaes em arquivos , isto , definio de quais so os arquivos e da estrutura dos registros destes (utiliza modelo lgico). Projeto Fsico Define como os registros sero implementados fisicamente no disco, como estaro na memria, qual mtodo ser utilizado para busca de informaes, qual mtodo ser usado para ordenao de informaes, etc. (de responsabilidade do SGBD).

2.2 - Entidades e Conjunto de Entidades


Uma entidade um objeto que existe no universo sendo modelado e distinguvel dos demais objetos. Um grupo de entidades que possuem caractersticas semelhantes formam um conjunto de entidades. Em um conjunto de entidades so representadas a princpio, todos os elementos do mundo real referidos pelo conjunto. Para evitar a redundncia, cada objeto do mundo real deve ser representado preferencialmente por uma nica entidade de um nico conjunto de entidades. Representao grfica no DER Um conjunto de entidades representado por um retngulo com seu nome dentro. O nome deve ser um substantivo no singular. Exemplo: suponha uma empresa onde trabalham vrios empregados. Joo da Silva e Carla Gomes so empregados dessa empresa. So entidades o conjunto de todos os empregados da empresa, formando um conjunto de entidades chamado Empregado. Representao grfica :
Descrio Informal Empregado Projeto Conceitual

Universo do mundo real

2.2.1 - Atributos do Conjunto de Entidades


Projeto lgico Banco de Dados

A representao de um objeto do mundo real como uma entidade no suficiente. Precisamos associar a estas entidades as informaes que temos sobre o objeto. Estas informaes correspondem aos atributos da entidade. Cada conjunto de entidades possui atributos, estes atributos e seus respectivos valores descrevem as instncias de uma entidade. Cada entidade deste conjunto possui valores especficos para os atributos. Para cada atributo existe um conjunto de valores vlidos para aquele atributo, denominado domnio do atributo. Os atributos podem ser:

Projeto fsico

2.1 - Modelo Entidade - Relacionamento


O objetivo da modelagem de dados possibilitar a apresentao de uma viso nica e no redundante dos dados de uma aplicao. No desenvolvimento da aplicao de um BD, o modelo Entidade-Relacionamento (MER) o mais utilizado para representao e entendimento dos dados que compe a essncia de um sistema de informao. O MER representa as informaes do universo sendo modelado como objetos, denominados entidades, e representa as relaes entre as informaes como sendo relaes entre esses objetos, denominadas relacionamentos. O Projeto Conceitual do BD, utilizando o MER pode ser representado graficamente pelo DER (Diagrama Entidade-Relacionamento).

Simples: atributos atmicos que no podem ser divididos em sub-atributos. Por exemplo: idade, sexo, nome, etc; Compostos: atributos que podem ser divididos. Por exemplo o atributo endereo pode ser dividido em rua, nmero, bairro, CEP e complemento. Monovalorados: possui um nico valor para cada entidade, como por exemplo o atributo data de nascimento. Multivalorados: pode assumir vrios valores para uma mesma entidade como por exemplo o atributo filhos (nome de todos os filhos de um empregado). Derivados: pode ser obtido atravs de outro atributo, como por exemplo o atributo idade (obtido atravs do atributo data de nascimento).

Introduo a Sistemas de Banco de Dados

Introduo a Sistemas de Banco de Dados

Representao grfica no DER O atributo pode ser representado por uma elipse com seu nome dentro desta. A elipse deve estar ligada ao conjunto de entidades a qual pertence o atributo atravs de uma linha simples. Os atributos simples e os monovalorados so representados por uma elipse simples. Os atributos multivalorados so representados por uma elipse dupla e os derivados por uma elipse pontilhada. Voltando ao exemplo da empresa, quais informaes sobre os empregados so importantes para os nossos propsitos? Informaes como nmero de matrcula, nome, endereo, salrio, sexo, data de nascimento, etc.
sexo numat nome endereo salrio

Considere novamente o exemplo da empresa. Existem vrios projetos desenvolvidos pela empresa. Esses projetos so entidades do conjunto de todos os projetos da empresa, formando um conjunto de entidades chamado Projeto. Os empregados trabalham nesses projetos, logo existe uma relao trabalha_em entre os conjuntos de entidades Empregado e Projeto (Empregado trabalha_em Projeto). Representao grfica no DER Um conjunto de relacionamentos representado por um losango, com o nome do conjunto dentro, ligado por linhas aos conjuntos de entidades que ele associa. O nome deve ser um substantivo no singular ou um verbo na 3 pessoa do singular (mais apropriado).

Empregado
datnasc

Empregado

Trabalha em

Projeto

2.2.2 - Chaves do Conjunto de Entidades Precisamos especificar como distinguir cada entidade de um conjunto de entidades usando seus atributos. Uma chave candidata de um conjunto de entidades um conjunto de um ou mais atributos, que juntos permitem identificar unicamente cada entidade. Uma chave candidata deve ser um conjunto minimal de atributos, isto , no devem possuir subconjuntos que tambm so chaves candidatas. Um conjunto de entidades pode possuir vrias chaves candidatas. Uma chave primria de um conjunto de entidades uma chave candidata escolhida como principal mecanismo de identificao das entidades do conjunto de entidades. Representao grfica no DER Os atributos que formam a chave primria tm seu nome sublinhado. No exemplo da empresa cada empregado pode ser identificado unicamente pelo seu nmero de matrcula, pois no existem dois empregado com o mesmo nmero. Assim, o atributo nmero de matrcula pode se tornar a chave primria da entidade Empregado.

2.3.1 - Atributos dos Conjuntos de Relacionamentos Um conjunto de relacionamentos pode possuir atributos que descrevem a associao das entidades. Voltando ao exemplo, cada empregado trabalha um certo nmero de horas em um determinado projeto. Logo, o nmero de horas trabalhadas por um Empregado em um Projeto um atributo do relacionamento trabalha_em. Representao grfica no DER Atributos de conjunto de relacionamentos so representados tal como atributos de conjuntos de entidades, porm so ligados por linhas ao losango.
nhoras

Empregado

trabalha em

Projeto

2.4 - Propriedades de Relacionamentos 2.3 - Relacionamento e Conjunto de Relacionamentos


Precisamos representar tambm as relaes que existem entre as entidades. Estas relaes so representadas pelos relacionamentos. Um relacionamento uma associao entre duas ou mais entidades. Um conjunto de relacionamentos corresponde a um grupo de relacionamentos do mesmo tipo. Assim, um relacionamento binrio associa duas entidades, um relacionamento ternrio associa trs entidades e assim sucessivamente. O MER permite representarmos algumas restries sobre dados, e regras que existem no universo que est sendo modelado e que os dados do BD devem obedecer. 2.4.1 - Cardinalidade dos Conjuntos de Relacionamentos

Introduo a Sistemas de Banco de Dados

Introduo a Sistemas de Banco de Dados

A cardinalidade de um conjunto de relacionamentos expressa o nmero de entidades de um conjunto de entidades E1 que podem estar associadas a uma entidade do outro conjunto de entidades E2, atravs daquele conjunto de relacionamentos R. Para um conjunto de relacionamentos binrios a cardinalidade pode ser: um para um (1:1): uma entidade de E1 pode estar associada no mximo a uma entidade de E2 atravs de R; e uma entidade de E2 pode estar associada a no mximo uma entidade de E1 , atravs de R. um para muitos (1:N): uma entidade de E1 pode estar associada a vrias entidades E2; e uma entidade de E2 pode estar associada no mximo uma entidade de E1. muitos para um (N:1): uma entidade de E1 pode estar associada a no mximo uma entidade de E2; e uma entidade de E2 pode estar associada a vrias entidades de E1. muitos para muitos (N:N) : uma entidade de E1 pode estar associada a vrias entidades de E2; e uma entidade de E2 pode estar associada a vrias entidades de E1. Por exemplo, no relacionamento trabalha_em, temos que um empregado pode trabalhar em vrios projetos; e um projeto possui vrios empregados trabalhando nele, logo o relacionamento trabalha_em um relacionamento N:N. Representao no DER A cardinalidade de um conjunto de relacionamentos escrita sobre as linhas que o ligam ao conjunto de entidades.

Representao no DER Quando um conjunto de relacionamentos R total em relao a um conjunto de entidades E, utilizamos linha dupla para ligar E R. Quando parcial utilizamos linha simples.

Empregado

trabalha em

Projeto

2.5 - Conjunto de Entidades Fracas


Quando um conjunto de entidades no possui nenhum conjunto de atributos que satisfaa a condio de chave primria, dizemos que este conjunto de entidades fracas, ou seja, no existe um ou mais atributos que possam distinguir uma entidade da outra neste conjunto. No exemplo da empresa temos que os empregados possuem dependentes. Sobre cada dependente existe apenas trs informaes: nome, tipo (filho, esposa, etc) e sexo. Nos atributos deste conjunto no encontramos nenhum subconjunto que forma uma chave primria. Este um conjunto de entidades fraca. Para que as entidades deste conjunto sejam distintas entre si, acrescentamos um atributo chamado discriminador que geralmente numrico e seqencial. O discriminador juntamente com a chave primria do conjunto de entidades fortes permitem distinguirmos dentre todas as entidades fracas. Representao no DER O conjunto de entidades fracas representado por um retngulo duplo e ligado por uma linha ao relacionamento que o associa entidade forte (entidade da qual ele depende). O discriminador sublinhado com uma linha tracejada.

Empregado

trabalha em

Projeto

2.4.2 - Participao dos Conjuntos de Relacionamentos Expressa a restrio de todas as entidades de um conjunto de entidades E1 terem que estar obrigatoriamente (ou no) associadas a uma entidade do outro conjunto de entidades E2, atravs do conjunto de relacionamentos R. Em relao participao, os conjuntos de relacionamentos podem ser: Total (ou obrigatria): Toda entidade de E1 est obrigatoriamente associada a alguma entidade de E2, atravs de R . Dizemos que R total em relao a E1. Parcial: Pode haver entidades de E1 no associadas a entidades de E2, atravs de R . Dizemos que parcial em relao a E1. Voltando ao exemplo, como todo empregado da empresa trabalha em algum projeto e todo projeto possui algum empregado trabalhando nele, ento, temos que o relacionamento trabalha_em total em relao a Empregado e tambm em relao a Projeto.
Empregado
possui

Dependente

2.6 Auto-Relacionamento
Na maioria das vezes so representaes de estruturas hierrquicas. Por exemplo, vamos considerar o conjunto de entidades Empregado cujas ocorrncias representam os vrios empregados da empresa. Podemos afirmar que alguns funcionrios so gerentes de outros, que por sua vez so subordinado ao gerente.

Introduo a Sistemas de Banco de Dados

Introduo a Sistemas de Banco de Dados

Devemos determinar, neste caso, qual o papel desempenhado por cada entidade relacionada outra atravs do auto-relacionamento. No exemplo, precisamos especificar quais empregados so gerentes e quais so subordinados.
gerente

3.3 - Chaves das Relaes


Uma chave candidata de uma relao o menor conjunto possvel de atributos que identificam unicamente uma tupla da relao. Uma relao pode ter vrias chaves candidatas. Uma chave primria de uma relao uma chave candidata escolhida como a principal forma de identificao das tuplas. As demais candidatas so chaves secundrias. A chave primria de uma relao R1 que faz parte dos atributos de uma relao R2 chamada de chave estrangeira em R1 .

Empregado

supervisiona

subordinado

3.1 O Modelo Lgico Relacional


Usamos o modelo lgico de dados relacional para realizarmos o projeto lgico do BD. A abordagem relacional, criada por Edgar Codd, est baseada no princpio de que as informaes em uma base de dados podem ser consideradas como relaes matemticas e que esto representadas de maneira uniforme atravs do uso de tabelas bidimensionais. Este princpio coloca os dados (entidades e relacionamentos) dirigidos para estruturas mais simples de armazenamento, que so as tabelas. O modelo relacional apresenta conceitos para representao dos dados do BD e apresenta conceitos de operaes que podem ser realizadas sobre os dados. Estes conceitos so baseados em um formalismo matemtico (lgebra relacional). No modelo relacional os dados do BD so representados como relaes (tabelas). Cada relao possui um nome e um esquema, que um conjunto de atributos usados para descrever a relao. Cada atributo possui um nome. Uma tupla (linha da tabela) um conjunto de valores relacionados, um valor para cada atributo (coluna da tabela) do esquema da relao. Uma tupla uma instncia da relao. Cada atributo possui um domnio, que o conjunto de valores vlidos para aquele atributo. Como exemplo tome a entidade Empregado do captulo anterior. Temos, ento a relao Empregado:
Numa nome t 335 Joo da Silva 121 Carla Abranches 353 Paulo Andrade Sexo M F M dtnasc 12/03/72 14/12/75 08/06/70 salrio 700,00 1.200,00 700,00

3.4 - Restrio de Integridade Referencial


Se uma relao R1 possui uma chave estrangeira que chave primria em uma relao R2, ento todo valor para esta chave que aparece em R1 deve ser igual ao valor da chave em alguma tupla de R2 . Considere como exemplo as relaes Empregado e Departamento. A relao Departamento contm as informaes sobre os departamentos da empresa. Cada empregado trabalha em um nico departamento.
Numat nome 335 Joo da Silva 121 Carla Abranches 353 Paulo Andrade Sexo M F M dtnasc 12/03/72 14/12/75 08/06/70 salrio 700,00 1.200,00 700,00 ndep 2 1 3 ndep 1 2 3 nome Administrao Informtica Recursos Financeiros

Chave estrangeira

3.5 Mapeamento do modelo ER para o modelo Relacional


Precisamos transformar a representao do BD usando o MER para uma representao usando o modelo relacional. Todos os conjuntos de entidades e alguns conjuntos de relacionamento sero transformados em relaes, de acordo com os seguintes passos: Passo 1: para cada conjunto de entidades E, criar uma relao com o mesmo nome de E, e contendo todos os atributos simples de E. A chave primria da relao ser a chave primria da entidade. Passo 2: para cada conjunto de entidades fracas F, criar uma relao, incluir todos os atributos simples de F, incluir tambm como chave estrangeira o(s) atributo(s) da chave primria da entidade forte E associada ela. A chave primria da relao ser formada pela chave primria de E e pelo atributo discriminador de F. Passo 3: relacionamentos 1:1 o(s) atributo(s) que forma a chave primria de um dos conjuntos de entidades inserido como chave estrangeira na relao do outro conjunto de entidades. Podemos observar a participao para escolher o lado e inserir a chave estrangeira em um lado com participao total. Passo 4: relacionamentos 1:N o(s) atributo(s) que forma a chave primria do conjunto de entidades do lado de cardinalidade 1 inserido como chave estrangeira na relao do conjunto de entidades do lado de cardinalidade N.

tupla

3.2 - Propriedades das Relaes


No h ordem especfica entre as tuplas; No h ordem especfica entre os atributos; No h tuplas repetidas (toda relao possui chave primria e os atributos que compe a chave no podem ter valor nulos); Todos os atributos so atmicos (indivisveis).

10

Introduo a Sistemas de Banco de Dados

Passo 5: relacionamentos N:N cria-se uma relao R, contendo um atributo para cada atributo do relacionamento (se houver) e para cada atributo que forma a chave primria dos conjuntos de entidades associados ao relacionamento. A chave primria da relao ser formada pela concatenao dessas duas chaves primrias. Passo 6: atributos multivalorados so mapeados para uma nova relao R, contendo um atributo (ele prprio) e um atributo para cada atributo que forma a chave primria do conjunto de entidades ao qual ele pertence. A chave primria da relao ser formada pela concatenao desses dois atributos.

11