Baixe o app para aproveitar ainda mais
Prévia do material em texto
GERENCIAMENTO DE BANCO DE DADOS CURRÍCULO LATTES Prof. Dr. Hudson Sérgio de Souza E-mail: hudson.souza@fatecie.edu.br Currículo Lattes: http://lattes.cnpq.br/3650215843884230 FORMAÇÃO ACADÊMICA Doutorado 2014-2018 Universidade Estadual de Maringá – UEM Área: Agronomia – ênfase: Fitopatologia / Agro-Informática – Maringá-PR Mestrado 2012-2014 Universidade Estadual de Maringá – UEM Área: Agronomia – ênfase: Fitopatologia / Agro-Informática – Maringá-PR Especialização 2018 – Universidade Tecnológica Federal do Paraná – UTFPR - EAD Curso: Especialização Informática Instrumental Aplicada à Educação 2009 – Universidade Federal do Mato Grosso do Sul UFMS – Campo Grande-MS Curso: Especialização em Educação Pedagógica em Educação a Distância 2007 – Centro Universitário de Maringá – UniCesumar – Maringá-PR Curso: Especialização em Desenvolvimento Orientado a Objetos - Java Graduação 2006 – Universidade Paranaense - UNIPAR – Campus Paranavaí Curso: Bacharelado em Sistemas de Informação – Paranavaí-PR Experiência na área de analista de desenvolvimento de sistemas, programador, docente da área de computação, coordenador do curso de Sistemas para Internet. APRESENTAÇÃO DA APOSTILA Seja muito bem-vindo(a) ! Prezado(a) aluno(a), se você se interessou pelo assunto desta disciplina, isso já é o início de uma grande jornada que vamos trilhar juntos a partir de agora. Proponho, junto com você, construir nosso conhecimento sobre os conceitos fundamentais do Gerenciamento de Banco de Dados, ou seja, a forma de armazenar e manipular os dados para transformá-los em informação. Além de conhecer seus principais conceitos e definições vamos explorar as mais diversas aplicações de um banco de dados aplicado ao desenvolvimento de software. A disciplina de Gerenciamento de Banco de Dados é desenvolvida juntamente com as demais disciplinas dos cursos de computação, priorizando as disciplinas de: Análise de Projetos, Algoritmos e Lógica de Programação e Desenvolvimento Web, que atuam diretamente com o armazenamento e manipulação dos dados. Na unidade I – Conceitos de Banco de Dados, começaremos a nossa jornada pelo conceito das principais características do sistemas de banco de dados, suas transações e abordando as vantagens da utilização do SGBD. Esta noção é necessária para que possamos trabalhar a segunda unidade do livro, que versará sobre o modelo relacional. Já na unidade II – Modelo Relacional, vamos ampliar nossos conhecimentos sobre banco relacional. Para isso, vamos detalhar cada uma das etapas criação e manipulação de usuários, permissões e dos dados atribuídos ao SGBD. Depois, nas unidade III – SQL Básico, vamos tratar especificamente dos principais comandos utilizados para manipulação de um SGBD através dos comandos SQL, a permissões e restrições atribuídas aos usuários do banco de dados, os comandos de manipulação dos dados em SQL e as consultas básicas utilizando SQL. Por fim na unidade IV – vamos entender o papel dos tipos de consultas envolvendo NULL, a consultas aninhadas, a utilização do Joins, os comandos de alteração do Schema, a manipulação dos registros através da inserção, alteração e exclusão, as transações efetivadas, os utilização de visões e a preocupação com a segurança do dados. Aproveito para reforçar o convite a você, para junto conosco percorrer esta jornada de conhecimento e multiplicar os conhecimentos sobre tantos assuntos abordados em nosso material. Esperamos contribuir para seu crescimento pessoal e profissional. Muito obrigado e bom estudo! UNIDADE I CONCEITOS DE BANCO DE DADOS Prof. Dr. Hudson Sérgio de Souza Plano de Estudo: • Conceitos e Definições das características do SGBD; • Tipos de transações existentes; • Abordagem sobre as principais vantagens do uso SGBD. Objetivos de Aprendizagem: • Conceituar e contextualizar o sistema gerenciados de banco de dados; • Compreender os tipos de transações envolvendo armazenagem dos dados; • Estabelecer a importância da utilização de um SGBD. INTRODUÇÃO Olá caros acadêmicos! Sejam bem vindos ao Módulo I – Conceito de Banco de Dados. Neste módulo iremos tratar sobre os temas que irão contextualizar o tema central da disciplina Gerenciamento de Banco de Dados, iniciando pelos conceitos e definições das características do Sistema de Gerenciamento de Banco de Dados (SGBD), passando a definir os tipos de transações existentes e por fim, abordando as principais vantagens de se trabalhar utilizando um SGBD. Conhecer os princípios do SGBD é fundamental para toda empresa que necessite armazenar, buscar, alterar ou até mesmo deletar grandes volumes de dados, provenientes de clientes, produtos, transações, colaboradores ou outros dados que sejam vitais para o bom andamento da organização. 1 CONCEITOS E DEFINIÇÕES DAS CARACTERÍSTICAS DO SGBD Imagem do Tópico: 1651132153 Um Sistema de Gerenciamento de Banco de Dados (SGBD), proveniente do inglês Data Base Management System (DBMS), é responsável pela gestão de uma coleção de banco de dados, assim como os recursos necessários para a manipulação dos dados e do dicionário destes dados. O SGBD tem como objetivo tirar da responsabilidade do sistema do cliente de realizar o gerenciamento do acesso, da manipulação e organização dos dados armazenados no banco de dados. No banco de dados relacional a interface possui uma Application Programming Interface/Interface de Programação de Aplicação (API) ou drivers do SGBD, utilizados para a execução comandos da linguagem Structured Query Language/Linguagem de Consulta Estruturada (SQL). O SGBD é responsável pela forma de como os dados são armazenados, através de uma descrição completa do banco de dados, das informações da estrutura de cada Entidade (tabela), do tipo e do formato de armazenamento de cada dado, das restrições de acesso, etc. Denominamos como “dados persistentes” todos os dados que encontram-se armazenados em um banco de dados, conforme Figura 1. Basicamente o Sistema de Gerenciamento de Banco de Dados oferece os recursos de manipulação e manutenção dos dados armazenados em Entidades (tabela) dentro de um Banco de Dados, como: cria banco de dados, insere, consulta, altera e deleta, tanto os dados, quanto a entidade e o banco de dados. Outra função ofertada pelo SGBD é a criação e manutenção da conta de usuários, seus privilégios (permissões) de acesso, há três tipos distintos de contas de usuários: ● Usuário de aplicação: utiliza o banco de dados de forma indiretamente, tendo um programa de computador servindo como interface entre o usuário e o banco de dados, além de gerenciar as ações requisitadas pelo usuário; ● Usuário de desenvolvedor: utilização o banco de dados para realizar testes gerais para certificar que as ações implementadas no sistema estejam sendo executadas corretamente; ● Usuário DBA: Administrador do Banco de Dados, possui os privilégios (permissões) para manipular o banco de dados, entidades, atributos, dados, privilégios de outros usuários, backup, restauração, entre outros. Figura 01 - Esquema conceitual de um banco de dados Fonte: O autor, 2020. Um dos principais benefícios da utilização de um banco de dados é que os registros e dados existentes em diferentes tabelas podem ser acessados, organizados e recuperados de forma fácil e rápida através da utilização de um SGBD. O banco de dados deve possuir algumas características essenciais, tais como: ● Gestão de acesso aos dados; ● Múltiplas interfaces aos usuários; ● Gestão de redundância de dados; ● Dados compartilhados; ● Representação de associação complexa; ● Gestão de recuperação de falhas; ● Restrições de integridade dos dados. A aplicabilidadede um SGBD é muito ampla, dentre as principais podemos citar: dados oriundos de pesquisa científica aplicada, dados de inventário, dados de um biblioteca, dados contábeis, conversar de listas de discussão, dados contábeis, dados de clientes e dados de fornecedores. Algumas características são fundamentais para definir um SGBD, assim como: catálogo, independência de dados, múltiplas visões dos dados, compartilhamento e as transações. O catálogo em um SGBD ampara o banco de dados, a definição e a descrição das estruturas e dos registros armazenados no banco. A independência de dados em um SGBD possibilita aos usuários uma visão abstrata dos dados armazenados, ocultando detalhes de como os dados estão fisicamente salvos no banco. Já as múltiplas visões dos dados disponíveis em um SGBD possibilita que cada tipo de usuário possa ter a sua visão personalizada dos dados armazenados em um banco de dados. O SGBD possui as funções de compartilhamento e transações, para realizar a gestão do controle de concorrência. Uma coleção organizada de dados recebe a denominação de Banco de Dados, estes dados podem se relacionar entre si de forma organizada e cronológica gerando informações importantes para futuras tomadas de decisões, passando maior segurança e credibilidade tanto para pesquisa, quanto para estudos. Para as empresas os banco de dados são fundamentais para que possam continuar a crescer e alavancar novos negócios, através de informações sobre os clientes, seus fornecedores, sobre os produtos comercializados, o controle de estoque, fluxo de caixa, folha de pagamentos, entre outras. 2 TIPOS DE TRANSAÇÕES EXISTENTES Imagem do Tópico: 613593986 Um banco de dados relacional oferece suporte ao controle de transação e as propriedades da Atomicidade, Consistência, Isolamento e Durabilidade, comumente conhecida pela sigla ACID, uma propriedade do “tudo ou nada” de se concretizar qualquer alteração no banco de dados em sua plenitude ou desfazer todas as ações parcialmente executadas. Uma transação pode ser definida por uma sequência de operações onde são tratadas com um único bloco indivisível, durante o processo de recuperação de falhas. As transações são executadas completamente ou não serão executadas, assim caso houver uma falha em qualquer tipo de manipulação do dado em um banco de dados, esta transação poderá ser desfeita, retornando assim os dados originais ao banco de dados. A transação é tratada como uma unidade única, onde suas ações não suportam ser mescladas com outras operações que estejam sendo executadas no banco de dados, que não participem do escopo desta transação em particular. A execução de somente um comando SQL pode significar diversos acessos a um banco de dados separadamente, onde uma transação por sua vez consiste da execução de diversos comandos SQL. Toda transação deve ser executada em sua totalidade, ou não será executada, caso haja alguma falha por qualquer motivo que ocorra, essa transação pode ser desfeita, sendo essa característica denominada de Atomicidade. Uma transação, deve sobretudo manter a consistência dos dados armazenados no banco de dados, sendo essa característica denominada de Consistência. Neste contexto, fica evidente que o Sistema Gerenciador de Banco de Dados necessita executar tarefas especiais que garantam a execução da transação até o fim de forma ininterrupta e que não haja a interferência de execução de comandos SQL sendo executados no banco de dados de forma simultânea, sendo essa característica denominada de Isolamento. O sistema gerenciador de banco de dados precisa garantir que uma transação executada com êxito, não venha a se perder em uma provável falha posterior, sendo que as transações devam persistir à falhas. Outra característica importante é que a uma transação só pode ser desfeita através da execução de outra transação, sendo essa característica denominada de Durabilidade. 2. 1 Operações de dados por transação Entre diversas possibilidades de executar operações de dados por transação, a mais utilizada é o CRUD, sigla em inglês create, read, update, delete / criar, ler, alterar, deletar. Assim o Sistema Gerenciador de Banco de Dados (SGBD) necessita garantir que seja executada corretamente a transação, ocorrendo ou não uma falha, desta forma a transação é executada por completo ou nenhuma operação será executada, abortando a transação. Observando os código fonte da linguagem SQL, se observa que que a transação é definida por meio de declarações de formato, que designam o início e o fim da declaração, devendo ser executada como se fosse uma única instrução, sendo que para manter a integridade dos dados o SGBD deve priorizar as propriedade da ACID, conforme Figura 2. Figura 02 - Trecho de código fonte em linguagem SQL, indicando o escopo destinado a operação única 1 2 3 4 5 6 begin transaction . . . . end transaction Fonte: O autor, 2020. 2. 2 Commit e Rollback O comando “Commit” se aplica quando a transação tenha sido executada com sucesso, assim o banco de dados é alterado de forma permanente e o dado gravado em disco. Para corrigir qualquer problema por falhas com natureza diversas, será utilizado o comando “Rollback”, retornando o banco de dados ao estado de início da transação, sem a eventual transação executada parcialmente devido a falha. Podemos exemplificar através de uma transação financeira no valor de R$ 150,00 de uma conta corrente de um cliente “A” para outra conta corrente de um cliente “B” do mesmo banco, conforme Figura 3. Figura 03 - Trecho de código fonte da linguagem SQL, descrito em código Portugol, realizando uma transação financeira de transferência de recursos da conta corrente de um cliente para outro 1 2 3 4 5 6 7 8 9 10 11 12 inicio transacao transferencia_A_B vlr_transf = 150.00 ler(A) A = A – vlr_transf gravar(A) ler(B) B = B + vlr_transf gravar(B) end transaction Fonte: O autor, 2020. Onde, vlr_transf: recebe o valor a ser transferido de uma conta corrente para outra ler(A): transfere os dados físicos do banco de dados do cliente “A” para uma área de memória (buffer) A = A – vlr_transf: debita o valor da ser transferido (vlr_transf) do saldo da cota corrente do cliente “A” gravar(A): realiza a transferência dos dados do cliente “A” alocados na memória Buffer, para o banco de dados armazenado em disco; ler(B): transfere os dados físicos do banco de dados do cliente “B” para uma área de memória (buffer) A = B + vlr_transf: credita o valor transferido (vlr_transf) ao saldo da cota corrente do cliente “B” gravar(B): realiza a transferência dos dados do cliente “B” alocados na memória Buffer, para o banco de dados armazenado em disco. Em caso de sucesso da transação, o SGBD seguirá com o procedimento com o comando “Commit” efetivando a transação. Caso ocorra algum qualquer tipo de falha na transação, o SGBD executará o comando “Rollback” cancelando a transação de transferência, desfazendo todas as ações executadas, como por exemplo: ● Houver uma falha de comunicação; ● O saldo da conta corrente do cliente “A” for insuficiente para debitar o valor da transferência; ● Ocorre uma falha no momento de creditar o valor transferido na conta corrente do cliente “B”. 2. 3 Recuperação de Falhas O sistema gerenciador de recuperação de falhas assegura que ocorra a atomicidade e a durabilidade na execução das transações. Sendo que a atomicidade desfaz as ações decorrentes das transações que não obtiveram êxito e não foi realizado o “Commit”. Já a durabilidade garante com que todas as transações com êxito e que realizaram o “Commit” para efetivar a ações, tornam-se persistentes no banco de dados físico. Oalgoritmo de recuperação possui três fases distintas: ● Analisar: percorrer o log do sistema para frente, partindo do último ponto de verificação, identificando as transações ativas e as transações que estavam em execução no momento da falha; ● Refazer: percorrer e refazer todas as transações que estavam em execução no momento da falha, garantindo assim que as atualizações sejam registradas no log do sistema e devidamente salvas no banco de dados físico; ● Desfazer: todas as transações que estavam em execução no momento da falha serão desfeitas, recuperando os valores iniciais anteriores ao processo que gerou a falha, e atualizando o registro de log do sistema, fazendo a varredura de trás para frente. 2. 4 Controle de Concorrências Um sistema de controle de concorrência descreve uma arquitetura do sistema de gerenciamento de banco de dados do mais baixo nível, estando relacionado às operações de entrada e de saída, simultaneamente a troca dos blocos de memórias secundários para a memória principal e/ou vice-versa (ATZENI et al. 2000). Tanto a operação de escrita, quanto a de leitura, são gerenciadas pelo módulo Scheduler (escalonador), que define se a requisição pode ou não ser satisfeita. O sistema de gerenciamento de banco de dados oferece suporte a várias aplicações, que permite acesso concorrente dos dados. Enquanto maior for a permissão ao nível de concorrência, melhor será o tempo de resposta do sistema. Os mecanismos de controle e concorrência facilitam os processos de paralelismo no núcleo do sistema gerenciador de banco de dados. Em um cenário de banco de dados distribuídos, torna-se fundamental a implementação de um sistema de paralelismo, sendo que os nós da rede atuam de maneira independente, mesmo o controle de concorrência sendo efetivados de forma global. 3 ABORDAGEM SOBRE AS PRINCIPAIS VANTAGENS DO USO SGBD Imagem do Tópico: 1637979406 Em um Sistema de Gerenciamento de Banco de Dados normalmente os dados são armazenados em um banco de dados, que pode estar alocado em uma máquina física (servidor) ou uma máquina alocada nas nuvens (servidor virtual), ambos podendo ser uma máquina de grande porte ou uma máquina de menor capacidade de quantidade de armazenamento e de potencial de processamento, onde irá receber as requisições de dados das demais estações de trabalho (computador cliente). Ao armazenar os dados dos usuários em um único local (servidor físico ou virtual) a possibilidade de haver uma redundância (repetição) dos dados é praticamente nula. O SGBD através da função de multiusuário, possibilita o compartilhamento dos dados entre diversos usuários acessando o mesmo banco de dados de forma simultânea, onde vários sistemas integrados possam acessar o mesmo banco de dados. Uma das responsabilidades do SGBD é realizar o controle de concorrência, garantindo que as atualizações resultem em respostas às requisições de forma correta, possibilitando também a construção de visões distintas para cada tipo de usuário. Outra vantagens disponível no sistema de gerenciamento de banco de dados é o sistema de segurança, amplamente utilizado pelo Database Administrator/ Administrador de Banco de Dados (DBA), que cria regras bem definidas para cada grupo de usuário, assim como suas permissões, restrições de acesso e visibilidade dos dados e informações armazenadas dentro do banco de dados. Este pacote de segurança é aplicado tanto ao acesso aos dados por parte dos usuários, quanto a utilização de softwares interligados ao sistema de gerenciamento de banco de dados. Um banco de dados tem capacidade de armazenar uma grande quantidade de dados que se encontram inter-relacionados de diversas formas. O SGBD fornece recursos de representação da forma de relacionamento entre os dados, assim como as operações de inserção, atualização, exclusão e recuperação dos dados armazenados de forma rápida, eficiente e prática. Um Sistema de Gerenciamento de Banco de Dados propicia uma variedade de vantagens para sua utilização, tais como: ● Independência entre os dados e o sistema; ● Independência entre sistema e operação; ● Suporte a visões; ● Controle de Redundância. 3. 1 Independência entre os dados e o sistema A definição de estrutura de dados em um Sistema de Gerenciamento de Banco de Dados tem por característica possuir um catálogo ou dicionário de dados, denominado como metadados, ou seja, um detalhamento sobre os dados armazenados. Desta forma, quando ocorre alteração na estrutura de dados, não afetará a alteração dos softwares de manipulação dos dados. 3. 2 Independência entre sistema e operação Quando se trata de Sistema de Gerenciamento de Banco de Dados Orientado a Objetos (OO), relacional/objeto, função/procedimento, ao manipular dados armazenados em um banco de dados, as informações sobre os detalhes de armazenamento e implementação encontra-se ocultos, esta função denomina-se como abstração de dados. Caso a interface desta função permaneça inalterada no banco de dados, os sistemas que utilizam esta função não precisam ser alterados/tratados quando a função mudar, esta operação é denominada como independência entre sistema e operação. 3. 3 Suporte a visões O mesmo conjunto de dados armazenados em um banco de dados fisicamente, pode ser apresentado de formas distintas a clientes específicos, por exemplo: os detalhes dos dados dos acadêmicos, notas e faltas, podem ser apresentados de forma mais simplificada aos acadêmicos e de forma mais detalhada aos docentes. 3. 4 Controle de Redundância Uma característica do controle de redundância dos dados, que pode ser considerado como uma desvantagem, é o desperdício do espaço de armazenamento. Exemplificando: em um processo comum de arquivos onde cada usuário possui seus próprios arquivos e dados armazenados, pode ocorrer redundância, ou seja, repetições de arquivos ou dados. Durante o processo de atualização todos os arquivos ou dados devem ser atualizados simultaneamente, mantendo assim a integridade dos dados dentro do banco de dados, o que acarreta uma redundância das informações e a ocupação desnecessária de espaço em disco. 3. 5 Desvantagens da utilização do SGBD Uma desvantagens da utilização do sistema de gerenciamento de banco de dados é o alto custo inicial com investimento financeiro para compra de novos hardwares e softwares, assim como a contratação de um profissional especializado em administração de banco de dados para que possa projetar a infraestrutura física das instalações e a estrutura interna para o armazenamento dos dados no banco de dados. A desvantagem da diversidade de sistemas trabalhando simultaneamente, sendo softwares desenvolvidos de linguagens de programação diferentes, salvando os dados em banco de dados e estrutura interna de armazenamentos diferentes. Estes aspectos geram dados e arquivos sendo armazenados em mais de um lugar (duplicidade), onde os conteúdos podem não ser os mesmos (inconsistência). Exemplo: Digamos que o gerente de uma loja de departamentos esportivos necessite de um relatório específico que liste todos os clientes de uma determinada rua onde ocorrerá um evento esportivo ao ar livre. O relatório deve trazer informações como: nome, rede social, telefone, tipo de modalidade esportiva e, será consultado pelo número do CEP da rua. Como o software não foi projetado inicialmente para emitir esse relatório, os desenvolvedores farão uma adequação para atender a demanda atual. Para atender a segunda, terceira e as demais demandas que surgirão no futuro, os desenvolvedores, que não necessariamente serão as mesmas pessoas, irão fazer alterações no software onde podem ocorrer inconsistência dos dados futuramente. A desvantagem de haver dados isolamento, ou seja, dados armazenados em locais diferentese tipos de armazenamentos diferentes, se reflete no momento de desenvolver um novo módulo para a aplicação, sendo que se torna difícil recuperar os dados de onde muitas vezes não se conhece a estrutura, o local ou o próprio banco de dados onde o dados se encontra armazenado. A inconsistência dos dados é um fenômeno de preocupação constante, sendo que é possível que ocorra anomalias referente a acessos concorrentes, como por exemplo no caso do aprimoramento do desempenho global de um software, obtendo um tempo de resposta menor, muitos desenvolvedores adotam práticas que permitem que múltiplos usuários tenham acesso aos mesmos dados e realizem atualizações simultâneas nos mesmos dados, o que pode vir a ocorrer uma inconsistência no conteúdo armazenado deste dado. Um exemplo clássico é o acesso e a realização simultânea de saque na conta corrente entre dois clientes bancários em uma mesma conta corrente. Existem problemas decorrentes da segurança dos dados, quando se trata de acesso a estes dados por todos os usuários do sistema sem critérios ou hierarquia de controle. Por exemplo: o usuário responsável pelo Departamento Pessoal pode ter acesso aos dados cadastrais dos colaboradores da empresa e ao cadastro do clientes, porém não deve ter acesso aos dados financeiros dos clientes, ao histórico de compras ou pedidos em aberto. Outra situação preocupante são os novos módulos de aplicação agregados ao sistema, que muitas vezes não há como restringir o acesso a dados específicos. Um problema de integridade de valores de dados armazenados, tem relação a satisfazer algum tipo de restrição de um dado, como por exemplo, o controle de estoque não permite que um certo produto tenha estoque inferior a 10 unidades, no caso de uma implementação futura de um novo módulo do sistema, talvez essa restrição acaba sendo esquecida de ser implementa ou tenha passado despercebido no momento do levantamento de requisitos para implementação do novo módulo, o que será descoberto no momento em que o sistema estiver em uso prático no dia a dia da empresa. SAIBA MAIS INTEGRIDADE DE DADOS Nessa era da informação sob demanda não podemos nos contentar que os dados são apenas registros armazenados em um banco de dados. Sem a devida garantia de sua integridade também não é possível transformá-los em informação. De nada adianta termos imensos bancos de dados armazenando incontáveis bytes de dados, que são constantemente inseridos, modificados, eliminados, se não podemos transformá-los em informação. Fonte: PIMENTEL, Fabricio. Integridade de dados: Parte 01. Disponível em: https://www.devmedia.com.br/integridade-de-dados-parte-01/8831. Acesso em: 25 mar. 2020. #SAIBA MAIS# REFLITA Meus filhos terão computadores, sim, mas antes terão livros. Sem livros, sem leitura, os nossos filhos serão incapazes de escrever - inclusive a sua própria história. Bill Gates. Fonte: STARTSE, Turismo de Negócios. Veja 10 frases de Bill Gates, fundador da Microsoft, que completa 40 anos de fundação. Disponível em: https://www.startse.com/noticia/educacao/veja-10- frases-de-bill-gates-fundador-da-microsoft-que-completa-40- anos#:~:text=A%20empresa%20se%20tornou%20uma,se%20relacionam%20com%20os%20computado res.&text=Meus%20filhos%20ter%C3%A3o%20computadores%2C%20sim,inclusive%20a%20sua%20pr %C3%B3pria%20hist%C3%B3ria. Acesso em: 30 jun. 2021. #REFLITA # CONSIDERAÇÕES FINAIS Para compreender e tirar o melhor proveito das funcionalidades do Sistema de Gerenciamento de Banco de Dados (SGBD) é necessário compreender todos os contextos, características, vantagens e desvantagens desta importante ferramenta de gerenciamento. Neste sentido, foram explorados e exemplificando os conceitos e definições do SGBD, os tipos de transações existentes e analisar as principais vantagens e desvantagens do uso do sistema de gerenciamento de banco de dados na prática aplicado ao armazenamento dos dados de empresas de pequeno, médio e grande porte. LEITURA COMPLEMENTAR TOP 10 principais SGBDs do mercado global! Mas afinal, o que é um SGBD? Os Sistemas de Gerenciamento de Banco de Dados, ou SGBDs, são conjuntos de softwares utilizados para o gerenciamento de uma base de dados, ou seja, são os programas utilizados para controlar, organizar, acessar e proteger as informações de uma empresa. Fonte: SCUDERO, Erick. TOP 10 principais SGBDs do mercado global! Disponível em: https://becode.com.br/principais-sgbds/. Acesso em: 22 mar. 2020. LIVRO Título: Sistema de Gerenciamento de Banco de Dados Autor: Raghu Ramakrishnan e Johannes Gehrke. Editora: McGraw Hill. Sinopse: Este livro apresenta uma abordagem clara e atualizada dos fundamentos dos sistemas de banco de dados. Os professores podem optar por dar ênfase a aplicações de bancos de dados ou a sistemas. O livro traz muitos exemplos e aplicações, incluindo SQL e Oracle, e aplicações para a Internet. Além disso, são introduzidos padrões atuais, como JDBC e XML, e desenvolvimento de aplicações em três camadas. FILME/VÍDEO Título: O Quinto Poder Ano: 2014. Sinopse: Benedict Cumberbatch entrega uma performance brilhante como Julian Assange, o narcisista fundador do WikiLeaks, em O QUINTO PODER. Este drama baseado em fatos reais revela a busca das importantes figuras da Internet para expor a trapaça e a corrupção do poder - transformando-os na organização mais ferozmente debatida do século 21. Depois que Assange e seu colega Daniel Domscheit-Berg (Daniel Brühl) se unem para jogar luz sobre as trevas de segredos governamentais e de crimes corporativos, eles se veem lutando entre si sobre o custo de expor a verdade para o público ser muito alto. Inteligente e instigante, O QUINTO PODER provoca a polêmica pergunta: "Herói ou traidor?" Link do vídeo: https://www.youtube.com/watch?v=raCapBWlpaw WEB Banco de Dados Um banco de dados é uma coleção organizada de informações - ou dados - estruturadas, normalmente armazenadas eletronicamente em um sistema de computador. Um banco de dados é geralmente controlado por um sistema de gerenciamento de banco de dados (DBMS). Juntos, os dados e o DBMS, juntamente com os aplicativos associados a eles, são chamados de sistema de banco de dados, geralmente abreviados para apenas banco de dados. Fonte: ORACLE Brasil. Banco de dados. Disponível em: https://www.oracle.com/br/database/what-is- database.html. Acesso em: 23 mar. 2020. https://www.oracle.com/br/database/what-is-database.html https://www.oracle.com/br/database/what-is-database.html REFERÊNCIAS ALVES, William Pereira. Banco de dados. São Paulo: Érica, 2014. Minha Biblioteca. https://integrada.minhabiblioteca.com.br/#/books/9788536518961/. VBID: 9788536518961. ATZENI, Paolo; CERI, STEFANO; Paraboschi. Database Systems: concepts, languages & architectures. São Paulo: McGraw Hill, p.349-90, 2000. BARBOZA, Fabrício Felipe Meleto; FREITAS, Pedro Henrique Chagas. Modelagem e desenvolvimento de banco de dados. Porto Alegre-RS: Sagah, 2018. Minha Biblioteca. https://integrada.minhabiblioteca.com.br/books/9788595025172. VBID: 9788595025172. MACHADO, Felipe Nery Rodrigues. Banco de Dados: Projeto e Implementação. 3.ed. São Paulo: Érica, 2014. Minha Biblioteca. https://integrada.minhabiblioteca.com.br/books/9788536518978. VBID:9788536518978. ORACLE Brasil. Banco de dados. Disponível em: https://www.oracle.com/br/database/what-is-database.html. Acesso em: 23 mar. 2020. PIMENTEL, Fabricio. Integridade de dados: Parte 01. Disponível em: https://www.devmedia.com.br/integridade-de-dados-parte-01/8831. Acesso em: 25 mar. 2020. RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de gerenciamentode banco de dados. 3.ed. Porto Alegre-RS: AMGH, 2011. Minha Biblioteca: https://integrada.minhabiblioteca.com.br/books/9788563308771. VBID: 9788563308771. SCUDERO, Erick. TOP 10 principais SGBDs do mercado global! Disponível em: https://becode.com.br/principais-sgbds/. Acesso em: 22 mar. 2020. SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. Editora Pearson. Terceira Edição, 2010. STARTSE, Turismo de Negócios. Veja 10 frases de Bill Gates, fundador da Microsoft, que completa 40 anos de fundação. Disponível em: https://www.startse.com/noticia/educacao/veja-10-frases-de-bill-gates-fundador-da- microsoft-que-completa-40- anos#:~:text=A%20empresa%20se%20tornou%20uma,se%20relacionam%20com%20 os%20computadores.&text=Meus%20filhos%20ter%C3%A3o%20computadores%2C% 20sim,inclusive%20a%20sua%20pr%C3%B3pria%20hist%C3%B3ria. Acesso em: 30 jun. 2021. UNIDADE II MODELO RELACIONAL Prof. Dr. Hudson Sérgio de Souza Plano de Estudo: • Conceitos e Definições de Modelo Relacional; • Introdução à Modelagem; • Campos de estudo dos Atributos; • Domínio e Chave Estrangeira. Objetivos de Aprendizagem: • Conceituar e contextualizar o Modelo Relacional; • Compreender os tipos de Atributos; • Estabelecer a importância da Chave Estrangeira. INTRODUÇÃO Nesta Unidade II serão abordados os principais conceitos e definições de modelo relacional, uma introdução sobre a modelagem de banco de dados, sua forma abstrata de nomenclatura das entidades e atributos que se assemelham ao mundo real. A forma de armazenamento dos dados depende diretamente do tipo dos dados que se pretende armazenar, dessa forma existem tipos de atributos coerentes aos tipos de dados, também denominados de domínios. A base do relacionamentos do banco de dados relacional atua sobre chaves primárias e estrangeiras, para interligar diversas entidades e atributos, processando seus dados e os transformando em informações relevantes. 1 CONCEITOS E DEFINIÇÕES DE MODELO RELACIONAL Imagem do Tópico: 571378933 O pesquisador e matemático britânico Edgar Frank Codd no ano de 1970 trabalhava na IBM e descreveu os fundamentos da estrutura e funcionamento de um modelo de banco de dados relacional. O modelo relacional tem por característica a flexibilidade e adequação a diversos tipos de soluções para resolução de problemas a nível de criação e implantação de banco de dados relacional. A principal estrutura de um modelo relacional se baseia no relacionamento entre a Entidade (Tabela), a qual possui seus Atributos ou Campo (Colunas), os seus Registros ou Tuplas (Linhas) e os Dados, conforme Figura 1. Figura 01 - Nomenclatura das partes de uma entidade (tabela) Fonte: O autor, 2020. Segundo Korth (1995), o modelo de banco de dados relacional representa um conjunto de Entidades, cada uma com nome único, tendo cada Registro representado por uma linha da Entidade, composto por um conjunto de dados relacionados, classificados pelos atributos que definem os tipos de cada dado. O modelo relacional implementa uma estrutura de dados na forma de Entidades, as quais possuem restrições para resguardar os dados de particularidades não desejáveis, como: duplicação de informações (integridade referencial), impossibilidade de representar uma informação (chaves) e a perda da informação (integridade relacional). A arquitetura de um banco de dados relacional, conforme ANSI/SPARC, é composta por três componentes: ● Entidades: coleção de estrutura de dados, que compõe o nível conceitual; ● Linguagem SQL: os operadores, a álgebra e os cálculos relacionais; ● Integridade: coleção de restrições de integridade, que define a consistência do estado da base de dados e de suas alterações. Um modelo de banco de dados relacional pode representar os dados através de uma coleção de relações, as quais são representadas por meio de Entidades (Tabelas), onde cada Registro (Linha) se refere a uma coleção de dados relacionados entre si. Estas características contribuem no desenvolvimento de softwares que utilizam banco de dados relacional, facilitando o acesso e o processamento das consultas de dados e/ou informações processadas requisitadas pelos usuários, sendo amplamente aplicado a softwares comerciais atendendo a pequenas, médias e grandes empresas ou indústrias. Para garantir que cada Registro seja único dentro de uma Entidade, existe a um Atributo denominado como Chave Primária, onde os valores desta Tupla não se repita dentro desta Entidade, normalmente trata-se de uma numeração sequencial, porém pode ser utilizado um dado específico que não se repita dentro da Entidade, como o número do CPF, por exemplo. 2 INTRODUÇÃO À MODELAGEM Imagem do Tópico: 1096670732 A modelagem de dados se aplica no desenvolvimento de estruturas de armazenamento que sejam eficientes e escaláveis, auxiliando a busca por dados ou informações processadas de forma fácil e amigável. Um dado pode ser compreendido com um valor em seu estado bruto que esteja armazenado dentro de uma estrutura de banco de dados. Por outro lado, a informação pode ser interpretada com um conjunto de dados inter-relacionados, que foram tratados respeitando critérios pré estabelecidos para que se tornem relevantes. O número 30 (trinta) basicamente é um dado bruto ao ser analisado isoladamente, porém dentro de um contexto “A régua possui 30 centímetros”, este mesmo número se torna relevante para uma pessoa que busca por um instrumento de medição que possua 30 cm de comprimento. 2. 1 Modelagem Conceitual O modelo conceitual trata da análise de fenômenos e elementos relevantes a uma realidade observada ou pensada, a qual será transformado em um modelo abstrato denominado Modelo de Entidade-Relacionamento (MER), que pode ser descrito de forma visual através de um diagrama denominado Diagrama Entidade-Relacionamento (DER). O Modelo Entidade Relacionamento (MER), comumente chamado de Modelo ER, trata-se de um modelo conceitual usado na Ciências da Computação para determinar as Entidades (objetos) que fazem parte do sistema, assim como seus atributos (características) e os relacionamentos envolvidos. O MER representa o modelo abstrato da estrutura interna do banco de dados que será desenvolvida, contendo: as entidades, os atributos, entidades intermediárias, chaves primárias, chaves estrangeiras e relacionamentos usados em uma base de dados relacional. Devido a complexidade e tamanho do sistema a ser desenvolvido, atualmente a maioria dos sistemas são desenvolvidos em módulos menores, sendo que ao final todos os módulos de relacionam e se interligam, realizando a trocas de informações entre si, para que o sistema funcione como se fosse um único e grande módulo. Esta metodologia de dividir os problemas a serem solucionados em em partes menores, garante uma melhor implementação, alternativas de soluções, rapidez na entrega do módulo pronto e a possibilidade de constantes atualizações. 2. 2 Entidades As Entidades (tabelas) podem ser armazenadas em um meio físico ou lógico, conforme sua permanência no mundo real. Uma entidade física é tangível, podendo ser visualizada e tocada no mundo real, normalmente estão armazenadas dentro de servidores. Uma entidade lógica pode ser armazenada nas nuvens e sua existência se justifica pelas interações com outra entidade física, fornecendo subsídios ao domínio de negócios. A nomenclatura das entidades normalmente são baseados em substantivos abstratos ou concretos, expressando de forma clara e objetiva sua função em um determinado domínio do negócio, como por exemplo, a entidade: pessoa, produto, cliente, fornecedor, venda, itens_venda, curso, turma, disciplina, função, etc. As entidades podem ser classificadas de acordo com a forma de sua existência:● Entidade Forte: sua existência não depende de outra entidade, essa entidade sozinha possui todos os atributos e dados para sua existência. Exemplo: um sistema de vendas, onde a entidade produto, não necessita de nenhuma outra entidade para existir; ● Entidade Fraca: sua existência depende diretamente de outra entidade para existir, sendo que isoladamente não há sentido a sua existência, por exemplo, a entidade venda depende da entidade produto para existir, não há sentido realizar uma vendo sem que já um produto; ● Entidade Associativa: a existência desta entidade está ligada diretamente à necessidade de associar (interligar) duas outras entidades que venham a se relacionar entre si. Uma vez que o Modelo Entidade Relacionamento (MER) não prevê em alguns casos um relacionamento direto entre entidades, foi criada uma nova entidade para justamente permitir este relacionamento. 2.3 Relacionamento entre Entidades A partir da identificação das Entidades, o próximo passo é realizar o relacionamento com outras Entidades, a fim de realizar uma troca de dados dentro do sistema, os quais serão processados e se transformarão em informações úteis aos usuários. No Modelo Entidade Relacionamento há três tipos de relacionamentos disponíveis: ● Relacionamento Um-para-Um (1-1): O relacionamento ocorre entre duas Entidades, onde a referência obrigatória se dá entre dois atributos chaves. Exemplo: A entidade Pessoa possui um relacionamento (1-1) entre a Entidade Autenticação [Pessoa] 1----------1 [Autenticação], neste cenário pode-se dizer que uma Pessoa possui só e somente uma Autenticação e, que uma Autenticação está vinculado a só e somente uma Pessoa, conforme Figura 2; ● Relacionamento Um-para-Muitos (1-n): O relacionamento ocorre entre duas Entidades, porém uma das Entidades pode se referenciar a várias unidades da outra Entidade. No entanto, as unidades da segunda Entidades só podem se relacionar com apenas uma unidade da primeira Entidade. Exemplo: A Entidade Professor possui um relacionamento 1-n (Um-para-Muitos) entre a Entidade Aluno [Professor] 1----------n [Aluno], sendo de um Professor leciona para muitos Alunos, porém cada um destes Alunos (unidades) só podem se relacionar exclusivamente com apenas um Professor, conforme Figura 3; ● Relacionamento Muitos-para-Muitos (n-n): este relacionamento pode ocorrer entre duas ou mais Entidades, sendo que cada Entidade de ambos os lados, pode conter múltiplas referências de unidades da outra Entidade. Exemplo: Um Autor pode escrever vários Livros, enquanto que um Livro também pode ser escrito por vários Autores. A entidade Autor pode ser relacionada com uma ou várias unidades da Entidade Livro, assim como a entidade Livro pode se relacionar com uma ou várias unidades da Entidade Autor, [Autor] 1,n-----------1,n [Livro]. Desta forma, um objeto do tipo Autor pode se relacionar com um ou muitos objetos do tipo Livro e vice-versa, conforme Figura 2. Figura 02 - Tipo de relacionamento Muitos-para-Muitos (*-*) em banco de dados Figura 2 – Tipo de relacionamento Um-para-Um (1-1) em banco de dados Fonte: O autor, 2020. Figura 3 – Tipo de relacionamento Um-para-Muitos (1-*) em banco de dados Fonte: O autor, 2020. Fonte: O autor, 2020. 3 CAMPOS DE ESTUDO DO ATRIBUTOS Imagem do Tópico: 762698440 3. 1 Atributos Os Atributos podem ser descritos como as características de um Entidade, que esteja inserido dentro de um Domínio. Durante o período de levantamento de dados na Análise de Requisitos, são identificados Entidades, Atributos e Relacionamentos que farão parte de um sistema, como por exemplo, em uma entidade Pessoa haverá os atributos característicos e que sejam relevantes ao sistema, como: nome, e-mail e celular. É importante ressaltar que cada tipo e aplicação de sistema possui suas características próprias a qual irão definir seus tipos de atributos que serão armazenados no banco de dados. Para um sistema comercial, os atributos mencionados anteriormente (nome, e-mail e celular), são fundamentais para um sistema aplicado a um comércio de ao varejo. Logo, características físicas do cliente, como: sexo, altura, peso, cor dos olhos e tipo sanguíneo, são aplicáveis a um sistema votado a uma clínica médica. A classificação dos atributos por função, divide-se em três níveis: descritivo, nominativo e referencial. ● Descritivo: descreve características específicas de uma determinada entidade, como o nome ou etnia; ● Nominativo: além de absorver as características descritivas, possui o papel de identificar e delinear um objeto, como o código, nome, etnia, data de nascimento, endereço; ● Referencial: corresponde a ligação ocorrida entre as entidades em um relacionamento. Em uma entidade Venda o atributo “cpf”, está relacionado com o atributo “cpf” na entidade Pessoa. Os atributos podem ser classificados pela sua estrutura, assim como: simples ou composto. ● Simples: com um único atributo, é possível descrever um características de uma entidade, como o nome e peso; ● Composto: para definir uma informação complexa de um entidade, são utilizados vários atributos, assim como um endereço residencial, que pode ser armazenado em atributos distintos, como a rua, o número, o bairro, o cep, a cidade, o estado e o país. Atributos específicos em uma entidade recebem a denominação de Chave Primária, que possuem o papel de representar um valor único ao identificar uma entidade dentro de um domínio, como por exemplo o atributo “cpf” de uma pessoa. Assim como um atributo referencial recebe a denominação de Chave Estrangeira, o qual normalmente está interligado a chave primária de uma outra entidade que esteja relacionada. 3. 2 Tipos de Atributos Como em qualquer linguagem de programação, a linguagem de manipulação Structured Query Language/Linguagem de Consulta Estruturada (SQL) também tem seus tipos próprios de atributos (dados). O banco de dados MySQL possui capacidade de armazenamento de tipos distintos de atributos, que estão subdivididos em: numérico, data e carácter. O Quadro 1 descreve os principais tipos de atributos armazenados no banco de dados MySQL, assim como os campos, tamanhos de armazenamento e exemplo. Quadro 01 - Tipos de dados armazenados no banco de dados MySQL TIPO CAMPO ARMAZENAMENTO EXEMPLO Numérico smallint 2 bytes 1 int 4 bytes 1 bigint 8 bytes 1 float 4 bytes 1.0 double 8 bytes 1.0 real 8 bytes 1.0 decimal(m,d) M+2 btes se D>0, M+1 byte se D=0 1.05 Data date 3 bytes 2018-07-16 datetime 8 bytes 2018-07-16 09:37:12 timestamp 4 bytes 2018-07-16 09:37:12 (utc) “fuso horário” Caractere char(n) n bytes 'a' varchar(n) n+1 bytes “Mauro Pedreira” Fonte: O autor, 2020. Os operadores dos tipos aritméticos, relacional e lógico, são utilizados na linguagem SQL para realização de tarefas, como: somar ou substituir valores (aritméticos), realizar a comparação entre valores fixos ou variáveis (relacional) e a tomada de decisão (lógico). Estes diferentes tipos de operadores garantem uma filtragem na busca (query) dos dados armazenados no banco de dados MySQL, podendo transformar estes dados brutos em informações relevantes, conforme o Quadro 2. Quadro 2: Operadores utilizados pelo banco de dados MySQL. OPERADOR TIPO + soma Aritmético - subtração * produto / divisão = igual Relacional > maior < menor >= maior igual <= menor igual <> diferente AND e Lógico OR ou NOT não Fonte: O autor, 2020. 4 DOMÍNIO E CHAVE ESTRANGEIRA Imagem do Tópico: 390313318 4. 1 Domínio O Domínio em um banco de dados refere-se ao conjunto de possíveis valores que podem ser armazenados a um atributo, obedecendo os critérios do tipo desse atributo.Os tipos de atributos mais comuns para a atribuição e armazenamento de domínios (valores), conforme Figura 3, são: ● Integer ou int: números inteiros – exemplo: 15; ● Decimal: números com casas decimais – exemplo: 1564.35; ● Varchar: alfanuméricos letras, número e caracteres especiais – exemplo: az-AZ-09-”!@#$%*()_+. ● É importante ressaltar que existem alguns critérios que devem ser aplicados aos tipos de atributos: ● Atributo Atômico: são formados por campo únicos e não divisíveis – exemplo: altura, peso, quantidade; ● Atributo Composto: possibilita a decomposição de um atributo em vários – exemplo: nome, nome_meio, sobrenome; ● Atributo Identificador: possui um valor único e possibilita a identificação de um registro dentro de uma entidade – exemplo: id_pessoa; ● Atributo candidato: em uma chave composta por três atributos, um deles será a chave primária e os demais recebem a nomenclatura de chave candidata – exemplo: cpf(PK), nome, email; ● Atributo de Chave Estrangeira: faz referência e recebe o mesmo valor que o atributo de chave primária em outra entidade – exemplo: Pessoa.id_pessoa=123456 (PK) 1-------n Livro.id_pessoa=123456 (FK). Figura 03 - Possíveis valores que foram o domínio em um banco de dados Fonte: O autor, 2020. 4. 2 Chave Estrangeira (Foreign Key) O conceito de chave estrangeira se refere a um conjunto de atributos que compõem um relacionamento entre as Entidades. Sendo que o mesmo domínio (conteúdo do atributo/dado) do atributo identificado na relação como chave primária na primeira Entidade, será obrigatoriamente atribuído e armazenado na segunda Entidade em um atributo denominado como chave estrangeira. A checagem das referências entre a chave primária da primeira Entidade com a chave estrangeira da segunda Entidade se dá através da comparação entre ambos os domínios/dados, conforme Figura 4. Figura 04 - Diagrama de classe Estado-Cidade demonstrando o relacionamento com chave estrangeira (FK) Fonte: O autor, 2020. A Figura 4, ilustra o diagrama de classe entre as entidades Estado e Cidade, onde a cardinalidade indica um relacionamento Um-para-Muitos (1-*), sendo que “um Estado possui muitas Cidades”. No Quadro 3, houve o preenchimento dos domínios (dados) das entidades Estado e Cidade para melhor descrever quais os atributos em ambas as Entidades são responsáveis pelo relacionamento e a comparação dos domínios/dados. A entidade Estado possui o atributo “id_estado” a qual é a Chave Primária (PK). Na entidade Cidade o atributo “id_cidade” representa a Chave Primária (PK) e o atributo “cid_id_estado” representa a Chave Secundária (FK) da relação Um-para-Muitos (1-*). Quadro 3: Preenchimento da Entidades Estado-Cidade com seus respectivos domínios(dados) Estado Cidade id_estado (PK) estado sigla id_cidade (PK) cidade abreviacao cid_id_estado (FK) 001 Paraná PR 126 Paranavaí Pvaí 001 002 Santa Catarina SC 438 Chapecó Chape 002 003 Rio Grande do Sul RS 785 Bento Gonçalves Bento 003 237 Maringá Mgá 001 344 Londrina Ldna 001 Fonte: O autor, 2020. SAIBA MAIS Quais são os principais bancos de dados e suas diferenças? Antes de explicar os tipos de bancos de dados disponíveis, é necessário definir suas duas categorias: banco de dados relacionais e não relacionais. Bancos de dados relacionais são fundamentados no paradigma da orientação a conjuntos. Seus dados são armazenados em estruturas denominadas tabelas. Cada tabela é composta por colunas (atributos e linhas), tuplas ou registros. Fonte: OPSERVICES. Gerenciamento de TI e Dashboards em tempo real. Disponível em: https://www.opservices.com.br/banco-de-dados/. Acesso em: 16 abr. 2020. ORACLE Brasil. Banco de dados. Disponível em: https://www.oracle.com/br/database/what-is- database.htm. Acesso em: 23 Mar. 2020. #SAIBA MAIS# REFLITA "O que a nova tecnologia faz é criar novas oportunidades para fazer um trabalho que os clientes querem feito." Tim O’Reilly. Fonte: EUNERD. 15 frases para o dia do profissional de TI. Disponível em: https://encontreumnerd.com.br/blog/dia-do-profissional-ti. Acesso em: 16 abr. 2020. KORTH, Henry F. Sistema de banco de dados. São Paulo: Markon, 1995. #REFLITA # CONSIDERAÇÕES FINAIS Os estudos abordados nesta Unidade II descreveram os principais conceitos sobre o modelo de banco de dados relacional, assim como uma visão abstrata do levantamento de requisitos, aos quais são utilizados para a construção da estrutura interna do banco de dados, com nomenclaturas semelhantes aos requisitos levantados, dando nomes às entidades e atributos. Da mesma forma como existem diversos tipos de dados diferentes, também existem tipos de dados específicos para armazenar estes dados. Para que seja possível transformar dados brutos em informações relevantes, é necessário que haja um relacionamento entre as entidades e atributos, através das chaves primárias e estrangeiras. LEITURA COMPLEMENTAR A Tecnologia de Mineração de Textos Christian Aranha, Emmanuel Passos Resumo Mineração de textos, também conhecido como mineração de dados textuais ou descoberta de conhecimento de bases de dados textuais, em geral, se refere ao processo de extração de informações de interesse e padrões não-triviais ou descoberta de conhecimento em documentos de texto não-estruturados. Pode ser visto como uma extensão da mineração de dados ou da descoberta de conhecimento em bases de dados estruturadas. Como muitas informações (mais de 80%) estão armazenadas em formato texto, acredita-se que as técnicas de mineração de textos possuam um grande valor comercial. O objetivo deste tutorial é apresentar algumas técnicas de mineração de textos, bem como casos de uso e resultados obtidos Palavras-chave: Mineração de textos; Sistemas de Informação Inteligentes; Mineração de dados. Fonte: ARANHA, Christian; PASSOS, Emmanuel. A tecnologia de mineração de textos. Revista Eletrônica de Sistemas de Informação. ISSN: 1677-3071. v.5, n.2, 2006. Disponível em: http://periodicosibepes.org.br/index.php/reinfo/article/view/171. Acesso em: 15 abr. 2021. LIVRO • Título: Acessando Banco de dados com APP Inventor • Autor: Vitor Amadeu Souza. • Editora. Cerne. • Sinopse: O intuito desta obra é apresentar como acessar um banco de dados interno (no aparelho) e externo (na internet) programando o smartphone/tablet Android usando o MIT App Inventor. Desta forma, será desenvolvido um aplicativo que permitirá salvar e resgatar informações nestas duas modalidades de banco de dados (BD). FILME/VÍDEO • Título: Invasores: Nenhum Sistema Está a Salvo • Ano: 2015. • Sinopse: Benjamin (Tom Schilling) gênio da informática é uma pessoa solitária. Sua vida se resume ao mundo virtual, onde pode ser quem desejar. Logo, ele se junta a um grupo de hackers em Berlim que provocam atividades divertidas em busca de fama e reconhecimento de outros hackers. Mas o que começa como um jogo, acaba se intensificando a algo perigoso entre o amor e a morte. Link: https://www.youtube.com/watch?v=k97MWnFD-7g REFERÊNCIAS ALVES, William Pereira. Banco de dados. São Paulo: Érica, 2014. Minha Biblioteca. https://integrada.minhabiblioteca.com.br/#/books/9788536518961/. VBID: 9788536518961. ARANHA, Christian; PASSOS, Emmanuel. A Tecnologia de Mineração de Textos. RESI - Revista Eletrônica de Sistemas de Informação. DOI: https://doi.org/10.21529/RESI.2006.0502001 n.2, 2006. Disponível em: http://periodicosibepes.org.br/index.php/reinfo/article/view/171. Acesso em: 16 abr. 2020. ATZENI, Paolo; CERI,STEFANO; Paraboschi. Database Systems: concepts, languages & architectures. São Paulo: McGraw Hill, p.349-90, 2000. BARBOZA, Fabrício Felipe Meleto; FREITAS, Pedro Henrique Chagas. Modelagem e desenvolvimento de banco de dados. Porto Alegre-RS: Sagah, 2018. Minha Biblioteca. https://integrada.minhabiblioteca.com.br/books/9788595025172. VBID: 9788595025172. EUNERD. 15 frases para o dia do profissional de TI. Disponível em: https://encontreumnerd.com.br/blog/dia-do-profissional-ti. Acesso em: 16 abr. 2020. KORTH, Henry F. Sistema de banco de dados. São Paulo: Markon, 1995. MACHADO, Felipe Nery Rodrigues. Banco de Dados: Projeto e Implementação. 3.ed. São Paulo: Érica, 2014. Minha Biblioteca. https://integrada.minhabiblioteca.com.br/books/9788536518978. VBID: 9788536518978. OPSERVICES. Gerenciamento de TI e Dashboards em tempo real. Disponível em: https://www.opservices.com.br/banco-de-dados/. Acesso em: 16 abr. 2020. ORACLE Brasil. Banco de dados. Disponível em: https://www.oracle.com/br/database/what-is-database.html. Acesso em: 23 Mar. 2020. PIMENTEL, Fabricio. Integridade de dados: Parte 01. Disponível em: https://www.devmedia.com.br/integridade-de-dados-parte-01/8831. Acesso em: 25 mar. 2020. RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de gerenciamento de banco de dados. 3.ed. Porto Alegre-RS: AMGH, 2011. Minha Biblioteca: https://integrada.minhabiblioteca.com.br/books/9788563308771. VBID: 9788563308771. SCUDERO, Erick. TOP 10 principais SGBDs do mercado global! Disponível em: https://becode.com.br/principais-sgbds/. Acesso em: 22 mar. 2020. SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. Editora Pearson. Terceira Edição, 2010. UNIDADE III SQL BÁSICO Prof. Dr. Hudson Sérgio de Souza Plano de Estudo: • Conceitos e Definições de SQL; • Linguagens DDL e DCL; • Restrições SQL; • Chave Estrangeira e Check. Objetivos de Aprendizagem: • Conceituar e contextualizar o SQL; • Compreender os tipos de restrições; • Estabelecer a importância dos comandos básicos SQL. INTRODUÇÃO Na Unidade III será abordado tanto os conceitos, quanto às práticas dos comandos MySQL utilizados nos conceitos e definições do SQL, nas restrições implementadas sobre o SQL, na realização de consultas básicas junto do banco de dados MySQL, assim como os principais comando para realização do CRUD (Create, Read, Update e Delete) os quais são utilizados inserir dados ao banco de dados MySQL, realizar consultas, alterar os conteúdos do dados armazenados e apagar registros inteiros armazenados na Entidade do banco de dados MySQL. 1 CONCEITOS E DEFINIÇÕES DE SQL Imagem do Tópico: 1361342690 1.1 Linguagem SQL A Structured Query Languege/Linguagem de Consulta Estrutura (SQL) é a linguagem de acesso e manipulação do SGBD mais utilizada para realizar a gestão dos dados armazenados em sua base de dados. Esta linguagem possui características padrão de consulta do banco de dados, de criação da estrutura dos dados e para modificar os dados armazenados no banco de dados. A linguagem possui comandos específicos para gerenciar a segurança de acesso aos dados e das privilégios (permissões) de acesso por parte dos usuários. Através da linguagem SQL é possível: ● Criar, alterar e remover esquemas lógicos; ● Realizar a manipulação dos dados armazenados no banco de dados; ● Possibilita a inserção de novos dados, a alteração ou remoção de dados antigos no banco de dados; ● Definir os privilégios (permissões) de acesso e transação dos usuários aos dados contidos no banco de dados. É importante salientar que a linguagem SQL é semelhante a uma linguagem de programação tradicional, como Java, PHP, Python, C++, porém foi projetada especificamente para realizar a manipulação do banco de dados, conforme Figura 1. Figura 01 - Linguagem de manipulação SQL Fonte: O autor, 2020. A linguagem SQL possui alguns subconjuntos da linguagem, dentre as principais estão: ● A DML que manipula os registros, exemplo select; ● A DDL que manipula os objetos, exemplo create table; ● A DCL que manipula os utilizadores, exemplo revoke. 1. 2 Linguagem DML A Data Manipulation Language/Linguagem de Manipulação de Dados (DML) trata- se de um subconjunto da Linguagem SQL, que realiza as funções de inserir, atualizar, consultar e deletar os dados contidos no banco de dados. Caso a linguagem DML seja utilizada de forma independente, ela passará a se chamar de Query Language/Linguagem Consulta junto com a Linguagem SQL. Os principais comandos da Linguagem DML são: ● SELECT: realiza uma consulta “query” ao banco de dados, possibilitando passar a descrição do resultado esperado; ● UPDATE: altera o valor do conteúdo de um ou mais Registros de uma Entidade; ● DELETE: remove um ou mais Registros de uma Entidade existente; ● TRUNCATE: remove todos os Registros de uma Entidade, esvaziando-a; ● COMMIT: efetiva uma transação executada no banco de dados; ● ROLLBACK: desfaz a transação corrente, fazendo com que as modificações sejam desfeitas. 2 LINGUAGENS DDL E DCL Imagem do Tópico: 571378933 2.1 Linguagem DDL A Data Definition Language/Linguagem de Definição de Dados (DDL) é aplicada na definição da estrutura do banco de dados pelos projetistas e analistas de banco de dados. O Sistema Gerenciador de Banco de Dados (SGBD) possui um interpretador próprio para a Linguagem DDL, que se responsabiliza pela execução dos comandos, pelo processamento da DDL e por guardar o esquema determinado na estrutura interna do banco de dados. Estando os dados devidamente armazenados no banco de dados, esses dados estão disponíveis para serem manipulados através de uma série de operações de acesso a estes dados. A linguagem DDL dispõe de comandos para realizar a alteração das tabelas, as visões e os índices das tabelas. Os principais comandos da linguagem DDL são: ● CREATE: cria uma Entidade (objeto) dentro de um banco de dados; ● ALTER: permite alterar a estrutura de uma Entidade (objeto); ● DROP: apaga uma Entidade (objeto) de dentro de um banco de dados existente. 2. 2 Linguagem DCL A Data Control Language/Linguagem de Controle de Dados (DCL) realiza o controle do acesso e das transações dos dados que se encontram armazenados no banco de dados. Gerencia os diferentes níveis de acesso, através das restrições de acesso aos usuários. Os principais comandos da linguagem DCL são: ● GRANT: realiza a gestão de privilégios a um usuário para acessar ou realizar operações em um determinado Banco, Entidade ou Atributo; ● REVOKE: remove os privilégios de um usuário de executar operações; ● SET: parâmetros definidos em tempo de execução, para execução de uma tarefa; ● LOCK: bloqueia explicitamente o acesso a uma determinada Entidade, através de controle de acesso concorrente. 3 RESTRIÇÕES SQL Imagem do Tópico: 790723873 Neste módulo será abordado a forma de manipulação das restrições às Entidades através dos comandos SQL, onde as principais restrições são: ● Chave primária; ● Unique; ● Chave estrangeira; ● Check; ● Not null. A aplicação das restrições pode ser recomendado para manter a integridade referencial das Entidades dentro de um Banco de Dados. As restrições podem ser aplicadas diretamente sobre as Entidades e Tuplas através da linguagem SQL, permitindo um maior controle sobre os dados armazenados na Entidade. A limitação dos dados brutos armazenados por tipos de dados, por si só já são um tipo de restrição, embora não possuam um refinamento adequado para atenderas necessidades de softwares mais aprimorados. Por exemplo, o valor de um produto deve ser armazenado com as casas decimais do valor, o tipo de dado Decimal “vlr_produto decimal(15,2);” é apropriado para isso, no entanto não consegue restringir que todos dados armazenados sejam positivos. Para estes casos de ajustes específicos, a linguagem SQL possibilita delimitar restrições na Tuplas (coluna) afetando somente o dados a ser armazenado, caso o usuário insira um valor não apropriado a uma Tupla violando a regra de uma restrição específica, imediatamente será gerado um erro e o dado não será armazenado. É importante conhecer as regras de restrição, devido a elas se aplicam até mesmo a valores padrão dos Atributos. Chave Primária A chave primária é empregada para identificar de maneira única cada Registro de uma Entidade, normalmente fazendo parte do Registro atual ou um atributo artificial que não esteja no mesmo registro. A chave primária deve conter valor único, não pode haver valores nulos. Esta chave pode ser composta por um ou mais Atributos da Entidade. Chave Composta é a denominação dada ao se utilizar vários Atributos como chave primária. A definição da chave primária pode ser feita no momento de criação da Entidade, com a utilização do comando CREATE TABLE, ou após criada a Entidade, alterando a Entidade através do comando ALTER TABLE. Exemplo de atribuição da chave primária durante a criação da Entidade: CREATE TABLE pessoa ( id_pessoa int(11) primary key, nome varchar(255) ); Exemplo de atribuição da chave primária após a criação da Entidade, por meio de alteração da entidade: ALTER TABLE pessoa ADD PRIMARY KEY (id_pessoa); A descrição da tabela “pessoa” pode ser visualizada através do comando: describe pessoa; +-----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+-------+ | id_pessoa | int(11) | NO | PRI | NULL | | | nome | varchar(255) | YES | | NULL | | +-----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Unique A restrição do tipo UNIQUE assegura que todos os dados contidos em um Atributo sejam diferentes uns dos outros. Na entidade “Carro”, o atributo “id_carro” possui um restrição que não permite incluir dados duplicados, ou seja, com o mesmo valor. Desta forma, ao forçar a inserção de um dado repetido neste atributo, irá gerar um ERRO, uma vez que já existe o mesmo valor do dados no atributo “id_carro”. Criando a Entidade “Carro”. CREATE TABLE carro ( id_carro int(11) UNIQUE, modelo varchar(255), ano int(11) ); describe carro; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | id_carro | int(11) | YES | UNI | NULL | | | modelo | varchar(255) | YES | | NULL | | | ano | int(11) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+ A primeira vez que o dado seja inserido, será armazenado com sucesso. INSERT INTO carro (id_carro, modelo, ano) VALUES (1, 'Civic', 2017), (2, 'Opala', 1985), (3, 'Mercedes', 2020) ; Listando os dados armazenados. select * from carro; +----------+----------+------+ | id_carro | modelo | ano | +----------+----------+------+ | 1 | Civic | 2017 | | 2 | Opala | 1985 | | 3 | Mercedes | 2020 | +----------+----------+------+ Já na segunda que se tentar inserir o mesmo valor do dado, irá gerar um erro e o dados não será armazenado. INSERT INTO carro (id_carro, modelo, ano) VALUES (1, 'Kombi', 1953); Mensagem de ERRO ao tentar inserir um número já existente no Atributo “id_carro”: INSERT INTO carro -> (id_carro, modelo, ano) -> VALUES -> (1, 'Kombi', 1953); ERROR 1062 (23000): Duplicate entry '1' for key 'id_carro' 4 CHAVE ESTRANGEIRA E CHECK Imagem do Tópico: 598806239 Chave Estrangeira A função de uma Foreign Key/Chave Estrangeira entre o relacionamento de duas ou mais Entidades é de apontar o mesmo conteúdo de um Atributo de uma Chave Primária de uma Entidade “A”, em um Atributo de mesma tipagem em uma Entidade “B”. Para melhor compreensão, suponha-se duas Entidade denominadas “Estado” e “Município”, simultaneamente, em um relacionamento com cardinalidades de Um para Muitos (1-*), onde: Um Estado possui Muitos Municípios. ### Entidade: tb_estado CREATE TABLE tb_estado ( id_estado int(11) not null primary key auto_increment, estado varchar(150), sigla varchar(2) ); ### Entidade: tb_cidade CREATE TABLE tb_cidade ( id_cidade int(11) not null primary key auto_increment, cidade varchar(255), avreviacao varchar(30), cid_id_estado int(11), foreign key (cid_id_estado) references tb_estado (id_estado) ); Check Uma restrição do tipo CHECK possibilita a realização de uma condição prévia a ser validada em operações dos tipos INSERT e UPDATE. Uma vez que o resultado da transação for validado como TRUE (verdadeiro) a operação será concluída com sucesso. Caso o resultado da transação seja validado como FALSE (falso) a operação será concluída, retornando uma mensagem de erro. Para exemplificar será utilizado um semáforo onde serão validados três cores: vermelho, amarelo e verde. Caso sua inserção não seja exatamente uma destas três cores, a transação de inserção falhará. Criação da Entidade: CREATE TABLE tb_semaforo ( id_semaforo int(11) not null primary key auto_increment, cruzamento varchar(255), cor varchar(10), CONSTRAINT ck_semafaro CHECK (cor IN('vermelho', 'amarelo', 'verde')) ); Observe que não há nenhuma descrição da CONSTRAINT na descrição da Entidade. mysql> describe tb_semaforo; +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | id_semaforo | int(11) | NO | PRI | NULL | auto_increment | | cruzamento | varchar(255) | YES | | NULL | | | cor | varchar(10) | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.01 sec) Inserindo os valores dos dados corretos na Entidade. mysql> INSERT INTO tb_semaforo (id_semaforo, cruzamento, cor) VALUES (NULL, 'Av. Brasil com Rua Paraná', 'amarelo'); Query OK, 1 row affected (0.04 sec) Ao inserir um dado incorreto na Entidade com a cor ‘azul’, irá retornar uma mensagem de erro. mysql> INSERT INTO tb_semaforo -> (id_semaforo, cruzamento, cor) -> VALUES -> (NULL, 'Av. Brasil com Rua Paraná', 'azul'); ERROR 4025 (23000): CONSTRAINT `ck_semafaro` failed for `db_prof_hudson`.`tb_semaforo` Para confirmar que a transação que obteve falha na CONSTRAINT não inseriu nenhum dados na Entidade, será dado o comando de Select (consulta) para demonstrar qual registro encontra-se inserido. mysql> SELECT * FROM tb_semaforo; +-------------+----------------------------+---------+ | id_semaforo | cruzamento | cor | +-------------+----------------------------+---------+ | 1 | Av. Brasil com Rua Paraná | amarelo | +-------------+----------------------------+---------+ 1 row in set (0.02 sec) Not Null A restrição do tipo NOT NULL aplicada a um Atributo (coluna) de uma Entidade, assegura que não aceitará a inserção (INSERT) ou alteração (UPDATE) deum dado com valor nulo (NULL). CREATE TABLE tb_profissao ( id_profissao int(11) not null primary key auto_increment, nome varchar(255) not null, profissao varchar(150) ); Descrição da Entidade 'tb_profissao'. mysql> describe tb_profissao; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+----------------+ | id_profissao | int(11) | NO | PRI | NULL | auto_increment | | nome | varchar(255) | NO | | NULL | | | profissao | varchar(150) | YES | | NULL | | +--------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.01 sec) Inserindo dados corretos, observe que o segundo registro será inserido e aceito o campo vazio. mysql> INSERT INTO tb_profissao -> (id_profissao, nome, profissao) -> VALUES -> (NULL, 'Mauro', 'Cozinheiro'); Query OK, 1 row affected (0.07 sec) mysql> INSERT INTO tb_profissao -> (id_profissao, nome, profissao) -> VALUES -> (NULL, '', 'Motorista'); Query OK, 1 row affected (0.05 sec) Tentativa de inserção de dados com o Atributo ‘nome’ nulo, seguido da mensagem de erro de que o campo “nome” não pode ser nulo. mysql> INSERT INTO tb_profissao -> (id_profissao, nome, profissao) -> VALUES -> (NULL, NULL, 'Padeiro'); ERROR 1048 (23000): Column 'nome' cannot be null Listando o conteúdo da Entidade. mysql> SELECT * FROM tb_profissao; +--------------+-------+------------+ | id_profissao | nome | profissao | +--------------+-------+------------+ | 1 | Mauro | Cozinheiro | | 2 | | Motorista | +--------------+-------+------------+ 2 rows in set (0.01 sec) Com isso, é possível afirmar que o comando NOT NULL atribuído a um Atributo durante a criação de uma Entidade, permite que o Registro seja inserido com sucesso uma vez que haja conteúdo no Campo identificado como NOT NULL ou que este campo esteja vazio. Porém não sendo possível a inserção de um Registro que possui um campo NULL (nulo) desde que o Atributo tenha sido atribuído NOT NULL. SAIBA MAIS Diferentes tipos: Categorias de instruções (Transact-SQL) Data Manipulation Language (DML) Data Definition Language (DDL) Data Control Language (DCL) Transactional Control Language (TCL) Fonte: ROSSITO, Thomaz. Comandos: DML, DDL, DCL, TCL – SQL Server. Set. 2017. Disponível em: http://www.thomazrossito.com.br/comandos-dml-ddl-dcl-tcl-sql-server/. Acesso em: 18 set. 2020. #SAIBA MAIS# REFLITA "Quando uma nova tecnologia passa por você, se você não faz parte dela, fará parte do caminho." Stewart Brand. Fonte: TUTIDA, Daniel. 15 frases para o dia do profissional de TI. Disponível em: https://encontreumnerd.com.br/blog/dia-do-profissional-ti. Acesso em: 18 set. 2020. #REFLITA # CONSIDERAÇÕES FINAIS Ao final deste módulo foi possível evidenciar os principais conceitos e definições em torno do SQL, assim como as restrições que envolvem as chaves primárias e estrangeiras das Entidades, sua prerrogativas de definição automáticas de valor de chaves, o que garante a exclusividade de uma única chave que não se repete dentro da mesmo entidade. Para isso foram apresentados os principais conceitos da chave primária, unique, chave secundária, check e not null. Uma das principais funções do banco de dados é proporcionar ações de manipulação aos elementos armazenados ao banco de dados MySQL, assim como o CRUD (Create, Read, Update e Delete), utilizado para inserir dados ao banco de dados, realizar consultas, alterar os conteúdos do dados armazenados e deletar registros da Entidade que encontra-se armazenada no banco de dados MySQL. LEITURA COMPLEMENTAR Neste Guia Completo de SQL você encontrará todo o conteúdo que precisa para aprender sobre a SQL, linguagem de consulta estruturada utilizada por programadores e DBAs para a execução de consultas e comandos nos principais SGBDs do mercado. Fonte: DEVMedia. Guia Completo de SQL. Disponível em: https://www.devmedia.com.br/guia/guia- completo-de-sql/38314. Acesso em: 18 set. 2020. LIVRO • Título: Aprendendo SQL: Dominando os Fundamentos de SQL • Autor: Alan Beaulieu. • Editora: Novatec. • Sinopse: Atualizado para os mais recentes sistemas de gerenciamento de banco de dados – incluindo MySQL 5.1, Oracle 11g e Microsoft SQL Server 2008 – este guia introdutório irá habilitar você a trabalhar com SQL rapidamente. Independentemente de precisar escrever aplicações de banco de dados, realizar tarefas administrativas ou gerar relatórios, Aprendendo SQL auxiliará você a dominar todos os fundamentos de SQL. FILME/VÍDEO • Título: A Rede Social • Ano: 2010. • Sinopse: O filme retrata a "pré-história" da maior e mais poderosa rede social do mundo: o Facebook. Tudo começa quando o jovem Mark Zuckerberg cria um site para facilitar a comunicação entre os estudantes de Harvard. Por que assistir? Criado em 2003, o Facebook mudou para sempre a internet. De acordo com Velasco, o filme tem o mérito de mostrar ao estudante de tecnologia que, quando se pretende empreender na área, a capacidade de transformação e reinvenção faz toda a diferença. "The social network". Link: https://www.youtube.com/watch?v=YNrbyRA5d14 WEB O Que É MySQL? Guia Para Iniciantes. Fonte: HOSTINGER Tutoriais. O Que É MySQL? Guia Para Iniciantes. 21 jan. 2019. Disponível em: https://www.hostinger.com.br/tutoriais/o-que-e-mysql/. Acesso em: 05 out. 2020. REFERÊNCIAS ALVES, William Pereira. Banco de Dados. São Paulo: Érica, 2014. [Minha Biblioteca]. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536518961/cfi/0!/4/2@100:0.00. Acesso em: 5 out. 2020. DEVMedia. Guia Completo de SQL. Disponível em: https://www.devmedia.com.br/guia/guia-completo-de-sql/38314. Acesso em: 18 set. 2020. HOSTINGER. Hostinger tutoriais. O Que É MySQL? Guia Para Iniciantes. 21 jan. 2019. Disponível em: https://www.hostinger.com.br/tutoriais/o-que-e-mysql/. Acesso em: 5 out. 2020. MACHADO, Felipe Nery Rodrigues. Banco de dados: Projeto e implementação. 4.ed. São Paulo: Érica, 2020. [Minha Biblioteca]. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536532707/cfi/2!/4/2@100:0.00. Acesso em: 5 out. 2020. ONE, Key Data. SQL Tutorial: Learn SQL Query Language. Disponível em: https://www.1keydata.com/sql/sql.html. Acesso em: 5 out. 2020. ROSSITO, Thomaz. Comandos: DML, DDL, DCL, TCL – SQL Server. Set. 2017. Disponível em: http://www.thomazrossito.com.br/comandos-dml-ddl-dcl-tcl-sql-server/. Acesso em: 18 set. 2020. TUTIDA, Daniel. 15 frases para o dia do profissional de TI. Disponível em: https://encontreumnerd.com.br/blog/dia-do-profissional-ti. Acesso em: 18 set. 2020. W3BAI.COM. SQL tutorial. Disponível em: https://www.w3bai.com/pt/sql/default.html. Acesso em: 5 out. 2020 UNIDADE IV MAIS SQL Prof. Dr. Hudson Sérgio de Souza Plano de Estudo: ● Criação do Banco de Dados e Usuários; ● Acesso ao Banco e Criação de Entidades; ● CRUD - Manipulação dos Registros; ● Gerar Consulta de Informações Relevantes. Objetivos de Aprendizagem: ● Criar de banco e usuários; ● Analisar e criar Entidades com seus respectivos registros; ● Conceituar e contextualizar os tipos de consultas. INTRODUÇÃO Nesta última Unidade de número IV, será abordado mais questões sobre os
Compartilhar