Banco de Dados I

Embed Size (px)

DESCRIPTION

aqui vc encontra informações relevantes da Estrutura de um banco de dados relacional. Parte 1

Citation preview

APOSTILA

CONTEDO PARTE 1 Conceitos bsicos ................................................. 02Introduo .................................................................................. Usurios ...................................................................................... Estrutura ..................................................................................... Esquema de dados ..................................................................... Vises ......................................................................................... Funes do SGBD ....................................................................... Dicionrio de dados .................................................................... Linguagens e interfaces .............................................................. 02 03 03 04 04 04 06 06

PARTE 2 Engenharia de Banco de Dados ............................ 08Introduo .................................................................................. Etapas ......................................................................................... Modelos de dados ....................................................................... Modelagem de dados .................................................................. Mapeamento ............................................................................... Normalizao .............................................................................. 08 09 10 10 11 11

PARTE 3 Modelo Entidade Relacionamento (MER) ............... 12Introduo .................................................................................. Entidades e atributos .................................................................. Relacionamentos ........................................................................ Exerccios .................................................................................... 12 12 13 02

PARTE 4 Modelo Relacional ................................................. 04Introduo .................................................................................. Chaves ........................................................................................ Restries de integridade ........................................................... Operaes sobre as relaes ...................................................... Mapeamento do MER .................................................................. Normalizao .............................................................................. 02 02 02 02 02 02

PARTE 5 Linguagem SQL ..................................................... 05Introduo .................................................................................. Padronizao .............................................................................. Exemplo ...................................................................................... Tipo de dados ............................................................................. Tipo de erros ............................................................................... Operadores ................................................................................. Funes ...................................................................................... Palavras reservadas .................................................................... Linguagem de definio de dados .............................................. Linguagem de manipulao de dados ........................................ 02 02 02 02 02 02 02 02 02 02 2

Linguagem de controle de dados ................................................ 02 Exerccios .................................................................................... 02

3

BIBLIOGRAFIA

Projeto de Banco de Dados Uma Viso PrticaFelipe Machado; Maurcio Abreu Editora rica

Sistema de Banco de DadosAbraham Silberschatz; Henry F. Korth; S. Sudarshan Makron

Books

Uma Introduo a Sistemas de Bancos de DadosC. J. Date Editora Edgard Blcher Ltda. (6a edio)

4

PARTE 1Introduo

Conceitos Bsicos

H uma grande necessidade em se realizar o armazenamento de informaes que no se encontram isoladas umas das outras. Alm de uma forma adequada para definir o armazenamento destas informaes, os usurios desejam realizar (consultar) um determinado subconjunto de dados, atualizar ou modificar a estrutura dos dados e eliminar informaes no mais necessrias. Uma soluo para este problema foi apresentada com o advento da tecnologia em Banco de Dados (ou Base de Dados ou BD). Uma definio mais precisa de Banco de Dados no existe formalmente, contudo pode-se dizer que: a) Um Banco de Dados uma coleo logicamente coerente de dados com um determinado significado inerente. Isto significa que um conjunto aleatrio de dados no pode ser considerado um Banco de Dados. b) Um Banco de Dados projetado, construdo e composto por um conjunto de dados para um propsito especfico. Existe um grupo de usurios ou algumas aplicaes pr-concebidas onde estes dados sero utilizados. c) Um Banco de Dados representa aspectos de uma parte restrita do mundo real, denominado de mini-mundo. Alteraes que ocorra no mini-mundo so refletidas no Banco de Dados. Resumindo, um BD representa uma fonte de onde informaes so derivadas, possui um nvel de interao com eventos que ocorrem no mundo real, e uma audincia que est interessada em seu contedo. Alm do conceito de BD, outros so necessrios para se compreender o ambiente de um BD. Um Sistema de Gerenciamento de Banco de Dados (SGBD) uma coleo de programas que permite ao usurio definir, construir e manipular Banco de Dados para as mais diversas aplicaes. DEFINIR um BD envolve a especificao e a descrio detalhada dos tipos de dados a serem armazenados. CONSTRUIR um BD o processo de armazenamento dos dados em si em um determinado meio fsico que controlado pelo SGBD. MANIPULAR um BD inclui uma srie de funes para se realizar operaes de consulta, atualizaes e remoes de dados do BD. O Banco de Dados e seu software so juntos denominados de Sistema de Bando de Dados (SBD).

