Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados
Banco de Dados
Projeto Conceitual
Esquema Conceitual
Independe do DBMS escolhido Modelo Conceitual: Linguagem usada para descrever esquemas conceituais
Projeto Lgico
Modelo lgico: Linguagem usada para especificar esquemas lgicos Pertencem a trs classes: Relacional, Redes e Hierrquico
Projeto Fsico
Esquema Fsico
Esquema fsico: a descrio da Implementao da base de dados em memria secundria. Descreve estruturas de armazenamento e mtodos de acesso. Tem forte ligao com o DBMS especfico.
Resumindo
Projeto Conceitual: No tem dependncia com a classe do GBD a ser escolhido. Projeto Lgico: Tem dependncia com a classe, mas no com o GBD especfico. Projeto Fsico: Total dependncia do GBD especfico.
Concluses
Uma das vantagens em se trabalhar com projeto conceitual est na possibilidade de se adiar a escolha do GBD (mesmo a sua classe). O projetista deve concentrar o maior esforo nesta fase do projeto pois, a passagem para as outras fases mais ou menos automtica. Outra vantagem est na possibildade de usurios no especialistas em bancos de dados darem diretamente a sua contribuio no projeto conceitual cuja maior exigncia a capaciade de abstrao. A aproximao com o usurio final melhora bastante a qualidade do projeto.
Projeto Conceitual
O Projeto Conceitual produz um esquema conceitual a partir de requisitos de um mundo real. Projeto conceitual usa modelo de dados para descrever a realidade. Um modelo de dados se ampara em um conjunto de blocos de construo primitivas.
Abstrao
Processo que consiste em mostrar as caractersticas e propriedades essenciais de um conjunto de objetos, ou esconder as caractersticas no essenciais.
Quando pensamos no objeto bicicleta de uma forma abstrata, normalmente esquecemos seus detalhes e as particularidades que as diferem entre si.
Classificao
Usada para reunir objetos do mundo real com propiedades comuns, formando (ou definindo) classes.
Classificao e Instanciao
Classificaes Multiplas
Agregao
Usada para definir uma nova classe a partir de um conjunto de classes que representam suas partes componentes.
Agregao e Decomposio
Generalizao
Usada para definir uma classe mais genrica a partir de duas ou mais classes.
Generalizao e Especializao
Exemplos de Generalizao
Exemplos Adicionais
Cobertura da Generalizao
Total / Exclusiva Total / No Exclusiva
Modelos de Dados
Conceitos: Modelo e Esquema
Um modelo de dados uma coleo de conceitos usados para para descrever uma dada realidade. Estes conceitos so construidos com base nos mecanismos de abstrao e so descritos atravs de representaes grficas e lingsticas. Um esquema uma representao de uma poro especfica da realidade usando-se um particular modelo de dados.
Para exemplificar vamos utilizar o modelo de entidades e relacionamentos (M.E.R.) o qual veremos com maior detalhamento mais adiante)
Exemplo de Esquema
Exemplos de Instncia
H dois tipos de modelos de dados: Mod. Concietuais : so ferramentas que representam a realidade num alto nvel de abstrao. Mod. Lgicos : suportam descries de dados que podem ser processadas (por um computador). Incluem os modelos relacional, hierrquico e rede.
Obs: projeto de base de dados no a nica aplicao de modelos conceituais. Eles podem ser excelentes ferramentas para gesto em empresas. Por recomendao do comit ANSI/SPARC (metade dos anos 70) todo sistema de base de dados deveria ser organizado de acordo com 3 nveis de abstrao de dados: Externo: tambm chamado de viso. Descreve o ponto de vista de grupos especficos de usurios sobre a poro da base de dados que interessante preservar para aquele grupo particular. Conceitual : representao de alto nvel, independente da mquina, sobre toda a base de dados. Tambm chamada de Enterprise Scheme . Interno: descrio da implementao fsica da base de dados. Dependente da mquina.
Relacionamentos
Representam agregaes de duas ou mais entidades. Exemplos: Nascidos em entre Funcionrios e Cidades e Vivem em tambm entre Funcionrios e Cidades.
O relacionamento pode conectar mais que duas entidades simultaneamente . Neste caso, chamado relacionamento mltiplo.
Um relacionamento pode conectar entidades de um mesmo conjunto. Neste caso temos o autorelacionamento.
Auto-relacionamento Gerenciam
Vamos considerar o esquema dos relacionamentos entre Funcionrios e Cidades. Para este esquema poderamos ter a seguinte instncia: FUNCIONRIOS = { f1, f2, f3, f4 } CIDADES = { c1, c2, c3 } VIVEM_EM = { <f1,c1>, <f2,c1>, <f3,c2>, <f4,c3> } NASCIDOS_EM = { <f1,c1>, <f2,c1>, <f3,c2>, <f4,c2> }
Cardinalidades podem ser expressas atravs de valores mnimos e mximos. Por exemplo: MIN_CARD (FUNCIONRIOS, VIVEM_EM) = 1 MAX_CARD (FUNCIONRIOS, VIVEM_EM) = 1 MIN_CARD (CIDADES, VIVEM_EM) = 0 MAX_CARD (CIDADES, VIVEM_EM) = N
Ns declaramos atravs desta representao (lngistica) que o relacionamento Vivem em vrios para um entre Funcionrios e Cidades, atravs de Vivem em. A participao de Funcionrios obrigatria no relacionamento, enquanto a de Cidades opcional. Outra forma de declarar as cardinalidades acima seria: CARD (FUNCIONRIOS, VIVEM_EM) = (1,1) CARD (CIDADES, VIVEM_EM) = (0,n)
Outra representao para o exemplo acima mostrada atravs do esquema abaixo. Esta ser a representao que normalmente seguiremos.
Existem casos prticos em que um conjunto de entidades representa elementos do mundo real que se subdividem em categorias. Esta subdiviso pode ser representada pelo particionamento do conjunto de entidades o que representa uma abstrao de generalizao (ou especializao). Exemplo:
Atributos
Representam propriedades elementares de entidades ou relacionamentos. Exemplos:
Tipos de Atributos
Obs: os atributos determinantes determinam univocamente um objeto dentro de um conjunto de entidades. Exemplos adicionais:
Exemplo 1
Exemplo 2
Exemplo 3
Exemplo 4
O relacionamento Colao relaciona pares de alunos. Cada par envolve dois alunos: um com o status de Colador e outro com o status de Colado. O relacionamento Delao envolve um aluno na condio de Delator e um par de alunos envolvidos na cola (Colador e Colado).
Exemplo de T1
Exemplo de T2
Exemplo de T3
Exemplo de T4
Exemplo de T5
Exemplo de T6
Primitivas bottom up
Primitiva Botton Up B1
Primitiva Botton Up B2
Primitiva Botton Up B3
Primitiva Botton Up B4
Primitiva Botton Up B5
Exemplo de B2
Exemplo de B3
Exemplo de B4
Exemplo de B5
Necessidade de reestruturao
A) primeiro refinamento
C) terceiro refinamento ( T2 e T6 )
Vantagens do top down : o projetista pode atravs de refinamentos independentes analisar um conceito a cada instante. Desvantagem: nem sempre o projetista tem em mente a viso high-level .
Estratgia bottom up
Exemplo de um projeto estritamente bottom up:
A) primeiro esquema
Vantagens do bottom up
conveniente em organizaes no muito estruturadas onde fcil discutir detalhes e depois agreg-las.
Dicas
Dica 1: tentar conduzir uma sesso de projeto de forma top down na sua essncia e excepcionalmente usar primitivas bottom up ( para, por exemplo, quando o projetista esqueceu algum conceito no nvel mais alto do refinamento). Dica 2: mesmo que o projetista tenha lanado mo de conceitos bottom up, tentar fazer a documentao como se ele fosse top down.
Estratgia mista
Envolve conceitos top down e bottom up. A estratgia mista baseada no particionamento controlado dos requisitos. O projetista produz um frame ( ou esqueleto) para posterior integrao . O frame contem os conceitos mais importantes da aplicao e os links entre as parties.
A) esquema esqueleto
B) esquema pessoas
C) esquema local
Integrao de vises
necessria quando a aplicao foi quebrada em partes e necessita de integrao para gerar o esquema final a partir dos diferentes views . Tamb m necesria quando as vises partiram de diferentes projetistas ou a partir de bases de dados diferentes.
A) diferentes perspectivas
B) construes equivalentes
c) especificao incorreta
Quando mais que dois esquemas devem ser integrados a dica faz-lo dois a dois como mostra a figura abaixo.
Conceitual
Esquema
lgico
Relacional
Rede
Hierarq.
Fsico
Entidades Entidades
As entidades iro gerar sempre uma tabela no Modelo Relacional.
CA
CA
Entidades - Tabelas
Atributos Multivalorados
Os atributos Multivalorados criaro uma tabela auxiliar, que receber os atributos determinantes (chave) da tabela principal e o prprio atributo se tornar um atributo determinante nessa nova tabela.
CA
T1
T2*
T2_TAB
CA
T2
Atributos Multivalorados
CA
CB
CA CAR CAR
CB CBR t CBR
CA
CB
Relacionamento N:N
Relao 1:N ou N:1 com obrigatoriedade
Para esses relacionamentos a entidade fraca, ou seja aquela entidade onde a obrigatoriedade se encontra, ir vencer e receber o atributo determinante (chave).
CA
CB
CA CAR
CA
CAR
CB
CA
CB
CA CAR
CA
CAR
CB
CA CAR CAR
CB CBR CBR
CA
CB
CA
CB
CA CAR
CA
CAR
CB
CA
CB
CA CAR
CA
CAR
CB
CB CBR
CA
CBR
CB
CA
CA
CAR2
Autorelacionamento N:N
CA
CA
CAR
CA
CA
CAR
CA
A
CAR1 CA CAR2
CA
CAR1
CBR2
Agregao
O relacionamento N:N resolvido da forma j vista anteriormente. A agregao nada mais do que o relacionamento entre relacionamentos, desta forma a relao com a entidade C vai acontecer conforme as regras mostradas anteriormente (considerando que o relacionamento A:B gere uma entidade agregada.
Agregao
CA
CB
CC
CA
CB
CAR CC
CBR
Relacionamento Triplo
Nesses relacionamentos as regras de atribuio do atributo determinante vai depender do modelamento, alm se seguir todas as regras determinadas anteriormente. O importante notar que todas as entidades esto relacionadas ao mesmo tempo.
Relacionamento Triplo
CA
CB
CC
CA CAR CAR
CB CBR CBR
CA
CCR
CB
CC CCR
CC