MODELAGEM DE DADOS 1 Revisão Ciclo de Vida de um Sistema de Banco de Dados 1. Definição do sistema: escopo do sistema de BD, usuários e aplicações; 2. Projeto: conceitual, lógico e físico do BD sobre o SGBD escolhido; 3. Implementação: processo de escrita das definições do BD; criação dos arquivos de BD vazios; implementação das aplicações; 4. Carga e conversão de dados: povoamento do BD; conversão de arquivos de dados já existentes para o mesmo formato do novo BD; 5. Conversão da aplicação: conversão de sistemas antigos para o novo sistema; 6. Teste e validação: novo sistema é testado e validado; 7. Operação: monitoramento e manutenção 2 3 Etapas do Projeto do BD Análise de Requisitos Projeto Conceitual • Coleta de informações sobre os dados e seus relacionamentos na organização • Forma de realização: reuniões, entrevistas, análise de documentos • Resultado: documento com especificação de requisitos a Projeto Lógico Projeto Físico 4 Exemplo de Especificação de Requisitos Sistema Administrativo da Universidade Todo servidor possui uma identificação única na universidade e esta lotado em um departamento, onde exerce uma determinada função... Servidor: • possui uma identificação única na Universidade; • está lotado em um departamento; • exerce uma função no departamento no qual esta lotado; • ... 5 Coleta e Análise de Requisitos • As expectativas dos usuários: o detalhamento máximo • As aplicações existentes e as pretendidas • Atividades que se referem à fase: – – – – – Identificação de grupos de usuários e áreas de aplicação Inspeção da documentação existente Entrada e saída para as transações Tipos e frequência das transações Coleta, análise, modelagem, especificação e revisão 6 Etapas do Projeto do BD Análise de Requisitos Especificação de requisitos Projeto Conceitual • Modelagem dos dados e seus relacionamentos independente da estrutura de representação do SGBD (modelagem conceitual) Projeto Lógico • Forma de realização: análise da especificação de requisitos Projeto Físico • Resultado: esquema conceitual 7 Exemplo de Projeto Conceitual Diagrama Entidade-Relacionamento Notação CHEN EMPREGADO (1,1) (0,N) LOTAÇÃO Função Matrícula DEPTO Código Nome Nome Notação Engenharia da Informação está lotado em EMPREGADO tem lotado DEPTO Notação suportada por diversas ferramentas CASE Somente admite relacionamentos binários (entre duas entidades) 8 Etapas do Projeto do BD Análise de Requisitos Especificação de requisitos Projeto Conceitual Esquema conceitual Projeto Lógico Projeto Físico • Conversão do esquema conceitual no esquema de representação de um SGBD (esquema lógico) • Forma de realização: aplicação de regras de conversão • Resultado: esquema lógico 9 Exemplo de Projeto Lógico (1,1) (0,N) EMPREGADO LOTAÇÃO Função Matrícula Nome DEPTO Código {Professor, Funcionário} Nome Conversão ER-Modelo relacional Empregados (Matrícula, Nome, Função, CódigoDepto) chave estrangeira: CódigoDepto referência para Departamentos Função IN {professor, funcionário} Departamentos (Código, Nome) chave primária: Código 10 MODELO LÓGICO LIVROS código nome autor editora COMPRA código número código cadastro data CLIENTES cadastro LIVROS (Codigo, Nome, Autor, Editora) CLIENTES (Cadastro, Nome, Telefone, Endereço) COMPRA (Numero, Codigo, Cadastro, Data) Codigo REFERENCIA Livros Cadastro REFERENCIA Clientes cadastro nome telefone endereço 11 Etapas do Projeto do BD Análise de Requisitos Projeto Conceitual • Definição do esquema lógico em um SGBD adequado ao modelo • Consideração de aspectos de performance e segurança (índices, buffers, autorizações de acesso, ...) • Forma de realização: DDL do SGBD • Resultado: esquema físico Projeto Lógico Esquema lógico Projeto Físico 12 Exemplo de Projeto Físico Empregados (Matrícula, Nome, Função, CódigoDepto) chave estrangeira: CódigoDepto referência para Departamentos Função IN {professor, funcionário} Departamentos (Código, Nome) chave primária: Código Especificação em SQL/DDL create table Empregados ( Matrícula integer, Nome char(50), Função char(20) in (‘professor’, ‘funcionário’), CódigoDepto integer, primary key(Matrícula), foreign key(CódigoDepto) references Departamentos); create index NomeEmpregado on Empregados (Nome ASC); create table Departamentos ( . . .); 13 LIVROS MODELO FÍSICO código: char(3) nome: char(35) autor: char(70) código editora: text COMPRA número: char(3) código: char(3) cadastro: char(3) data: datetime cadastro CLIENTES cadastro: nome: Telefone: endereço: char(3) char(35) char(14) text 14 Escolha de um Sistema Gerenciador de Banco de Dados • Finalidade do sistema • Fatores técnicos, econômicos e políticos • Custos : – – – – – – – do SGBD do hardware da manutenção criação ou conversão pessoal treinamento operação • Qual dos SGBDs escolher? – popularidade, familiaridade, suporte 15 Preocupações no Projeto de BD • Projeto Conceitual -preocupacao: correta abstração do mundo real (captura correta da semântica do domínio da aplicação) • Projeto Logico + Fisico -preocupação: escolhas corretas no mapeamento para o modelo do SGBD (relacional) e consideração de aspectos de performance (correta distribuição dos dados em tabelas) 16 Etapas do Projeto do BD Análise de Requisitos Especificação de requisitos Projeto Conceitual Esquema conceitual Projeto Lógico Esquema conceitual Projeto Físico Esquema físico ou implementação 17