5

UsuriosUm Banco de Dados pode apresentar diversos usurios cada qual com uma necessidade em particular, e com um envolvimento diferente com os dados do BD. Os usurios podem ser classificados nas seguintes categorias: a) Administradores do BD (DBA): o DBA responsvel por controlar o acesso aos dados, e por coordenar e monitorar a sua utilizao, administrando os recursos disponveis no BD. b) Projetistas do BD: possuem a responsabilidade de identificar os dados a serem armazenados no BD e pela escolha da estrutura apropriada utilizada para armazena-los. Eles devem se comunicar com os possveis usurios do BD, obter a viso dos dados que cada um possui, integrando-as de forma a se obter uma representao adequada de todos os dados. c) Usurios Finais: so as pessoas que interagem diretamente com o SGBD, solicitando acesso s informaes armazenadas no BD. d) Analistas de Sistemas e Programadores de Aplicaes: analistas de sistemas determinam os requisitos dos usurios finais, especialmente de usurios que necessitam de maior interao com o BD, enquanto que os programadores de aplicaes utilizam-se destas especificaes para desenvolver uma aplicao.

EstruturaUm SBD se divide em geral em trs nveis: a) Nvel Interno: descreve a estrutura de armazenamento fsico dos dados do BD, fornecendo um modelo fsico dos dados que inclui detalhes sobre os caminhos de acesso aos dados internamente; b) Nvel Conceitual: descreve a estrutura de todo o BD para uma determinada comunidade de usurios, ocultando detalhes sobre a organizao fsica dos dados e apresentando a descrio lgica dos dados e das ligaes existentes entre eles. c) Nvel Externo: possui as diversas descries do BD de acordo com os grupos de usurios. Observe que os trs nveis apresentados anteriormente apresentam apenas descries dos dados. Como os trs nveis apresentam descries diferentes para os mesmos dados, torna-se necessrio converter uma 6

representao em outra, ou seja, definir mapeamentos de dados entre os nveis.

Nvel Externo Viso 1 Viso 2 .................. Viso N

Nvel Conceitual

Dados e relaes

Nvel Interno

Nvel Fsico

Esquema de dadosO Esquema de Dados uma parte do BD que contm informaes sobre os prprios dados do BD, ou seja, estrutura do BD tanto a nvel interno, conceitual e externo.

VisesUma Viso consiste de um subconjunto de dados do BD, ou pode conter dados virtuais que so derivados dos existentes no BD, mas que no esto explicitamente armazenados. As Vises existem para satisfazer as necessidades dos usurios na apresentao apenas das informaes importantes e ocultando aquelas desnecessrias.

Funes do SGBDO Sistema de Gerenciamento de Banco de Dados tem como principais funes: a) Controle de Redundncia: em um sistema tradicional de controle de arquivos cada usurio normalmente apresenta seus prprios arquivos armazenando o conjunto de dados que de seu interesse, e nestes casos comum ocorrer redundncia de dados. Esta redundncia consiste no 7

armazenamento de uma mesma informao em locais diferentes, o que pode provocar srios problemas. Alguns destes problemas consiste inicialmente no aumento do esforo computacional para realizar a atualizao destes dados e tambm o aumento do espao necessrio para o armazenamento dos dados. Mas o problema mais srio que a representao dos dados desta forma pode tornar-se inconsistente, pois duas informaes podem aparecer em locais distintos, mas apresentando valores diferentes. Em um sistema de BD as informaes s se encontram armazenadas em um nico local ou esto existindo duplicao controlada dos dados. b) Compartilhamento dos Dados: o SGBD deve incluir um software para o controle de concorrncia ao acesso dos dados em um ambiente multiusurio, de forma a possibilitar o compartilhamento dos dados, garantindo que se vrios usurios tentar realizar operaes de atualizao sobre um mesmo conjunto de dados, o resultado destas operaes possa ser correto. Outro mecanismo que suporta a noo de compartilhamento de dados consiste na facilidade para definir vises de usurio, o qual torna disponvel uma poro especfica dos dados do BD de acordo com o seu interesse. c) Controle de Acesso: quando vrios usurios compartilham os dados, comum que alguns no apresentem autorizao para acesso a todo o BD. Alm disso, alguns usurios podem apresentar a autorizao para apenas leitura dos dados, sendo impedido a este de realizar qualquer modificao no BD. O SGBD deve fornecer servios que permitam ao DBA definir os nveis de segurana e de autorizao para os usurios do BD. d) Controle de Transaes: uma transao um conjunto de operaes sobre o BD que devem ser executados integralmente e sem falhas ou interrupes. O SGBD deve realizar o controle das transaes para que sejam executadas com segurana. e) Possibilidade de Mltiplas Interfaces: vrios usurios representam tambm necessidades diversas no que refere aos tipos de interfaces fornecidas pelo SGBD. Interfaces para consultas de dados, programao, e interfaces baseadas em menus ou em linguagem natural so exemplos de alguns tipos que podem estar disponveis. f) Reforar Restries de Integridade: a maioria dos aplicativos apresenta servios que possibilitam garantir a integridade dos dados no BD. A restrio de integridade mais simples consiste na especificao do padro de formato para os dados ou valores assumidos como default.

