Buscar

Fase 2 - Projeto Conceitual do Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

4 - Fase 2: projeto conceitual do banco de dados 
 
A segunda fase do projeto de banco de dados envolve duas atividades 
paralelas. A primeira atividade, o projeto do esquema conceitual, examina os 
requisitos de dados resultantes da Fase 1 e produz, um esquema conceitual do 
banco de dados. A segunda atividade, o projeto de transação e aplicação, 
examina as aplicações de banco de dados analisadas na Fase 1 e produz 
especificações de alto nível para essas aplicações. 
 
Fase 2a: Projeto do esquema conceitual. 
 
 O esquema conceitual produzido por essa fase normalmente é contido em um 
modelo de dados de alto nível independente do SGBD pelas seguintes razões: 
 1 - O objetivo do projeto do esquema conceitual é um conhecimento 
completo da estrutura do banco de dados, do significado (semântica), dos inter-
relacionamentos e das restrições. Isso é mais bem alcançado 
independentemente de um SGBD específico, porque cada SGBD com 
freqüência possui particularidades e restrições que não deverão influenciar o 
projeto do esquema conceitual. 
 2 - O esquema conceitual é valioso como uma descrição estável do 
conteúdo de banco de dados. A escolha do SGBD e, mais tarde, as decisões 
de projeto podem mudar sem alterar o esquema conceitual independente do 
SGBD. 
 3 - Um bom conhecimento do esquema conceitual é crucial para os 
usuários de banco de dados e projetistas de aplicação. O uso de um modelo de 
dados de alto nível que é mais expressivo e geral do que os modelos de dados 
dos SGBDs individuais é, portanto, muito importante. 
 4 - A descrição diagramática do esquema conceitual pode servir como 
um veículo de comunicação entre os usuários do banco de dados, projetistas e 
analistas. Como os modelos de dados de alto nível normalmente contam com 
os conceitos que são mais fáceis de entender do que os modelos de dados 
específicos do SGBD em nível mais baixo, ou definições sintáticas dos dados, 
qualquer comunicação referente ao projeto de esquema torna-se mais exata e 
mais direta. 
Nessa fase do projeto de banco de dados, é importante usar um modelo de 
dados contetual de alto nível com as seguintes características: 
 1 - Expressividade. O modelo de dados deve ser expressivo o suficiente 
para distinguir diferentes tipos de dados, relacionamentos e restrições; 
 2 - Simplicidade e compreensão. O modelo deve ser simples o suficiente 
para que usuários típicos não especialistas compreendam e usem seus 
conceitos; 
 3 - Minimalista. O modelo deve ter um número pequeno de conceitos 
básicos, que são distintos e não sobrepostos no significado; 
 4 - Representação diagramática. O modelo deverá ter uma notação 
diagramática para exibir um esquema conceitual que seja fácil de interpretar; 
 5 - Formalidade. Um esquema conceitual expresso no modelo de dados 
deve representar uma especificação não ambígua formal dos dados. Logo, os 
conceitos do modelo devem ser definidos com precisão e sem ambigüidade. 
Alguns desses requisitos, o primeiro, em particular, às vezes entram em conflito 
com outros requisitos. Na discussão a seguir, usaremos a terminologia do 
modelo Entidade-Rel acionamento Estendido (EER) e assumiremos que ele 
está sendo usado nesta fase. O projeto do esquema conceitual, incluindo a 
modelagem de dados, está se tornando uma parte integral das metodologias 
de análise e projeto orientadas a objeto. A UML possui diagramas de classes 
que, em grande parte, são baseados em extensões do modelo EER. 
 
Técnicas para o projeto de esquema conceitual. 
 
