 
                                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