g) Providenciar Backup e Recuperao de Dados: o SGBD deve apresentar facilidades para recuperao de falhas provocadas pelo hardware ou pelo software. h) Independncia de Dados: o SGBD possibilita o desenvolvimento de programas aplicativos que no possuem a descrio real de como os dados (arquivos) esto fisicamente armazenados. Desta forma, alteraes nas estruturas dos arquivos do BD no afetam os programas aplicativos. Os trs nveis podem ser utilizados para melhor compreender

8

o conceito de independncia de dados. Pode-se apresentar dois tipos de independncia de dados: Independncia Lgica dos Dados: consiste na capacidade de alterar o esquema conceitual sem provocar modificaes nos esquemas externos ou nos programas aplicativos. Independncia Fsica dos Dados: consiste na capacidade de alterar o esquema interno sem provocar modificaes no esquema conceitual. Apesar de todas as vantagens citadas anteriormente sobre um SGBD, h situaes em que deve-se ponderar sobre sua utilizao , como por exemplo, o alto investimento inicial e possibilidade de compra de um novo hardware; ou a possibilidade de insatisfao no desempenho geral do sistema que pode ser provocado pelas funes de segurana, controle de concorrncia, recuperao e manuteno de integridade dos dados. Para que um SGBD possa fornecer as caractersticas de independncia de dados, suporte a mltiplas vises de vrios usurios, entre outras, torna-se necessrio a existncia de uma organizao no sistema para que isto seja possvel.

Dicionrio de DadosBons SGBDs normalmente apiam a incluso de descries textuais sobre cada um dos arquivos do BD, como tambm de cada usurio e programas aplicativos que so utilizados. Estas informaes so includas no Dicionrio de Dados para servirem de apoio aos novos projetistas ou programadores que possam ser colocados no grupo de trabalho, e deste modo, facilitar o entendimento dos ambientes que est sendo utilizado.

Linguagens de InterfacesUma vez que o projeto do BD tenha se completado e um determinado SGBD tenha sido escolhido para a sua implementao, a primeira "ordem do dia" consiste em realizar uma especificao dos esquemas conceituais e internos, e os respectivos mapeamentos entre eles. Para estas etapas o SGBD oferece uma srie de linguagens. A primeira delas consiste da Linguagem de Definio de Dados (DDL), a qual utilizada pelos analistas e projetistas do BD para a definio dos esquemas. O SGBD tambm apresentar um interpretador para a DDL, o qual ser responsvel pelo processamento dos comandos da DDL, e realiza o armazenamento do esquema definido em estruturas internas do BD. Uma vez definido e preenchido o BD com os seus dados, estes normalmente sofrero uma srie de operaes de acesso s informaes nele armazenadas. O SGBD fornece a Linguagem de Manipulao de Dados (DML) para a especificao destas operaes. Os comandos da DML podem aparecer embutidos em uma outra linguagem (geralmente uma linguagem de programao de alto nvel), e neste caso esta denominada de linguagem hospedeira, a DML denominada de sub-linguagem de dados. De outra forma 9

