Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Relacional – SGBD PostgreSQL Marcelo Maçaneiro Ribeiro Professor Marcelo Rosenbrock Centro Universitário Leonardo da Vinci - UNIASSELVI Banco de Dados Relacional (ADS100) – Prática do Módulo IV 01/12/21 RESUMO Conforme o avanço da tecnologia, se iniciou um processo de migração da sociedade para a era digital em diversas áreas da indústria e com isso muita informação é circulada e com esse grande acúmulo de informações foram criados os bancos de dados com o objetivo de reunir essas informações e mantendo sua confidencialidade, integridade e disponibilidade, pois atualmente, obter informação rápida e confiável é vital para a sociedade. Sendo um dos mais utilizados atualmente o modelo de banco de dados relacional, proposto inicialmente em 1970. E para que seja possível essa manipulação e armazenamento de dados foram criados os SGDBs (Sistema de Gerenciamento de Banco de Dados). Com isso o estudo buscar apresentar o sistema de gerenciamento de banco de dados PostgreSQL muito utilizado atualmente de código aberto e que possui muitos recursos para realizar o armazenamento consultas, manipulação e segurança das informações. Palavras-chave: PostgreSQL, Postegres, Bancos de dados Relacional, SGBDs. 1 INTRODUÇÃO Este trabalho por meio de diversas pesquisas, análises e reflexões busca primeiramente demonstrar o conceito de banco de dados no modelo relacional, e posteriormente um dos mais utilizados SGDBs para o modelo relacional existentente nos dias de hoje o PostgreSQL. Através deste trabalho foi possível analisar a importância deste sistema gerenciador de banco de dados e sua preferencia por diversos profissionais e empresas no mundo. Devido ao mundo esta cada dia mais digital é impossível não se pensar no armazenamento de informações, bancos de dados possibilitam o controle e a disponibilização dessas informações e por isso tornaram-se elementos indispensáveis grandes tomadas de decisões que ocorrem diariamente em organizações. Nesse contexto os SGBDs com seus recursos para auxiliam a manipulação, atualização e disponibilidade dessas informações. 2 2 BANCO DE DADOS A expressão Banco de Dados originou-se do termo inglês Databanks. Este foi trocado pela palavra Databases – Base de Dados – devido possuir significação mais apropriada (SETZER; CORRÊA DA SILVA, 2005, p. 1). Mas afinal, o que é um banco de dados? Segundo DATE (2004, p. 10), “Um banco de dados é uma coleção de dados persistentes, usada pelos sistemas de aplicação de uma determinada empresa”. Em outras palavras, um banco de dados é um local onde são armazenados dados necessários à manutenção das atividades de determinada organização, sendo este repositório a fonte de dados para as aplicações atuais e as que vierem a existir. Para ELMASRI e NAVATHE (2011, p. 3), na expressão Banco de Dados estão subentendidas as propriedades abaixo: Um banco de dados representa algum aspecto do mundo real, às vezes chamado de minimundo ou de universo de discurso (UoD – Universe of Discourse). As mudanças no minimundo são refletidas no Banco de Dados. Um banco de dados e uma coleção logicamente coerente de dados com algum significado inerente. Uma variedade aleatória de dados não pode ser corretamente chamada de banco de dados. Um banco de dados é projetado, construído é populado com dados para uma finalidade específica. Ele possui um grupo definido de usuários e algumas aplicações previamente concebidas nas quais esses usuários estão interessados. Assim, um banco de dados é um conjunto organizado de dados relacionados, criado com determinado objetivo e que atende uma comunidade de usuários. 2.1 UTILIZAÇÃO Ao armazenarmos dados em um computador podemos fazê-lo utilizando bancos de dados, ou então, arquivos de dados permanentes. A abordagem de banco de dados é considerada a melhor forma, porque apresenta as seguintes vantagens: Controle centralizado de dados: os dados estão concentrados em um único local e isto proporciona um maior controle. Na abordagem de processamento de arquivos os dados estão dispersos, pois cada aplicação mantém arquivos de dados próprios. 3 Controle da redundância, redução do espaço de armazenamento e compartilhamento de dados: no processamento de arquivos convencional existe um desperdício do espaço de armazenamento, visto que uma mesma informação geralmente aparece em muitos arquivos diferentes. No enfoque de banco de dados o dado é armazenado apenas uma vez e pode ser compartilhado por diversos usuários. Eliminação de inconsistências e garantia de integridade: no método tradicional, baseado em arquivos, dada a repetição de informação armazenada, pode acontecer de um mesmo dado apresentar valores divergentes. Isso ocorre, por exemplo, quando um dado que está presente em dois arquivos é atualizado em apenas um local. Diz-se que os arquivos estão inconsistentes, pois apresentam entradas diferentes para um mesmo dado. E se falta consistência, não há integridade (o arquivo possui informações incorretas). Em banco de dados é possível manter a consistência e a integridade dos dados. Estabelecimento de padrões e facilidade de acesso aos dados: na abordagem de banco de dados, devido à centralização dos dados, torna-se mais propício instituir padrões de nomenclatura e documentação. Devido a essa padronização a recuperação de informação é mais eficiente. Na forma convencional de armazenamento, os dados estão espalhados em arquivos de diversos formatos e as aplicações que acessam esses dados foram escritas em linguagens de programação diferentes. Independência de dados: no sistema de arquivos, a definição da estrutura de armazenamento de dados, visto que é impossível alterar a estrutura dos arquivos de dados sem modificar o respectivo programa de aplicação. Bancos de dados, porém, possibilitam a independência de dados, pois permitem a abstração de dados. 3 MODELO RELACIONAL O modelo relacional foi proposto por Edgar Codd em 1970 e usa o conceito de relação matemática. Nesse modelo, o banco de dados é visto como uma coleção de relações e cada tupla da relação representa um fato. Outra nomenclatura para relações e tuplas é tabelas e linhas, respectivamente. Heuser (2008) define o modelo relacional como uma descrição dos tipos de informações que estão armazenadas em um banco de dados. Em um banco de dados relacional, os dados são armazenados em tabelas. Estas têm uma estrutura que se repetem a cada linha, de forma 4 muito similar a uma planilha. Os relacionamentos entre as tabelas são feitos através da utilização de chaves. Ainda segundo Heuser (2008), em um banco de dados relacional, há ao menos dois tipos de chaves a serem considerados: a chave primária, e a chave estrangeira. Uma chave primária é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha (geralmente chamada de tupla) das demais dentro de uma tabela. Ou seja, eles são atributos únicos a cada uma das tuplas de cada uma das diferentes tabelas. A chave estrangeira é uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela e em tabelas diferentes como atributo com a finalidade de formar uma espécie de par entre seu valor e o valor da chave primária desta outra tabela. Estes pares de chaves primárias e estrangeiras compõe um relacionamento entre as tuplas em questão. O processo de modelagem de sistemas de banco de dados relacionais é composto pelo projeto conceitual, com a construção de diagramas de Entidades-Relacionamentos(ER), o projeto lógico, com o mapeamento dos digramas ER para o modelo relacional de dados e no projeto físico, com a implementação do banco de dados com o uso de um SGBD. Figura 1. Diagrama ER para o modelo relacional, refente a entrega de um produto. Fonte: https://www.postgresql.org/ (2021) 5 3.1 PRINCIPAIS BANCOS RELACIONAIS Os bancos relacionais são a opção ideal para sistemas ERP, CRM ou de gerenciamento financeiro, em que é necessária uma grande consistência de dados, sua linguagem é o SQL (Structured Query Language) e seus principais representantes são Oracle, SQL Server, MySQL e PostgreSQL. Quadro 1. Principais SGBDs relacionais utilizados. SGBDs Oracle Oracle Database é o SGDB mais utilizado no mundo. Foi lançado no final dos anos 70, tendo como linguagem de programação oficial o PL/SQL. Suas funcionalidades priorizam a segurança e têm disponíveis uma ampla gama de recursos. A Oracle conta com recursos de segurança e performance considerados essenciais para empresas que têm aplicações críticas e muitos dados. Por isso, é mais indicado para grandes empresas ou aplicações que possuem requisitos de negócios mais complexos. SQL Server O SQL Server é um banco de dados relacional muito utilizado no mercado, criado pela Microsoft em 1988. Sua linguagem de programação é o T-SQL. O sistema oferece recursos avançados que facilitam a atualização dos dados e garantem a confiabilidade das informações armazenadas. No domínio corporativo, o SQL Server é usado por empresas de vários portes e segmentos, com destaque para indústrias, bancos e instituições governamentais. Além disso, é um dos mais usados em sites de e-commerce. MySQL Também pertencente à Oracle, esse é um banco de dados relacional Open Source (código aberto), cujo foco são os sistemas online. Utiliza a linguagem SQL como interface. Funciona sob as licenças de software livre e comercial. Com comprovado desempenho, confiabilidade e facilidade de uso, tornou-se a primeira opção para aplicativos baseados na Web, sendo utilizado pelos principais sites, entre eles o Facebook, Twitter, YouTube, Google e NASA. PostgreSQL Escolhido como tema principal do estudo, Trata-se de um banco de dados relacional Open Source, desenvolvido pela PostgreSQL Global Development Group. Por ser Open Source, é também outra opção muito utilizada para sistemas Web, inclusive por grandes companhias como a Apple, Skype. É um dos SGDB’s mais avançados, com recursos como consultas complexas, chaves estrangeiras, facilidade de acesso e integridade transacional. Tem muita semelhança com o Oracle, devido à sua linguagem e estrutura, porém não é tão sofisticado quanto ele e não exige um hardware muito poderoso. Fonte: https://www.opservices.com.br/banco-de-dados/(2021) 6 4 POSTGRESQL O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) objeto-relacional de código aberto, com mais de 15 anos de desenvolvimento. É extremamente robusto e confiável, além de ser extremamente flexível e rico em recursos. Ele é considerado objeto-relacional por implementar, além das características de um SGBD relacional, algumas características de orientação a objetos, como herança e tipos personalizados. A equipe de desenvolvimento do PostgreSQL sempre teve uma grande preocupação em manter a compatibilidade com os padrões SQL92/SQL99. O PostgreSQL (conhecido anteriormente como Postgres95) derivou do projeto Postgres da universidade de Berkley, cuja última versão foi a 4.2. O Postgres foi originalmente patrocinado pelo DARPA (Agência de Projetos de Pesquisa Avançada para Defesa), ARO (Departamento de Pesquisa Militar), NSF (Fundação Cinetífica Nacional) e ESL Inc. A implementação do projeto POSTGRES iniciou em 1986, já em 87 tornou-se operacional. A primeira versão lançada para o público externo foi em 1989. Devido a uma crítica feita ao seu sistema de regras, o Postgres teve essa parte re-implementada e lançada em uma segunda versão em 1990. Em 1991 foi lançada a versão 3, com melhorias no executor de consultas e algumas partes do código foram re-escritas. As versões subsequentes, até o Postgres95, foram focadas em confiabilidade e portabilidade. O Postgres foi utilizado para diversos sistemas de pesquisa e de produção, uma aplicação de análise financeira, um banco com rotas de asteróides, e diversos sistemas de informações geográficas. O código do Postgres foi aproveitado em um produto comercializado pela Illustra Information Technologies (posteriormente incorporada à Informix, que agora pertence à IBM). A versão seguinte, o Postgres95, teve mudanças radicais em relação ao projeto original. O seu código foi totalmente revisado, o tamanho dos fontes foi reduzido em 25%, e a linguagem SQL foi implementada como interface padrão. A performance foi consideravelmente melhorada e vários recursos foram adicionados. Em 1996 o nome Postgres95 tornou-se inadequado, o projeto foi rebatizado "PostgreSQL", para enfatizar a relação do Postgres original com a linguagem SQL. A numeração da versão voltou a seguir o padrão anterior ao Postgres95 (considerada a 5.0), e a primeira versão do PostgreSQL foi a 6.0. Enquanto a ênfase do Postgres95 tinha sido a correção 7 de falhas e otimização do código, o desenvolvimento das primeiras versões do PostgreSQL foi orientada à melhoria de recursos e implementação de novos recursos, sempre seguindo os padrões de SQL anteriormente estabelecidos. Figura 2. Logo PostgreSQL. Fonte: https://www.postgresql.org/ (2021) 4.1 POSTGRESQL HOJE Em 24 de Setembro de 2020, o Grupo de Desenvolvimento Global do PostgreSQL anunciou o lançamento do PostgreSQL 13, a versão mais recente do banco de dados de código aberto mais avançado do mundo. PostgreSQL 13 inclui melhorias significativas no seu sistema de indexação e busca que beneficia grandes bancos de dados, incluindo economia de espaço e ganho de desempenho para índices, tempos de resposta mais rápidos para consultas que usam agregações ou partições, melhor planejamento de consultas ao utilizar estatísticas aprimoradas. Junto com recursos altamente solicitados como VACUUM paralelizado e ordenação incremental, o PostgreSQL 13 fornece uma melhor experiência de gerenciamento de dados para cargas de trabalho grandes e pequenas, com otimizações para administração diária, mais conveniências para desenvolvedores de aplicações e melhorias de segurança. A equipe do projeto cresceu e se espalhou pelo mundo. O Grupo Global de Desenvolvimento do PostgreSQL tem membros nos Estados Unidos, Canadá, Japão, Russia, vários países da Europa e alguns outros. Esse grupo é formado essencialmente por empresas especializadas em PostgreSQL, empresas usuárias do sistema, além dos pesquisadores acadêmicos e 8 programadores independentes. Além da programação, essa comunidade é responsável pela documentação, tradução, criação de ferramentas de modelagem e gerenciamento, e elaboração de extensões e acessórios. Pela riqueza de recursos e conformidade com os padrões, ele é um SGBD muito adequado para o estudo universitário do modelo relacional, além de ser uma ótima opção para empresas implementarem soluções de alta confiabilidade sem altos custos de licenciamento. É um programa distribuído sob a licença BSD, o que torna o seu código fonte disponível e o seu uso livre para aplicações comerciais ou não. O PostgreSQL foi implementado em diversos ambientes de produção no mundo, entre eles, um bom exemplo do seu potencial é o banco de dados que armazena os registros de domínio .org, mantido pela empresa Afilias. 4.2 RECURSOS Sub-consultas. Controle de concorrência multi-versão (MVCC). Integridade Referencial. Funções armazenadas (Stored Procedures), que podem ser escritas em várias linguagens de programação (PL/PgSQL, Perl, Python, Ruby, e outras). Gatilhos (Triggers). Tipos definidos pelo usuário. Esquemas (Schemas). Conexões SSL. Áreas de armazenamento (Tablespaces). Pontos de salvamento (Savepoints). Commit em duas fases. Arquivamento e restauração do banco a partir de logs de transação. Diversas ferramentas de replicação. Extensões para dados geoespaciais, indexação de textos, xml e várias outras. 9 5 CONCLUSÃO Levando em consideração o tema abordado no trabalho, conclui-se que a utilização de banco de dados relacionais é indispensável nos dias de hoje aonde a sociedade esta sempre em contato com a tecnologia, seja nas compras online, em um saque no caixa eletrônico, o por meio de um pagamento no aplicativo e para essas demandas e infinitas outras tem que ser armazenado, manipulado e consultado milhares de informações. Essas informações com o banco de dados relacional são basicamente armazenadas em tabelas com linhas e colunas, aonde possuem vários relacionamentos entre essas tabelas. Nesse contexto, o PostgreSQL no qual foi abordado como tema principal do trabalho, com seus recursos e custos acessíveis torna-se umas das opções mais escolhidas nos dias de hoje para realizar e controlar essas informações, com recursos como consultas complexas, chaves estrangeiras, facilidade de acesso e integridade transacional e não exigindo hardwares poderosos assim baixando os custos para as empresas. Por ser de código aberto possui uma grande comunidade de usuários empenhados em realizar correções e atualizações, ótimo para estudos acadêmicos sobre bancos relacionais como este realizado seu uso é livre para aplicações comerciais ou não. 10 REFERÊNCIAS ELMASRI, Ramez; NAVATHE, Shamkant B.. SISTEMAS DE BANCO DE DADOS. 6. ed. São Paulo: Addison Wesley, 2011. DATE, C. J.. INTRODUÇÃO A SISTEMAS DE BANCOS DE DADOS. 8. ed. Rio de Janeiro: Elsevier, 2003. SETZER, Valdemar W.; SILVA, Flávio Soares Corrêa da. BANCOS DE DADOS: APRENDA O QUE SÃO, MELHORE SEU CONHECIMENTO, CONSTRUA OS SEUS. São Paulo: Edgard Blücher, 2005. CODD, E. F. A RELATIONAL MODEL OF DATA FOR LARGE SHARED DATA BANKS. Commun. ACM, ACM, New York, NY, USA, v. 13, n. 6, p. 377–387, jun. 1970. ISSN 0001-0782. Disponível em: http://doi.acm.org/10.1145/362384.362685. Acesso em: 01 dez 2021. HEUSER, C. A. PROJETO DE BANCO DE DADOS. 6. ed. [S.l.]: Bookman, 2008. ISBN 9788577803828. GOMES, Pedro César T. QUAIS OS PRINCIPAIS BANCOS DE DADOS E QUAIS SUAS DIFERENÇAS. Disponível em: https://www.opservices.com.br/banco-de-dados/ Acesso em: 01 dez 2021.
Compartilhar