Para o projeto de esquema conceitual, devemos identificar os componentes 
básicos (ou construções) do esquema: os tipos de entidade, tipos de 
relacionamento e atributos. Também devemos especificar atributos-chave, 
cardinalidade e restrições de participação nos relacionamentos, tipos de 
entidade fraca e hierarquias/reticuladas de especialização/generalização. 
Existem duas técnicas para designar o esquema conceitual, que é derivado dos 
requisitos coletados durante a Fase 1. 
A primeira técnica é a técnica de projeto de esquema centralizado (ou única 
tentativa), em que os requisitos das diferentes aplicações e grupos de usuários 
da Fase 1 são mesclados em um único conjunto de requisitos antes que o 
projeto do esquema comece. Um único esquema correspondente ao conjunto 
mesclado de requisitos é então projetado. Quando existem muitos usuários e 
aplicações, mesclar todos os requisitos pode ser uma tarefa árdua e demorada. 
Supõe-se que uma autoridade centralizada, o DBA, seja responsável por 
decidir como mesclar os requisitos e projetar o esquema conceitual para o 
banco de dados inteiro. Uma vez que o esquema conceitual esteja projetado e 
finalizado, os esquemas externos para diversos grupos de usuários e 
aplicações podem ser especificados pelo DBA. 
A segunda técnica é a técnica de integração de visão, em que os requisitos não 
são mesclados. Em vez disso, um esquema (ou visão) é projetado para cada 
grupo de usuários ou aplicação com base apenas nos próprios requisitos. 
Assim, desenvolvemos um esquema de alto nível (visão) para cada grupo de 
usuários ou aplicação desse tipo. Durante a fase de integração de visão 
subseqüente, esses esquemas são mesclados ou integrados em um esquema 
conceitual global para o banco de dados inteiro. As visões individuais podem 
ser reconstruídas como esquemas externos após a integração da visão. 
A principal diferença entre as duas técnicas está na maneira e no estágio em 
que várias visões ou requisitos dos muitos usuários e aplicações são 
reconciliados e mesclados. Na técnica centralizada, a reconciliação é feita 
manualmente pelo DBA antes do projeto de quaisquer esquemas, e aplicada 
diretamente aos requisitos coletados na Fase 1, Isso coloca o peso para 
reconciliar as diferenças e conflitos entre os grupos de usuários no DBA. O 
problema costuma ser tratado usando consultores/especialistas em projeto 
externos, que aplicam seus métodos específicos para resolver esses conflitos. 
Devido às dificuldades de gerenciar essa tarefa, a técnica de integração de 
visão tem sido proposta como uma alternativa. 
Na técnica de integração de visão, cada grupo de usuários ou aplicação 
realmente projeta o próprio esquema conceitual (EER) com base em seus 
requisitos, com assistência do DBA. Depois, um processo de integração é 
aplicado a esses esquemas (visões) pelo DBA para formar um esquema 
integrado global. Embora a integração de visão possa ser feita manualmente, 
sua aplicação em um grande banco de dados, envolvendo dezenas de grupos 
de usuários, requer uma metodologia e o uso de ferramentas automatizadas. 
As correspondências entre os atributos, tipos de entidade e tipos de 
relacionamento nas diversas visões precisam ser especificadas antes que a 
integração possa ser aplicada. Adicionalmente, problemas como a integração 
de visões em conflito e a verificação da consistência das correspondências 
especificadas entre esquemas precisam ser tratados. 
 
Estratégias para projeto de esquema. 
 
Dado um conjunto de requisitos, seja para um único usuário ou para uma 
grande comunidade de usuários, temos de criar um esquema conceitual que 
satisfaça tais requisitos. Existem diversas estratégias para projetar tal 
esquema. A maioria das estratégias segue uma técnica incremental — ou seja, 
elas começam com algumas construções de esquema importantes derivadas 
dos requisitos e depois modificam, detalham e constroem incrementalmente 
sobre elas. Agora, vamos discutir algumas dessas estratégias: 
1. Estratégia de cima para baixo (top-down). Começamos com um 
esquema contendo abstrações de alto nível e depois aplicamos 
sucessivos detalhamentos de cima para baixo.Por exemplo, podemos 
especificar apenas alguns tipos de entidade de alto nível e depois, à 
medida que especificarmos seus atributos, dividi-los em tipos de 
entidade de nível inferior e especificar os relacionamentos. 
2. Estratégia de baixo para cima (bottom-up). Comece com um 
esquema contendo abstrações básicas e depois combine ou acrescente 
algo a essas abstrações. Por exemplo, podemos começar com os 
atributos de banco de dados e agrupá-los em tipos de entidade e 
relacionamentos. Podemos acrescentar novos relacionamentos entre os 
tipos de entidade à medida que o projeto prossegue. O processo de 
generalizar tipos de entidades em superclasses generalizadas de nível 
mais alto é outra atividade durante a estratégia de projeto de baixo para 
cima. 
3. Estratégia de dentro para fora (inside-out) Esse é um caso especial 
de uma estratégia de cima para baixo, em que a atenção é focada em 
um conjunto central de conceitos que são mais evidentes. A modelagem 
então se espalha para fora, considerando novos conceitos nas 
vizinhanças dos existentes. Poderíamos especificar alguns tipos de 
entidade claramente evidentes no esquema e continuar acrescentando 
outros tipos de entidade e relacionamentos que estão ligados a cada 
um. 
4. Estratégia mista. Em vez de seguir qualquer estratégia particular por 
todo o projeto, os requisitos são particionados de acordo com uma 
estratégia de cima para baixo, e parte do esquema é projetado para 
cada partição de acordo com uma estratégia de baixo para cima. As 
diversas partes do esquema são então combinadas. 
 