se DML for utilizada isoladamente de uma forma interativa, possa a ser denominada de linguagem de consulta (ou "query language"). Para interagir com o SGBD alm de linguagens descritas anteriormente, o sistema deve apresentar interfaces que sejam amigveis. Estas interfaces podem ser de diversas formas: a) Interfaces baseadas em Menus: permite ao usurio selecionar o trabalho a ser realizado atravs de uma lista de opes apresentada na forma de Menus. Neste tipo de interface uma consulta pode ser construda atravs da escolha apropriada de um conjunto de opes; b) Interfaces Grficas: apresenta ao usurio o esquema de Base em uma forma de diagrama, e a criao de consultas realizada atravs da manipulao deste diagrama. Normalmente se apresenta associada a um conjunto de menus; c) Interfaces Baseadas em Formulrios: o sistema apresenta ao usurio um formulrio, atravs do qual pode ser preenchida certa entrada. Atravs destes formulrios pode ser realizada operao de consultas, inseres a remoes de dados; d) Interface em Linguagem Natural: aceita comandos ou requisies escritas em uma linguagem natural ou em alguma outra linguagem de consulta, sendo capaz de "compreender" o que est sendo pedido; e) Interface para Usurios Comuns: normalmente estes usurios, como o de um terminal bancrio, podem realizar apenas um conjunto limitado de operaes e de forma repetitiva. Sendo assim, oferecida uma interface que seja fcil de compreender e com um nmero reduzido de informaes a serem manipuladas a poucas opes disponveis. No controle de acesso e transaes dos dados utiliza-se uma Linguagem de Controle de Dados, que inclusive possibilita estabelecer os diversos nveis de segurana de cada usurio.

10

PARTE 2

Engenharia de Banco de Dados

Introduo

Na informatizao de um mini-mundo com a utilizao de um BD, deve-se primeiramente preocupar-se com a escolha do SBGD que ser utilizado. De nada servir uma Engenharia de BD bem realizada se o gerenciador oferecer restries inaceitveis como, por exemplo, baixa capacidade de armazenamento. As mquinas utilizadas e a arquitetura do Sistema de Informaes (Centralizada, Distribuda ou Cliente/Servidor) tambm so elementos de igual importncia. A Engenharia de Banco de Dados (ou Projeto de Banco de Dados, como mais conhecido) um dos temas mais discutidos e estudados nesta rea. A razo forte, uma engenharia incorreta pode resultar em um SBD que no atende as necessidades dos seus usurios, pedindo freqentes e custosos reparos ou mesmo uma completa reengenharia. O tempo gasto em estudos e na aplicao de princpios de uma boa engenharia de BD sempre um tempo bem empregado. A maior habilidade exigida para os especialistas em Engenharia de BD saber recolher informaes a partir da vivncia com o mini-mundo, tambm extrair dos usurios por meio de entrevistas e reunies o que desejam do BD e estruturar todas estas informaes de modo a se tornarem concretamente um BD. A grande valorizao deste tipo de profissional ocorre devido dificuldade em se encontrar pessoas experientes tanto na rea tcnica quanto no tratamento com os usurios, que na verdade so os clientes. A grande maioria dos Bancos de Dados existente foi projetada manualmente por especialistas que usaram seus conhecimentos e experincias no processo. Todavia, com o crescimento da complexidade dos BD's ("Very Large Databases") e o estabelecimento de regras bem definidas para algumas fases da Engenharia de BD, sugiram ferramentas de apoio ("Automated Design Tools") que auxiliam nas diversas etapas do processo. Entre as vantagens podemos citar a rapidez na realizao da Engenharia, uma vez que estas ferramentas oferecem uma interface amigvel que orienta os projetistas nas decises mais difceis e realiza verificaes seguras dos resultados intermedirios. A tecnologia dos Sistemas Especialistas (SE) em conjunto com as ferramentas CASE ("Computer-Assisted Software Engineering") tem colaborado nesta atividade, evitando-se desperdcios de tempo, frustraes e melhorando

11

os resultados de um processo extremamente crtico e delicado tanto para os projetistas quanto para os usurios.

12

EtapasUma boa engenharia de BD compreende resumidamente os seguintes passos:

1

