Referencial teórico de banco de dados

Tipo de documento:Redação

Área de estudo:Lingua Portuguesa

Documento 1

BANCO DE DADOS 5 1. Gerenciamento de dados transacionais 7 1. Gerenciamento de dados para análise 8 1. Arquitetura de Banco de Dados 8 1. Segurança em Banco de Dados 9 1. Diagrama Entidade-Relacionamento 19 1. Normalização de banco de dados 20 1. Cardinalidade 21 1. modelo relacional 22 1. padrão sql (Structured Query Language) 25 1. Instrução Update 36 1. sql server 36 1. sap hana 39 1. Comparativo entre sql server x hana bd 41 REFERÊNCIAS 42 1 REferencial teórico Este capítulo apresenta os conteúdos que fundamentam este trabalho. Inicia-se com definições fundamentais de Dado, Informação e Conhecimento, seguido pelas seções de Metadados, Banco de Dados e Modelagem de Banco de dados. Já para o guia DAMA-DMBOK (2010), dado é a representação de fatos, como textos, números, gráficos, imagens sons ou vídeos. Informação é o dado em um contexto específico, sem contexto, o dado é sem significado.

Conhecimento é informação em perspectiva, integrada em um ponto de vista baseado no reconhecimento e interpretação de padrões, tais como tendências, formado com experiências e outras informações. Em síntese, para Chaffey e White (2012) dado é base da Informação, do Conhecimento, da Sabedoria e da Ação. Desta forma, Dado, Informação e Conhecimento podem ser vistos como parte de uma estrutura, tendo os dados como a unidade mais básica, a informação baseada em dados e o conhecimento a partir da informação. Date (2003) considera que metadados assumem uma posição que intermedia o dado que se encontra em um nível mais baixo e a informação pois os metadados possuem uma função de agregar um maior significado a uma informação por meio da criação de uma espécia de rótulo, capaz de antecipar o tipo ou o conteúdo propriamente dito a ser disponível.

