Baixe o app para aproveitar ainda mais
Prévia do material em texto
Um Overview sobre Banco de Dados Tecnologias e Linguagens de Banco de Dados Diretor Executivo DAVID LIRA STEPHEN BARROS Gerente Editorial ALESSANDRA VANESSA FERREIRA DOS SANTOS Projeto Gráfico TIAGO DA ROCHA Autoria ALAN DE OLIVEIRA SANTANA JOÃO DANILO NOGUEIRA LEANDRO C. CARDOSO AUTORIA Alan de Oliveira Santana Olá. Sou mestre em Sistemas da Computação pela Universidade Federal do Rio Grande do Norte (2017) e possuo graduação em Ciência da Computação pela Universidade do Estado do Rio Grande do Norte, Natal, RN (2016). Tenho experiência na área de Ciência da Computação, com ênfase em Ciência da Computação, atuando principalmente nos seguintes temas: Tutores virtuais, Chatbots e Jogos educativos. Por isso fui convidado pela Editora Telesapiens a integrar seu elenco de autores independentes. Estou muito feliz em poder ajudar você nesta fase de muito estudo e trabalho. Conte comigo! João Danilo Nogueira Olá. Sou graduado em Ciência da Computação pelo Centro Universitário da Grande Fortaleza (Unigrande) e amo programar. Atualmente, o foco de minha expertise é na área de gerenciamento de projetos, teoria dos números, RSA e criptografia. Vai ser um prazer enorme ajudar você a se tornar um excelente desenvolvedor de software ou administrador de banco de dados. Conte comigo para lhe ajudar nessa trajetória rumo ao seu desenvolvimento profissional! Muito sucesso para você. Leandro C. Cardoso Olá. Sou graduado em Comunicação Social com habilitação em Design Digital, e mestre em Tecnologias da Inteligência e Design Digital pela Pontifícia Universidade Católica de São Paulo (PUC-SP), com mais de 20 anos de experiência em direção de arte e criação. Passei por empresas como a Laureate International Universities – FMU/Fiam-Faam, a Universidade Anhembi Morumbi e o Centro Paula Souza (Fatec-Etec). Já atuei como analista de desenvolvimento pedagógico sênior, coordenador de curso técnico de Design Gráfico e revisor técnico e validador para curso EAD para clientes Laureate International Universities, DeVry Brasil, Unef, FAESF, Faculdade Positivo, Uninter e Platos Soluções Educacionais S.A. (Krotonn – Universidade Anhanguera). Além disso, sou autor de mais de 24 livros didáticos e um dos organizadores da Maratona de Criação e Design do Curso de Comunicação Visual da Etec Albert Einstein. Sou apaixonado pelo que faço e adoro transmitir minha experiência de vida àqueles que estão iniciando em suas profissões. Por isso fui convidado pela Editora Telesapiens a integrar seu elenco de autores independentes. Estou muito feliz em poder ajudar você nesta fase de muito estudo e trabalho. Conte comigo! ICONOGRÁFICOS Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez que: OBJETIVO: para o início do desenvolvimento de uma nova competência; DEFINIÇÃO: houver necessidade de apresentar um novo conceito; NOTA: quando necessárias observações ou complementações para o seu conhecimento; IMPORTANTE: as observações escritas tiveram que ser priorizadas para você; EXPLICANDO MELHOR: algo precisa ser melhor explicado ou detalhado; VOCÊ SABIA? curiosidades e indagações lúdicas sobre o tema em estudo, se forem necessárias; SAIBA MAIS: textos, referências bibliográficas e links para aprofundamento do seu conhecimento; REFLITA: se houver a necessidade de chamar a atenção sobre algo a ser refletido ou discutido; ACESSE: se for preciso acessar um ou mais sites para fazer download, assistir vídeos, ler textos, ouvir podcast; RESUMINDO: quando for preciso fazer um resumo acumulativo das últimas abordagens; ATIVIDADES: quando alguma atividade de autoaprendizagem for aplicada; TESTANDO: quando uma competência for concluída e questões forem explicadas; SUMÁRIO Funcionalidades dos SGBDs .................................................................. 14 O que é um SGBD? ........................................................................................................................ 14 Funcionalidades de um SGBD ............................................................................................... 17 Ambientes de Gerenciamento de Banco de Dados ....................24 Interface Gráfica Versus Caractere .....................................................................................24 O Ambiente MySQL .......................................................................................................................27 Linguagens de Manipulação de Banco de Dados ........................ 31 As Linguagens de um SGBD .................................................................................................. 31 SGBDs Disponíveis no Mercado ............................................................39 Classificação Quanto ao Porte e tipo de Licenciamento .................................. 39 Classificação Quanto ao Paradigma ................................................................................. 40 11 UNIDADE 01 Tecnologias e Linguagens de Banco de Dados 12 INTRODUÇÃO Você sabia que uma das etapas iniciais do aprendizado nas tecnologias e linguagens de banco de dados é adquirir uma visão geral sobre os sistemas de gerenciamento de banco de dados (SGBDs) disponíveis no mercado, bem como suas funcionalidades, ambientes e linguagens de manipulação? Isso mesmo. Para isso, você deve saber conceituar o que é um SGBD. A melhor maneira é “mergulhar” no universo dos sistemas gerenciadores de banco de dados, compreendendo as funcionalidades típicas desses softwares, assim como seus ambientes de gerenciamento, suas linguagens de manipulação e atualização de banco de dados, além de conhecer seus principais modelos e arquiteturas disponíveis no mercado. Entendeu? Ao longo desta unidade letiva você vai “mergulhar” neste universo! Tecnologias e Linguagens de Banco de Dados 13 OBJETIVOS Olá. Seja muito bem-vindo à Unidade 1 – Um overview sobre banco de Dados. Nosso objetivo é auxiliar você no desenvolvimento das seguintes competências profissionais até o término desta etapa de estudos: 1. Identificar as funcionalidades de um SGBD. 2. Compreender como funcionam os ambientes de gerenciamento de banco de dados. 3. Entender o funcionamento das linguagens de manipulação de banco de dados. 4. Identificar os principais gerenciadores de banco de dados disponíveis no mercado mundial. Tecnologias e Linguagens de Banco de Dados 14 Funcionalidades dos SGBDs OBJETIVO: Ao término deste capítulo, você será capaz de compreender as funcionalidades de um SGBD. Isso será fundamental para o exercício de sua profissão. E então? Motivado para desenvolver esta competência? Então, vamos lá. Avante! O que é um SGBD? Para começarmos a entender realmente o que é um SGBD, precisamos internalizar a ideia de que se trata de um tipo de software muito especial. Dependendo do porte, este pode não passar de um mero programa de computador, ou exercer a função de um ambiente operacional que assume o controle de um servidor de rede. DEFINIÇÃO: SGBD é a sigla para sistema de gerenciamento de banco de dados, podendo ser denominado, também, como Database Management System (DBMS). Os SGBDs são conjuntos de softwares que, operando em sincronismo, conseguem oferecer as funções de gerenciamento de um ou mais bancos de dados ao seu usuário principal, mais conhecido como administrador de dados (ou Database Administrator) (ROCHA; DIAS, 2015). A necessidade de ter um SGBD vem de longas datas. No princípio da história recente dos computadores, quando os dados deixaram de ser armazenados em cartões perfurados e fitas magnéticas para serem gravados e atualizados dinamicamente em discos magnéticos, os programadores começaram a estabelecer um marco divisor entre processamento de dados em memória e atualização de dados em disco. Tecnologias e Linguagens de Banco de Dados 15 Figura 1 – Osdados passaram a ser processados na CPU e gravados em disco rígido Fonte: Nogueira (2017b). Com a invenção do disco rígido, as organizações passaram a digitalizar cada vez mais suas informações, estabelecendo, assim, um “divisor de águas” entre a guarda de documentos físicos e digitais. Os bancos foram os pioneiros nessa difícil transição. Até o final da década de 1970, o acervo de informações bancárias era, oficialmente, guardado em documentos físicos de movimentação de contas-correntes. Os extratos bancários eram microfilmados e armazenados em pastas até sua consolidação contábil no final do ano. SAIBA MAIS: Veja a seguir o processo de microfilmagem em vídeo. Para acessar, clique aqui. Ao longo da década de 1980, os dados foram deixando de ter o meio físico como principal forma de armazenagem, até desaparecerem por completo do papel no início da década de 1990 Tecnologias e Linguagens de Banco de Dados https://youtu.be/IRJadfEoKhs 16 Figura 2 – Leitor de microfilmagem Fonte: Wikimedia Commons. No entanto, o conceito de SGBD, formalmente dito, data de bem antes. Ainda na década de 1960, a International Business Machines Corporation (IBM) iniciou uma série de pesquisas sobre rotinas de automação de escritório, quando lançou o primeiro conceito de bancos de dados relacionais. Com esse novo conceito, a empresa pretendia reduzir o trabalho operacional que as empresas despendiam na organização e na indexação dos dados. Esse trabalho passou a ser realizado automaticamente por esses softwares, batizados de “sistemas de gerenciamento de banco de dados”. Tecnologias e Linguagens de Banco de Dados 17 VOCÊ SABIA? A IBM é a mais antiga empresa do segmento de Tecnologia da Informação em todo o mundo. Também conhecida como “Big Blue”, reinou absoluta no mercado da década de 1950 até meados de 1990, quando a Microsoft passou a liderar o segmento dos sistemas operacionais para microcomputadores pessoais, com o Windows 95. Mas foi no início da década de 1980 que uma empresa chamada Oracle inovou o conceito de banco de dados relacional, com o lançamento de um SGBD baseado na linguagem padrão para manipulação e atualização de dados, intitulada Structured Query Language (SQL). Com isso, a Oracle, com o seu SGBD denominado “Oracle 2”, passou a ser a principal concorrente da IBM, que lançou o SQL/DS logo em seguida. Os SGBDs foram sendo aprimorados ao longo da década de 1980. Nesse período houve o surgimento de inúmeros concorrentes para a Oracle e a IBM, começando pela própria Microsoft, que lançou o seu SGBD em 1988, em parceria com a empresa Sybase: o Microsoft SQL Server. Mas foi na década de 1990 que houve os mais significativos avanços dos sistemas de gerenciamento de banco de dados. Um dos marcos mais importantes dessa década foi o lançamento dos primeiros SGBDs de código aberto do mercado, começando com o MySQL em 1995, seguido do PostgreSQL (1997), entre outros. Também, a partir da década de 1990, começou uma forte escalada do aumento da capacidade de armazenamento de informações por parte dos SGBDs, saindo da casa dos megabytes (década de 1980) até os terabytes da atualidade (NOGUEIRA, 2017b). Funcionalidades de um SGBD Mas, afinal, para que servem os SGBDs? Por que eles são tão importantes e necessários no mundo da Tecnologia da Informação? As respostas a esses questionamentos podem ser deduzidas facilmente se voltarmos no tempo, desde a época em que os programadores Tecnologias e Linguagens de Banco de Dados 18 desenvolviam programas para interagir diretamente com os arquivos de dados. Antigamente, esses profissionais tinham que deter uma lógica de programação bastante apurada, além de um cuidado redobrado com as atualizações dos dados naqueles arquivos. Qualquer deslize poderia ser fatal para a integridade das informações armazenadas. Imagine que um programa precise realizar as seguintes operações a cada vez que um lançamento bancário é efetuado em uma conta-corrente: • Debitar ou creditar o valor do lançamento na conta. • Recalcular o saldo da conta com base neste lançamento. Se o programador esquecer de atualizar o saldo da conta-corrente após um desses lançamentos, teremos um dado inconsistente em um dos arquivos da base de dados (ContaCorrente). Imaginou o tamanho do problema? É para prevenir situações dessa natureza que os SGBDs costumam agir. Se um banco de dados relacional é criado e formatado em um SGBD também relacional, mesmo que o programador esqueça alguns detalhes como esse, a integridade dos dados será assegurada, pois o SGBD atua como interface entre o programa e os arquivos de dados (as tabelas). É isso que chamamos de “integridade referencial”. DEFINIÇÃO: É a propriedade que os SGBDs relacionais têm que garante o respeito às regras de negócio estabelecidas entre as tabelas geradas a partir do modelo de entidade-relacionamento de um banco de dados (ROCHA; DIAS, 2015). Os SGBDs impõem restrições quanto à atualização indiscriminada em tabelas de acordo com as regras de negócio definidas desde a criação do banco de dados. Tecnologias e Linguagens de Banco de Dados 19 Figura 3 – Os SGBDs impõem restrições quanto à atualização indiscriminada em tabelas de acordo com as regras de negócio definidas Fonte: Nogueira (2017b). Antes da criação desse banco de dados, existe uma fase denominada “Modelagem de dados”, em que as entidades de dados (que se transformarão em tabelas) são desenhadas e associadas umas às outras por meio de relacionamentos de 1:1 (um para um), 1:N (um para muitos) ou N:N (muitos para muitos). Figura 4 – Na modelagem de dados, as entidades de dados são desenhadas e associadas umas às outras por meio de relacionamentos Fonte: Nogueira (2017b). Tecnologias e Linguagens de Banco de Dados 20 Mas, será que os SGBDs só servem para isso? Negativo. Existem inúmeras outras funcionalidades de um sistema de gerenciamento de banco de dados, além da garantia da integridade referencial. É importante conhecer sobre controle de acessos concorrentes, por exemplo, quando muitos usuários acessam e atualizam dados simultaneamente em uma mesma tabela, isso pode gerar dados inconsistentes. Os SGBDs têm dispositivos que iniciam e fecham uma transação de atualização de dados, evitando que, por exemplo, dois clientes efetuem saques em uma mesma conta-corrente a partir de diferentes dispositivos ao mesmo tempo. Se isso ocorrer, o SGBD enfileira essas transações de tal modo que a primeira seja totalmente processada para, somente depois, acontecer o mesmo com a segunda. Além disso, a política de permissões e restrições de acesso a dados é importante, pois nem todo mundo pode ter acesso a todos os dados de um banco de dados. Os usuários do departamento de Recursos Humanos (RH), por exemplo, podem ter acesso aos dados cadastrais dos clientes de um banco, mas não aos saldos de suas contas-correntes. Assim, como podemos informar essa regra de negócio a todos os programadores que trabalham nessa instituição financeira? Isso não é necessário. O próprio SGBD dispõe de recursos para restringir o acesso a cada dado de cada tabela do banco de dados, independentemente da vontade do programador ou de erros ocasionais cometidos na lógica algorítmica desses programas. A rastreabilidade dos dados é fundamental, pois mesmo quando ocorre um “furo” na política de segurança de acesso a dados, como um usuário utilizar a senha de outro a partir de um dispositivo móvel ou de sua própria casa, o SGBD dispõe de meios para rastrear o histórico de acessos e atualizações de cada dado do banco de dados. Na prática, para cada dado, de cada tabela, o SGBD armazena o que chamamos de “log”, a partir do qual é possível, não apenas descobrir quem alterou o que, quando e de onde, como também voltar ao status anterior àquela suposta atualização fraudulenta. Tecnologias e Linguagens de Banco de Dados21 Figura 5 – Quando acontecem falhas na política de segurança, o SGBD dispõe de meios para rastrear o histórico de acessos e atualizações de cada dado do banco de dados Fonte: Freepik Sobre backup e restore, os SGBDs permitem que os dados de um banco de dados sejam copiados para outro espaço físico, no próprio servidor, em outro servidor ou na Nuvem. Esse mecanismo pode ser manual ou automático; nessa última hipótese, o administrador de dados pode definir rotinas diárias, semanais, mensais etc., para efetuar o backup de parte ou de todo o banco de dados. Figura 6 – Backup na Nuvem: o administrador de dados pode definir rotinas para efetuar o backup de parte ou de todo o banco de dados Fonte: Freepik. Tecnologias e Linguagens de Banco de Dados 22 De modo análogo, os SGBDs também dispõem de mecanismos de recuperação (ou restore) de dados, sendo capazes de repor o banco de dados exatamente no mesmo status em que estavam em determinada data e hora. Essa recuperação de dados também pode ser seletiva, ou seja, de uma ou mais tabelas do banco, por exemplo. Em relação à interface interativa, os primeiros SGBDs funcionavam apenas como interface entre programas e dados. À medida que esses sistemas foram se aprimorando, suas interfaces foram ficando mais e mais amigáveis, de modo que, atualmente, é possível extrair inúmeros tipos de relatórios e consultas diretamente do SGBD, sem a necessidade de recorrer a programas ou à inserção de comandos SQL no ambiente de gerenciamento de banco de dados. SAIBA MAIS: Para se aprofundar nos temas desta aula, recomendamos o acesso ao artigo a seguir. Para acessar, clique aqui. As interfaces dos SGBDs têm se desenvolvido bastante, oferecendo uma experiência de altíssimo valor agregado ao usuário final, como o Business Intelligence (BI), que significa “inteligência de negócio”, que consiste na geração automática de informações provenientes de inteligência artificial. Essas informações são capazes de alertar o cliente final sobre tendências e fenômenos imprevisíveis no universo de suas informações. Alguns SGBDs oferecem recursos de assistentes e tutoriais para gerar informações de alto valor agregado para o próprio usuário final, com gráficos e subtotalizadores amigáveis. Tecnologias e Linguagens de Banco de Dados https://livrozilla.com/doc/424454/import%C3%A2ncia-do-banco-de-dados-nas-aplica%C3%A7%C3%B5es 23 RESUMINDO: E então? Gostou do que lhe mostramos? Aprendeu mesmo tudinho? Agora, só para termos certeza de que você realmente entendeu o tema de estudo deste capítulo, vamos resumir tudo o que vimos. Você deve ter aprendido o que é um SGBD, que significa “sistema gerenciador de banco de dados”. Os SGBDs são, na realidade, softwares robustos que têm por objetivo servirem de interface entre os programas e os dados armazenados em um servidor. Se não fossem os SGBDs, não seria possível garantir a segurança e a integridade dos dados. Esses sistemas assumem o controle de acesso e atualização das informações armazenadas nos arquivos de dados, que, aqui, são chamados de “tabelas”. Além da segurança dos dados, os SGBDs cuidam da integridade referencial das tabelas, ou seja, impedem que as tabelas relacionadas entre si tenham dados alterados ou linhas excluídas em desrespeito às regras de negócio programadas em sua estrutura, como deletar um funcionário cadastrado em uma tabela sem antes deletar seus dependentes em outra, e assim por diante. Tecnologias e Linguagens de Banco de Dados 24 Ambientes de Gerenciamento de Banco de Dados OBJETIVO: Ao término deste capítulo, você será capaz de compreender como funcionam os ambientes de gerenciamento de banco de dados. Isso será fundamental para o exercício de sua profissão. E então? Motivado para desenvolver esta competência? Então, vamos lá. Avante!. Interface Gráfica Versus Caractere Normalmente, os SGBDs oferecem dois tipos de interfaces para a manipulação de seus bancos de dados. São elas, a interface caractere (ou via comando de Prompt) e a interface gráfica, em que as tabelas e demais objetos dos bancos de dados podem ser manipulados por meio de janelas e botões. Usando a interface caractere, temos que conhecer a sintaxe dos comandos para criação, alteração e eliminação de tabelas. Figura 7 – Backup na Nuvem Fonte: Reprodução Prompt de comando Windows. Tecnologias e Linguagens de Banco de Dados 25 Na interface gráfica, é possível realizar essas operações de forma intuitiva, mas, antes de avançarmos quanto ao conhecimento desses ambientes, vamos entender de que maneira um SGBD permite ao administrador de dados (DBA) realizar tais operações. Figura 8 – Na interface gráfica, é possível realizar essas operações de forma intuitiva Fonte: Reprodução MySQL. Um banco de dados é uma coleção de tabelas relacionadas entre si, e manipular um banco de dados é, antes de qualquer coisa, ter acesso à estrutura de suas tabelas. A estrutura de uma tabela é descrita por meio de linhas e colunas, em que cada linha representa um registro de dados nela gravado. Cada coluna simboliza um campo de dado (ou atributo), que se repete em todas as suas linhas. Manipular a estrutura de uma tabela é, portanto, alterar as propriedades de suas colunas, como tipo, tamanho e classe (se é uma chave primária, secundária ou estrangeira, por exemplo). No ato de sua criação, o DBA pode descrever livremente como será a estrutura de cada uma das tabelas de seu banco de dados, e como estas irão se relacionar entre si. No entanto, uma vez povoadas com dados reais, toda e qualquer modificação em sua estrutura poderá acarretar perda de dados. Imagine que você deseja adicionar a coluna “telefone celular” a uma tabela de funcionários que já contém cerca de 1.500 linhas gravadas. Ao incluir mais uma coluna nessa tabela, há de se esperar que seus dados fiquem em branco até que alguém resolva povoá-los com as informações Tecnologias e Linguagens de Banco de Dados 26 pertinentes aos telefones celulares dos respectivos funcionários. Em uma situação ainda mais grave, imagine que uma determinada coluna precise ser eliminada da estrutura de uma tabela com mais de 10 mil linhas gravadas? Uma vez eliminada essa coluna, os dados ali povoados serão perdidos e não mais poderão ser recuperados. IMPORTANTE: É grande a responsabilidade do DBA, pois ele tem o poder de criar e fazer desaparecer toda e qualquer informação da base de dados da empresa. Dada a criticidade das operações envolvendo a alteração de estrutura das tabelas de um banco de dados, o ambiente de gerenciamento do SGBD deve oferecer um nível máximo de segurança, de modo que somente o DBA da organização tenha o poder de criar, alterar ou eliminar colunas nas tabelas de um banco de dados. Ao acionar o ambiente de gerenciamento de banco de dados, o usuário deve se “logar” no SGBD. Dependendo dos poderes estabelecidos para o seu perfil, ele poderá ter acesso pleno a todas as tabelas e dados, ou apenas para leitura (consulta) das tabelas. Para exemplificar, apresentamos a seguir a forma de acionamento do ambiente do MySQL (usando a interface caractere ou comando de Prompt). EXEMPLO: C:\mysql\bin> mysql –u usuário senha Como resultado disso, teremos a seguinte mensagem sendo exibida pelo MySQL, ainda na interface caractere: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.0.27-community-log Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql>_ Tecnologias e Linguagens de Banco de Dados 27 A partir da execução do módulo de gerenciamento (ou administração) do MySQL, o DBA poderá digitar qualquer comando aceito pelo SGBD neste estado de Prompt. O Ambiente MySQL O MySQL é um SGBD baseado na linguagem SQL, que significa, em português, linguagem estruturada de consulta. É um dos bancos de dados mais utilizados no mundo, com clientes comoNASA, HP, Sony, Nokia, Lufthansa, Forças Armadas dos Estados Unidos, Federal Reserve Bank, Cisco Systems, Google, entre inúmeras outras organizações. Devido à sua simplicidade, o MySQL é, normalmente, o primeiro banco de dados a ser usado pelos programadores iniciantes. Essa é uma das razões de adotá-lo nesta disciplina como exemplo, visto ser utilizado para iniciantes da carreira de programador, desenvolvedor de software ou administrador de dados. Assim, é importante estar sempre atualizado nas versões dos MySQL, de maneira ilustrativa. E, para aprendizado, está sendo utilizada a versão 1.0.8. É recomendado acessar o site oficial para obter informações das versões mais recentes. Figura 9 – Instalador do MySQL Fonte: Reprodução MySQL. Tecnologias e Linguagens de Banco de Dados 28 O MySQL é um software sueco, desenvolvido por David Axmark, Allan Larsson e Michael “Monty” Widenius. Esses profissionais trabalharam juntos ao longo da década de 1980 para lançar um gerenciador de banco de dados de código aberto. O projeto deu tão certo que, atualmente, mais de 400 profissionais trabalham em cima de sua manutenção ao longo de todo o mundo, isso sem falar nos mais de 1.000 usuários que testam o MySQL e o integram com outros produtos. Em 2008, a Sun Microsystem adquiriu a empresa MySQL AB, fabricante do MySQL. A transação girou em torno de US$ 1 bilhão, uma vez que a ferramenta envolvida na compra foi um software livre. Apenas um ano mais tarde, a Oracle comprou a Sun Microsystems, juntamente com o MySQL, o Java e outros produtos da empresa. O sucesso do MySQL, enquanto produto comercial, se deu em função de sua fácil integração com a linguagem de programação para web PHP. A dobradinha PHP e MySQL é, até a atualidade, um pacote obrigatório na hospedagem de sites da internet. Todavia, foi a altíssima performance do produto que atraiu a atenção da Sun e da Oracle, performance esta que fez com que a NASA, Yahoo, Motorola, Silicon Graphics e Texas Instruments adotassem o MySQL como solução em banco de dados de missão crítica. A Wikipédia, por exemplo, utiliza o MySQL em seus sites, uma verdadeira “prova de fogo” para essa ferramenta. O SGBD MySQL é compatível com o padrão Unicode de caracteres. Esse padrão permite ao banco de dados representar textos em quaisquer sistemas de escrita (idiomas e alfabetos) existentes, sendo constituído de cerca de 107 mil símbolos e caracteres, além de inúmeros diagramas visuais (ideogramas), com metodologia de ordenação alfabética e renderização. O MySQL permite ainda Full Text Indexes (indexação por textos completos), além de replicação de dados, cópias de segurança dinâmicas (Hot Backup), Geographic Information System (GIS), Online Analytical Processing (Olap) e mais: • Portabilidade para qualquer plataforma atual (Oracle, SQL Server, PostgreSQL etc). Tecnologias e Linguagens de Banco de Dados 29 • Disponibilidade de drivers ODBC, JDBC, .NET (dot Net) e módulos de interface para linguagens como Delphi, Visual Basic, C/C++, C#.Net, Java, Python, Perl, PHP, ASP.Net e Ruby). • Alto desempenho e estabilidade. • Leveza, ou seja, não requer muitos recursos de hardware. • Simplicidade de operação. • Software livre com base na General Public License (GPL, ou licença pública geral). IMPORTANTE: No caso dos softwares com licenças baseadas na GPL, o software resultante de seu uso também deverá ter licença GPL, caso contrário, uma licença comercial deverá ser adquirida. O MySQL permite, também, utilizar vários robôs de armazenagem (storage engines), tais como o Falcon, MyISAM, BDB, InnoDB, Federated, Archive, Solid, CSV, entre outros; além de usar controle transacional e gatilhos (ou triggers). SAIBA MAIS: Normalmente, quem começa a programar utilizando o MySQL como SGBD experimental, migra para o PostgreSQL na sequência. Por que será? Descubra o motivo no artigo a seguir. Para acessar, clique aqui. É compatível com Cursors (Non-Scrollable e Non-Updatable), além de implementar o conceito de stored procedures e functions, replicação de tabelas facilmente configuráveis e interfaces gráficas alternativas, como o MySQL Toolkit. Tecnologias e Linguagens de Banco de Dados https://www.devmedia.com.br/postgresql-x-mysql-qual-escolher/3923 30 RESUMINDO: E então? Gostou do que lhe mostramos? Aprendeu mesmo tudinho? Agora, só para termos certeza de que você realmente entendeu o tema de estudo deste capítulo, vamos resumir tudo o que vimos. Você deve ter aprendido que os SGBDs dispõem de interfaces para propiciar o gerenciamento dos bancos de dados. Essas interfaces, normalmente, oferecem recursos interativos de acesso e manipulação das tabelas dos bancos de dados. Assim, é importante entender como são apresentadas as interfaces típicas de um ambiente de gerenciamento de banco de dados e como o acesso e a manipulação das tabelas se comportam. Tecnologias e Linguagens de Banco de Dados 31 Linguagens de Manipulação de Banco de Dados OBJETIVO: Ao término deste capítulo, você será capaz de entender como funcionam as linguagens de manipulação de banco de dados. Isso será fundamental para o exercício de sua profissão. E então? Motivado para desenvolver esta competência? Então, vamos lá. Avante!. As Linguagens de um SGBD Os SGBDs relacionais são baseados em um conjunto de linguagens script com referência na SQL (NOGUEIRA, 2017c). Essa linguagem foi convencionada pela American National Standards Institute – ANSI, ou Instituto Nacional Americano de Padrões. Isso significa que a linguagem SQL é um padrão internacional praticamente imutável de um SGBD para outro. Mas, quando se trata de definir, manipular e implementar rotinas de controle da segurança dos dados de um SGBD, os comandos começam a modificar-se significativamente de um ambiente para outro. Por isso, os comandos aceitos pelas linguagens dos SGBDs, de um modo geral, foram classificados em quatro grupos distintos, como mostra a Figura 10. Figura 10 – Grupos de comandos aceitos pelas linguagens dos SGBDs Fonte: Nogueira (2017c). Tecnologias e Linguagens de Banco de Dados 32 A SQL foi a primeira das linguagens de banco de dados a ser criada e convencionada pelo ANSI, e seu objetivo primordial é permitir a consulta a dados em um banco de dados relacional. DEFINIÇÃO: A sigla SQL significa Structured Query Language, ou linguagem estruturada de consultas, e é utilizada por todos SGBDs com bancos de dados relacionais. Por ser uma linguagem script, a SQL pode ser utilizada dentro de programas escritos nas mais variadas linguagens de programação do mercado mundial, tais como Java, PHP, Visual Basic, C#.Net e até linguagens bastante antigas como o Cobol, por exemplo. É enorme a variação de cláusulas e condições empregáveis em um comando SQL, e uma das mais importantes está relacionada ao comando SELECT. Para tanto, é recomendado praticarmos exaustivamente a sua utilização em programas e scripts de consulta a tabelas de banco de dados. Sobre a linguagem DDL, antigamente era considerada como uma parte da SQL; anos mais tarde, ganhou o status de linguagem autônoma. Atualmente, é utilizada, de um modo geral, para declarar e descrever as estruturas de dados de um banco de dados. DEFINIÇÃO: Traduzindo “ao pé da letra”, podemos afirmar que a DDL significa “linguagem de definição de dados”, do inglês Data Definition Language. O objetivo da DDL é oferecer um conjunto de comandos que permite a criação e modificação das estruturas de um banco de dados. Os comandos DDL são capazes de criar, alterar e eliminar estruturas de dados, como tabelas, visões e associações (relacionamentos) entre elas. Uma vez criadas, essas estruturas incorporam os parâmetros utilizados no comando de criação/alteração da linguagem DDL, que ficam registrados no dicionário de dados do banco de dados. Tecnologias e Linguagens de Banco de Dados33 IMPORTANTE: O dicionário de dados é um conjunto de arquivos que contém os dados descritivos das estruturas do banco de dados como tabelas, visões e relacionamentos. A esses dados descritivos damos o nome de “metadados”, que são consultados pelo próprio banco de dados a cada transação envolvendo suas estruturas. Para entender melhor, imagine que certo programa queira manipular alguns campos como nome e endereço de uma tabela de clientes. Nesse momento, o SGBD verificará se esses campos, de fato, pertencem a essa tabela, se estão associados a outras tabelas ou a índices (arquivos organizadores da tabela), entre outros requisitos definidos no ato da criação daquela tabela. A linguagem DDL é, portanto, uma linguagem interpretada, ou seja, é processada por um interpretador incorporado ao próprio SGBD, que podemos chamar, também, de DDL. São esses os comandos interpretados pelo DDL: • CREATE: esse comando constrói uma nova estrutura de dados, desde o próprio banco de dados até suas estruturas mais simples, como tabelas, índices e consultas pré-programadas (que ficam armazenadas em forma de tabelas independentes). Dependendo do tipo de SGBD utilizado, algumas estruturas podem e outras não podem ser criadas por esse comando. No entanto, todos eles aceitam, pelo menos, a criação de tabelas, índices e usuários. O comando CREATE tem várias formas de declaração. • DROP: esse comando faz o oposto do CREATE, ou seja, elimina uma estrutura de dados, isto é, é capaz de remover tabelas, visões, consultas armazenadas, índices, usuários etc. • ALTER: finalmente, o comando ALTER serve para modificar as estruturas de dados criadas anteriormente pelo comando CREATE, aplicando-se, portanto, a todos os tipos suportados Tecnologias e Linguagens de Banco de Dados 34 por aquele comando, como tabelas, índices, usuários, consultas armazenadas etc. Vejamos alguns exemplos desses comandos. EXEMPLO: CREATE TABLE funcionarios ( Id INTEGER PRIMARY KEY, Nome CHAR(50) null, Sobrenome CHAR(75) not null, Aniversario DATE null ); O comando acima cria uma tabela de funcionários chamada “funcionários”. EXEMPLO: ALTER TABLE funcionários ADD Salario INTERGER; Este altera a tabela “funcionários”, adicionando-lhe uma coluna (ou campo de dado) intitulada “Salario”. EXEMPLO: DROP TABLE funcionarios; Além de outros comandos, por exemplo, o que elimina a tabela “funcionários” recém-criada. IMPORTANTE: Não se preocupe em entender a sintaxe desses comandos agora, voltaremos a ela mais adiante, com muitos exercícios e variações de casos. Tecnologias e Linguagens de Banco de Dados 35 Sobre a linguagem DML, para começarmos nossa conversa sobre ela, vamos colocar uma controvérsia logo de saída: o SQL faz ou não faz parte da DML? Antes de respondermos a essa pergunta, vamos entender, primeiramente, o que vem a ser DML. DEFINIÇÃO: A sigla DML vem do inglês e significa Data Manipulation Language, ou seja, linguagem de manipulação de dados. Em termos práticos, a linguagem DML tem por finalidade permitir a manipulação de dados, com as operações de inclusão, remoção e modificação de informações dentro das estruturas do banco de dados (NOGUEIRA, 2017c). Pela definição de DML, vemos que “manipular dados” tem a ver com modificá-los. No entanto, alguns autores defendem que a linguagem SQL faz parte desse conjunto, uma vez que, ao definir uma consulta à base de dados, uma estrutura de dados é criada, ainda que virtualmente. Ao realizar uma consulta a um banco de dados, por mais simples que seja, o SGBD cria uma tabela temporária para conter apenas os dados resultantes do argumento daquela consulta. Assim, ao ser executado um comando SQL, uma “visão” daquele conjunto de dados é gerada dinamicamente. Inclusive, como veremos mais adiante, essa “visão” pode ser salva e manipulada como se fosse uma tabela independente. São estes os comandos integrantes da linguagem DML: • INSERT: esse comando é capaz de adicionar linhas a uma tabela, declarando todos os valores a serem gravados nos campos de dados dessa nova linha. • UPDATE: com uma sintaxe bastante similar à do INSERT, esse comando é capaz de regravar dados em uma ou mais linhas da tabela que satisfaçam determinada condição. Esta é declarada como um parâmetro do comando UPDATE, exatamente da mesma forma como se declara em um comando SELECT da linguagem SQL. Tecnologias e Linguagens de Banco de Dados 36 • DELETE: esse comando remove, logicamente, uma ou mais linhas de uma tabela. Assim como o UPDATE, o comando DELETE utiliza instruções declarativas para determinar que conjunto de linhas deve ser excluído da tabela. A exclusão lógica provocada pelo processamento de um comando DELETE significa, por assim dizer, que as linhas podem ser recuperadas posteriormente. Não obstante, essa operação tem uma série de implicações e, dependendo do SGBD, nem mesmo é permitida. Vamos visualizar alguns exemplos desses comandos. EXEMPLO: INSERT INTO funcionários(nome, salario) VALUES (‘Mário Alberto’, 4500); O comando acima adiciona uma nova linha na tabela “funcionarios” para o funcionário “Mário Alberto”, com um salário de R$ 4.500,00. EXEMPLO: UPDATE funcionarios; SET salario = salario * 1,1 WHERE salario > 1000 ; Já o comando acima altera o salário de todos os funcionários que ganham mais de R$ 1.000,00, com um aumento de 10%. EXEMPLO: DELETE FROM f u n c i o n a r i o s ; WHERE situacao = “INATIVO” ; Tecnologias e Linguagens de Banco de Dados 37 Por fim, temos o comando DELETE que, no exemplo acima, exclui, logicamente, todos os funcionários cujo campo “situação” aparece como “INATIVO”. A linguagem DCL é a última linguagem de nosso estudo de banco de dados. Diferentemente de SQL e DML, os comandos dessa linguagem diferem bastante de SGBD a SGBD, pois trata dos aspectos relacionados à segurança da informação. DEFINIÇÃO: A sigla DCL vem do inglês e significa Data Control Language, ou seja, linguagem de controle de dados. A linguagem DCL tem em vista permitir a criação e a revogação de políticas de acessos e restrições aos dados das tabelas e demais estruturas de dados de um banco de dados (NOGUEIRA, 2017c). Basicamente, a linguagem DCL contempla três comandos: o primeiro recebe o nome de GRANT. Esse comando concede direitos a usuários e programadores para acessar, modificar e/ou eliminar tabelas e outras estruturas de dados de um banco de dados. O segundo comando recebe o nome de DENY e implementa um estado de exceção, ou seja, restringe a alguns usuários o acesso que acaba de ser dado por um comando GRANT, porém sem afetar os demais usuários que obtiveram acesso. O terceiro recebe o nome de REVOKE. Este comando realiza a operação inversa do GRANT, isto é, revoga uma permissão atribuída a alguém anteriormente. SAIBA MAIS: Acesse este link de aprofundamento e conheça os principais comandos da família de linguagens SQL. Para acessar, clique aqui. Diferentemente dos comandos SQL e DML propriamente ditos, os comandos DCL variam muito de gerenciador a gerenciador de banco de Tecnologias e Linguagens de Banco de Dados https://becode.com.br/comandos-sql-nao-pode-viver-sem/ 38 dados, alguns deles, por exemplo, sequer permitem que esses comandos sejam executados a partir de outros programas. RESUMINDO: E então? Gostou do que lhe mostramos? Aprendeu mesmo tudinho? Agora, só para termos certeza de que você realmente entendeu o tema de estudo deste capítulo, vamos resumir tudo o que vimos. Você deve ter aprendido que para aprender a codificar instruções de consulta, atualização e definição de dados, primeiro, é fundamental compreender as formas de aplicação das linguagens no ambiente interativo e em programas, nas mais variadas linguagens. Para tanto, é necessário entender o princípio defuncionamento das linguagens, por exemplo, SQL, DDL, DML e DCL. Cada linguagem reúne comandos capazes de consultar, definir, manipular e controlar a segurança dos dados em um SGBD. Tecnologias e Linguagens de Banco de Dados 39 SGBDs Disponíveis no Mercado OBJETIVO: Ao término deste capítulo, você conhecerá exemplos de gerenciadores de banco de dados. Isso será fundamental para o exercício de sua profissão. E então? Motivado para desenvolver esta competência? Então, vamos lá. Avante! Classificação Quanto ao Porte e tipo de Licenciamento Para quem deseja um alto nível de segurança e um excelente desempenho no processamento de grandes volumes de dados, existem várias opções, mas é importante estar sempre atualizado sobre novos sistemas de banco de dados que estão por vir, são exemplos de alguns já existentes: • Oracle. • SQL Server da Microsoft. • DB2 da IBM. • PostgreSQL. Os três primeiros SGBDs citados são proprietários de arquitetura fechada, com licenciamento pago; o último, o PostgreSQL, é uma alternativa para quem deseja um sistema robusto gratuito de código aberto. Por outro lado, existem SGBDs menos robustos, que podem ser utilizados em aplicações domésticas ou corporativas, mas com algumas limitações, quer em termos de segurança da informação ou em desempenho para processar grandes volumes de dados. Entre esses SGBDs podemos destacar os seguintes: • MySQL. • Microsoft Access. Tecnologias e Linguagens de Banco de Dados 40 O MySQL, como já dissemos anteriormente, é um SGBD de código aberto (open-source) e licença gratuita (freeware). Apesar de ser considerado menos robusto que o PostgreSQL, ele consegue suportar aplicações profissionais, a exemplo de vários serviços como Wikipédia, NASA, Bradesco, entre outras organizações nacionais e internacionais, que “apostaram suas fichas” na leveza e versatilidade do MySQL. Mas, para quem não precisa de tanto, o Microsoft Access pode ser uma solução de SGBD puramente doméstico, baseado em arquitetura cliente- servidor, bastante limitado para aplicações não profissionais, mas, por outro lado, extremamente simples, didático e versátil. O Microsoft Access, diferentemente do MySQL, é um SGBD proprietário, com arquitetura fechada e licença paga. A sua licença é barata, uma vez que é voltado ao usuário doméstico. A característica que torna o Access um SGBD popular é a sua interface intuitiva e didática. Sem conhecer absolutamente nada de programação ou de conceitos mais sólidos sobre bancos de dados, o usuário final é perfeitamente capaz de criar e manter o seu banco de dados. IMPORTANTE: Apesar de toda essa simplicidade, o Access permite que visualizemos e editemos as consultas diretamente na linguagem SQL. Todas as operações de modelagem, criação e manipulação de dados no Access são realizadas por meio de assistentes, com caixas de diálogos de simples entendimento. Classificação Quanto ao Paradigma Ao longo da história da Informática, os gerenciadores de banco de dados passaram por inúmeras transformações, vamos relembrar como esses modelos evoluíram até os dias atuais. O modelo tabular (ou plano) era baseado em matrizes bidimensionais, constituídas por números inteiros, reais etc., esse modelo se assemelha a uma planilha eletrônica, como a conhecemos hoje. Tecnologias e Linguagens de Banco de Dados 41 Figura 11 – O modelo tabular ou plano era baseado em matrizes bidimensionais, constituídas por números inteiros, reais etc. Fonte: Nogueira (2017a). O modelo em rede utilizava ponteiros (ou apontadores) para conectar várias tabelas entre si, que eram utilizadas simultaneamente. Desse modo, as tabelas eram relacionadas umas às outras por meio de números indexadores. Era o começo do paradigma relacional. Figura 12 – O modelo em rede utilizava ponteiros (ou apontadores) para conectar várias tabelas entre si Fonte: Nogueira (2017a). Tecnologias e Linguagens de Banco de Dados 42 No modelo hierárquico, tratava-se de um tipo particular de modelo em rede. Neste, os apontadores eram posicionados de modo que as ligações entre as tabelas eram sempre organizadas de forma hierárquica, assemelhando-se com uma estrutura em árvore (tronco e galhos). Figura 13 – No modelo hierárquico, os apontadores eram posicionados de modo que as ligações entre as tabelas eram sempre organizadas de forma hierárquica Fonte: Nogueira (2017a). No modelo relacional, a ligação entre as tabelas passava a se dar em função dos próprios dados armazenados, surgindo os conceitos de chave primária, chave secundária e chave estrangeira. Ao estabelecer uma relação entre duas tabelas, gerava-se o que chamamos de “integridade referencial”, que passava a ser gerenciada diretamente pelo SGBD. O modelo não relacional, os SGBDs não relacionais, também conhecidos como “NoSQL”, são, ainda, considerados emergentes. Esse tipo de SGBD não implementa o conceito do modelo entidade-relacionamento, tampouco utiliza a linguagem SQL para acesso e manipulação de dados, daí o seu nome “NoSQL”. Os bancos de dados não relacionais são indicados para as aplicações que lidam com grandes volumes de dados (Big Data). Tecnologias e Linguagens de Banco de Dados 43 IMPORTANTE: Os bancos de dados relacionais são baseados na organização de dados em tabelas, em que cada informação apresenta uma mesma formatação de colunas, por exemplo: o registro de um funcionário sempre será {matrícula, nome, endereço, salário, departamento ...} para toda e qualquer linha da tabela. Já no caso dos bancos de dados não relacionais (ou NoSQL), os dados não são armazenados de forma estruturada. Dependendo do tipo de banco de dados NoSQL, os dados podem ser indexados por chaves múltiplas, grafos etc. Os SGBDs que lidam diretamente com bancos de dados não relacionais podem ser classificados da seguinte forma: • Orientados a colunas: esse modelo de banco de dados NoSQL é baseado na filosofia de família de colunas, ou seja, em vez de trabalhar armazenando os dados de cada registro em uma linha, o SGBD agrupa as colunas para agilizar a recuperação dos dados solicitados para elas. Em termos práticos, em vez de armazenar {Matrícula-1, Nome-1, Salário-1, Departamento-1} na linha 1, e {Matrícula-2, Nome-2, Salário-2, Departamento-2} na linha 2; os dados ficariam assim gravados em um banco NoSQL (BigTable): {Matrícula-1, Matrícula-2}, {Nome-1, Nome-2}; {Salário-1, Salário-2}, {Departamento-1, Departamento-2}. Como exemplos desse modelo de banco de dados não relacional temos Google BigTable, Hadoop, HyperTable, Cassandra, Amazon SimpleDB, entre outros. • Orientados a grafos: ao contrário dos bancos de dados orientados a colunas, o modelo orientado a grafos está associado a um modelo previamente estabelecido. A filosofia desse modelo é a representação dos esquemas de dados como grafos dirigidos. Esse modelo é mais recomendado para situações em que as informações sobre a interconectividade dos dados são mais relevantes que os dados em si. O modelo de grafos apresenta os seguintes componentes: os nós (vértices), os relacionamentos (arestas) e as propriedades (atributos) dos nós Tecnologias e Linguagens de Banco de Dados 44 e seus relacionamentos. Por exemplo, se quisermos representar os dados de uma pesquisa sobre de que bairros as pessoas que desembarcam em uma estação são procedentes, e para onde vão, esse é o modelo mais recomendado. • Não seria muito fácil representar esses dados em um banco de dados relacional, em virtude da grande quantidade de junções e possibilidades de junções, fato que, certamente, degradaria a performance da aplicação. No entanto, utilizando os relacionamentos representados pelos grafos, a recuperação desses dados ficaria bem mais fácil e direta. São exemplos desses bancos de dados: Neo4J, Infinite Graph, HyperGraphDB etc. • Orientados a documentos: os bancos de dados orientados a documentosdizem respeito a coleções de atributos multivalorados. Esses bancos de dados não têm esquema, isto é, não necessitam de uma estrutura pré-formatada em comum, como alguns dos demais modelos estudados. Alguns dos bancos de dados que utilizam esse modelo são MongoDb, CouchDB, RavenDb etc. • Esquema chave/valor: também denominadas “tabelas de hash distribuídas”, esse modelo de SGBDs armazena objetos indexados por chaves, permitindo a busca por eles a partir de suas chaves. Os sistemas gerenciadores de bancos de dados a seguir fazem uso desse padrão: DynamoDb, Riak, Azure Table Storage, Redis, Tokyo Cabinet, entre outros. Os bancos de dados não relacionais já são uma realidade nas aplicações de Big Data, no entanto, eles não decretaram a morte dos bancos de dados relacionais. SAIBA MAIS: Para se aprofundar nos estudos sobre bancos de dados não relacionais, consulte o artigo a seguir. Para acessar, clique aqui. Tecnologias e Linguagens de Banco de Dados http://www2.unifap.br/oliveira/files/2016/02/35-124-1-PB.pdf 45 As grandes corporações utilizam bancos de dados não relacionais como complementação de seus bancos de dados relacionais, como é o caso do Facebook, do LinkedIn, entre outros. Figura 14 – Corporações utilizam bancos de dados não relacionais como complementação de seus bancos de dados relacionais, como é o caso do Facebook Fonte: Freepik Mesmo que os bancos de dados NoSQL consigam altíssimas taxas de desempenho para grandes volumes de dados, eles não conseguem impor integridade referencial, uma característica fundamental para prevenir erros durante as transações de atualização do banco de dados. RESUMINDO: E então? Gostou do que lhe mostramos? Aprendeu mesmo tudinho? Agora, só para termos certeza de que você realmente entendeu o tema de estudo deste capítulo, vamos resumir tudo o que vimos. Você deve ter aprendido que é importante conhecer quais são as principais funcionalidades de um SGBD típico e suas linguagens de programação. O mercado mundial está repleto de soluções para quem precisa armazenar dados, desde pequenos e domésticos até robustos e corporativos, são inúmeras opções de SGBDs de arquitetura aberta e fechada, gratuitos e pagos. Para isso, é essencial estudar os principais SGBDs oferecidos pelo mercado, identificando suas características, vantagens e desvantagens de uns sobre os outros. Tecnologias e Linguagens de Banco de Dados 46 REFERÊNCIAS MICROFILMAGEM BALVF. [S. l.: s. n.], 2015. 1 vídeo (1 min). Publicado pelo canal Marina Valadares. Disponível em: https://www.youtube.com/ watch?v=IRJadfEoKhs&ab_channel=MarinaValadares. Acesso em: 22 fev. 2022. NOGUEIRA J. Tecnologias e linguagens de banco de dados: SGBDS disponíveis no mercado. Recife: Unissau, 2017a. NOGUEIRA, J. Tecnologias e linguagens de banco de dados: funcionalidades dos SGBDs. Recife: Unissau, 2017b. NOGUEIRA, J. Tecnologias e linguagens de banco de dados: linguagens de manipulação de banco de dados. Recife: Unissau, 2017c. OLIVEIRA, K. A. PostgreSQL x MySQL: qual escolher? DevMedia, [20--?]. Disponível em: https://www.devmedia.com.br/postgresql-x- mysql-qual-escolher/3923. Acesso em: 22 fev. 2022. OLIVEIRA, S. S. Bancos de dados não-relacionais: um novo paradigma para armazenamento de dados em sistemas de ensino colaborativo. Revista da Escola de Administração Pública do Amapá, Macapá, v. 2 n. 1, p. 184–194, 2014. Disponível em: http://www2.unifap.br/ oliveira/files/2016/02/35-124-1-PB.pdf. Acesso em: 22 fev. 2022. ROCHA, J. F.; DIAS, J. W. Importância do banco de dados nas aplicações. Curitiba: Unipar, 2015. Disponível em: https://livrozilla. com/doc/424454/import%C3%A2ncia-do-banco-de-dados-nas- aplica%C3%A7%C3%B5es. Acesso em: 22 fev. 2022. ZANETTE, A. Os 10 comandos SQL que você não pode viver sem! Becode, 2015. Disponível em: https://becode.com.br/comandos-sql-nao- pode-viver-sem. Acesso em: 22 fev. 2022. Tecnologias e Linguagens de Banco de Dados OLE_LINK2 OLE_LINK3 OLE_LINK1 OLE_LINK4 Funcionalidades dos SGBDs O que é um SGBD? Funcionalidades de um SGBD Ambientes de Gerenciamento de Banco de Dados Interface Gráfica Versus Caractere O Ambiente MySQL Linguagens de Manipulação de Banco de Dados As Linguagens de um SGBD SGBDs Disponíveis no Mercado Classificação Quanto ao Porte e tipo de Licenciamento Classificação Quanto ao Paradigma
Compartilhar