Estabelecer o objetivo anotar o objetivo do BD; Coleta de dados coletar todos os tipos de informaes que sero precisos armazenar. Pensar sobre os relatrios e/ou formulrios que possam ser desejados. Para esta fase necessrio conhecer profundamente o mini-mundo a isto pode requerer algum tempo a ser utilizado com reunies e entrevistas com os futuros usurios. A experincia (sabedoria) nesta etapa fundamental. No deve ser realizada por uma nica pessoa, mas por um grupo de projetistas; Anlise e especificao o grupo de projetistas deve ponderar sobre todas as informaes obtidas e gerar documentos que especifiquem as necessidades dos usurios. Caso perceba-se a falta de alguma informao deve retornar a fase anterior (coleta); Projeto conceitual atravs de uma ferramenta conceitual (modelo de dados a nvel conceitual) um grupo de especialistas repassa a especificao textual em um diagrama ou outras forma de linguagem que descreve com clareza as necessidades dos usurios, isto chamado modelagem. O objetivo desta fase melhor organizar as idias passadas pela fase anterior (Anlise e Especificao) e perceber alguma falta de informaes neste caso necessrio retornar; Projeto Lgico atravs de uma ferramenta lgica (modelo de dados a nvel lgico) um grupo de especialistas repassa a especificao conceitual em lgica atravs de um diagrama ou outra linguagem, isto chamado mapeamento. Com esta fase obtm-se a definio lgica dos arquivos de dados. Especificao lgica depende do SGBD que ser utilizado, pois as estruturas dos arquivos devem ser compatveis com o gerenciador utilizado; Implantao tendo a especificao dos arquivos pode-se implanta-los, atravs da linguagem DDL, para formarem um BD; Teste

2

3

4

5

6

7 8

os testes so realizados medindo a satisfao dos usurios em termos de velocidade e o padro com que os dados so apresentados; Manuteno a insatisfao de um usurio ou mesmo modificao no mini-mundo (expanso da empresa, etc) pode exigir pequenas alteraes na 13

estrutura do BD. Mudanas drsticas como, por exemplo, modificaes no organograma de uma empresa podem exigir um trabalho maior na reestruturao do BD . A similaridade do processo de Engenharia de BD com a Engenharia de Software no coincidncia. Na verdade pode-se dizer que ambas so complementares, uma vez que na Engenharia de Software necessria a criao dos arquivos de dados (BD) a na Engenharia de BD necessria a criao dos programas aplicativos (software) que iro operar o Banco de Dados.

Modelos de DadosUm Modelo de Dados um conjunto de conceitos utilizados para descrever a estrutura de um BD a nvel conceitual, lgico ou fsico. Os modelos apresentam um conjunto de operaes para a especificao e manipulaes dos dados do BD. Os tipos de modelos existentes na literatura se classificam em: Modelos Baseados em Registros: so modelos que fornecem conceitos de modelagem a nvel lgico utilizando-se da representao de registros. Comercialmente, os modelos mais encontrados so o Rede, o Hierrquico e o Relacional; Modelos Semnticos: so modelos conceituais que apresentam uma capacidade maior de representao fiel de um problema, pela simples razo de possuir conceitos mais elaborados. Exemplos de modelos desta categoria so o Modelo Entidade-Relacionamento (MER) e o Modelo Funcional; Modelos Orientados a Objetos: so modelos conceituais que procuram representar a estrutura de Bancos de Dados atravs do paradigma de "Orientao a Objetos". Este tipo de modelo esta em grande destaque mundial (inclusive no Brasil) nas pesquisas atuais. Alguns dos modelos em pesquisa so: 02 (Frana); PCTE (Comunidade Europia); Orion (EUA) e o Modelo de Representao de Objetos - MRO (Brasil - USP/So Carlos). O reflexo das necessidades evolutivas do mercado pode ser cronologicamente visualizado atravs dos diversos Modelos de Dados desenvolvidos, desde os Modelos Baseados em Registros passando pelos Semnticos at os recentes Modelos Orientados a Objetos.

Modelagem de DadosAtualmente o Modelo de Dados Conceitual mais difundido e utilizado para a modelagem de dados o MER criado por Peter Chen. O resultado da modelagem utilizando o MER um diagrama (DER) bastante simples, porm de grande utilidade. Tendo exatamente definido qual o problema ser resolvido, ou seja, tendo determinado as fronteiras que delimitam e restringem o mini-mundo a ser 14

