Prévia do material em texto
INFORMÁTICA 38 Se você tem a inteligência, consegue se sobressair em diversos assuntos, mesmo não tendo tanto aprofundamento, somente utili- zando os conhecimentos adquiridos até então. Ou seja, alguém inteligente tem a capacidade de se superar cada vez mais sem empregar muitos esforços para isso. Todos podem chegar à inteligência, basta que cada um desenvolva os graus do conhecimento em si mesmo de forma bem fiel. Relação entre eles É como se fosse uma pirâmide para o conhecimento, já que uma fase leva em encontro da conta. Ou seja, se tiver uma boa percepção e adaptação com os dados eles passarão a serem consideradas informações, e se eu tiver uma boa experiência com os dados eles passarão a formar um conhecimento genuíno na mente de quem os trabalha. Seria uma relação bem afetada com o grau de aceitação do indivíduo na fase em que se encontra, se ele se identifica com o dado e demonstra necessidade de tê-lo ele virará informação, e posteriormente (seguindo essa mesma linha de pensamento) o conhecimento. Mais importante, agora, é observar a distinção entre conhecimento e inteligência. Notem que os dados, a informação e o conhecimen- to estão no campo do passado enquanto que a inteligência é a única que volta-se para o futuro. BANCO DE DADOS. BASE DE DADOS, DOCUMENTAÇÃO E PROTOTIPAÇÃO. MODELAGEM CONCEITUAL: ABSTRAÇÃO, MODELO ENTIDADE-RELACIONAMENTO, ANÁLISE FUNCIONAL E ADMINISTRAÇÃO DE DADOS. DADOS ESTRUTURA- DOS E NÃO ESTRUTURADOS. BANCO DE DADOS RELACIONAIS: CONCEITOS BÁSICOS E CARACTERÍSTICAS. CHAVES E RELACIONAMENTOS. NOÇÕES DE MINERAÇÃO DE DADOS: CONCEITUAÇÃO E CARACTERÍSTICAS. NOÇÕES DE APREN- DIZADO DE MÁQUINA. NOÇÕES DE BIGDATA: CONCEITO, PREMISSAS E APLICAÇÃO Analisando como um conceito geral de banco de dados, podemos dizer que uma planilha do Microsoft Excel ou uma lista de contatos (nome, telefone e e-mail) de uma agenda configuram um banco de dados, ou seja, toda organização e armazenagem de informações sobre um mesmo assunto ou assuntos relacionados entre si é um banco de dados7. Um Sistema de Gerenciamento de Bancos de Dados (SGBDs) torna o trabalho do dia a dia de uma empresa bem mais fácil. Existem vários tipos de SGBDs como Oracle, SQL Server, MySQL e etc. Hoje na era digital praticamente todas as informações são salvas em bancos de dados. Um banco de dados melhora a produtividade das pessoas e empresas. Os dados podem ser acessados simultaneamente por várias pessoas ou equipes. Quando o gerenciamento de dados é eficiente, melhora a comunicação dentro de uma empresa melhorando os re- sultados dela. Um site que você acessa tem todas as informações em um banco de dados de maneira organizada, ajudando você a encontrar as informações que você precisa. Estas informações estão em um banco de dados. As redes sociais, como Facebook, Youtube, Instagram, Pinterest e etc., armazenam suas fotos, posts, vídeos, senhas e outras informa- ções, em bancos de dados. 7 https://centraldefavoritos.com.br/2017/12/27/banco-de-dados/ INFORMÁTICA 39 Resumindo: Banco de dados é toda organização e armazenagem de informações sobre um mesmo assunto ou assuntos relacionados entre si. São feitos backups (cópia de segurança) constantemente (automáticos) para prevenir que as informações não sejam perdidas devido a apagamentos acidentais, arquivos corrompidos, ataques e vírus. Ele tem padronização de acessos, ou seja, acessa todos os tipos de mídias como texto, imagens e vídeos. Ele aumenta a segurança dentro de uma empresa, pois permite restringir o acesso a determinadas informações somente por pessoas autorizadas a visualizar estes documentos. Além disso, quando há algum tipo de problema, dá para saber quem foi o responsável. Prototipagem Prototipagem é um processo interativo de geração de modelos que faz parte da análise do ciclo de vida do desenvolvimento de sis- temas. É a atividade de desenvolvimento de uma versão inicial do sistema baseada no atendimento dos requisitos ainda pouco definidos, permitindo a descoberta de falhas difíceis de serem encontradas na comunicação verbal. Um processo que propõe a criação de um protó- tipo objetiva apoiar a fase levantamento de requisitos a fim de prevenir as possíveis falhas no sistema. Um protótipo simula a aparência e funcionalidade do software permitindo que os clientes, analistas, desenvolvedores e gerentes percebam os requisitos do sistema podendo interagir, avaliar, alterar e aprovar as características mais marcantes na interface e funções. O BD deve ser criado respeitando a realidade do ambiente que será inserido8. Para tanto, fatores como os usuários, tipos de infor- mação e recursos de hardware e software adotados etc. devem ser levados em consideração. Em outras palavras, será mais um modo de estruturar logicamente as informações. Damos o nome de modelagem de dados, como um conjunto de conceitos usados para descrever a estrutura do BD e certas restrições que o banco deve garantir. Conforme Miranda (2005), a estruturação por modelagem permite ao usuário recuperar dados de forma rápida e eficiente, cujo objetivo é incluir dados em uma estrutura que possibilite transformar os dados originais em vários tipos de saídas como formulários, relatórios, etiquetas ou gráficos. Aliados à preocupação com a realidade, na modelagem de dados existe uma quantidade de abstração de informações que varia con- forme o tipo de usuário e modelo de dados escolhido. Chamado de Nível de Abstração dos Dados, esta característica representa a omissão de detalhes sobre o armazenamento das informações para alguns usuários9 e classifica-se em três modelos: nível conceitual, nível lógico e nível físico. Modelo Conceitual É a análise dos elementos e fenômenos relevantes de uma realidade observada ou imaginada e a posterior formação de um modelo abstrato do corpo de conhecimento adquirido: o Modelo Entidade-Relacionamento ou MER10. É frequentemente documentado de forma visual em um diagrama, quando passa a ser conhecido como Diagrama Entidade-Relacionamento ou DER. Representação do MER como um Diagrama Entidade-Relacionamento. Opcionalmente, poderão ser usadas tabelas para descrever com mais profundidade os componentes de um MER. 8 Silva, M. B., Neves, D. A. B. Prototipagem de banco de dados: o uso da teoria da classificação facetada na modelagem de dados. 9 (KORTH; SILBERSCHATZ, 1995). 10 https://medium.com/@felipeozalmeida/guia-da-modelagem-de-dados-introdu%C3%A7%C3%A3o-modelo-conceitual-238c1f8be48 INFORMÁTICA 40 Representação do MER como tabela (entidades). Representação do MER como tabela (relacionamentos com atributos). Podem ser usados documentos da modelagem conceitual como o DER para validar o ponto de vista da equipe de desenvolvimento com as partes interessadas de uma aplicação. Devido à natureza graficamente simples, possibilita uma discussão mais aberta ao permitir a troca de ideias com pessoas que não possuem conhecimento técnico. Não é limitada esta etapa por questões físicas como orçamentos ou licenças de software e pode ser feita no papel ou até mesmo “de cabeça” em projetos de pequeno porte. - Fundamentos Certos conceitos são utilizados na modelagem conceitual para descrever os papéis de cada componente do domínio analisado. Dentre eles, podemos citar: - Instância: denomina uma ocorrência, um registro que existe ou passou a existir de uma entidade; - Entidade: define qualquer coisa que seja identificável, singular e tenha existência bem delimitada, podendo ser classificada entre “fraca” e “forte” de acordo com sua cardinalidade e representada por um retângulo no DER; - Atributo: é usado para referir-se à cada característica possuída pelas instâncias de uma entidade ou de um relacionamento e sua representação no DER se dá em forma de balões — embora seja desencorajada por poluí-lo facilmente; - Relacionamento: descreve um evento significativo que ocorre entre instâncias de duas entidades e é representado por um losango, sendo considerado e representado a partir da modelagem lógica como uma entidadeno DER quando tem cardinalidade N:N (surpresa!); - Cardinalidade: conceito usado para dizer quantas vezes uma instância de uma entidade pode se relacionar com instâncias de outra entidade, também referenciado como “grau de relacionamento”; e - Condicionalidade: responsável por comunicar se a existência de uma instância de uma entidade está condicionada à existência de uma instância de outra entidade, não sendo muito representada no DER. - Relacionamentos entre instâncias de entidades São comumente efetivados com estas 3 cardinalidades: “Um” para “Um” (1:1): uma instância de uma entidade pode ou deve se relacionar com uma e apenas uma instância de outra enti- dade; “Um” para “Muitos” (1:N): uma instância de uma entidade pode ou deve se relacionar com uma ou mais instâncias de outra entidade — é com toda certeza a cardinalidade mais encontrada em bancos de dados; e “Muitos” para “Muitos” (N:N): uma ou mais instâncias de uma entidade podem ou devem se relacionar com uma ou mais instâncias de outra entidade — esse tipo de relacionamento transforma-se em uma entidade a partir da modelagem lógica. - Condição de relacionamentos Podem ser regidos sob 2 condicionalidades (exemplificadas abaixo): - Parcial: quando instâncias de uma entidade Telefone podem estar relacionadas com instâncias de Pessoa em uma agenda, ou seja, onde o cadastro de números de telefone sem nome é permitido; e - Total: quando instâncias de uma entidade Carro devem estar relacionadas com instâncias de Cliente para entrar em uma oficina, ou seja, onde o cadastro de carros sem dono é proibido. Entidades de uma relação 1:N Duas categorias são usadas para defini-las: “Fortes”: para entidades do lado 1 da relação; e “Fracas”: para entidades do lado N. Entidades “fracas” são capazes de nos dizer quando participam de uma relação 1:N pois, após a modelagem lógica, sempre terão um atributo especial que fará menção às entidades “fortes”. Estas últimas, contudo, não permitem o mesmo feito. INFORMÁTICA 41 - Boas práticas para nomeação de componentes do MER É recomendado nomear entidades e atributos com substanti- vos ou adjetivos e relacionamentos com verbos, ambos sem espa- ços e caracteres especiais (como letras acentuadas e símbolos); e É proibido nomes que comecem com números. Existem 3 formas de classificar os dados de acordo com sua estrutura11: - Dados estruturados; - Dados semiestruturados; - Dados não estruturados. A imagem acima mostra uma diferença visual, sugerindo que os dados estruturados são organizados em um padrão fixo, enquan- to os não estruturados são seguem uma estrutura rígida. Os semies- truturados fica entre os extremos: não são estruturados de forma rígida, mas também não são totalmente desestruturados. Vamos ver agora em detalhes cada classificação de dados e de- pois os compararemos novamente. Dados Estruturados Dados estruturados são aqueles organizados e representados com uma estrutura rígida, a qual foi previamente planejada para armazená-los. Pense em um formulário de cadastro com os campos: nome, e-mail, idade e uma pergunta que admite como resposta sim ou não. O campo nome será um texto, uma sequência de letras com ou sem a presença de espaços em branco, que terá um limite máximo e não poderá conter números ou símbolos. O campo e-mail também terá o padrão textual, mas formado por uma sequência de caracte- res (e não só letras, pois admitirá números e alguns símbolos) e terá que ter obrigatoriamente um arroba. Idade é um campo que aceita apenas um número inteiro positivo, enquanto o campo referente a pergunta armazena um valor binário (pense um 1 bit, que pode ser 0 ou 1. Valor 0 para não, 1 para sim). Assim, cada campo possui um padrão bem definido, que representa uma estrutura rígida e um formato previamente projetado para ele. Os dados de um mesmo cadastro estão relacionados (dizem respeito a mesma pessoa). Em outras palavras, os dados estrutura- dos de um mesmo bloco (registro) possuem uma relação. Registros ou grupos de dados diferentes (como de pessoas di- ferentes), possuem diferentes valores, mas utilizam a mesma repre- sentação estrutural homogênea para armazenar os dados. Ou seja, possuem mesmo atributos (pense como sinônimo de campos no exemplo acima) e formatos, mas valores diferentes. Agora, veja, banco de dados é um exemplo de dados estrutu- rados, mas existem outros. O formulário de cadastro, mesmo que salvasse os dados em outro recurso fora banco de dados (como em 11 https://universidadedatecnologia.com.br/dados-estruturados-e-nao-estru- turados/ um arquivo), também é um exemplo de dados estruturados por conter campos definidos por uma estrutura rígida e previamente projetada, se enquadrando na definição. - Exemplos de Dados Estruturados O exemplo mais típico de dados estruturados é um banco de dados. Nele, os dados são estruturados conforme a definição de um esquema, que define as tabelas com seus respectivos campos (ou atributos) e tipos (formato). O esquema pode ser pensado como uma meta-informação do banco de dados, ou seja, uma descrição sobre a organização dos dados que serão armazenados no banco. É exatamente como no exemplo do formulário que, normalmente, está interligado com um banco de dados. Dados Não Estruturados Qual é o oposto de uma estrutura rígida e previamente pensa- da? Uma estrutura flexível e dinâmica ou sem estrutura. Exemplo mais comum? Um documento ou um arquivo. Pense em um arquivo feito em um editor de texto. Você pode adicionar quanto texto quiser, sem se preocupar com campos, res- trições e limites. O arquivo pode conter também imagens, como gráficos e fotos, misturado com textos. Imagens, assim como vídeos ou arquivos de áudio, são também exemplos de dados não estru- turados. Assim, é fácil concluir que as redes sociais, as quais possuem um enorme volume de dados, como textos, imagens e vídeos cria- dos diariamente por usuários, representam outro exemplo de da- dos não estruturados. Atualmente, mais de 80% do conteúdo digital gerado no mundo é do tipo não estruturado. Exemplos de Dados Não Estruturados Normalmente, basta pensar em uma situação de dados que não seguem estrutura para termos exemplos de dados não-estrutu- rados, mas é preciso tomar um pouco de cuidado com essa análise. Em computação, todo dado, seja ele um arquivo ou um campo rígido, terá que ter algum tipo de estrutura, mesmo que mínima. Um arquivo é um tipo de estrutura mínima, pois é a unidade básica de armazenamento de um sistema operacional, mas ela é genérica, pois aceita diferentes tipos de dados. Em resumo, quase tudo cairá em um arquivo, mesmo porque um vídeo tem que gravar em arqui- vo seus dados com um codificador (codec), um áudio também e as- sim por diante. Pensem, portanto, na estrutura interna do arquivo, se ela existe e é rígida, ou não. Assim, possivelmente, a maior parte dos arquivos que você pensar serão não-estruturados. Vamos aos exemplos: - Textos diversos (páginas da internet, relatórios, documentos, e-mails, mensagens em aplicativos como WhatsApp, etc.) - Imagens (fotos, gráficos, ilustrações, desenhos, etc.) - Arquivos de áudio (música, streaming, etc.) - Arquivos de vídeo (filmes, seriados, feitos por usuários, etc.) - Redes sociais (Blogs, Facebook, Twitter, Instagram, Linkedin, etc.) Um Banco de Dados (BD) é uma coleção organizada de dados12. Esses dados são organizados de modo a modelar aspectos do mun- do real, para que seja possível efetuar processamento que gere in- formações relevantes para os usuários a partir desses dados. Existem vários modelos de bancos de dados, desenvolvidos ao longo do tempo, e o mais utilizado atualmente é o Modelo Rela- cional. 12 http://www.bosontreinamentos.com.br/bancos-de-dados/o-que-e-um-ban- co-de-dados-relacional/ INFORMÁTICA 42 Os princípios do modelo relacional foram esboçados pelo matemático britânico E. F. Codd (na IBM) em um artigo publicado em junho de 1970, intitulado “A Relational Model of Data for Large Shared Data Banks“,no qual o Dr. Codd propôs o modelo relacional para Início » Bancos de Dados » O que é um Banco de Dados Relacional sistemas de bancos de dados. Antes disso eram usados outros modelos como o modelo de dados hierárquico e o modelo em rede. No modelo relacional os dados são organizados em coleções de tabelas bidimensionais. Essas tabelas são também chamadas de “Re- lações”. Desta forma, uma Relação é uma forma de se organizar os dados em linhas e colunas. O modelo relacional é baseado em lógica e na teoria de conjuntos da matemática. Composição do Modelo Relacional O modelo relacional é composto, basicamente, pelos seguintes elementos: - Coleções de objetos ou relações que armazenam os dados. - Um conjunto de operadores que agem nas relações, produzindo outras relações. - Integridade de dados, para precisão e consistência. Banco de Dados Relacional Um Banco de dados relacional é uma coleção de relações, que são tabelas bidimensionais, onde os dados são armazenados. Como exemplo, podemos querer armazenar dados sobre os clientes de uma loja. Para isso, criamos tabelas para guardar diferentes conjuntos de dados relacionados a esses clientes, como dados pessoais, dados de compras, crédito e outras. Cada uma dessas tabelas é uma relação do banco. Obs.: não confunda o termo Relação com Relacionamento, que também faz parte do modelo relacional, porém são conceitos distintos. Componentes de um Banco de Dados Relacional Diversos tipos de objetos fazem parte de um banco de dados relacional. Listamos os mais importantes a seguir: Tabela: estrutura básica de armazenamento no SGBDR. Armazena todos os dados necessários sobre algo do mundo real, como clien- tes, pedidos ou produtos, também chamada de Relação. Um banco de dados relacional pode conter uma ou mais Tabelas Tupla: ou Linha / Registro, representa todos os dados requeridos por uma determinada ocorrência de entidade em particular. Por exemplo, os dados de um cliente específico. Cada linha em uma tabela deve ser identificada por uma chave primária, de modo a não haver duplicação de registros. Coluna ou Campo: unidade que armazena um tipo específico de dado (valor) – ou não armazena nada, com valor nulo. Esta é uma coluna não-chave, significando que seu valor pode se repetir em outras linhas da tabela. Relacionamento: associação entre as entidades (tabelas), conectadas por chaves primárias e chaves estrangeiras. Chave Primária (Primary Key/PK): coluna (atributo) que identifica um registro de forma exclusiva na tabela. Por exemplo, o CPF de um cliente, contendo um valor que não se repete na relação. Chave Estrangeira (Foreign Key/FK): coluna que define como as tabelas se relacionam umas com as outras. Uma FK se refere a uma PK ou a uma chave única em outra tabela (ou na mesma tabela!). Por exemplo, na tabela de pedidos podemos ter uma chave estrangeira efetuando o relacionamento com a chave primária na tabela de clientes. Restrições (Constraints): propriedades específicas de determinadas colunas de uma relação, como por exemplo se a coluna pode aceitar valores nulos ou não. Outros: índices, Stored Procedures, Triggers, etc. Chaves São regras que definem comportamentos específicos sobre uma tabela13. Estas, são a base para estabelecer relacionamentos. Em uma base de dados relacional podemos considerar três tipos de chaves: chave primária, chave estrangeira e chave alternativa. Para explicar os conceitos referente aos tipos de chaves existentes, será utilizado o modelo que segue na figura abaixo. 13 http://thiagocury.eti.br/disciplinas/banco-de-dados-relacional/conceito-de-chaves-no-banco-de-dados-relacional.php