Banco de Dados Trabalho elaborado para a disciplina de Informática Jurídica NOVEMBRO DE 1994 Laboratório de Informática Jurídica - LINJUR Equipe Juliano Froehner Leonardo S. Gaspar Laboratório de Informática Jurídica - LINJUR BANCO DE DADOS É UMA COLEÇÃO DE DADOS OPERACIONAIS ARMAZENADOS, USADOS PELOS SISTEMAS DE APLICAÇÃO DE UMA DETERMINADA ORGANIZAÇÃO Laboratório de Informática Jurídica - LINJUR INTRODUÇÃO Um banco de dados funciona como se fosse um fichário Nos bancos de dados, a primeira coisa a fazer é definir quais informações devem ser armazenadas e, em seguida, definir o espaço a ser ocupado para cada uma das novas informações Os tipos de informações a armazenar e os seus respectivos tamanhos, formam o que chamamos de estrutura do nosso banco de dados Laboratório de Informática Jurídica - LINJUR INTRODUÇÃO • Podemos extrair com grande facilidade informações que atendam a qualquer critério de seleção que desejemos • A ordenação de informações é um ponto forte dos bancos de dados. Podemos manter automaticamente ordenados os dados, por qualquer item • O conjunto de informações de uma “ficha” é chamado de REGISTRO Laboratório de Informática Jurídica - LINJUR CARACTERIZAÇÃO DO PROCESSO DE PROJETO DE BANCO DE DADOS O objetivo é desenvolver a estrutura de um banco de dados de modo a satisfazer as necessidades de informação dos usuários de uma organização, tendo em vista um determinado conjunto de aplicações Laboratório de Informática Jurídica - LINJUR CARACTERÍSTICAS BÁSICAS COMPLEXIDADE REQUER A DIVISÃO DO PROBLEMA EM SUBPARTES MULTIPLICIDADE REQUER A UTILIZAÇÃO DE UMA METODOLOGIA Laboratório de Informática Jurídica - LINJUR PARA A ORGANIZAÇÃO DE UM BANCO DE DADOS, É NECESSÁRIO SE LEVAR EM CONSIDERAÇÃO TRÊS IMPORTANTES FATORES, OS QUAIS SE CONSTITUEM NA BASE DO AGRUPAMENTO ORDENADO E SISTEMATIZADO DE DADOS: Modelo de dados Esquema Instância Laboratório de Informática Jurídica - LINJUR MODELO DE DADOS CONJUNTO DE CONCEITOS USADOS PARA DESCREVER A ESTRUTURA DE UM BANCO DE DADOS Laboratório de Informática Jurídica - LINJUR Esquema DESCRIÇÃO TEXTUAL OU GRÁFICA DE UM BANCO DE DADOS DE ACORDO COM UM DETERMINADO MODELO DE DADOS Laboratório de Informática Jurídica - LINJUR Instância Conjunto de dados armazenados em um banco de dados em um instante de tempo determinado Laboratório de Informática Jurídica - LINJUR RELAÇÃO ENTRE MODELO DE DADOS, ESQUEMA E INSTÂNCIA MODELO DE DADOS: fornece diretamente as regras para a estruturação dos dados ESQUEMA: aprofundando-se mais, estipula as regras para a verificação das instâncias INSTÂNCIA: é determinado resultado em um determinado instante Laboratório de Informática Jurídica - LINJUR SEQUÊNCIA DE ATOS EM UM BANCO DE DADOS Inclusão de registros Pesquisa e alteração de registros Pesquisa e eliminação de registros Consulta e listagem de registros Ordenação dos registros Laboratório de Informática Jurídica - LINJUR ABSTRAÇÕES DE DADOS É UM PROCESSO MENTAL ATRAVÉS DO QUAL NOS CONCENTRAMOS NOS ASPECTOS RELEVANTES DE UM CONJUNTO DE OBJETOS, DESCONSIDERANDO AS SUAS DIFERENÇAS. PRINCIPAIS MECANISMOS DE ABSTRAÇÃO: CLASSIFICAÇÃO AGREGAÇÃO GENERALIZAÇÃO Laboratório de Informática Jurídica - LINJUR TIPOS DE MODELO DE DADOS MODELOS DE DADOS CONCEITUAIS (SEMÃNTICOS) Utilizados para se descrever a estrutura de um banco de dados em um nível de abstração independente dos aspectos de implementação. EXEMPLOS: Modelo de entidades e relacionamentos Modelo funcional Modelo binário Laboratório de Informática Jurídica - LINJUR TIPOS DE MODELO DE DADOS MODELOS DE DADOS LÓGICO (CLÁSSICO) Utilizados para se descrever a estrutura de um banco de dados em um nível de abstração mais próximo das estruturas físicas de armazenamento de dados. EXEMPLOS: Modelo relacional Modelo de rede (CODASYL) Modelo hierárquico Laboratório de Informática Jurídica - LINJUR MODELOS DE DADOS FÍSICOS Utilizados para se descrever as estruturas físicas de armazenamento de dados Laboratório de Informática Jurídica - LINJUR CICLO DE VIDA DE UM SISTEMA DE INFORMAÇÃO Estudo de Viabilidade Coleta e Análise de Requisitos Projeto ( do BD e dos programas de aplicação) Implementação Validação Operação Laboratório de Informática Jurídica - LINJUR FASES DO PROJETO DE BANCO DE DADOS REQUISITOS DOS USUÁRIOS PROJETO CONCEITUAL ESQUEMA CONCEITUAL PROJETO LÓGICO ESQUEMA LÓGICO PROJETO FÍSICO ESQUEMA FÍSICO Laboratório de Informática Jurídica - LINJUR IMPORTÂNCIA DA FASE DE PROJETO CONCEITUAL DO PONTO DE VISTA DO PROJETISTA: TORNA O PROJETO FINAL MAIS ESTÁVEL RETARDA A ESCOLHA DO SISTEMA GERAL DO BD A SER UTILIZADO FACILITA A MANUTENÇÃO DO BANCO DE DADOS FACILITA A INTEGRAÇÃO DE BANCOS DE DADOS Laboratório de Informática Jurídica - LINJUR DO PONTO DE VISTA DO USUÁRIO: FACILITA A COMUNICAÇÃO COM O PROJETISTA FACILITA A POSSIBILIDADE DE CONVERGÊNCIA DO PROJETO NO PRODUTO FINAL ESPERADO Laboratório de Informática Jurídica - LINJUR CLASSIFICAÇÃO É UM MECANISMO DE ABSTRAÇÃO ATRAVÉS DO QUAL UM CONCEITO É MÊS DO ANO DEFINIDO COMO UMA INSTÂNCIA-DE CLASSE DE OBJETOS DE MUNDO REAL, JANEIRO CARACTERIZADOS POR PROPRIEDADES COMUNS FEVEREIRO ... DEZEMBRO Laboratório de Informática Jurídica - LINJUR AGREGAÇÃO É UM MECANISMO DE ABSTRAÇÃO ATRAVÉS DO QUAL UMA NOVA CLASSE DE OBJETOS É DEFINIDA A PARTIR DE OUTRAS CLASSES COMPONENTES EMPREGADO CPF NOME PARTE-DE DEPARTAMENTO Laboratório de Informática Jurídica - LINJUR GENERALIZAÇÃO É UM MECANISMO DE ABSTRAÇÃO ATRAVÉS DO QUAL UM CONJUNTO DE CLASSES DE OBJETOS, DENOMINADAS CATEGORIAS, É CONSIDERADO COMO UMA CLASSE GENÉRICA DE OBJETOS DE MAIS ALTO NÍVEL EMPREGADO SUBCONJUNTO-DE PROJETISTA ENGENHEIRO GERENTE Laboratório de Informática Jurídica - LINJUR EXEMPLO DE UM PROJETO “Os dados de interesse se referem a publicações de diversos tipos, editadas por diferentes editoras, cujos nomes e endereços são necessários para fins de divulgação. Cada publicação é identificada por um código, possui um título e se refere a um determinado tópico. Cada tópico é identificado por um código, possui um nome e está relacionado com uma área de pesquisa. Dentre as publicações, são de interesse particular os livros os quais possuem uma tiragem e são adotados por diversas universidades. Cada universidade é conhecida pelo seu nome e está localizada em uma determinada cidade.” LAENDER Laboratório de Informática Jurídica - LINJUR É o que acontece, por exemplo, com o programa Nexum de gerenciamento de banco de dados, em uso na Biblioteca Central da UFSC. Laboratório de Informática Jurídica - LINJUR INTERAÇÃO COM A ANÁLISE FUNCIONAL PROJETO DE BANCO DE DADOS PROJETO CONCEITUAL PROJETO LÓGICO PROJETO FÍSICO ABORDAGEM DIRIGIDA PARA OS DADOS Laboratório de Informática Jurídica - LINJUR ANÁLISE FUNCIONAL ANÁLISE DE FUNÇÕES ESPECIFICAÇÃO DE APLICAÇÕES PROJETO DE PROGRAMAS ABORDAGEM DIRIGIDA PARA AS FUNÇÕES Laboratório de Informática Jurídica - LINJUR CONCEITOS BÁSICOS ENTIDADES SÃO CLASSES DE OBJETOS DO MUNDO REAL EXEMPLOS: EMPREGADO DEPARTAMENTO FORNECEDOR Laboratório de Informática Jurídica - LINJUR CONCEITOS BÁSICOS RELACIONAMENTOS SÃO ASSOCIAÇÕES ENTRE DUAS OU MAIS ENTIDADES QUE REPRESENTAM UM FATO OU SITUAÇÃO DO MUNDO REAL EXEMPLOS: PERTENCE-A FORNECE ENTRE EMPREGADO E DEPARTAMENTO ENTRE FORNECEDOR E PEÇA Laboratório de Informática Jurídica - LINJUR CONCEITOS BÁSICOS ATRIBUTOS SÃO CLASSES DE VALORES QUE REPRESENTAM AS PROPRIEDADES ELEMENTARES DAS ENTIDADES E RELACIONAMENTOS EXEMPLOS: CPF, NOME , ENDERECO, LOCAL, CÓDIGO, QUANTIDADE Laboratório de Informática Jurídica - LINJUR ALGUMAS CONSIDERAÇÕES SOBRE A UTILIZAÇÃO DO MODELO DE ENTIDADES RELACIONAIS Nem sempre é possível distinguir claramente quando um conceito deve ser definido como uma entidade ou como um atributo Entidade é uma classe de objetos, não assume valores Atributos é uma propriedade descritiva, assume valores Sempre que forem identificados subconjuntos de entidades específicas, deve ser definida uma generalização ou uma especialização Laboratório de Informática Jurídica - LINJUR ALGUMAS CONSIDERAÇÕES SOBRE A UTILIZAÇÃO DO MODELO DE ENTIDADES RELACIONAIS - MER Em uma hierarquia de generalização ou de especialização, os atributos devem ser definidos no nível apropriado Ao final do projeto, todas as entidades devem ser identificadas sem a existência de ciclos Laboratório de Informática Jurídica - LINJUR IDENTIFICADORES UM IDENTIFICADOR DE UMA ENTIDADE X é um conjunto de atributos de X cujos valores identificam de maneira única cada uma de suas instâncias Exemplo: PESSOA CPF IDENTIFICADOR SIMPLES TODA ENTIDADE DEVE POSSUIR PELO MENOS UM IDENTIFICADOR Laboratório de Informática Jurídica - LINJUR HIERARQUIAS DE GENERALIZAÇÃO Uma entidade E é uma generalização de um conjunto de entidades E1, E2, ..., En, denominadas categorias de E, se cada entidade Ei for um subconjunto de E e cada instância de E for uma instância de uma e somente uma das entidades E1, E2, ..., En. Representação gráfica: E Ao tipo de hierarquia criado pelo processo de generalização chamamos de hierarquia total exclusiva E1 E2 E3 Laboratório de Informática Jurídica - LINJUR HIERARQUIAS DE ESPECIALIZAÇÃO UMA ENTIDADE E1 É UMA ESPECIALIZAÇÃO DE UMA OUTRA ENTIDADE E, SE E1 FOR UM SUBCONJUNTO DE E REPRESENTAÇÃO GRÁFICA: E E1 AO TIPO DE HIERARQUIA CRIADO PELO PROCESSO DE ESPECIALIZAÇÃO CHAMAMOS DE HIERARQUIA PARCIAL Laboratório de Informática Jurídica - LINJUR ABSTRAÇÕES DE DADOS E O MER CLASSIFICAÇÃO: Uma entidade é uma classe de objetos do mundo real Um relacionamento é uma classe de associações entre entidades Um atributo é uma classe de valores AGREGAÇÃO Uma entidade é uma agregação de atributos Um relacionamento é uma agregação de entidades e atributos GENERALIZAÇÃO Aplica-se somente a entidades Laboratório de Informática Jurídica - LINJUR MODELO RELACIONAL DE DADOS - CONCEITOS BÁSICOS Um banco de dados é estruturado de acordo com o modelo de dados relacional como uma coleção de relações Informalmente, uma relação é uma tabela na qual cada linha representa uma coleção de dados, cujos valores podem ser interpretados como um fato que descreve a instância de uma entidade ou relacionamento Laboratório de Informática Jurídica - LINJUR MODELO RELACIONAL DE DADOS - CONCEITOS BÁSICOS O número de atributos de uma relação é chamado de grau de relação As colunas de uma relação são chamadas atributos e as linhas de tuplas. O conjunto de valores que define cada atributo de uma relação é chamado de domínio Laboratório de Informática Jurídica - LINJUR PRINCIPAIS PROGRAMAS DE BD PARA O AMBIENTE GRÁFICO WINDOWS Para a impossibilidade de se elaborar um programa de banco de dados próprio para um único usuário, temos os programas gerais de banco de dados, onde predominam os específicos para o ambiente gráfico Windows. JOINER 3 PLUS ACCESS APPROACH PARADOX 4.5 FOXPRO 2.5 Laboratório de Informática Jurídica - LINJUR ACCESS Para uma CPU recomendada mínima de 386 e memória RAM de 8 Mb, o Access , trabalhando na plataforma de execução Windows, apresenta campo para imagens, objetos, gerador de telas e relatórios, conectividade com outros banco de dados e facilidade de aprendizado e uso, além de ser, atualmente, um dos programas de banco de dados mais difundidos. Fabricante: Microsoft. Laboratório de Informática Jurídica - LINJUR APPROACH Para uma CPU recomendada mínima de 386 e memória RAM de 4 Mb, o Approach, trabalhando na plataforma de execução Windows e como o Access, é também dirigido ao usuário final, não apresenta uma linguagem de programação e não possui formado de arquivo próprio, mas acessa os arquivos em conectividade, a qual é extensa e variada. Fabricante: Lotus. Laboratório de Informática Jurídica - LINJUR PARADOX 4.5 Para uma CPU mínima recomendada de 386 e memória RAM de 8 Mb, o Paradox 4.5, trabalhando na plataforma de execução Windows, apresenta campo para imagens, objetos, conectividade com outros banco de dados, gerador de relatórios e telas e, o seu destaque, os recursos que apresenta de Workgroup e ferramentas. Fabricante: Borland. Laboratório de Informática Jurídica - LINJUR JOINER 3 PLUS Para uma CPU mínima recomendada de 386 e memória RAM de 4 Mb, o Joiner 3 Plus, trabalhando na plataforma de execução Windows, apresenta campo para imagens, objetos e gerador de relatórios. Com uma linguagem de programação disponível em mais plataformas, esta é compatível com Clipper, embora não apresente conectividade com outros bancos de dados. Fabricante: Tuxon Software. Laboratório de Informática Jurídica - LINJUR FOXPRO 2.5 Para uma CPU mínima recomendada de 386 e memória RAM de 8 Mb, o FoxPro 2.5, trabalhando na plataforma de execução Windows, apresenta campo para imagens, objetos, conectividade com outros bancos de dados ( através do FoxPro Conectivity Kit), gerador de relatórios, telas , em linguagem de programação Xbase compatível. Seu destaque é a velocidade, devido à tecnologia Rushmore. Fabricante: Microsoft. Laboratório de Informática Jurídica - LINJUR RESULTADO FINAL Como exemplo prático da teoria do banco de dados, selecionamos um pequeno fichário de pessoal Laboratório de Informática Jurídica - LINJUR FICHÁRIO MODELO DO LABORATÓRIO DE INFORMÁTICA JURÍDICA Nome: Juliano Froehner Curso: Direito Instituição: UFSC Laboratório de Informática Jurídica - LINJUR FICHÁRIO MODELO DO LABORATÓRIO DE INFORMÁTICA JURÍDICA Nome: Evandro S. de Liz Curso: Eng. Prod. Civil Instituição: UFSC Laboratório de Informática Jurídica - LINJUR FICHÁRIO MODELO DO LABORATÓRIO DE INFORMÁTICA JURÍDICA Nome: Alessandra Giassi Curso: Direito Instituição: UFSC Obs.: Monitora do LINJUR Laboratório de Informática Jurídica - LINJUR BIBLIOGRAFIA DATE, C.J. INTRODUÇÃO A SISTEMAS DE BANCOS DE DADOS. Campus, Rio de Janeiro, 1985. Korth, H.F. & Silberschatz, A. SISTEMAS DE BANCOS DE DADOS. McGraw-Hill, Rio de Janeiro, 1989 LAENDER, Alberto Henrique Frade. MODELAGEM DE DADOS E PROJETO DE BANCO DE DADOS. UFMG, Belo Horizonte INFORMÁTICA EXAME. Nº 98 - Maio/1994. Laboratório de Informática Jurídica - LINJUR