modelado e realizado a especificao, utiliza-se um roteiro a ser seguido para se determinar uma primeira verso do DER. Depois de criada a primeira verso do DER deve-se apresentar aos usurios para que seja verificado se o diagrama est correto e completo. Sucessivas apresentaes do DER devem ser realizadas enquanto forem detectadas falhas na representao. primeira vista pode-se pressupor que esta rotina de trabalho trar atrasos na construo do Banco de Dados, porm os especialistas em engenharia (software, mecnica e etc) sabem da extrema importncia da fase de projeto. Erros ocorridos nesta fase acarretam graves atrasos e aumento no custo de realizao do produto. Por esse motivo, o MER se tornou uma ferramenta de modelagem entre as mais difundidas, estimadas e utilizadas no mercado de informtica.

MapeamentoO Modelo Entidade Relacionamento responsvel por realizar uma representao dos dados de uma determinada aplicao a um nvel mais conceitual, um pouco distante da forma como os seus elementos sero efetivamente implementados. Os modelos de registros, dentre eles Modelo Relacional (mais usado), fornece uma representao dos dados de forma mais prxima como estes se encontraro quando forem definidos os arquivos para o BD. A passagem do diagrama do MER para a representao do Modelo Relacional denominada Mapeamento do MER para o Relacional e uma das tcnicas mais utilizadas por ser uma ligao entre os modelos de dados mais utilizados. Existem estabelecidos outros mapeamentos como - MER para o Modelo Rede e; - MER para o Modelo Hierrquico, contudo no sero abordados neste curso por serem pouco utilizados.

NormalizaoO processo de Normalizao uma etapa complementar ao Mapeamento e consiste da aplicao de uma srie de regras (Formas Normais). Estas regras iro provocar algumas modificaes na especificao lgica. A Normalizao permite ao projetista definir quanto da consistncia garantida pela estrutura dos arquivos e quanto deve ser responsabilidade dos aplicativos e/ou do SGBD. Deve ser realizada alguma ponderao: normalizar demais diminui a eficincia dos aplicativos e de menos abre flancos para inconsistncias.

15

PARTE 3

Modelo Entidade - Relacionamento

IntroduoO Modelo Entidade-Relacionamento (MER) foi originalmente criado pelo norte-americano Peter Pin-Shan Chen enquanto trabalhava no Massachusetts Institute of Technology. O MER foi colocado para conhecimento pblico durante a conferncia internacional VI_DB no ano de 1975. Segundo seu criador, o MER uma poderosa ferramenta de apoio ao projeto conceitual de Bancos de Dados propiciando uma viso mais natural a consistente do mundo real atravs do uso de conceitos simples porm de grande representatividade. O principal motivo do grande sucesso da MER durante todos estes anos em que foi utilizado nas universidades como ponto de partida para diversas pesquisas e estudos, e nas empresas como instrumento para a organizao de suas informaes, foi a facilidade com que pode ser utilizado e a clareza com que apresenta seus resultados. Devido a sua grande importncia, muitos trabalhos propuseram extenses do modelo para que se torna-se mais preciso na representao do mundo real. A incluso destes novos conceitos pode rebatizar o modelo como MER*. Atualmente continuam sendo estudadas novas propostas de extenso. Para isso, so realizadas periodicamente (Frana 1986, EUA 1987, Itlia 1988 a outras) conferncias com esta finalidade especfica.

Entidades e AtributosUm Banco de Dados normalmente armazena as informaes em grupos ou conjuntos, isto porque para as aplicaes mais usuais existem muitas semelhanas entre os elementos que so armazenados. Entidades: so conjuntos de elementos (evento, ser ou coisa). por exemplo:

Cliente

Produto

Funcionrio

Ordem de Produo

Atributos: cada elemento pertencente a um conjunto. Todo objeto para ser entidade possui propriedades que so descritas por atributos e valores. Estes atributos e seus valores, juntos, descrevem as instncias de uma entidade. por exemplo: para o caso da entidade funcionrio poderamos ter 16

Funcionrio

matrcu la

nome

data de admiss o

Pode ocorrer que alguma Entidade A possua uma dependncia existencial com outra Entidade B e neste caso cada Atributo da Entidade B exista somente porque est associado a Entidade A. Este tipo de Entidade denominada Entidade Fraca. exemplo: a existncia de um grupo de transaes numa conta bancria somente ser verdadeira se o cliente j tiver realizado a abertura da conta. Logo, em relao s entidades Cliente e Conta, a entidade Transao constitui-se uma Entidade Fraca. cliente conta transao

