Por Ceça [email protected] Introdução aos SGBDs Alguns aspectos de SGBDs Motivação, Funções, Vantagens 31/05/2017 Ceça Moraes 2 Banco de dados: Conjunto de dados inter-relacionados que objetivam atender as necessidades de um conjunto de usuários Sistema de Gerenciamento do BD (SGBD): Software que auxilia na definição, carga, atualização e manutenção de um banco de dados 31/05/2017 Ceça Moraes 3 As boas decisões exigem boa informação derivada de fatos brutos Os dados são gerenciados de forma mais eficiente quando armazenados em um banco de dados As base de dados evoluíram a partir de sistemas de arquivo de computador 4 Banco de dados:estrutura computacional compartilhada e integrada que armazena: um conjunto de dados do usuário final, ou seja, fatos brutos de interesse para esse usuário metadados, ou, dados sobre dados ▪ Os metadados fornecem uma descrição das características dos dados e do conjunto de relacionamentos entre os dados do BD 5 O sistema de gerenciamento de bancos de dados (SGBD) conjunto de programas que gerenciam a estrutura do banco de dados e controlam o acesso aos dados armazenados 31/05/2017 Ceça Moraes 6 7 Podem ser classificados de acordo com: Número de usuários Localização(ões) Tipo e extensão do uso esperado 8 Bancos de dados monousuario – suporte a apenas um usuário por vez Banco de dados de desktop – bd monousuário executado em um computador pessoal Banco de dados multiusuario dá suporte a vários usuários simultaneamente Banco de dados de grupo de trabalho: número relativamente pequeno de usuários Banco de dados empresarial: utilizado por uma organização inteira, com suporte a muitos usuários 9 Banco de dados centralizado: dados localizados em um único local Banco de dados distribuído: dados distribuídos por vários locais diferentes 10 Banco de dados operacional: suporte às operações diárias de uma empresa Data warehouses (armazém de dados): dados utilizados para gerar informações necessárias à tomada de decisões 11 Dados estruturados são resultado da formatação de dados não estruturados A estrutura é aplicada com base no tipo de processamento que se deseja executar nos dados Dados semi-estruturados já foram parcialmente processados Nem totalmente sem estrutura nem estritamente tipados XML (Extensible Markup Language) 12 13 Documentos (dados) em arquivos físicos em pastas e armários 1ª. Evolução: especialista em processamento de dados (PD) conversão de um sistema de arquivos manual para um sistema de arquivos computadorizado ▪ criava as estruturas de arquivos computacionais necessárias Escrevia o software que gerenciava os dados dentro dessas estruturas 14 Conforme o número de arquivos aumentava no pequeno sistema de arquivos: Cada arquivo no sistema utilizava seu próprio aplicativo para armazenar, recuperar e modificar dados Cada arquivo era de propriedade do indivíduo ou do departamento encarregado pela sua criação A atividade do grupo de PD era programação 15 16 17 Dependência de dados: quando houver qualquer mudança nas características de armazenamento de dados do arquivo Independência de dados: alterações nas características de armazenamento de dados sem afetar a capacidade dos aplicativos 18 O significado prático da dependência é a diferença entre o formato de dados lógicos e físicos Formato de dados lógicos: os seres humanos visualizam os dados Formato de dados físicos: como o computador deve trabalhar com os dados Os programas continham: Detalhes de abertura de arquivo, especificação de registros e definições de campo 19 Imunidade das aplicações a alterações na representação física e nas técnicas de acesso Representação Lógica (aplicação) Física (armazenamento) Que alterações podem ser feitas??? Campos: nome, salario Registros: (“Jose Carlos”, 5000.00) Arquivos: FUNCIONARIO Dois ou mais registros podem ser combinados em um só O registro lógico de uma aplicação é um subconjunto apropriado do registro armazenado Num_ peça Cor_peça Num_ peça Ceça Moraes Num_ peça Cor_peça Peso_peça Peso_peça 21 Um registro pode ser dividido em vários Partes utilizadas com menos freqüência poderia ser armazenadas em dispositivos mais lentos Num_ peça Num_ peça Cor_peça Cor_peça Ceça Moraes Peso_peça Num_ peça Peso_peça 22 A estrutura do sistema de arquivos dificulta a combinação de dados a partir de várias fontes A estrutura organizacional realiza o armazenamento dos mesmos dados básicos em locais diferentes (Ilhas de informação) É improvável que os dados armazenados em locais diferentes sejam sempre atualizados de modo consistente Redundância de dados: ocorre quando os mesmos dados são armazenados de forma desnecessária em locais diferentes 23 Inconsistência de dados: quando versões diferentes e conflitantes dos mesmos dados aparecem em locais diferentes Anomalias de dados: quando nem todas as alterações necessárias nos dados redundantes são realizadas com sucesso Anomalias de atualização Anomalias de inserção Anomalias de exclusão 24 O sistema de banco de dados consiste de dados relacionados logicamente e armazenados em um único repositório de dados lógicos Pode ser fisicamente distribuído em vários locais O SGBD elimina a maioria dos problemas de inconsistência, dependência e anomalia de dados 25 O SGBD armazena não apenas as estruturas de dados, mas também os relacionamentos entre essas estruturas e os caminhos de acesso a elas Se há redundância, é controlada Cuida também da definição, armazenamento e gerenciamento de todos os caminhos de acesso necessários a esses componentes 26 Exige programação extensiva Não é capaz de executar consultas ad hoc A administração do sistema pode ser complexa e difícil É difícil fazer alterações nas estruturas existentes Os recursos de segurança provavelmente serão inadequados 27 Simplificar o desenvolvimento de aplicações caracterizadas por uso intensivo de DADOS COMO? Provendo serviços que diminuem o tempo de desenvolvimento Através de ferramentas o usuário pode: ▪ realizar entrada de dados ▪ examinar dados ▪ manipular dados de acordo com a aplicação 28 Dados e Metadados na base Os dados e a descrição correspondente são armazenadas na base e gerenciadas pelo SGBD Independência de Dados-Programas Modificações como inclusão de um novo campo não afetam os programas Abstração de Dados Representação conceitual através de um modelo de dados baseado em conceitos lógicos Múltiplas Visões 29 30 31 O termo SGBD refere-se a uma organização de componentes que define e regula a coleta, o armazenamento, o gerenciamento e a utilização de dados em um ambiente de banco de dados o SGBD é composto de 5 partes principais: Hardware Software Pessoas Procedimentos Dados 32 Hardware: dispositivos físicos do sistema Software – três tipos: sistema operacional; O SGBD; Os aplicativos e utilitários Pessoas: Os administradores de sistema Os administradores de banco de dados Os projetistas Os programadores e analistas de sistemas Os usuários finais 33 Procedimentos: instruções e regras que orientam o projeto e a utilização do SGBD Dados: conjunto de fatos armazenados no banco de dados As soluções de BD devem ser efetivas em relação a custos-benefícios e a fatores táticos e estratégicos É provável que a tecnologia de BD já em uso afete a seleção de um sistema 34 Sistemas multiusuários Dados do banco são: Integrados ▪ BD é um conjunto de vários arquivos de dados relacionados ▪ Exemplo: Empregado(CPF, Nome, Depto, Salario) e Matricula(CPF,Curso) 31/05/2017 Ceça Moraes 35 Compartilhados ▪ Porções de dados utilizadas por vários usuários inclusive ao mesmo tempo!! ▪ Exemplo: informações de EMPREGADO para usuários do departamento de pessoal e de educação Persistentes Uma vez aceitos pelo SGBD para entrada inicial no BD, só podem ser removidos do BD por alguma solicitação explícita ao SGBD 31/05/2017 Ceça Moraes 36 37 Funções do SGBD Gerenciamento do dicionários de dados O SGBD armazena as definições de elementos de dados e seus relacionamentos (metadados) em um dicionario de dados Quaisquer mudanças feitas na estrutura do banco de dados são registradas no dicionário de dados Fornece abstração de dados e remove a dependência de dados do sistema 38 39 Gerenciamento de armazenamento de dados Cria e gerencia as estruturas complexas necessárias para o armazenamento de dados Sintonização de desempenho: atividades que tornam o desempenho do banco de dados mais eficiente em termos de armazenamento e velocidade de acesso O SGBD armazena o banco em vários arquivos de dados físicos 40 41 Transformação e apresentação de dados Transforma os dados inseridos em conformidade com as estruturas internas Formata os dados recuperados fisicamente para as expectativas lógicas do usuário Gerenciamento de segurança Sistema de segurança que garante a segurança de usuário e a privacidade dos dados Regras de segurança determinam: usuários que podem acessar o banco de dados, itens de dados que o usuário pode acessar e operações 42 Controle de acesso de multiusuário Para fornecer integridade e consistência de dados, o SGBD utiliza algoritmos sofisticados Gerenciamento de backup e recuperação Fornece backup e recuperação de dados para garantir a segurança e a integridade dos dados O gerenciamento de recuperação trata da recuperação do banco de dados após uma falha ▪ Recurso fundamental para preservar a integridade dos dados 43 Gerenciamento de integridade de dados O SGBD promove e aplica regras de integridade ▪ Minimizando a redundância ▪ Maximizando a consistência Os relacionamentos de dados armazenados no dicionário de dados são utilizados para garantir a integridade Garantia importante em sistemas de bancos de dados orientados a transações 44 Linguagem de acesso a bancos de dados e interfaces de programação de aplicações Fornece acesso aos dados por meio de uma linguagem de consulta Linguagem Estruturada de Consulta (SQL) ▪ linguagem de consulta vigente e o padrão de acesso a dados suportado pela maioria dos fornecedores de SGBD 45 Usuários precisam: Acrescentar estrutura Inserir dados nas estruturas Consultar dados Alterar dados Remover dados e suas estruturas SQL 46 A SQL é a linguagem padrão para interação com banco de dados relacionais e é reconhecida por quase todos os produtos de banco de dados hoje Padrão ANSI (American National Stardard Institute) 31/05/2017 Ceça Moraes 47 O Banco de Agencia de Automóveis (arquivo CARROS) Codigo Marca Modelo ANO_ MODELO PLACA ANO_ FABRICACAO 55 Fiat Uno Mille 2007 KHT3353 2007 123 Fiat Idea 2009 GGO0011 2009 989 Fiat Fiorino 1996 KSF2134 1996 64 GM Corsa 2008 MRR9877 2007 721 VW Passat 2010 KLG3566 2009 Colunas • Campos ou Atributos Linhas • Registros (dados) 31/05/2017 Ceça Moraes 48 Inserção de registro INSERT Modificação de registro UPDATE Remoção de registro DELETE Consulta SELECT 31/05/2017 Ceça Moraes 49 Selecionar os atributos MARCA, CODIGO e MODELO para os carros fabricados em 2007 SELECT MARCA, CODIGO, MODELO FROM CARROS WHERE ANO_FABRICACAO = 2007 Resultado: 31/05/2017 Marca Codigo Modelo Fiat 55 Uno Mille GM 64 Corsa Ceça Moraes 50 Esquema A estrutura lógica do BD Exemplo: informações sobre o conjunto de empregados, cursos e relacionamentos entre eles Instância O conteúdo atual do BD em um determinado instante de tempo (dados) Exemplo: Antônio fez o curso de Oracle 31/05/2017 Ceça Moraes 52 Coleção de ferramentas para descrever Dados Relacionamentos entre os dados Semântica dos dados Restrições dos dados Modelo Entidade-Relacionamento (E-R) Modelo Relacional 31/05/2017 Ceça Moraes 53 Componentes “macro” Entidades (objeto distinguível) ▪ Qualquer objeto sobre o qual desejamos registrar informações (Funcionários, Projetos) Relacionamento entre entidades (trabalha_em) Amplamente usado para projeto de BD Modelo E-R é usualmente convertido para um projeto do modelo relacional o qual é usado para armazenar e gerenciar os dados 31/05/2017 Ceça Moraes 54 Propriedades Informações que desejamos registrar ▪ Entidade Funcionários têm local de trabalho ▪ Entidade Projetos têm o tempo em que estão sendo executados A tabela FUNCIONÁRIOS deve incluir o atributo CIDADE A tabela PROJETOS deve incluir os atributos DATA_INICIO e DATA_FIM 31/05/2017 Ceça Moraes 55 Uma empresa armazena informações sobre: Os projetos em andamento; As peças usadas nesses projetos; Os fornecedores que fornecem as peças; Os empregados que trabalham nos projetos. Projetos, Peças, Fornecedores, Empregados são as Entidades básicas 31/05/2017 Ceça Moraes 56 Relacionamentos entre entidades Relacionamento Fornecedor/Peças – FP ▪ Fornecedores fornecem peças ▪ Peças são fornecidas por fornecedores A partir do relacionamento FP Dado um fornecedor, obter as peças fornecidas por ele Dada uma peça, obter os fornecedores que fornecem essa peça 31/05/2017 Ceça Moraes 57 Fornecedores FP Projetos FPJ Peças PJ EJ GJ Empregados PP 31/05/2017 Ceça Moraes 58 Os relacionamentos fazem parte dos dados tanto quanto as entidades básicas Precisam ser representados no banco de dados Conversão para o modelo relacional No modelo relacional as entidades os relacionamentos são representados por tabelas. 31/05/2017 Ceça Moraes 59 Fornecedores, Peças e relacionamento FP F P FP F# P# QTD Londres F1 P1 300 10 Paris F1 P2 200 Blake 30 Paris F1 P3 400 F4 Clark 20 Londres F1 P4 200 F5 Adams 30 Atenas F1 P5 100 F1 P6 100 F2 P1 300 F2 P2 400 F3 P2 200 F4 P2 200 F4 P4 300 F4 P5 400 F# FNOME STATUS CIDADE F1 Smith 20 F2 Jones F3 P# PNOME COR PESO P1 Porca Vermelho 12 P2 Pino Verde 17 P3 Parafuso Azul 12 P4 Parafuso Vermelho 14 P5 Came Azul 12 P6 Tubo Vermelho 19 31/05/2017 Ceça Moraes 60 Aprimoramento do compartilhamento de dados Aprimoramento da segurança de dados Melhoria na integração dos dados Minimização da inconsistência dos dados Aprimoramento do acesso aos dados Aprimoramento da tomada de decisão Aumento de produtividade do usuário final 61 Suporte a transações Transferência de uma quantia de dinheiro de uma conta A para outra conta B Envolve duas operações de atualização ▪ Uma para retirar o dinheiro da conta A ▪ Outra para adicionar o dinheiro na conta B O sistema deve garantir que as duas operações devem ser realizadas ou nenhuma delas, mesmo na presença de falhas 31/05/2017 Ceça Moraes 62 Aumento de custos Complexidade de gerenciamento Manutenção do banco de dados atualizado Dependência do fornecedor Ciclos frequentes de atualização/substituição 63 Rob & Coronel – Capítulo 1 Navathe – Capítulo 1 31/05/2017 Ceça Moraes 64