Os metadados dão semântica ao dado produzido, agregando significado real e dando suporte a uma importante vertente de um banco de dados, que é a administração dos dados. Com o surgimento e a explosão dos SGBD’s as organizações de forma geral entendem a administração de dados como mais uma das atribuições do profissional treinado e especializado para atuar com estes sistemas, porém de forma geral, sem grande conhecimento a respeito das regras de negócio da organização (DATE, 2003). BANCO DE DADOS A expressão Banco de Dados originou-se do termo inglês Databanks. Este foi trocado pela palavra Databases – Base de Dados – devido possuir significação mais apropriada (SETZER; CORRÊA DA SILVA, 2005, p. • Controle da redundância, redução do espaço de armazenamento e compartilhamento de dados: no processamento de arquivos convencional existe um desperdício do espaço de armazenamento, visto que uma mesma informação geralmente aparece em muitos arquivos diferentes.

No enfoque de banco de dados o dado é armazenado apenas uma vez e pode ser compartilhado (de forma concorrente ou não) por diversos usuários. • Eliminação de inconsistências e garantia de integridade: no método tradicional, baseado em arquivos, dada a repetição de informação armazenada, pode acontecer de um mesmo dado apresentar valores divergentes. Isso ocorre, por exemplo, quando um dado que está presente em dois arquivos é atualizado em apenas um local. Diz-se que os arquivos estão inconsistentes, pois apresentam entradas diferentes para um mesmo dado. É dividido em componentes de Processamento de Consultas (Compilador DML, Pré Compilador para comandos DML, Interpretador DDL, Componentes para execução de consultas e programas de aplicações em código objeto) e Gerenciador de Memória (Gerenciador de Transações, Gerenciador de Buffer e Gerenciador de Arquivos); • Armazenamento em Disco: estruturas de dados que são necessárias como parte da implementação fisica do sistema (Arquivo de Dados, Dicionário de Dados, Índices e Estatisticas de Dados).

Gerenciamento de dados transacionais Para limitar o escopo de estudo de SGBD, alguns tipos de bancos de dados podem ser avaliados com enfoque diferenciado. Assim, Abadi (2009) propôs uma separação entre bancos transacionais e analíticos. Para bases de processamento transacional, ressaltaram-se os seguintes desafios: • Compartilhamento de arquitetura: dados transacionais podem ser compartilhados inclusive entre storages diferentes em localidades diferentes. Para manutenção da consistência e disponibilidade desses dados através da rede, é necessária a implementação de protocolos avançados para bloqueio de transações que pretendem alterar dados ao mesmo tempo e protocolos que permitam gravar as alterações com sucesso; • Manutenção de ACID torna-se difícil quando se exige a replicação de dados entre localidades distantes. Arquitetura de Banco de Dados Os bancos de dados podem ser classificados de várias formas, uma delas é quanto à arquitetura do banco, isto é, como ele foi projetado no ambiente computacional para receber, armazenas os dados e dar respostas aos clientes solicitantes.

De acordo com Heuser (2009) essas classificações podem ser centralizadas, descentralizada, distribuída ou replicada: A arquitetura centralizada é um tipo onde o banco de dados fica centralizado em um servidor e é acessado pelas demais aplicações ou clientes. Neste caso ele assume toda a capacidade de armazenamento e resposta. É um modelo que exige grande poder de processamento do servidor e excelente desempenho do banco sistema gerenciador de banco de dados. No modelo descentralizado o banco de dados fica em mais de um servidor, permitindo a descentralização dos dados. Identificação e Autenticação: Para se ter acesso aos dados de um determinado banco de dados, o usuário/programa de aplicação deve fornecer sua identificação seguida de sua senha. Para conexões remotas, pode-se usar o usuário ativo da presente sessão, ou informando-se usuário/senha.

Distribuição de Regras de Autorização de Acesso: Em um ambiente de banco de dados distribuído, as regras de autorização de acesso aos dados definidas para um sítio devem ser replicadas aos outros sítios participantes Encriptação: A encriptação dos dados é uma forma de coibir acessos não autorizados. É também uma forma de resolver o problema de pessoas que burlam as regras de segurança do SGBD ou que tenham acesso aos frames do protocolo da rede de comunicação. A encriptação dos dados pode ser realizada através de vários métodos, entre eles os métodos Data Encryption Standart (DES) ou Public Key Cryptosystens (PKC). Caso ninguém confira isso e confie no sistema (o que pode acontecer), ele irá se beneficiar em cima da empresa.

Os privilégios podem ser de: • Controle Total (o usuário possui controle total) • Somente Leitura (o usuário tem privilégios somente de leitura) • Leitura e gravação (o usuário pode alterar e gravar no sistema) 1. Categoria de Modelos de Dados A estrutura de banco de dados de alto nível, ou modelos de dados conceituais, possuem conceitos que descrevem os dados como os usuários os percebem, enquanto os de baixo nível, ou modelos de dados físicos, contêm conceitos que descrevem os detalhes de como os dados estão armazenados no computador (DATE, 2003). Os conceitos provenientes dos modelos de dados de baixo nível geralmente são significativos para os especialistas em computadores, mas não o são para os usuários finais. Entre esses dois extremos está uma classe de modelos de dados representacionais (ou de implementação), que oferece os conceitos que podem ser entendidos pelos usuários finais, mas não excessivamente distantes da forma como os dados estão organizados dentro do computador (HEUSER, 2009).

Os modelos de dados físicos descrevem como os dados estão armazenados em arquivos no computador, pela representação da informação como o formato do registro, a ordem dos registros e as rotas de acesso, que por definição é uma estrutura que torna a pesquisa por determinados registros no banco de dados eficiente (HEUSER, 2009). modelagem de banco de dados Há alguns tipos de modelos que um banco de dados relacional é tratado. Em cada modelo é tratado uma etapa diferente do projeto, porém não isolada, pelo contrário, cada uma se inter-relaciona a fim de propiciar entradas e saídas de insumos para os modelos anteriores e posteriores. Modelagem Conceitual Segundo Maxey (2011), o modelo conceitual está diretamente relacionado ao uso abstrato do conceito através do gerenciamento das informações.

Para Larman (2004), a modelagem conceitual consiste na representação das entidades, o que as caracteriza e seus respectivos relacionamentos dentro de um contexto. Modelos conceituais são o nível mais alto, modelam os conceitos em termos mais familiares aos usuários podendo detalhes serem deixados de fora para melhorar a clareza e foco com os usuários (DODAF DOD, 2007, p. A técnica de modelagem conceitual mais difundida é a abordagem entidade relacionamento (ER), representado através do diagrama entidade-relacionamento (DER) (HEUSER, 2009). Em geral, a fase do projeto conceitual resulta na criação de um diagrama entidade-relacionamento (SILBERSCHATZ, 2006). Modelagem Lógica A próxima fase é o projeto lógico ou mapeamento do modelo de dados, etapa de implementação real do banco de dados. Seu resultado é um esquema do banco de dados no modelo de dados de implementação do SGBD (ELMASRI; NAVATHE, 2011, p.

Modelos físicos de banco de dados são os mais detalhados, geralmente a um nível suficiente para a geração de banco de dados. O modelo físico deve conter todas as informações necessárias para sua a implementação, que muitas vezes envolve considerações de desempenho (DODAF DOD, 2007, p. Detalhes de armazenamento interno de informações são representados no modelo físico, detalhes que não tem influência sobre a programação de aplicações no SGBD, mas podem afetar o desempenho das aplicações. As linguagens e notações para o modelo físico não são padronizadas e variam de SGBD para SGBD. Utilizados por profissionais que fazem sintonia de bancos de dados, procurando otimizar o desempenho (HEUSER, 2009). Na abordagem ER, a representação de um objeto do mundo real depende do nível de percepção que se tem ao considerar o objeto.

Basicamente, ele é modelado como uma entidade se percebida como auto existente, como uma relação se percebida como uma ligação entre entidades, e como um atributo se percebido como uma propriedade de algum outro objeto (PARENT; SPACCAPIETRA, 1994, p. Um modelo ER é um modelo formal, preciso, não ambíguo. O que significa que diferentes leitores de um mesmo modelo ER devem sempre ter exatamente o mesmo entendimento (HEUSER, 2009). O objetivo de um modelo ER é modelar de forma abstrata um banco de dados, dando foco aos objetos sobre os quais se deseja manter informações. Relações Cada entidade pode estar associada a outras entidades por meio de relacionamentos (DATE, 2003, p. Relações correspondem a como as coisas de importância (entidades) estão relacionadas entre si (LANE; POTINENI, 2014). É o conjunto de associações entre as ocorrências de entidades (HEUSER, 2009).

Cada instância de um relacionamento é uma associação de entidades, na qual a associação inclui, exatamente, uma entidade de cada tipo entidade participante. Cada instância de um relacionamento representa o fato de as entidades participantes estarem relacionadas, de alguma forma, à visão do mundo correspondente (ELMASRI; NAVATHE, 2011, p. Entidades, bem como relacionamentos, possuem atributos. Todas as entidades, ou relacionamentos, de determinado tipo possuem certas espécies de propriedades em comum (DATE, 2003, p. Atributo corresponde ao dado que serve para associar informações a cada ocorrência de uma entidade ou relacionamento (HEUSER, 2009). Cada entidade pode ser descrita por um conjunto de pares (atributo, valor), associado a cada atributo do conjunto de entidades. SILBERSCHATZ, KORTH e SUDARSHAN, 2012, p. Exemplificando, o atributo Sexo do conjunto de entidades Servidores é um atributo monovalorado, pois assume um único valor – masculino ou feminino – para cada entidade.

Ao contrário, o atributo Telefone é considerado multivalorado, visto que um servidor pode ter vários telefones para contato e, consequentemente, esse atributo assumirá n valores. • Armazenados ou Derivados: Quanto ao atributo derivado SILBERSCHATZ, KORTH e SUDARSHAN (1999, p. definem que “o valor desse tipo de atributo pode ser derivado de outros atributos ou entidades a ele relacionados”. O atributo Data_Exercicio que representa a data de entrada em efetivo exercício de cada servidor é um exemplo de atributo armazenado. Ou seja, conforme esclarece DATE (2003, p. um atributo “tira seus valores de um conjunto de valores correspondente (isto é, domínio, em outras palavras) ”. Restrições Um esquema ER de uma empresa pode definir certas restrições (constraints) às quais o conteúdo de um banco de dados precisa se conformar, tais como cardinalidades de mapeamento, restrições de chave e restrições de participação (SILBERSCHATZ, KORTH e SUDARSHAN, 2012, p.

Toda entidade tem uma identidade, tendo uma propriedade particular que serve para identificá-la (DATE, 2003, p. A chave ou restrição de unicidade é uma restrição importante de atributos das entidades. Nos diagramas ER, entidades são representadas através de um retângulo que contém o nome da entidade (DATE, 2003, p. HEUSER, 2009; ELMASRI e NAVATHE, 2011, p. Os relacionamentos são representados como losangos, conectados por linhas retas às entidades (representadas por retângulos conforme citado) que participam do relacionamento (ELMASRI; NAVATHE, 2011, p. HEUSER, 2009). Os atributos são colocados em elipses, conectados à entidade por linhas retas (ELMASRI; NAVATHE, 2011, p. Machado (1995) afirma que o objetivo de se criar um banco de dados é armazenar dados em esquemas e tabelas sem redundância e para que os dados sejam facilmente recuperados. A criação de tabelas de banco de dados em uma dada forma normal é chamada de normalização.

A normalização é feita analisando-se as interdependências entre atributos individuais associados a essas tabelas e tomando-se projeções (subconjuntos de colunas) de tabelas maiores para formar tabelas menores. TEOREY et al. A normalização é dividida em três formas mais usuais: 1) Primeira Forma Normal: toda variável deve conter um valor para cada atributo, sendo assim, deve ser garantido a atomicidade dos atributos. FIGURA 1 – MAPA DE CARDINALIDADE Fonte: Silbertchar (2006) 1. modelo relacional Segundo Date (2003), o Modelo Relacional rompeu com as formas convencionais de representação dos dados, o modelo foi formulado de modo a apresentar as informações como tabelas e relações entre tabelas, fundamentado na teoria dos conjuntos. Parte da sua grande aceitação universal é devido à simplicidade de representar os conceitos, onde as informações são estruturadas em tabelas e seus relacionamentos.

O Modelo Relacional proporciona ricas operações de manipulação com o uso dos operadores oriundos da álgebra relacional. Adicionado a isto, o desenvolvimento de uma linguagem padrão SQL6 em parceria com a ISO7 para os SGBD relacionais incentivou a migração dos bancos de dados para o novo modelo (NAVATHE e ELMASRI, 2011). A chave estrangeira (Foreign Key) é um atributo que direciona para uma chave primária de outra tabela, garantindo uma relação entre as mesmas. Ainda sobre estes objetos, Bezerra (2015) explica que o mapeamento de objetos para o modelo relacional é necessário para os valores persistentes do sistema de tabelas. Também enfatiza a necessidade de que seja abordada uma padronização nas representações como chaves primárias sublinhadas enquanto as estrangeiras sejam tracejadas além da definição dos tipos de dados e as respectivas restrições de integridade.

A representação de uma entidade do domínio de dados no Modelo Relacional ocorre com a transformação da entidade (nível conceitual) para um nível lógico. Ambos os modelos (conceitual e lógico) podem ser representados utilizando a notação do modelo Entidade Relacional (ER), o que ajuda na compreensão de que tipos de entidades estão presentes em um projeto de banco de dados e quais as informações são relevantes. A chave estrangeira possui dois conceitos intrínsecos: o conceito de referência, onde o valor de uma chave primária é armazenado em outra tabela que aponta para a chave primária e o conceito de integridade referencial. Dessa forma, é assegurado que uma chave estrangeira contenha o mesmo valor da chave primária correspondente, garantindo a consistência das referências.

No exemplo da Figura 1, o atributo CPF da tabela Cliente e o atributo NVI da tabela Carro podem ser utilizados como chaves primárias que identificam cada linha de dados das tabelas. Porém, na tabela compra esses atributos são chaves estrangeiras que referenciam as linhas de dados contendo as informações do cliente e carro da compra. As colunas ou atributos armazenam os dados que compõem a instância/item de dados, estes são nomeados e possuem seus valores possíveis delimitados pelo esquema. Baseada nas linguagens de Álgebra e Cálculo Relacional, e inicialmente denominada SEQUEL (Structured English QUEry Language), SQL hoje é a linguagem padrão para Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDR), sendo mais intelegível do que suas linguagens maternas – consideradas técnicas demais para o usuário (ELMASRI; NAVATHE, 2011, p.

A SQL é padronizada pelo American National Standards Institute (ANSI) e pela International Standards Organization (ISO), conjuntamente. A primeira versão- padrão, chamada de SQL-86 (ou SQL1), foi lançada em 1986 e desde então ela vem sendo atualizada – SQL-92 (ou SQL2), SQL:1999 (ou SQL3), SQL:2003, SQL:2006 e, ainda, uma outra atualização ocorreu em 2008 (ELMASRI; NAVATHE, 2011, p. Apesar de conhecida como uma “linguagem de consulta”, a SQL oferece também recursos para definir a estrutura dos dados, atualizar – incluir, excluir e alterar dados, especificar restrições de integridade e outros recursos mais (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. De acordo com DATE (2003, p. • real e double precision: para números de ponto flutuante e ponto flutuante de precisão dupla, em que a precisão depende do equipamento utilizado. • float(n): para números de ponto flutuante, em que a precisão n é definida pelo usuário.

Assim, float(2) armazena números com duas casas decimais. • date: para datas, inclui ano, mês e dia; e time: para horários, inclui hora, minuto e segundo. “Um domínio pode ser declarado e seu nome usado com a especificação do atributo” (ELMASRI; NAVATHE, 2011, p. • primary key: usada para especificar a chave primária de uma relação. • unique: aplicada na especificação da chave única de uma relação. • foreign key: utilizada para especificar a chave estrangeira de uma relação. Essa cláusula também impõe integridade referencial ao banco de dados. • constraint: opcionalmente utilizada para nomear uma restrição. Drop Table “O comando DROP pode ser usado para remover elementos nomeados do esquema, como tabelas, domínios ou restrições” (ELMASRI; NAVATHE, 2011, p. Ele possui a seguinte sintaxe: drop <tipo do elemento> <nome do elemento> Suponha, por exemplo, a necessidade de excluir a tabela Servidores, assim como o domínio Moeda.

As respectivas instruções seriam definidas assim: drop table Servidores drop domain Moeda 1. Alter Table A instrução alter permite modificar a estrutura de uma tabela, bem como alterar a definição de outros elementos nomeados de um esquema. Considerando uma tabela, tem-se a oportunidade de adicionar e excluir colunas, modificar a definição de colunas, e ainda, acrescentar ou eliminar restrições para a tabela (ELMASRI; NAVATHE, 2011, p. Para forçar a eliminação dos valores duplicados no resultado dessa consulta devemos acrescentar a palavra reservada distinct. select distinct Classe from Cargos Assim, asseguramos que cada valor “D”, por exemplo, apareça uma única vez no resultado da consulta. Entretanto, se desejarmos que de fato apareçam todos os valores podemos declará-lo de forma explícita por meio da palavra-chave all.

select all Classe from Cargos O comando select sem distinct ou all, todavia, é correspondente a select all (ELMASRI; NAVATHE, 2011, p. Caso seja necessário listar na consulta todas as colunas de uma tabela, podemos utilizar o sinal de asterisco (*) ao invés de especificar os atributos na cláusula select. Para montar condições na cláusula where é possível utilizar operadores de comparação (>, <, =, >=, <=, <> e between) e conectores lógicos (and, or e not) (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. Para ilustrar, veja como fica a sintaxe da consulta “selecione o prontuário e o nome dos servidores que foram admitidos entre 02/04/2010 e 07/09/2011”. select Prontuario, Nome from Servidores where Admissao between ‘02/04/2010’ and ‘07/09/2011’ Na cláusula where é possível estabelecer condições que envolvam a comparação de substrings por meio do operador like associado ao caracter reservado % (porcentagem) ou _ (sublinhado), onde % representa uma cadeia de caracteres e denota um único caracter (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p.

Por exemplo, suponhamos que deva ser montada uma lista de todos os servidores cujos nomes iniciam-se com a letra “A”. Para atender a essa solicitação seria necessária a seguinte consulta: select Nome from Servidores where Nome like ‘A%’ Consideremos agora uma consulta que envolva colunas de duas tabelas, como “para os cargos que possuem ao menos um servidor, relacione o nome do servidor e o cargo por ele ocupado”. Agora, sofisticando um pouco a consulta anterior, imagine que devamos “encontrar a quantidade total de servidores em cada campus da instituição”. Primeiro é necessário dividir os servidores em grupos de acordo com o seu local de trabalho e depois efetuar a contagem dos respectivos prontuários por meio de count. A cláusula SQL group by é utilizada justamente quando precisamos aplicar funções agregadas à subgrupos do total de linhas, sendo que esses grupos serão formados a partir dos atributos constantes na cláusula group by (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p.

Enquanto “as funções de agregação são usadas para resumir informações de várias tuplas em uma síntese de tupla única. O agrupamento é usado para criar subgrupos de tuplas antes do resumo” (ELMASRI; NAVATHE, 2011, p. É feito o agrupamento das linhas resultantes usando-se os valores das colunas do group by. São escolhidos apenas os grupos que satisfazem a cláusula having, que é sempre aplicada a cada grupo como um todo e não individualmente às suas linhas. As linhas assim resultantes são ordenadas pelas colunas indicadas no order by. É feita a projeção na lista de colunas do select, eventualmente com cálculo de funções de agregação que são aplicadas a todas as linhas resultantes de cada grupo. Instrução Insert O comando insert é usado para inserir dados em uma tabela, mais especificamente inserir linhas na tabela.

Faríamos isso através da instrução update abaixo: update Servidores set Salario = Salario + Salario * 0,01 Agora, suponha que o aumento deva ser concedido apenas aos servidores que percebem salário inferior a R$ 1. Isso pode ser feito com: update Servidores set Salario = Salario + Salario * 0,01 where Salario < 1500 Encerramos aqui nossa breve explanação sobre a SQL. Não abordamos todos os tópicos pertencentes à linguagem, haja vista que é propósito deste trabalho apenas introduzir o assunto, pois se trata da linguagem universal utilizada pela maioria dos bancos de dados. Na seguinte seção serão abordados os tópicos de dois bancos de dados comerciais, os quais farão parte do desenvolvimento da pesquisa. Serão abordados conceitos fundamentais e questões técnicas específicas de cada um dos bancos de dados - SQL SERVER e SAP-HANA.

CHECKLAN, P. HOLWELL, S. Data, capta, information and knowledge. In: HINTON, M. Introducing information management: the business approach. Introdução a sistemas de bancos de dados. ed. Elsevier Brasil, 2003. DODAF DOD, Department of Defense Architecture Framework Version 1. Department of Defense, USA, 2007. A century of information management. In. MARCHAND, D. A. DAVENPORT, T. Oracle Database Data Warehousing Guide, 12c Release 1 (12. E41670-08. Disponível em: https://docs. oracle. com/database/121/DWHSG/E41670-08. br/~geovane/mo410- 091/Ch03-RM-Resumo. pdf > Acesso em: 20 de set de 2018. MARCHAND, D. A. KETTINGER, W. com/UserInterfaceDesign. html> Acesso em: 17 set. MICROSOFT SQL server. Documentação SQL SERVER 2017. Disponível em: https://www. n. p. SAP. Corporate Profile. Apresentação comercial SAP HANA. C. BANCOS DE DADOS: APRENDA O QUE SÃO, MELHORE SEU CONHECIMENTO, CONSTRUA OS SEUS. São Paulo: Edgard Blücher, 2005.

SILBERSCHATZ, A; KORTH, H F. SUDARSHAN, S.

325 R$ para obter acesso e baixar trabalho pronto

Apenas no StudyBank

Modelo original

Para download