Produtos um Tipo de Entidade Fraca, pois cada produto existente neste conjunto (e armazenado no Banco de Dados) existe somente porque um cliente (Entidade de clientes) o comprou. cliente produtos

Os Atributos so normalmente associados a Entidades. Entre estes Atributos deve existir um ou mais onde suas instncias so diferentes para cada Entidade. O menor conjunto de Atributos para distinguir cada Entidade chamado de Identificador. Por exemplo:

E x p e r im e n t o s T3

N m e ro

TPH

P a r c e la

TC H

Id e n t ific a d o r17

Relacionamentos

Nenhuma informao armazenada no Banco de Dados existe isoladamente. Todos os elementos pertencentes ao mundo real (restrito) modelado de alguma forma esto associados a outros elementos. Normalmente estas associaes representam aes fsicas ou alguma forma de dependncia entre os elementos envolvidos. Relacionamento: definimos relacionamento como um fato, um acontecimento que liga dois objetos, duas Entidades existentes no mundo real. Considerando que estamos nos orientando para aplicaes que sero desenvolvidas e administradas por um Sistema de Gerenciamento de Banco de Dados, poderamos estender o conceito, principalmente para ambientes relacionais, como sendo relacionamento o fato que efetua a juno de duas ou mais tabelas de dados. por exemplo: homem casa do mulher

me

tem

filho

funcionrio

rece be

salrio

Quando temos um relacionamento entre duas entidades, o nmero de ocorrncias de uma entidade que est associado com ocorrncias de outra entidade determina o Grau do Relacionamento ou Cardinalidade. importante salientar que lemos o diagrama somente em um sentido, e isto est incorreto dentro do conceito de relacionamento, pois os mesmos no so unidirecionais. Muitos dos erros na construo do modelo de dados ocorrem por serem realizados exames apressados sobre a cardinalidade dos relacionamentos, efetuando-se a anlise somente no sentido de um interesse especfico, sem que se verifique a cardinalidade no sentido inverso. Logo, o grau de um relacionamento definido pela interpretao da cardinalidade dos dois sentidos. O mundo real apresenta-se com trs possibilidades de relacionarmos os dados, ou seja, trs graus de relacionamento, que so:

18

Relacionamento Um-para-Um (1:1) Neste grau de relacionamento, cada elemento de uma entidade relaciona-se com um e somente um elemento de outra identidade.

sentido de leitura homem

1

casa do

1

mulher

homem

1

casa do

1

mulher

Idntico resultado= 1:1

Relacionamento de Um-para-Muitos (1:N) Este grau de relacionamento o mais comum no mundo real, sendo o que denominamos de relacionamento bsico entre entidades, entretanto possui caractersticas especficas, quanto ao sentido de leitura dos fatos e sua interpretao. Um elemento da entidade 1 relaciona-se com muitos elementos da unidade 2, mas cada elemento da entidade 2 somente pode estar relacionado a um elemento da entidade 1. Ou seja, o grau de cardinalidade deterninante sempre o maior grau obtido da interpretao dos fatos. sentido de leitura

time

1

poss ui

N

jogador es

time

1

poss ui Resultado: (1:N)

1

jogador es

19

Relacionamento de Muitos-para-Muitos (N:N) Identifica-se esta cardinalidade pelo fato de que em ambos os sentidos de leitura encontramos um grau Um-para-Muitos, o que caracteriza ser ento um contexto geral de Muitos-para-Muitos.

sentido de leitura

time

1

poss ui

N

jogador es

time

N

poss ui Resultado (N:N)

1

jogador es

A quantidade de Entidades envolvida em um Relacionamento pode ser determinada por sua semntica. Desta forma pode-se categorizar os relacionamentos em; Unrio: um relacionamento que envolve uma nica entidade.

Pessoas

casad o com

Binrio: um relacionamento que envolve duas entidades.

F u n c io n r io

P ro d u z

P ro d u to

20

Ternrio: um relacionamento que envolve trs entidades. P ro d u z/ U t iliz a

F u n c io n r io

P ro d u to

F e rra m e n ta

