Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lúcia Tavares PROGRAMAÇÃO EM BANCO DE DADOS E-book 1 Neste E-Book: INTRODUÇÃO ���������������������������������������������� 3 CONCEITOS ��������������������������������������������������4 Conceitos de SQL (Structured Query Language) e banco de dados ����������������������������������4 Particularidades de banco de dados ������������������� 16 Comandos de banco de dados ���������������������������� 20 CONSIDERAÇÕES FINAIS ����������������������36 SÍNTESE �������������������������������������������������������37 2 INTRODUÇÃO Caro estudante, um banco de dados é a alma de qual- quer aplicação� Mas um banco de dados não pode ser criado sem critério nenhum, é preciso conhecer os conceitos do Structured Query Language (SQL) e sua estrutura� É como montar uma casa: precisa haver planejamen- to, alguém que projete a planta, saiba onde vai colo- car os quartos, a cozinha, a sala� O mesmo acontece com o banco de dados, conhecer seu conceito lhe dará condições de montar a planta de cada cômodo, seu funcionamento� Neste e-book vamos aprender como funciona um banco de dados e como funciona a estrutura de ban- cos e os conceitos de SQL� 3 CONCEITOS Conceitos de SQL (Structured Query Language) e banco de dados O que são banco de dados? Os bancos de dados são coisas bem presentes na nossa vida cotidianamente� Sabe seu smartphone? A lista de contatos nele é um bom exemplo de banco de dados� Pode pensar como eram os bancos de dados antes dos computadores e das aplicações que conhece- mos hoje? Tudo era guardado fisicamente. E isso quer dizer muito, mas muito, papel armazenado em lugares enormes� Mas os computadores chegaram e possibilitaram que tudo isso fosse armazenado digitalmente� Podemos afirmar hoje que os bancos de dados são o coração da maioria dos sistemas da informação� Antigamente as empresas armazenavam informa- ções em arquivos físicos, mas o surgimento e evo- lução dos computadores possibilitaram o armazena- mento de dados de modo digital� Assim, os bancos de dados evoluíram e se tornaram o coração de mui- tos sistemas de informação� 4 Com o crescimento da internet, surgiram os bancos de dados NoSQL, pela necessidade de maior pro- cessamento e velocidade com dados não estrutu- rados� Também foram criados os bancos de dados na nuvem e os bancos de dados autônomos, que abrem uma nova geração, com tratamento diferente na coleta, no armazenamento e na gestão desses dados, conforme o modelo apresentado na Figura 1: Figura 1: Modelo de banco de Dados. Fonte: Wikipedia. Quanto aos tipos de banco de dados, temos alguns já solidificados no mercado e a sua escolha é feita a partir do negócio e como esses dados serão utiliza- dos� Abaixo segue alguns tipos de banco de dados e suas definições: Bancos de dados relacionais Os bancos de dados relacionais são organizados como um conjunto de tabelas com colunas e linhas� Trabalhar com um banco de dados relacional é a 5 https://pt.wikipedia.org/wiki/HSQLDB#/media/Ficheiro:Hsql.png maneira mais eficiente e flexível de acessar informa- ções estruturadas� Abaixo, a Figura 2 nos mostra um banco de dados relacional: db40 objetoobjeto tabelas BANCO DE DADOS RELACIONAL objeto Figura 2: Banco de dados relacional. Fonte: Wikipedia. Banco de dados orientados a objetos As informações em um banco de dados orientado a objetos são fornecidas como objetos� Na Figura 3 vemos um exemplo disso: Figura 3: Banco de Dados orientado a objetos. Fonte: Wikiand. 6 https://pt.wikipedia.org/wiki/Ficheiro:Banco_Dados_Relacional_X_db4o_ver2.png#/media/Ficheiro:Banco_Dados_Relacional_X_db4o_ver2.png https://www.wikiwand.com/pt/Banco_de_dados Bancos de dados distribuídos Trata-se de dois ou mais arquivos localizados em sites diferentes� São bancos de dados que podem ser armazenados em vários computadores, seja fisi- camente, na nuvem ou em redes diferentes� A Figura 4 é um banco de dados distribuídos: Figura 4: Bancos de dados distribuídos: Fonte: Wikipedia. Data warehouses É um repositório de vários bancos que podem ser integrados, projetado especificamente para consul- tas e análises rápidas� A Figura 5 mostra um data warehouse: 7 https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem#/media/Ficheiro:Computa%C3%A7%C3%A3o_em_nuvem.svg CRM Operational Data Store Metadata Repository / MDM Enterprise Data Warehouse Data Warehouse Data Sources User Access “BI” Analytics ERP e-commerce SCM Legacy External Other ETL In fo rm at io n Po rt al (In tra ne t / E xt ra ne t)Data Mart Data Mart Data Mart BI Tools Reports / Dash- boards Info Delivery Figura 5: Data warehouse. Fonte: Wikimedia. Banco NoSQL Um banco de dados NoSQL é não relacional e estru- turado que aceita dados não estruturados ou dados semiestruturados para que sejam armazenados e manipulados (diferente de um banco de dados rela- cional, onde todos os dados inseridos no banco de dados devem ser compostos)� Foram criados para atender a demanda à medida que os aplicativos web se tornaram mais comuns e mais complexos. A figura 6, a seguir, mostra um banco de dados NoSQL: 8 https://upload.wikimedia.org/wikipedia/commons/0/0b/Datawarehouse_reference_architecture.jpg Relational Analytical (OLAP) Key-Value Graph Column-Family Document value value value value Key Key Key Key SQL Databases SQL Databases Figura 6: Banco NoSQL. Fonte: Wikipedia. Bancos de dados gráficos Um banco de dados gráficos guarda dados em ter- mos de entidades e os relacionamentos entre enti- dades� A Figura 7 demonstra isso: 9 https://pt.wikipedia.org/wiki/SQL#/media/Ficheiro:Sql_ledger_login.png Figura 7: Banco de dados gráfico. Fonte: Wikipedia� Bancos de dados OLTP Um banco de dados OLTP é projetado para ser um banco de dados rápido e analítico, preparado para realizar diversas transações por vários usuários� A Figura 8 é uma demonstração do banco de dados OLTP� 10 https://pt.wikipedia.org/wiki/Visualiza%C3%A7%C3%A3o_de_dados#/media/Ficheiro:Scatter_plot.jpg OLTP Database A Data Mart A Logical Data Warehouse Data Mart B OLTP Batch Batch Batch Batch OLTP OLTP Database B Conventional ETL Diagram OLTP Application A OLTP Application B Change Detection/ Snapshot ETL Change Detection/ Snapshot Dimension Authority Figura 8: OLTP. Fonte: Wikipedia. Bancos de dados de código aberto Um sistema de banco de dados de código aberto é aquele feito com um código que pode ser alterado; podem ser bancos não relacionais ou relacionais (SQL ou NoSQL)� A Figura 9 mostra o MySQL: 11 https://en.wikipedia.org/wiki/Extract,_transform,_load#/media/File:Conventional_ETL_Diagram.jpg Figura 9: MySQL. Fonte: Wikipedia. Bancos de dados em nuvem Nada mais é que, como o nome sugere, um banco de dados hospedado em uma nuvem, com dados estruturados ou não. Em nuvem, esses bancos de dados podem ser: tradicional e banco de dados como um serviço (DBaaS)� As tarefas administrativas e a manutenção são executadas por um provedor de serviços na modalidade DBaaS� A Figura 10 mostra um banco de dados na nuvem: 12 https://en.wikipedia.org/wiki/MySQL_Workbench#/media/File:MySQLadministrator1.png Cloud Storage (eg Database) Cloud Service (eg Queue) Cloud Infrastructure (eg Billing VMs) Cloud Platform (eg Web Frontend) Figura 10: Banco de Dados em nuvem. Fonte: Wikipedia. Banco de dados multimodelo. Este tipo combina diferentes modelos de banco de dados em um back-end único e integrado� O que im- plica na versatilidade de dados que esses bancos podem acomodar. Segue o exemplo na figura 11: 13 https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem#/media/Ficheiro:CloudComputingSampleArchitecture.svg Orientado a Linhas João | 2432�00 | 1998 | Rio de Janeiro Maria | 2511�00 | 1986 | São Paulo Pedro | 3500�00 | 1976 | Mato Grosso Jorge | 4200�00 | 1930 | Paraná João | Maria | Pedro | Jorge 2432�00 | 2511�00 | 3500�00 | 4200�00 1998 | 1986 |1976 | 1930 Rio de Janeiro| São Paulo | Mato Grosso | Paraná Orientado a Colunas (a) (b) Figura 11: Multimodelo. Fonte: UFMG. Banco de dados de documentos/JSON Os bancos de dados no formato JSON são uma ma- neira moderna de armazenar dados ao invés de se utilizar linhas e colunas. Este tipo de banco foi criado para armazenar, recuperar e gerenciar informações orientadas a documentos� Segue o exemplo da Figura 12 de um banco de dados JSON: Figura 12: JSON. Fonte: Wikipedia. 14 http://www.lbd.dcc.ufmg.br/colecoes/erbd/2013/007.pdf https://pt.wikipedia.org/wiki/CouchDB#/media/Ficheiro:Couchdb_screenshot.png Bancos de dados autônomos São bancos alocados em nuvem, independentes e inovadores� Usam, de forma geral, o aprendizado de máquinas (machine learning) como forma de traba- lhar e criar rotinas de automatização para o banco de dados, que influenciam no trabalho que geralmente é executado por administradores de bancos de dados: segurança, backups e atualizações, além de outras tarefas de gerenciamento de rotina� Podcast 1 Conceito de linguagem de programação SQL O SQL é a linguagem usada para que a aplicação converse com o banco de dados e é a mais utilizada por programadores e administradores de bancos de dados (DBAs), pois se trata de uma linha de coman- dos muito fácil para banco de dados relacionais� Foi criada nos anos 1970, na IBM, no projeto System R, que queria provar que o modelo relacional era a melhor saída para a implementação de um banco de dados. Seu nome original era SEQUEL, um acrônimo para Linguagem de consulta estruturada� O SQL é uma linguagem padrão para a maioria das linguagens de programação de banco de dados� A sua maior diferença com relação às outras lingua- gens de banco é a facilidade quanto às consultas, 15 https://famonline.instructure.com/files/952038/download?download_frd=1 pois o SQL é direto quanto ao resultado e não quanto à forma de se chegar até ele� Toda a linguagem SQL tem um padrão declarativo, ao contrário das outras linguagens, que fixam seus conceitos procedurais� Portanto, o ciclo de aprendi- zagem do SQL é mais prático e fácil para quem quer aprender a montar um banco de dados� Particularidades de banco de dados Quando tratamos das principais diferenças entre banco de dados, podemos destacar o ponto princi- pal: os sistemas gerenciadores de bancos de dados� A principal função desses sistemas é gerenciar o funcionamento e as informações dos bancos de da- dos� Hoje os bancos de dados mais utilizados são os “relacionais”, nos quais o armazenamento é feito por tabelas que possuem linhas e colunas, o que permite que esses dados sejam relacionados entre si� Porém, em tempos de Big Data, em que as infor- mações são rápidas e constantes, o melhor é usar banco de dados NoSQL, onde se trabalha com dados estruturados e não estruturados� A seguir, temos uma lista dos bancos de dados mais utilizados no mercado, e suas características: 16 Oracle Por ser um banco de dados versátil e robusto, o ban- co de dados Oracle tem como marca registrada ser um banco de dados relacional seguro e potente, que tem sua linguagem própria e é capaz de administrar bancos de grandes organizações� Pode ser instalado em qualquer sistema operacional� Figura 13: Fonte: Wikipedia. SQL Server Esta ferramenta é bastante difundida no mercado, é da Microsoft e administra bancos de dados rela- cionais� Sua administração é fácil em comparação ao Oracle� Sua maior desvantagem era que só podia ser execu- tado em sistemas operacionais da Microsoft, o que de certa maneira o limitava, até que se criou uma versão para sistema operacional diferente� Figura 14: Fonte: Wikipedia. 17 https://pt.wikipedia.org/wiki/Ficheiro:Oracle_logo.svg https://mg.wikipedia.org/wiki/MySQL MySQL Este é um banco de dados gratuito, que foi incor- porado pela Oracle e pode ser executado em varia- das plataformas como Sun Solaris, Windows, Linux, FreeBSD, MacOS e qualquer plataforma recente de mercado� É usado no desenvolvimento de websites em linguagem PHP e servidores Apache� Figura 15: Fonte: Wikipedia. PostgreSQL Também gratuito e open source, é um banco de da- dos relacional, que se parece muito em estrutura e linguagem com a opção da Oracle, mas tem mais aplicabilidade em sistemas para web e ambiente cor- porativo de pequenas e médias empresas� Funciona em qualquer sistema operacional� Tem aderência ao Linux pois ambos são gratuitos� Sua maior desvan- tagem é que não tem uma interface administrativa� Figura 16: Fonte: Wikipedia. 18 https://mg.wikipedia.org/wiki/MySQL https://pt.wikipedia.org/wiki/PostgreSQL#/media/Ficheiro:Postgresql_elephant.svg DB2 Trata-se banco relacional da IBM para grandes sis- temas� Hoje em dia não é tão comercializado, mas ainda é um banco forte e aplicável à execução em di- ferentes sistemas operacionais� É otimizado quando implantado nos equipamentos do próprio fabricante, o que inibiu de uma certa maneira a sua evolução� Figura 17: Fonte: Wikipedia. MongoDB É um banco de dados não relacional que usa um conceito de armazenamento de NoSQL, ou seja, trata dados estruturados ou não� É gratuito e open source� Figura 18: Fonte: Wikipedia. Podcast 2 19 https://en.wikipedia.org/wiki/IBM_Db2_Family https://pt.wikipedia.org/wiki/MongoDB_Inc. https://famonline.instructure.com/files/952039/download?download_frd=1 Comandos de banco de dados A linguagem Structured Query Language (SQL) foi criada para a manipulação de dados dentro de um sistema de gerenciamento de banco de dados (SGBD)� E o que é que isso quer dizer? Que essa linguagem, no que tange a manipulação de dados, possibilita o ar- mazenamento, organização, atualização e exclusão� O SGBD nada mais é que o agrupamento de progra- mas de softwares responsáveis pelo gerenciamen- to de uma base de dados� Sua função principal é retirar da aplicação cliente a função de gerenciar o acesso, a manipulação e a organização dos dados� Disponibiliza uma interface amigável onde seus clien- tes têm a possibilidade de incluir, alterar ou consultar dados previamente armazenados� Em bancos de dados relacionais a inter- face é constituída pelas APIs (Application Programming Interface) ou drivers do SGBD, que executam comandos na linguagem SQL (Structured Query Language) (ISO/IEC 1999) 20 Usuários/Programadores Consultas/Programas Sistemas de Banco de Dados Catálogo (Meta-dados) Banco de Dados SGBD Figura 19: Contexto SGBD. Fonte: Elaboração própria. REFLITA Ter um banco de dados saudável é fator primor- dial para a assertividade dos processos de uma empresa� Portanto, tão importante quanto man- ter um banco saudável é ter um suporte compe- tente e um DBA para cuidar desse banco de da- dos� Isso tudo é de suma importância para evitar situações como: • Ausência de backup; • Falta de recursos de hardware e software; • Problemas no banco por falta de um Administrador; • Problemas na restauração dos dados; • Falta de métricas de Controle; 21 • Aumento de custos. Por isso um DBA é muito importante para um banco de dados� Para saber mais sobre essa importante profissão, acesse: http://tutano.tram- pos.co/16206-guia-de-profissoes-dba/ O SQL é dividido em duas partes: ● Linguagem de Definição de Dados (DDL); ● Linguagem de Manipulação de Dados (DML)� As DDL’s são usadas para “montar” o banco de da- dos e suas tabelas, enquanto as DML’s servem para manipular os dados inseridos no banco� Comandos SQL – DDLs As DDLs são a estrutura da linguagem SQL, pois per- mite criar, modificar e, por último, remover tabelas, como também criar índices� A partir desses comandos é possível criar as linhas, as colunas, as tabelas, os índices e outros metadados que compõem o esqueleto de um banco de dados� Vamos tratar aqui dos principais comandos que são: ● CREATE – (Criar); ● ALTER – (Alterar); ● DROP – (Apagar). 22 http://tutano.trampos.co/16206-guia-de-profissoes-dba/ http://tutano.trampos.co/16206-guia-de-profissoes-dba/ O que são databases? Otermo banco de dados é algumas vezes utilizado de maneira incorreta para se referir ao conjunto de dados em si, quando o mais correto é utilizá-lo para se referir ao Sistema Gerenciador de Banco de Dados (SGBD), ou seja, o ambiente e conjunto de softwares responsáveis pelo gerenciamento dos dados� Contidas em um banco de dados, podemos ter uma ou mais bases de dados (database), que são cada coleção organizada de dados (esquemas, tabelas, consultas, relatórios, exibições e outros objetos), or- ganizadas por parâmetros com um mesmo contexto (assunto) e relacionadas entre si� O que são tabelas? Tabelas são objetos compostos por um conjuntos de dados dispostos em linhas e colunas, como uma planilha de Excel, e que fazem parte da base de dados de um banco de dados� Abaixo seguem alguns dos principais comandos de um banco de dados, que podem ser executados sobre suas bases de dados (databases) e tabelas (tables): ● Show databases: Comando para mostrar as ba- ses de dados do banco que estão prontas para se trabalhar/utilizar; ● Create database: Comando para criar uma base de dados; 23 ● Use: Seleciona a base de dados em que vamos trabalhar; ● Show tables: Mostra as tabelas de uma base de dados; ● Describe: Mostra a descrição da estrutura de uma tabela em uma base de dados; ● Create table <tabela> (<nomecampo> <tipo>): Cria uma tabela com os campos, seu tipo e atributos determinados; ● Table <tabela> add (<atributo> <valor>,): Adiciona um ou mais atributos na tabela; ● Drop Table <tabela>: Exclui uma tabela de um ban- co de dados; FIQUE ATENTO Alguns dos comandos listados anteriormente não fazem parte do SQL Standard definido pela ISO/IEC 9075 e são exclusivos de alguns SGBD específicos. Assim, só serão executados correta- mente nesses SGBD específicos, gerando erro se executados em outros� Comandos SQL – DMLs Linguagem de Manipulação de Dados (DML) trata-se de um conjunto de instruções criadas para a manipu- lação de dados� Abaixo seguem alguns dos principais comandos DMLs para se trabalhar com os dados (ou valores) de tabelas: 24 ● Insert into <tabela> values (<valorm1>, <valorm2> …<valormn>): Comando feito para inserir dados em uma tabela conforme o atributo de criação da tabela; ● Update <tabela> set <atributo> = <novo_valor>: Comando para alterar os dados de um ou mais atri- butos em todas as linhas da tabela� ● Update <tabela> set <atributo> = <novo_valor> where <condição>: Similar ao comando anterior, usa- do para alterar os dados de um ou mais atributos, mas limitando a ação a algumas linhas da tabela, filtradas pela condição especificada na cláusula WHERE. ● Delete from <tabela>: Comando utilizado para ex- cluir todas as linhas de uma tabela� ● Delete from <tabela> where <condição>: Similar ao comando anterior, porém exclui apenas as linhas filtradas pela condição especificada na cláusula WHERE. ● Select <atributos> from <tabela>: Comando para exibir os dados dos atributos desejados de todas as linhas da tabela� ● Select <atributos> from <tabela> where <condi- ção>: Similar ao comando anterior, mas exibe os dados dos atributos desejados apenas das linhas filtradas pela condição na cláusula WHERE. E agora que tal ver na prática como tudo isso funciona? 25 Vamos pensar numa consulta de dados��� Nesse caso, vamos usar o comando SELECT, que nos per- mite retornar informações que foram colocadas nas nossas tabelas� O comando SELECT nos permite recuperar dados a partir de uma ou mais tabelas de banco de dados, abaixo vamos ver um modelo de como esse coman- do funciona: SELECT coluna_lista -> (lista das colunas da tabela onde deve buscar a informação); FROM tabela_lista -> (tabela onde estão contidas as colunas a serem recuperadas); WHERE linha_condições -> (determina as condi- ções utilizadas para filtrar quais linhas da tabela devem retornar); GROUP BY coluna_lista -> (indica como se deseja que as informações sejam agrupadas antes de retornar, e o resultado será retornado por grupo e ordenado por ele); HAVING grupo_condições -> (refere-se aos atribu- tos e indica em que condições a informação deve ser retornada ou não); ORDER BY ordenar_lista ASC | DESC -> (indica a ordem em que se quer o retorno das informações)� 26 Conceitos na prática Vamos então colocar esses conceitos na prática: Supondo que você tem que recuperar dados de uma tabela, sempre use o comando FROM antes do nome da tabela� Logo na sequência, você tem que descrever os dados que você deseja recuperar, então você faz uma lista das colunas da tabela após o SELECT. Pensando numa empresa, vamos considerar que você trabalha para o RH e precisa gerar uma lista de funcionários com sobrenome e nome� A execução dessa lista seria da seguinte maneira: SELECT Sobrenome FROM colaboradores Essa busca traria os valores da coluna sobrenome em todas as linhas da tabela funcionários e nos traria o resultado a seguir: 27 Figura 20: Resultado da busca por sobrenome. Fonte: Elaboração própria. Você também pode usar o comando SELECT para recuperar várias colunas de uma tabela no banco de dados� Para fazer isso você deve colocar uma vírgula entre a lista de colunas� Ao especificar as colunas das quais queremos o retorno dos valores em nossa consulta, apenas os resultados que precisamos serão devolvidos� Por exemplo, para retornar o primeiro nome (Nome), sobrenome (Sobrenome) e cargo (Título) de todos os funcionários, você pode executar a seguinte consulta: SELECT Sobrenome, Nome, Título FROM funcionários O retorno será: 28 Figura 21: Resultado da busca por sobrenome, nome e título. Fonte: Elaboração própria. Vamos pensar agora nos outros comandos, que tal criar uma tabela? Para usar o comando CREATE é preciso antes en- tender uma tabela� As tabelas são objetos dentro de um banco de dados e são divididas em linhas e colunas� As linhas repre- sentam um dado individual e cada coluna pode ser vista como uma representação dessa coletânea de dados� Então, se tivermos uma tabela para registar as in- formações dos clientes, as colunas podem incluir informações como Primeiro Nome, Apelido, Morada, Cidade, País, Data de Nascimento e demais dados pessoais. E, para definir cada item desses, criamos uma coluna com os respectivos cabeçalhos� 29 Esses dados têm a possibilidade de ser um número inteiro (como 1), um número real (como 0,55), uma cadeia (tal como ‘sql’), uma expressão de data/hora (tal como ‘2000-DEZ-25 01:11:11’) ou até um formato binário� Quando criamos uma tabela, é preciso detalhar o tipo de dados associados a cada coluna� Um fato que podemos colocar em evidencia é que diferentes bases de dados relacionais podem ter diversos tipos de dados, portanto, quando for criar um banco de dados, na parte da criação das tabelas, é preciso conhecer o processo do projeto e consultar os documentos de especificação relativo à base de dados� Vamos à parte prática� Para criar uma tabela, geral- mente usamos a sintaxe SQL para tabelas que é a CREATE TABLE, então vai ficar mais ou menos assim: CREATE TABLE “nome_tabela” (““coluna1”” tipo_dados_para_coluna_1”, “coluna1”” tipo_dados_para_coluna_2” ���); Então, se a estrutura basicamente é a estrutura aci- ma, para criarmos uma tabela de clientes poderíamos fazer assim: CREATE TABLE Usuários – Criamos uma tabela com nome de USUARIOS; Primeiro nome char (50) – Adicionamos uma co- luna para armazenar o primeiro nome, com até 50 caracteres; 30 Último nome char (50) – Adicionamos outra co- luna para armazenar o último nome, com até 50 caracteres; Endereço char (50) – Uma coluna para armazenar o endereço, com até 50 caracteres; Bairro char (50) – Uma coluna para armazenar o bairro, com até 50 caracteres; Cidade char (50) – Uma coluna para armazenar a cidade, com até 50 caracteres; País char (50) – Uma coluna para armazenar o país, com até 50 caracteres; Data de Aniversário date time – Uma coluna para armazenar data de nascimentoou aniversário� A estrutura de uma tabela pode ser alterada, a seguir vamos acompanhar algumas possíveis alterações� A sintaxe básica para isso é: ALTER TABLE tabela ação coluna; Abaixo, sigamos algumas variações dessa sintaxe com ALTER TABLE: Adicionar uma coluna à tabela: ALTER TABLE nome_tabela ADD nome_coluna tipo_dados; 31 Excluir uma coluna de uma tabela: ALTER TABLE nome_tabela DROP COLUMN nome_coluna; Alterar o tipo de dados de uma coluna: ALTER TABLE nome_tabela MODIFY COLUMN nome_coluna tipo_dados; Adicionar uma constraint (restrição) do tipo NOT NULL a uma coluna: ALTER TABLE nome_tabela MODIFY nome_coluna tipo_dados NOT NULL; Alterar uma tabela para adicionar uma constraint de chave primária a uma coluna: ALTER TABLE nome_tabela ADD CONSTRAINT nome_constraint PRIMARY KEY (coluna1, colu- na2, ���); Excluir uma constraint de uma tabela: ALTER TABLE nome_tabela DROP CONSTRAINT nome_constraint; Vamos ver agora como é possível excluir dados de uma tabela com comandos SQL� A sintaxe base para excluir dados de uma tabela é: DELETE FROM “nome_tabela” WHERE “condição” Na prática, podemos pensar assim: 32 Temos a tabela abaixo: Nome da Lojas Vendas Data da venda São Paulo 1500 05/01/1999 Rio de Janeiro 250 07/01/1999 Salvador 300 08/01/1999 Fortaleza 700 08/01/1999 Tabela 1: Informações das lojas Fonte: Elaboração própria. A partir da tabela acima, apontamos, por exemplo, que a unidade do Rio de Janeiro será fechada, en- tão do nosso relatório mensal queremos retirar o Rio de Janeiro e decidirmos não manter quaisquer informações sobre essa loja nesta tabela� Para tal, escrevemos a seguinte instrução SQL: DELETE FROM Nome das lojas WHERE Nome das lojas = ‘Rio de Janeiro’; A tabela então ficaria assim: Nome da Lojas Vendas Data da venda São Paulo 1500 05/01/1999 Salvador 300 08/01/1999 Fortaleza 700 08/01/1999 Tabela 2: Informações das lojas sem Rio de Janeiro. Fonte: Elaboração própria. FIQUE ATENTO O comando UPDATE é usado para se atualizar de uma vez só todo o conteúdo da coluna de uma tabela, com uma única instrução� 33 A cláusula SET diz quais os nomes das colunas da tabela e os novos valores. Esses novos valo- res podem ser valores literais, resultados de ex- pressões ou subconsultas� ● A cláusula WHERE filtra quais linhas da tabela de- vem ser atualizadas� ● O UPDATE é um comando opcional� Se não usamos a cláusula WHERE todas as linhas da tabela serão atualizadas� ● Portanto, o WHERE é muito importante e definitivo para uma atualização de uma tabela� Os comandos apresentados são os comandos bási- cos para operações básicas. Essas operações podem ser mais especificas de acordo com as informações que queremos� Um sistema de banco de dados tem que apresentar uma visão abstrata do banco de dados para o usu- ário, ou seja, para o usuário do banco de dados não faz diferença qual unidade de armazenamento está sendo usada para guardar seus dados, desde que eles estejam disponíveis no momento necessário� Porém, para quem desenvolve, é necessário colher a maior quantidade de dados possível para que o que foi solicitado saia da melhor maneira possível� 34 SAIBA MAIS Para conhecer um pouco mais a respeito, aces- se este muito interessante livro sobre estrutura de SQL – Linguagem SQL fundamentos e prática, de Virginia Cardoso e Giselle Cardoso� Acesse o link da Minha Biblioteca: https://integrada.mi- nhabiblioteca.com.br/#/books/9788502200463/ cfi/0!/4/4@0.00:39.0 35 CONSIDERAÇÕES FINAIS Os bancos de dados surgiram da necessidade de armazenamento de informações� Pensar em infor- mações hoje em dia é pensar em dinheiro, elas têm muito valor, e uma velocidade de transição de in- formações é muito grande� Antes se armazenavam dados em planilhas e em papel, o que gerava um grande custo tanto para armazenar como para guar- dar as informações� O conceito de SQL foi criado nos anos 1970, na IBM, e essa linguagem melhorou e persiste como base para os demais bancos de dados que vemos hoje em dia� O banco tem um sistema de gerenciamento de banco de dados (SGBD) que deixa a sua manutenção mais fácil� Os principais comandos do SQL podem ser divididos em duas partes: DDL e DML� Na prática, é possível inserir e manipular dados em um banco de dados� Além do SQL, hoje não é possível ter um sistema sem um banco de dados, e ter um banco de dados robusto só traz ganhos para qualquer empreendimento� 36 SÍNTESE Conceitos na prática Comandos SQL – DMLs Comandos SQL – DDLs Comandos de banco de dados Particularidades de banco de dados O que são banco de dados? • Bancos de dados relacionais; • Banco de dados orientados a objetos; • Banco de dados orientados a objetos; • Data warehouse; • Banco No SQL; • Bancos de dados gráficos; • Bancos de dados OLTP; • Bancos de dados OLTP; • Bancos de dados em nuvem; • Banco de dados Multimodelo; • Banco de dados de documentos/JSON; • Bancos de dados autônomos. Conceito de linguagem de programação SQL PROGRAMAÇÃO EM BANCO DE DADOS Neste e-book estudamos os seguintes tópicos: Referências Bibliográficas & Consultadas AMADEU, C. V. Banco de dados� São Paulo: Pearson Education do Brasil, 2014. [Biblioteca Virtual]� BARBOZA, F. F. M.; FREITAS, P. H. C. Modelagem e desenvolvimento de banco de dados� Porto Alegre: SAGAH, 2018. [Minha Biblioteca]. BRYLA, B; LONEY, K. Oracle Database 11g manual do DBA� Porto Alegre: Bookman, 2009� CARDOSO, V�; CARDOSO G� Linguagem SQL funda- mentos e prática. São Paulo: Editora Saraiva, 2017. [Minha Biblioteca]. DATE, C. J. Introdução a sistemas de bancos de dados. Rio de Janeiro: Elsevier, 2004. ELMASRI, R.; NAVATHE, S. B. Sistemas de ban- co de dados� 4� ed� São Paulo: Pearson Addison Wesley, 2010� HOTEK, M. Kit de treinamento MCTS – Microsoft SQL Server 2008: implementação e manutenção� Porto Alegre: Bookman, 2010. [Minha Biblioteca]. IBM� Simplifique a administração do banco de da- dos e acelere o desenvolvimento de aplicativos e aumente a colaboração� Disponível em: http://ibm. com� Acesso em: 16 fev� 2018� LEBLANC, P. Microsoft SQL Server 2012: passo a passo. Porto Alegre: Bookman, 2014. [Minha Biblioteca]� MACHADO, F� N� R�; Banco de Dados: Projeto e im- plementação. 3. ed. São Paulo: Érica, 2014. [Minha Biblioteca]� MANNINO, M� V� Projeto, desenvolvimento de apli- cações e administração de banco de dados� 3� ed� Porto Alegre: AMGH, 2014. [Minha Biblioteca]. MANZANO, J. A. N. G. MySQL 5.5 interativo: guia essencial de orientação e desenvolvimento� São Paulo: Érica, 2011. [Minha Biblioteca]. MICROSOFT� Execute o SQL Server na sua pla- taforma favorita� Disponível em: www.microsoft. com� Acesso em: 01 abr� 2020� O’HEAM, S. OCA Oracle Database: SQL Certified Expert Exam Guide. New York: Mc Graw Hill, 2010. ORACLE HELP CENTER. Database SQL Reference: selecting from the DUAL table� Disponível em: ht- tps://docs.oracle.com/en/database/oracle/oracle- -database/19/sqlrf/Selecting-from-the-DUAL-Table. html� Acesso em: 01 abr� 2020� POSTGRESQL. Documentação do PostgreSQL 8.0.0: uma breve história do PostgreSQL� Disponível em: http://pgdocptbr.sourceforge.net/ pg80/� Acesso em: 01 abr� 2020� PRICE, J. Oracle Database 11g SQL� Porto Alegre: Bookman, 2009 [Minha Biblioteca]. RADA, A.; MELNYK, R. Compare the distributed DB2 10�5 database servers� ibm.com� Disponível em: https://www.ibm.com/developerworks/data/li- brary/techarticle/dm-1311db2compare/index.html� Acesso em: 01 abr� 2020� SILBERSCHATZ, A.; KORTH, H.; SUBARSHAN, S. Sistema de banco de dados� 5� ed� Rio de Janeiro: Campus, 2006� WATSON, J.; RAMKLASS, R. OCA Oracle Database 11g Fundamentos SQL I� Rio de Janeiro: Alta Books, 2010� _GoBack relational object-oriented data-warehouse nosql graph oltp cloud multimodel _GoBack _GoBack INTRODUÇÃO Conceitos Conceitos de SQL (Structured Query Language) e banco de dados Particularidades de banco de dados Comandos de banco de dados Considerações finais Síntese
Compartilhar