As figuras 10.2 e 10.3 ilustram alguns exemplos simples de detalhamento de 
cima para baixo e de baixo para cima, respectivamente. Um exemplo de 
detalhamento de cima para baixo primitivo é a decomposição de um tipo de 
entidade em vários tipos de entidade. A Figura 10.2(a) mostra uma 
DISCIPLINA sendo detalhada para DISCIPLINA e SEMINÁRIO, e o 
relacionamento ENSINA é dividido, da mesma forma, em ENSINA e 
OFERECE. A Figura 10.2(b) mostra um tipo de entidade 
OFERTA_DISCIPLINA sendo detalhado para dois tipos de entidade 
(DISCIPLINA e PROFESSOR) e um relacionamento entre eles. O 
detalhamento normalmente força um projetista a fazer mais perguntas e extrair 
mais restrições e detalhes: por exemplo, as razões de cardinalidade (min, max) 
entre DISCIPLINA e PROFESSOR são obtidas durante o detalhamento. A 
Figura 10.3(a) mostra o primitivo de detalhamento de baixo pra cima da 
geração de relacionamentos entre os tipos de entidade DOCENTE e ALUNO. 
Dois relacionamentos são identificados: ACONSELHA e 
TUTOR_RESPONSAVEL. O detalhamento de baixo para cima que usa a 
categorização (tipo de união) é ilustrado na Figura 10.3(b), onde o novo 
conceito de PROPRIETARIO_VEICULO é descoberto com base nos tipos de 
entidade existentes DOCENTE, ADMINISTRATIVO e ALUNO. 
 
 
 
integração de esquema (visão) 
 
 Para grandes bancos de dados, com muitos usuários e aplicações esperadas, 
pode ser utilizada a técnica de integração de visão do projeto de esquemas 
individuais para depois mesclá-los. Como as visões individuais podem ser 
mantidas relativamente pequenas, o projeto dos esquemas é simplificado. 
Porém, uma metodologia para integrar as visões em um esquema de banco de 
dados global é necessário. A integração de esquema pode ser dividida nas 
seguintes subtarefas: 
1. Identificar correspondências e conflitos entre os esquemas. Como os 
esquemas são projetados individualmente, é necessário especificar 
construções nos esquemas que representam o mesmo conceito do 
mundo real. Essas correspondências devem ser identificadas antes que 
a integração possa prosseguir. Durante esse processo, vários tipos de 
conflitos entre os esquemas podem ser descobertos: 
a) Conflitos de nomes. Estes são de dois tipos; sinônimos e homônimos. 
Um sinônimo ocorre quando dois esquemas utilizam diferentes nomes 
para descrever o mesmo conceito. Por exemplo, um tipo de entidade 
CONSUMIDOR em um esquema pode descrever o mesmo conceito de 
um tipo de entidade CLIENTE em outro esquema. Um homônimo ocorre 
quando dois esquemas usam o mesmo nome para descrever diferente 
conceitos. Por exemplo, um tipo de entidade PECA pode representar 
peças de computador em um esquema e peças de mobília em outro 
esquema. 
b) Conflitos de tipo. O mesmo conceito pode ser representado em dois 
esquemas por diferentes construções de modelagem. Por exemplo, o 
conceito de um DEPARTAMENTO pode ser um tipo de entidade em um 
esquema e um atributo em outro esquema. 
c) Conflitos de domínio (conjunto de valores). Um atributo pode ter 
diferentes domínios em dois esquemas. Por exemplo, Cpf pode ser 
declarado como um inteiro em um esquema e como uma cadeia de 
caracteres em outro. Um conflito da unidade de medida poderia ocorrer 
se um esquenta representasse Peso em libras e o outro usasse 
quilogramas. 
d) Conflitos entre restrições. Dois esquemas podem impor diferentes 
restrições; por exemplo, uma chave de um tipo de entidade pode ser 
diferente em cada esquema. Outro exemplo envolve diferentes 
restrições estruturais em um relacionamento como ENSINA. Um 
esquema pode representá-lo como 1:N (uma disciplina tem um 
professor), enquanto outro esquema o representa como M:N (uma 
disciplina pode ter mais de um professor). 
2. Modificar visões para que se tornem semelhantes. Alguns esquemas 
são modificados de modo que sejam ajustados a outros esquemas mais 
parecidos. Alguns dos conflitos identificados na primeira subtarefa são 
resolvidos durante essa etapa. 
3. Mesclar visões. O esquema global é criado pela mescla dos esquemas 
individuais. Conceitos correspondentes são representados apenas uma 
vez no esquema global, e os mapeamentos entre as visões e o esquema 
global são especificados. Essa é a etapa mais difícil de alcançar nos 
bancos de dados da vida real envolvendo dezenas ou centenas de 
entidades e relacionamentos. Ela envolve uma quantidade considerável 
de intervenção humana e negociação para resolver conflitos e decidir 
sobre as soluções mais razoáveis e aceitáveis para um esquema global. 
4. Reestruturar. Como uma última etapa opcional, o esquema global pode 
ser analisado e reestruturado para remover quaisquer redundâncias ou 
complexidade desnecessária. 
 
 
Algumas dessas idéias são ilustradas pelo exemplo relativamente simples 
apresentado nas Figuras 10.4 e 10.5. Na Figura 10.4, duas visões são 
mescladas para criar um banco de dados bibliográfico. Durante a identificação 
das correspondências entre as duas visões, descobrimos que PESQUISADOR 
e AUTOR são sinônimos (em se tratando desse banco de dados), assim como 
CONTRIBUIDO_POR e ESCRITO_POR. Além disso, decidimos modificar a 
VISÃO 1 a fim de incluir um ASSUNTO para ARTIGO, como mostra a Figura 
10.4, para adequar-se à VISÃO 2. 
 