Quaternrio: um relacionamento que envolve quatro entidades. M q u in a

F u n c io n r io

P ro d u z / U t iliz a / O p e ra

P ro d u to

F e rra m e n ta

Os relacionamentos tambm podem possuir atributos para caracterizlos. Como os relacionamentos so normalmente aes (realizadas ou a se realizar) ou dependncias entre as Entidades envolvidas, ento cada atributo que caracteriza estas associaes normalmente representa algum dos seguintes aspectos: Quantificvel: quantidade de elementos que a associao utiliza (ou utilizou) ou realiza (ou realizou). Temporal: data (incio ou fim) da associao, intervalo de tempo da associao. Explicativo: descrio de como ou porque foi realizada (ou se realiza) a associao. Espacial: descrio da localizao da associao Referencial: indicao do agente da associao

21

Abstraes de DadosExistem algumas construes semnticas que so naturais dos seres humanos e so usadas para facilitar o entendimento do mundo. Para tentar representar com fidelidade estas construes foram criadas as diversas Abstraes de Dados. Abstrao o ato de separar mentalmente elementos de uma totalidade complexa, seja material, representao ou fato real. Especializao / Generalizao

Especializao uma abstrao que permite subdividir um grande conjunto de elementos em conjuntos menores de acordo com padres que estabelecidos pelas necessidades da aplicao. Generalizao a abstrao inversa da Especializao, ou seja, agrupa-se conjuntos de elementos com alguma semelhana semntica em um conjunto maior. As caractersticas semelhantes que existem entre os Homens e as Mulheres so representadas no conjunto Pessoas, como por exemplo, o nome, a idade e a profisso. Todo Homem (ou Mulher) possui estas caractersticas pois uma Pessoa. Esta migrao de caractersticas denominada Herana. Alm das caractersticas herdadas de Pessoas, o conjunto de Homens possui suas caractersticas prprias por exemplo altura, o mesmo ocorrendo com as Mulheres com a caracterstica peso.

22

Sucessivas operaes de Generalizao (ou Especializao) descrevem uma hierarquia de conjuntos que pode: a) no ser uma rvore, uma vez que conjunto Filho pode ter mais de um conjunto Pai, o que pode estabelecer Mltiplas Heranas, quando ento pode existir a possibilidade de conflito entre as caractersticas herdadas. Exemplo: Um conjunto de animais Anfbios so especializaes de Terrestres e tambm de Aquticos. Terrestres e Aquticos possuem a caracterstica Velocidade. Nos animais Terrestres representa a velocidade de locomoo na terra e nos animais Aquticos a velocidade de deslocamento na gua. Se Anfbios herdam Velocidade de ambos os grupos existe o conflito. b) ser constituda por conjuntos no mutuamente exclusivos ou seja, dois ou mais conjuntos podem conter um mesmo elemento. Exemplo: um rptil que anda e tambm nada.

O tamanho da Hierarquia de Generalizao determinado pelo interesse da aplicao, ou seja, subdivide-se em conjunto at que a representao esteja de acordo com as necessidades.

23

Decomposio / Composio Decomposio uma abstrao que permite criar conjuntos de elementos que representam partes de um conjunto de elementos complexos. Composio a abstrao inversa da Decomposio

Derivao (Sumarizao) Alguns dados armazenados no BD podem ser resultado de algum tipo de clculo envolvendo outros dados.

24

Agregao O resultado de uma associao entre Entidades pode criar uma outra Entidade ou melhor um Agregado. Um Agregado pode se relacionar com outras Entidades e possuir caractersticas prprias.

Diviso As caractersticas de uma Entidade ou Relacionamento podem apresentar-se complexas e assim talvez criar dificuldades para o seu completo entendimento. Atravs desta Abstrao pode-se representar partes de Atributos complexos.

25

Diagrama Entidade / RelacionamentoA representao grfica atravs do Diagrama Entidade-Relacionamento foi criada por Peter Chen para facilitar a visualizao dos resultados de uma modelagem. Como o DER apresenta smbolos muito simples, pode ser utilizado para a depurao da modelagem junto ao cliente. Entidade Entidade Fraca Relacionamento Relacionamento Binrio ou Unrio Relacionamento Ternrio Relacionamento Quaternrio Atributo Identificador Atributo MultiValorado

26