Projeto de Banco de Banco de Dados Normalmente, o projeto de banco de dados está inserido em um processo de desenvolvimento de software e, em muitos casos, este se inicia pela modelagem de dados, gerando um Modelo Entidade-Relacionamento (ER). Neste modelo, as entidades representam os objetos de negócio e os relacionamentos representam as relações existentes entre esses objetos. Modelagem é o processo de criação modelos que representam a realidade. Na área de TI, destacam-se as modelagens de: negócio, processos, sistemas (ou software) e dados. Modelos de Dados subdividem-se em modelo conceitual (mais próximo dos usuários, são focados na localização de entidades, atributos e relacionamentos), modelo lógico (intermediário entre os outros, preocupa-se em organizar os dados em função de uma das abordagens disponíveis para Sistemas Gerenciadores de Banco de Dados, a saber: relacional, orientado a objetos, etc., sem, contudo, ocupar-se de aspectos específicos de cada fabricante) e modelo físico (ocupa-se dos aspectos de implantação específicos de um determinado SGBD, a saber: tipos e tamanho de campos, índices, nomenclatura, etc.). O principal objetivo do processo de criação desses modelos é permitir a organização dos dados sobre um determinado domínio, livre de redundâncias e inconsistências, levando a manipulação eficiente de dados pelos sistemas informatizados. Minimundo (domínio de negócio) é a dominação que se dá a porção da realidade que é objeto de analise e estudo. Abstração é a seleção de propriedades e características comuns a conjuntos de objetos, relevantes para um determinado contexto em estudo. Inclui a classificação, a agregação e a generalização. Classificação é a separação de objetos em função de suas características comuns relevantes para o domínio de estudo (Ex.: temperos, líquidos comestíveis, meses do ano, etc.). Agregação é o estabelecimento de relações do tipo todo-parte (Ex.: pedal, rodas, coroa, guidão são partes de uma bicicleta). Generalização é a subdivisão de um grupo de objetos em subconjuntos (Ex.: veículos podem ser subdivididos em carros, bicicletas, barcos, etc.). Cardinalidade representa a quantidade de vezes que os objetos das entidades ocorrem em uma determinada relação. As mais comuns são: um-para-um, um-para-muitos, muitos-para-um, muitos-para-muitos. Exercícios 1. Escolha um minimundo (domínio de negócio) para análise e, usando a abstração, selecione objetos, classifique-os e identifique as possibilidades de agregação e generalização. 2. Repita o procedimento do exercício anterior, no contexto de uma locadora de vídeo, cuja principal finalidade é a locação de fitas de vídeo, DVD e games, e que oferece serviços, como: a. Reserva de fitas, DVD e games com antecedência de um dia. b. Entrega de fitas, DVD e games locados cujo número exceda três unidades. c. Venda de fitas de vídeo, DVD e games. d. Encomenda de fitas, DVD e games para venda. e. Venda de produtos de consumo diferenciados, como: balas, chocolates, pipoca, refrigerantes, artigos e acessórios para vídeo, som e imagem. 3. O setor de compras de uma empresa possui uma série de atividades, mas vamos exercitar nossa capacidade de abstração na área de controle de solicitações de compra a fornecedores. A seguir temos um descritivo das principais atividades e atribuições da área de compras. Capte delas os objetos, classificações, agregações e generalizações possíveis. a. Recebe as solicitações de reposição ou compra de produtos. b. Identifica se é um produto regular de estoques ou se é uma compra de produto específico, e se existirem solicitações do mesmo produto, unifica a necessidade totalizando as quantidades solicitadas. c. Verifica em planilhas os fornecedores que disponibilizam cada produto e realiza cotação de preços para a solicitação. Se não existir ocorrência anterior de fornecimento, busca no mercado os fornecedores que possuem o produto solicitado e realiza uma cotação de preços. d. Elabora uma planilha de cotações por fornecedor, produto e preços, efetua os cálculos de custos por produto/fornecedor e escolhe o fornecedor. e. Ao fornecedor escolhido é dada uma ordem de compra de produtos especificando produto, quantidades, preço, prazos de pagamento e condições gerais de entrega. f. As compras são acompanhadas até o momento da conferência de recebimento dos produtos adquiridos, comparando os dados da nota fiscal do fornecedor com os dados e condições da ordem de compra. g. Após o recebimento são atualizadas as planilhas de compras realizadas, mantendose um histórico de desempenho de fornecedores quanto a prazos de entrega e condições de preço e pagamentos, além de informações sobre o controle de qualidade dos produtos adquiridos. h. Observe que não muitos os objetos existentes neste contexto, e sim mais processos que permitirão ao leitor identificar as relações entre as classes encontradas e suas cardinalidade.