150 likes | 259 Views
Geração da base de dados lógica. A ferramenta de transformação do modelo EA para o modelo relacional converte: Entidade -> tabela Atributos -> colunas Identificadores únicos primários -> chaves primárias Extremos das associações -> chaves externas
E N D
Geração da base de dados lógica • A ferramenta de transformação do modelo EA para o modelo relacional converte: • Entidade -> tabela • Atributos -> colunas • Identificadores únicos primários -> chaves primárias • Extremos das associações -> chaves externas • Cada execução transforma os objectos incluídos no conjunto a transformar (run set), criando os novos ou modificando os já existentes • É possível especificar quais as acções a executar (Run Options)
Implementação “supertype” Uma única tabela com todos os atributos. Vantagens: O esquema da BD fica simplificado. O acesso aos dados é mais simples porque só está envolvida uma tabela. Desvantagens: Todas as colunas das tabelas interiores (subtipos) devem permitir valores NULL. A manutenção dos subtipos tem que ser feita por programa.
Implementação “explicit subtype” Seleccionar apenas as tabelas do subtipo e não a do supertipo.
Implementação “explicit subtype” Uma tabela para cada subtipo. Os subtipos contêm os atributos do supertipo. Vantagens: As colunas obrigatórias dos subtipos já não podem ter valores NULL. Já não é necessário distinguir os subtipos recorrendo a programação. Desvantagens: Os registos do supertipo já não podem ser mantidos de forma independente. Perguntas sobre o supertipo têm que percorrer todas as tabelas dos subtipos.
Implementação “implicit subtype” Uma tabela para cada subtipo e uma para o supertipo. Os subtipos contêm os atributos do supertipo. Vantagens: As instâncias do supertipo podem ser acedidas de forma independente. Os atributos obrigatórios dos subtipos são mapeados para colunas de preenchimento obrigatório. Já não há necessidade de distinguir os subtipos programaticamente. Desvantagens: Apagar/alterar registos no supertipo envolve apagar/alterar os registos correspondentes nos subtipos. O número de objectos a manter na BD é maior. Repetir colunas em várias tabelas resulta em maiores gastos de memória.
Implementação “arc” Feita em dois passos. 1º passo: -Criar todas as tabelas (supertipo e subtipos). -Em “Run Options” apagar as opções “Columns”, “Keys” e “indexes”. -Correr o comando.
Implementação “Arc” 2º passo: Depois de criar as tabelas é necessário correr novamente o “Database Design Transformer” para criar as colunas e as chaves estrangeiras necessárias para implementar o arco entre as tabelas. -Seleccionar a opção Arc nos subtipos. -Em “Run options” seleccionar as opções “columns”, “keys” e “indexes”. -Correr o comando.
Implementação “Arc” Uma tabela para cada subtipo e uma tabela para o supertipo. Os subtipos não contêm os atributos do supertipo. Vantagens: As operações de inserção/remoção só terão que ser executadas na tabela correspondente. O espaço de disco é usado de forma mais eficiente. Desvantagens: A existência do arco sobre as chaves externas significa que o supertipo só pode estar associado a um subtipo. Perguntas sobre atributos do supertipo e do subtipo obrigam a uma operação de JOIN.