A Figura 10.5 mostra o resultado da mescla de VISÃO MODIFICADA 1 com a 
VISÃO 2. Generalizamos os tipos de entidade ARTIGO e LIVRO no tipo de 
entidade PUBLICACAO, com seu atributo comum Titulo. Os relacionamentos 
CONTRIBUIDO_POR e ESCRITO_POR são mesclados, assim como os tipos 
de entidade PESQUISADOR e AUTOR. O atributo Editora só se aplica ao tipo 
de entidade LIVRO, enquanto o atributo Tamanho e o tipo de relacionamento 
PUBLICADO_EM só se aplicam a ARTIGO. 
Esse exemplo simples ilustra a complexidade do processo de mescla e como o 
significado dos diversos conceitos precisa ser considerado na simplificação do 
projeto de esquema resultante. Para projetos da vida real, o processo de 
integração de esquema requer uma técnica mais disciplinada e sistemática. 
Várias estratégias foram propostas para o processo de integraçãode visão (ver 
Figura 10.6): 
 
 
 1. Integração em escala binária. Dois esquemas muito semelhantes são 
integrados primeiro, O esquema resultante é então integrado a outro esquema; 
e o processo é repetido até que todos os esquemas sejam integrados. A 
ordenação dos esquemas para integração pode ser baseada em alguma 
medida de semelhança do esquema. Essa estratégia é adequada para a 
integração manual, devido a sua técnica passo a passo. 
 2 - Integração n-ária. Todas as visões são integradas em um 
procedimento após uma análise e especificação de suas correspondências. 
Essa estratégia requer ferramentas computadorizadas para grandes problemas 
de projeto. Tais ferramentas foram montadas como protótipos de pesquisa, 
mas ainda não estão disponíveis para comercialização. 
 3 - Estratégia balanceada binária. Pares de esquemas são integrados 
primeiro, e depois os esquemas resultantes são emparelhados para maior 
integração; esse procedimento é repetido até que o resultado seja um esquema 
global final. 
 4 - Estratégia mista. Inicialmente, os esquemas são particionados em 
grupos com base em sua semelhança, e cada grupo é integrado de maneira 
separada. Os esquemas intermediários são agrupados de novo e integrados, e 
assim por diante. 
 
Fase 2b: projeto de transação. 
 
 A finalidade da Fase 2b, que prossegue em paralelo com a Fase 2a, é projetar 
