PROJETO DE BANCO - INTRODUÇÃO 1 DE Prof. Angelo Augusto Frozza, M.Sc. DADOS FUNDAMENTOS Dados Informação Representação de fatos, conceitos ou instruções de maneira formalizada; Significado que pessoas associam aos dados através de convenções usadas em sua interpretação; Conhecimento Discernimento, critério, apreciação prática de vida, experiência; BANCO DE DADOS DEFINIÇÕES “Um banco de dados é um conjunto de arquivos relacionados entre si” (CHU, 1983) “Um banco de dados é uma coleção de dados operacionais armazenados, sendo usados pelos sistemas de aplicação de uma determinada organização” (C. J. DATE, 1985) “Um banco de dados é uma coleção de dados relacionais” (ELMASRI e NAVATHE, 1989) “Um banco de dados é um conjunto de dados armazenados, cujo conteúdo informativo representa, a cada instante, o estado atual de uma determinada aplicação” (LAENDER, 1990) SISTEMA GERENCIADOR DE BD – SGBD Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados; Facilita o desenvolvimento de aplicações de BD: Manutenção de programas torna-se mais simples; Produtividade dos programadores aumenta. BANCO DE DADOS CONVENCIONAIS BDs Relacionais (BDRs) Atualmente dominam o mercado de SGBDs; Adequados a aplicações ditas convencionais: folha de pagamento automação bancária controle de estoque ponto de vendas ... Exemplos MS SQL Server, Interbase, MySQL, PostgreSQL, Oracle BDR - CARACTERÍSTICAS Orientados todas as tuplas com a mesma estrutura todos os atributos com tamanho fixo Tipos a registros (tuplas) de dados simples não-estruturados e monovalorados (atributos atômicos) tamanho pequeno numéricos ou cadeias de caracteres BDR - CARACTERÍSTICAS Operações simples (Linguagem de Manipulação de Dados - DML) consultas baseadas em predicados simples de seleção ou junção por igualdade de chaves não envolvem procedimentos complexos sobre os dados operações analíticas, invocação de métodos, ... Transações de curta duração operações bancárias cadastros gerais EVOLUÇÃO DO HARDWARE Bancos de Dados “Não convencionais” Tornam viável o desenvolvimento de aplicações de grande porte (“não convencionais”) DOS COMPUTADORES área científica, projetos arquitetônicos e de engenharia, controle ambiental e urbano, aplicações distribuídas na Web, ... Aplicações “Não convencionais” dados (“entidades”) com representação (estrutura e relacionamentos) complexa operações complexas sobre estes dados EXEMPLOS DE APLICAÇÕES NÃO-CONVENCIONAIS CAD/CAM dados: projetos arquitetônicos, projetos de componentes mecânicos características: representação complexa com possíveis versões Sistemas de Informações Geográficas dados: mapas e entidades do terreno características: representação gráfica (áreas geográficas); diversas operações analíticas EXEMPLOS DE APLICAÇÕES NÃO-CONVENCIONAIS Aplicações dados: documentos semi-estruturados (XML) características: representação e consultas complexas estruturas hierárquicas; buscas em documentos, ... Sistemas Web Multimídia dados: imagens, vídeos, áudios, ... características: dados longos; novas operações de manipulação MODELO DE DADOS BDs permitem a abstração dos dados, ocultando detalhes do armazenamento, que são desnecessários para a maioria dos usuários; Modelo de dados – conjunto de conceitos usados para descrever a estrutura de um BD Estrutura de um BD os tipos de dados, relacionamentos e restrições; Operações básicas recuperação e atualização (I/E/C/A); Comportamento de uma aplicação de BD operações definidas pelos usuários; P. ex.: CALCULE_COMISSÃO VENDA MODELO DE DADOS Categorias: Modelo de Dados Conceitual Possuem conceitos que descrevem os dados como os usuários os percebem Entidades - representam objetos do mundo real (FUNCIONARIO) ou conceitos (PROJETO); Atributos – correspondem a propriedades que ajudam a descrever uma entidade (NOME DO FUNCIONÁRIO, SALÁRIO); Relacionamentos – mostram a associação entre duas ou mais entidades (FUNCIONÁRIO TRABALHA EM UM PROJETO). Exemplo de Modelo Conceitual: Modelo Entidade-Relacionamento MODELO DE DADOS Categorias: Modelo de Dados Lógico Oferecem os conceitos que podem ser entendidos pelos usuários finais, mas não excessivamente distantes da forma como os dados estão organizados dentro do computador (ocultam detalhes do armazenamento de dados); Exemplo de Modelo Lógico: Modelo de Rede / Modelo hierárquico Modelo de Dados Relacional / Modelo Orientado a Objetos Modelo de Dados Físico Contêm conceitos que descrevem os detalhes de como os dados estão armazenados no computador; São significativos para os profissionais de Computação, mas não para os usuários finais; ESQUEMA DO BANCO DE DADOS É importante distinguir entre a descrição do BD e o BD de fato. Descrição do BD: Esquema do Banco de Dados (estrutura) Diagrama Esquemático Notação (gráfica/diagramática) P.ex.: Diagrama E-R, Diagrama de Classes FERRAMENTAS CASE Exemplos de ferramentas Case - DBMain - brModelo - Power Design - Case Studio - DeZign for Dabases - IBDataWorks - Embarcadero ER Studio - DBDesigner - ERWin - MS Visio - Dr Case - xCase - System Architect - Together NOTAÇÃO GRÁFICA Notação E-R Peter Chen (94) Entidade Entidade Fraca Relacionamento Relacionamento identificado Atributo NOTAÇÃO GRÁFICA Notação E-R Peter Chen (94) Atributo Atributo chave Atributo multivalorado Atributo composto Atributo derivado Participação total de E2 em R Cardinalidade 1:N para E1:E2 em R Restrição estrutural (min,max) na participação de E em R NOTAÇÃO GRÁFICA Esquema exemplo (Peter Chen 94) NOTAÇÃO GRÁFICA Esquema Conceitual (Power Design) NOTAÇÃO GRÁFICA Esquema Lógico/Físico (Power Design) NOTAÇÃO GRÁFICA Esquema IDEF1X (ERWin) NOTAÇÃO GRÁFICA NOTAÇÃO GRÁFICA NOTAÇÃO GRÁFICA SUGESTÃO DE LEITURA... SUGESTÃO DE FERRAMENTA... brModelo 2.0 http://www.sis4.com/brModelo/Default.aspx PROJETO DE BANCO DE DADOS Elaborado em 4 etapas: a) Levantamento de Requisitos b) Projeto Conceitual c) Projeto Lógico d) Projeto Físico PROJETO DE BANCO DE DADOS Especificação de Requisitos Esquema Conceitual Esquema Lógico Esquema Físico