Funcionalidades de um SGBD Marcos Cardoso [email protected] Formas de Representação da Informação VOZ VÍDEO DADOS TEXTO IMAGEM Introdução A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações. processadores de texto (editoração eletrônica), planilhas (cálculos com tabelas de valores), Sistemas de Gerenciamento de Bancos de Dados SGBDs (armazenamento de grandes volumes de dados, estruturados em registros e tabelas, com recursos para acesso e processamento das informações). Introdução Banco de Dados é uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Exemplos: lista telefônica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa. Sistema de Gerenciamento de Bancos de Dados (SGBD) é um software com recursos específicos para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos. Exemplos: Oracle, MySQL, Paradox, Access, DBase. O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados (BD) associados a um conjunto de programas para acesso a esses dados. DADOS Vantagens dos SGBD´s X Velocidade Facilidade de acesso Redução da redundância Evita-se inconsistência Controle de integridade Controle de concorrência Maior segurança (quedas do sistema e acesso de pessoas não autorizadas). Histórico 1ª Geração - Pré-relacional 2ª Geração - Relacional Modelo Hierárquico Modelo em Rede Modelo Relacional 3ª Geração - Pós-relacional Novos modelos Histórico SISTEMA DE ARQUIVO SGBD HIERÁRQUICOS SGBD EM REDE SGBD ORIENTADOS A OBJETO ...... SGBD RELACIONAIS SGBD OBJETO-RELACIONAL Modelagem de Dados Modelos representativos dos dados manipulados por aplicações Modelos de abstração que representam o dado em si e seu inter-relacionamento Coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD Linguagens DDL (Data Definition Language) DML (Data Manipulation Language) Linguagem de definição de dados Especifica o esquema do BD Linguagem de manipulação de dados Manipulação dos dados como organizados pelo modelo de dados apropriado Linguagem de Consulta Porção da linguagem de manipulação que envolve o resgate de informações Abstração de Dados Seres, objetos organismos, fatos, ... Informações informais Informações formais Mundo Real Modelo Descritivo Descrição de um universo em linguagem natural Modelo Conceitual Estruturas de informações, especificações de manipulação Projeto Lógico Modelo Operacional Projeto Físico Modelo Interno Nível de máquina Especificações de manipulação p/ o computador Estruturas internas de arquivos e tabelas interpretáveis ou executáveis Instâncias e Esquemas Instância do banco de dados Conjunto de informações contidas em determinado banco de dados, em dado momento Esquema do banco de dados Projeto Geral do banco de dados Exemplo das Informações em um BD Modelo Relacional Surgiu em 1970, por Codd, tendo por base a teoria dos Conjuntos Contribuiu decisivamente para a massificação da utilização da tecnologia de bases de dados Manipulação de dados do tipo set-oriented. Tanto a álgebra relacional como o cálculo relacional atuam sobre conjuntos e devolvem como resultado conjuntos Modelo Relacional Utiliza um conjunto de tabelas para representar tanto os dados quanto a relação entre eles Dados e relacionamentos representados por uma coleção de tabelas. Ocupa mais de 90% do mercado atual. Modelagem Relacional Modelo descritivo: A universidade mantém o cadastro de seus alunos por matricula, nome, endereço, fone e data de nascimento. Sobre as disciplinas que são oferecidas a universidade mantém o código, título, descrição e carga horária. O histórico de um aluno associa os alunos as disciplinas que eles cursaram em cada ano e mantém a nota e freqüência que eles obtiveram. Modelagem Relacional Modelo Conceitual: MER - Modelo Entidade-Relacionamento: Objetos são representados como entidades e as associações entre eles como relacionamentos. mat end. nome Alunos fone ano n data_nasc. Hist. freq nota cod n título Disciplinas descr. carga_hor Modelagem Relacional mat nome end aluno disciplina fone data cod título descr. carga histórico mat cod ano freq nota Modelagem Relacional Características cada tabela tem seu nome diferente das demais na mesma base de dados cada coluna tem seu nome diferente das demais na mesma tabela colunas contém os atributos linhas contém informações de 1 entidade cada célula pode conter no máximo 1 item de dado ordem das linhas é irrelevante ordem das colunas é irrelevante nunca temos duas linhas iguais chave primária Facilidades dos SGBD´s Segurança: Diferentes níveis de visões: Exemplo da Universidade aluno: funcionário do CPD: pode consultar e alterar seus dados pessoais pode apenas consultar seu histórico pode manipular todas as tabelas. Exemplo bancário: tabelas de clientes e contas cliente: caixa: pode apenas consultar o saldo e sacar de sua conta (se houver saldo suficiente). pode consultar e depositar em todas as contas funcionário de divulgação de serviços: pode consultar apenas os dados pessoais dos clientes. Facilidades dos SGBD´s Recuperação de falhas: o BD deve permanecer em um estado consistente após uma queda de energia ou queda do sistema recuperação de falhas de disco Restrições de integridade: faz a validação dos dados do BD. Podem ser de dois tipos: domínio: nota >=0 e <=10 mat - chave primária da tabela aluno (não nulo e nem valores repetidos). relação: não permitir a inserção de um mat na tabela de histórico se não existir um correspondente na tabela de alunos. Facilidades dos SGBD´s Controle de concorrência: permite que vários usuários acessem o banco de dados simultaneamente. Banco de Dados Distribuídos: Informações divididas em diferentes nós com acesso via rede. Teste Realize a modelagem conceitual do seguinte modelo descritivo de um Supermercado O Supermercado possui vários funcionários. Esses funcionários são identificados por um código. Ainda serão registrado nesses funcionários o nome de cada um, o cargo que eles ocupam, o salário e o telefone O Supermercado ainda deseja guardar as informações de seus fornecedores. Eles devem possuir um código para identificá-los, o nome da empresa fornecedora, o endereço e os telefones disponíveis da mesma empresa para contato O Supermercado também exige que o sistema em questão guarde as vendas ocorridas entre os fornecedores e o próprio supermercado. Tal venda deve conter um código de identificação, qual funcionário participou dessa venda, qual a empresa que vendeu o produto, o valor total da venda e a data que a mesma ocorreu. Referências Sistema de Banco de Dados, Silberschatz, A., Makron Books, 3ª edição Introdução a Sistemas de Bancos de Dados, Date, C. J., Campus, 8ª edição Sistemas de Banco de Dados, Elmasri, Ranmez e Navathe, Shamkant B., Pearson, 4ª edição Funcionalidades do SGBD Marcos Cardoso [email protected]