as características das transações (aplicações) de banco de dados conhecidas 
de uma maneira independente do SGBD. Quando um sistema de banco de 
dados está sendo projetado, os projetistas estão cientes de muitas aplicações 
(ou transações) conhecidas, as quais serão executadas no banco de dados 
uma vez implementado. Uma parte importante do projeto do banco de dados é 
especificar as características funcionais dessas transações desde cedo no 
processo de projeto. Isso garante que o esquema de banco de dados incluirá 
todas as informações exibidas por essas transações. Além disso, conhecer a 
importância relativa das diversas transações e as freqüências esperadas de 
suas chamadas desempenha um papel fundamental durante o projeto físico do 
banco de dados (Fase 5). Normalmente, nem todas as transações do banco de 
dados são conhecidas durante o projeto. 
Depois que o sistema de banco de dados estiver implementado, novas 
transações são continuamente identificadas e implementadas. Porém, as 
transações mais importantes costumam ser conhecidas antes da 
implementação do sistema, e devem ser especificadas em um estágio inicial. A 
regra informal dos 80-20 em geral se aplica nesse contexto: 80 por cento da 
carga de trabalho é representada por 20 por cento das transações usadas com 
mais freqüência, que controlam o projeto físico do banco de dados. Em 
aplicações que são de consultas ocasionais ou da variedade de processamento 
de lote, consultas e aplicações que processam uma quantidade substancial de 
dados devem ser identificadas. 
Uma técnica comum para especificar transações em um nível conceitual é 
identificar sua entrada/saída e o comportamento funcional. Ao determinar os 
parâmetros de entrada e saída (argumentos) e o fluxo de controle funcional 
interno, os projetistas podem especificar uma transação de uma maneira 
conceitual e independente do sistema. As transações normalmente podem ser 
agrupadas em três categorias; (1) transações de recuperação, que são usadas 
para recuperar dados para exibição em uma tela ou imprimir um relatório; (2) 
transações de atualização, que são utilizadas para a inserção de novos dados 
ou modificação de dados existentes no banco de dados; e (3) transações 
mistas, que são usadas para aplicações mais complexas, que realizam alguma 
recuperação e alguma atualização. Por exemplo, considere um banco de dados 
de reservas aéreas. Uma transação de recuperação poderia, primeiro, listar 
todos os vôos matutinos em determinada data entre duas cidades. Uma 
transação de atualização poderia ser uma reserva de um assento em 
determinado vôo. Uma transação mista poderia, em primeiro lugar, exibir 
alguns dados, como mostrar uma reserva do cliente em algum vôo, e depois 
atualizar o banco de dados, como ao cancelar a reserva excluindo-a, ou 
acrescentando um trecho de vôo a uma reserva existente. As transações 
(aplicações) podem ser originadas em uma ferramenta de front-end, como o 
PowerBuilder (da Sybase), que coleta parâmetros on-line e depois envia uma 
transação ao SGBD, como back-end. 
Várias técnicas para especificação de requisitos incluem uma notação para 
especificar processos, os quais nesse contexto são operações mais 
complexas, que podem consistir em várias transações. Ferramentas de 
modelagem de processo, como BPwin, bem como ferramentas de modelagem 
de fluxo de trabalho estão se tornando populares para identificar fluxos de 
informação nas organizações. A linguagem UML, que prove a modelagem de 
dados por meio de diagramas de classes e objetos, possui uma série de 
diagramas de modelagem de processo, incluindo diagramas de transição de 
estado, de atividades, de seqüência e de colaboração. Todos estes se referem 
a atividades, eventos e operações dentro do sistema de informação, as 
entradas e saídas dos processos, os requisitos de seqüência ou sincronismo, e 
outras condições. É possível detalhar essas especificações e extrair transações 
individuais delas. Outras propostas para especificar transações incluem TAXIS, 
GALILEO e GORDAS (veja na bibliografia selecionada deste capítulo). 
Algumas destas foram implementadas em sistemas e ferramentas de protótipo. 
A modelagem de processos contínua sendo uma área de pesquisa ativa. 
O projeto da transação é tão importante quanto o projeto do esquema, mas 
com freqüência é considerado parte da engenharia de software, em vez do 
projeto de banco de dados, Muitas metodologias de projeto atuais enfatizara 
um sobre o outro. Deve-se passar pelas fases 2a e 2b em paralelo, usando 
ciclos de retorno para o detalhamento, até que seja alcançado um projeto 
estável do esquema e das transações.

Outros materiais