Banco de Dados, Dica de leitura, Legislação

LGPD – Cenário e regras para adequação

Cenário 

Proteção de dados tem sido um tema de grande destaque nas mídias e claro, nos diversos níveis governamentais de muitos países, principalmente os países da União Europeia, onde esse tema tem sido tratado a mais tempo.

Dados pessoais são bens de altíssimo valor para todos, pois se mal-utilizados, podem nos trazer grandes problemas em qualquer esfera, seja pessoal, profissional e financeira. Devido ao fato de estarmos 24 horas conectados, entrando nessa ou naquela rede social, fazendo compras on-line e assinando serviços via internet, estamos expondo dados pessoais sem sequer nos questionarmos se aquelas informações estão realmente protegidas, e caso estejam, qual o nível de proteção ao qual estão submetidos esses dados, que garantia temos dessa proteção e qual o controle que nós, titulares, temos sobre estes dados. Essas são algumas questões que devemos prestar atenção. 

Do lado corporativo a situação também é delicada, pois a empresa muitas vezes confia a coleta e/ou o processamento dos dados à terceiros sem muitas vezes exigir deste garantias de proteção, regras de tratamento e inviolabilidade. Não podemos deixar de considerar pessoas mal-intencionadas, acreditem, elas existem em toda parte, sorte nossa, são minoria. Houve de um caso próximo a mim, onde um funcionário excluiu propositalmente parte das informações de um sistema, mas esse nível de proteção já nos leva por um outro viés que foge um pouco deste tema, citei aqui somente enfatizar que esta pessoa pode estar ao seu lado. 

Breve histórico 

General Data Protection Regulation, essa é a prima europeia da nossa LGPD. Durante 4 anos a GDRP foi elaborada e discutida até ser aprovada pelo Parlamento Europeu em 14 de abril de 2016 passando a vigorar em 25 de maio de 2018.  

No Brasil, a LGPD foi aprovada em 14 de agosto de 2018 e inicialmente entraria em vigor 18 meses após a sua aprovação, mas através da medida provisória 869/18, a lei teve seu período de vacância estendido para 24 meses após a aprovação, portanto entrando em vigor em agosto de 2020.  

A LGPD possui pontos similares à GDPR, embora seja mais sucinta, o que não significa que seja mais branda, inclusive em alguns aspectos nos quais ambas se parecem, a LGPD algumas vezes se apresenta mais rígida que a versão europeia. 

Organizações que já atendem a GDPR precisarão se adequar aos pontos que diferem uma da outra – visto que ambas podem regular organizações estrangeiras e/ou dados coletados no Brasil e tratados no exterior.  

Mas o que é a LGPD? 

A Lei Geral de Proteção de Dados (Lei 13.709/18) é uma lei que regulamenta o tratamento de dados pessoais, inclusive nos meios digitais (pois ela se aplica a outras formas de armazenamento que não seja exclusivamente digital), por pessoa natural (física) ou por pessoa jurídica de direito público ou privado.  

Esta lei define regras detalhadas para a coleta, uso tratamento e armazenamento de dados pessoais e afetará todos os setores da economia. Após a aprovação, a lei sofreu um veto parcial pelo ex-presidente Michel Temer, o qual vetou a criação de uma agência reguladora – Autoridade Nacional de Proteção de Dados (ANPD)-, considerando contrária aos interesses públicos e inconstitucional. Mas numa medida provisória de 27 de dezembro de 2018 (869/18), a agência finalmente foi criada. 

A LGPD possui alguns fundamentos a saber: 

  • Respeito à privacidade; 
  • Autodeterminação informativa; 
  • Liberdade de expressão, de informação, de comunicação e de opinião; 
  • Inviolabilidade da intimidade, da honra e da imagem; 
  • Desenvolvimento econômico e tecnológico e a inovação; 
  • Livre iniciativa, a livre concorrência e a defesa do consumidor; e 
  • Os direitos humanos, o livre desenvolvimento da personalidade, a dignidade e o exercício da cidadania pelas pessoas naturais. 

Aplicabilidade 

Aplica-se a qualquer operação de tratamento de dados realizada por pessoa natural (física) ou jurídica, de direito público e privado e independente do meio. Confira abaixo a relação de casos em que a lei é aplicável. 

  • Quando operação de tratamento seja realizada no território nacional; 
  • Quando a atividade de tratamento tenha por objetivo a oferta ou o fornecimento de bens ou serviços ou o tratamento de dados de indivíduos localizados no território nacional; ou                  
  • os dados pessoais do objeto do tratamento tenham sido coletados no território nacional. 

Para que a coleta seja considerada em território nacional, o titular dos dados deverá estar neste território no momento da coleta. 

A LGPD não se aplica nos seguintes casos: 

1 – Realizado por pessoa natural para fins exclusivamente particulares e não econômicos;

1.1 – Realizado para fins exclusivamente:

1.1.1 – Jornalístico e artísticos; ou

1.1.2 – Acadêmicos;  

2. Realizado para fins exclusivos de:

2.1 – Segurança pública;

2.2 – Defesa nacional;

2.3 – Segurança do Estado; ou

2.4 – Atividades de investigação e repressão de infrações penais;

Quanto aos dados 

Para os fins desta Lei, considera-se acerca dos dados: 

  • Dado pessoal: informação relacionada a pessoa natural identificada ou identificável; 
  • Dado pessoal sensível: dado pessoal sobre origem racial ou étnica, convicção religiosa, opinião política, filiação a sindicato ou a organização de caráter religioso, filosófico ou político, dado referente à saúde ou à vida sexual, dado genético ou biométrico, quando vinculado a uma pessoa natural; 
  • Dado anonimizado: dado relativo a titular que não possa ser identificado, considerando a utilização de meios técnicos razoáveis e disponíveis na ocasião de seu tratamento; 
  • Banco de dados: conjunto estruturado de dados pessoais, estabelecido em um ou em vários locais, em suporte eletrônico ou físico; 

Quem são os agentes envolvidos? 

  • Titular: pessoa natural a quem se referem os dados pessoais que são objeto de tratamento; 
  • Controlador: pessoa natural ou jurídica, de direito público ou privado, a quem competem as decisões referentes ao tratamento de dados pessoais; 
  • Operador: pessoa natural ou jurídica, de direito público ou privado, que realiza o tratamento de dados pessoais em nome do controlador; 
  • Encarregado: pessoa indicada pelo controlador para atuar como canal de comunicação entre o controlador, os titulares dos dados e a Autoridade Nacional de Proteção de Dados;   

Direitos do Titular 

O titular dos dados passa a ter amplo controle sobre estes dados mediante requisição, os quais compreendem: 

  • Confirmação da existência de tratamento; 
  • Acesso aos dados; 
  • Correção de dados incompletos, inexatos ou desatualizados; 
  • Anonimização, bloqueio ou eliminação de dados desnecessários, excessivos ou tratados em desconformidade com o disposto nesta Lei; 
  • Portabilidade dos dados a outro fornecedor de serviço ou produto, mediante requisição expressa e observados os segredos comercial e industrial, de acordo com a regulamentação do órgão controlador; 
  • Eliminação dos dados pessoais tratados com o consentimento do titular, exceto nas hipóteses previstas no art. 16 desta Lei; 
  • Informação das entidades públicas e privadas com as quais o controlador realizou uso compartilhado de dados; 
  • Informação sobre a possibilidade de não fornecer consentimento e sobre as consequências da negativa; 
  • Revogação do consentimento, nos termos do § 5º do art. 8º desta Lei. 

 Penalidades 

As penalidades aplicadas poderão ir de uma advertência até uma multa de 50 milhões por infração.  

  • Advertência, com indicação de prazo para adoção de medidas corretivas; 
  • Multa simples, de até 2% (dois por cento) do faturamento da pessoa jurídica de direito privado, grupo ou conglomerado no Brasil no seu último exercício, excluídos os tributos, limitada, no total, a R$ 50.000.000,00 (cinquenta milhões de reais) por infração; 
  •  multa diária, observado o limite total a que se refere o item acima; 
  •  Publicização da infração após devidamente apurada e confirmada a sua ocorrência; 
  •  Bloqueio dos dados pessoais a que se refere a infração até a sua regularização; 
  •  Eliminação dos dados pessoais a que se refere a infração; 

Referências:

http://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2018/Lei/L13709.htm

https://eugdpr.org/

https://www.congressonacional.leg.br/materias/medidas-provisorias/-/mpv/135062

Padrão
.NET, Banco de Dados, Certificação, Dica de leitura, Mova-se, Técnicas, Visual Studio

Certificações Microsoft – Por onde começo?

Olá pessoal, o objetivo desse post é esclarecer um pouco mais sobre a nova linha de certificações Microsoft, e também ajudar a direcionar aquele profissional que pretende obter uma certificação mas não sabe por onde começar.

A Microsoft criou uma linha de certificações chamada MTA – Microsoft Technology Associate. Essas provas são a “base da pirâmide” para uma carreira nas tecnologias Microsoft. O objetivo dessas provas são fornecer um conhecimento sólido dos fundamentos na tecnologia em que você pretende se especializar. Fazendo uma prova MTA, você já é um MTA Certification e já possui os conhecimentos fundamentais para seguir em frente.

Dentro do nível MTA, o profissional deve escolher qual área pretende seguir carreira, podendo optar por uma das três áreas conforme figura 1.

Áreas Microsoft

Figura 1 – Áreas na plataforma Microsoft

Mais detalhes: http://www.microsoft.com/learning/en-us/mta-certification.aspx

Como já sabemos o nível MTA visa garantir o conhecimento necessário para as outras provas (MCSD e MCSA ou quem sabe um dia MCM), então essa prova é obrigatória? Não, você não precisa se tornar um MTA para fazer as outras provas. Se você já é um profissional que tem experiência na sua tecnologia, então você pode pular esse nível. Porém se você está começando agora, certamente esse é o seu ponto de partida na carreira.

Em resumo, agora temos o nível MTA (de cada área) para iniciar, e a partir desse nível, cada um escolhe a carreira que pretende seguir. Para compreender melhor como ficou o RoadMap das provas vamos ver a figura 2.

Provas Microsoft

Clique para Download em PDF.

Figura 2 – RoadMap das provas

Existem dois centros de testes que você pode agendar a sua prova, Certiport para quem é estudante e Prometric para quem não possui nenhum vínculo acadêmico. Para o caso dos estudantes, é necessário verificar se a sua instituição está registrada no Certiport, verifique com seu professor ou chefe do departamento.

Um caminho para aprender e ajudar na preparação para as provas no nível MTA é através do Microsoft Virtual Academy que oferece diversos treinamentos gratuitos para desenvolvedores, profissionais de infra e banco de dados.

Lembrando que o mercado está carente de profissionais qualificados, enquanto sobram ideias, planos de marketing, investimentos dos mais variados, profissionais com uma boa qualificação ainda são uma pequena parcela do mercado, portanto uma certificação será muito bem vinda!

 Abraços!

Padrão
.NET, Banco de Dados, Boas Práticas

LocalDb – Uma alternativa simples e rápida

Performance é um item crucial no dia a dia dos programadores. Queremos agilidade em todas as tarefas do dia a dia. Mas muitas vezes precisamos usar ferramentas que não seriam necessárias se tivéssemos alguma alternativa melhor. Na grande maioria dos casos podemos dizer que “matamos mosquito com bazuca”, ou seja temos uma ferramenta cheia de recursos e acabamnos por utilizar uma funcionalidade bem específica (e usamos sempre a mesma funcionalidade) da ferramenta.

O SQL Server é um banco de dados poderoso que vem acompanhado de uma enorme variedade de recursos para um bom gerenciamento dos dados. Na grande maioria das vezes instalamos o SQL Server apenas para ler e gravar dados, ou seja um simples repositório de dados. Só que isso tem um preço, estamos desperdiçando ciclos de CPU e memória com ferramentas que jamais usaremos.

Como uma alternativa a esse cenário a Microsoft disponibilizou uma feature do SQL Server Chamada LocalDb.

Mas o que é o LocalDb?

O Local Db é uma versão simplificada (nem por isso desprovida dos recursos principais) do Sql Server Express, voltada para os desenvolvedores afim de evitar a instalação desnecessária  de uma edição completa do SQL Server.

Vantagens:

  • Instalação rápida e simples. Versão 32 bits tem 28 MB e a versão 64 bits 33 MB;
  • Não necessita configuração e administração;
  • Suporta procedures, triggers, tipos geométricos e geográficos, e o memso suporte a T-SQL Language;
  • Reduz o consumo de memória e CPU, pois só é iniciado quando necessário e também é desligado automaticamente se deixar de ser utilizado por um tempo;
  • Não precisa de instância adicional (como o Express);
  • Instalação única para todos os usuários do computador;
  • Suporta XML,BLOB, LINQ;
  • Sem limite de conexões.

Requisitos:

  • Privilégios Administrativos para instalação;
  • 140 MB de espaço disponível;
  • .Net 4.0 (para atualizar para 4.02).

Limitações:

  • Não roda em Windows XP, Server 2003 e 2000;
  • Uma instalação de 32 bits não roda em Windows 64 bits;
  • Visual Studio 2010 RTM não suporta LocalDb;
  • Não roda em dispositivos móveis;
  • Limite do tamanho do banco em 10 GB;
  • Utiliza apenas uma CPU;

 

Bom, temos então uma opção ao desperdício de recursos quando usamos o SQL Server da maneira mais básica. Eu particularmente prefiro essa versão instalada no meu note, do que deixar diversos serviços rodando de maneira desenecessária e deixando mais tudo mais lento.

O LocalDb pode ser baixado nesse link.

Links e Referências:

http://msdn.microsoft.com/pt-br/library/hh510202.aspx

http://www.sqlcoffee.com/SQLServer2012_0004.htm

http://blogs.msdn.com/b/jerrynixon/archive/2012/02/26/sql-express-v-localdb-v-sql-compact-edition.aspx

http://blog.lambda3.com.br/2013/03/restore-com-localdb/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Lambda3Blog+%28Blog+Lambda3%29

Abraço!

Padrão
Banco de Dados, Eventos

Primeiro post do evento 1º DevDay Curitiba! “Business Intelligence usando informações Geoespaciais” – Thiago Zavaschi

Olá pessoal,

Conforme prometido, segue o primeiro post do evento DevDay Curitiba que aconteceu no último dia 25/09 na Faculdade de Tecnologia OPET. Os posts seguirão a ordem das palestras. A primeira palestra do dia foi com Thiago Zavaschi, falando sobre Business Intelligence usando informações Geoespaciais. Outra coisa, esses posts serão uma síntese de cada palestra.

Os exemplos desse post foram feitos com a edição Developer do SQL Server 2008, mas com qualquer edição funciona.

Bom, vamos ao que importa!

A parte inicial da palestra foi uma introdução sobre dados geoespaciais no SQL Server 2008.

Em primeiro lugar vamos aprender o que são dados geoespaciais, já sabemos que o SQLServer 2008 implementa nativamente o recurso de dados espaciais. Mas o que são esses tipos de dados?

O SQLServer 2008 possui dois tipos de dados que permitem armazenar, pontos, linhas, polígonos, mapas enfim, permite trabalhar com geoprocessamento. etc. Existem dois tipos de dados espaciais, são eles Geometry e Geography. Mas qual a diferença? O tipo de dados Geometry é utilizado para armazenar dados como pontos, linhas, mapas planificados, e polígonos. Já o tipo Geography permite armazenar dados de latitude e longitude, posicionamento no globo terrestre, como os dados usados em um GPS por exemplo. Esses tipos são padronizados pelo Open Geospatial Consortium (OGC).

Os dados espaciais são armazenados no banco como qualquer outro tipo de dado, e podem ser recuperados em uma query. Agora vejamos o seguinte, quando você executa uma query no SQL Server 2008 e traz um desses tipos, automaticamente é incluída uma guia de resultados chamada “Resultados Espaciais”.

Vamos executar o seguinte comando utilizando o tipo geography:

select (geography::STGeomFromText(‘POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))’, 4326)) from SpatialTable

Note que temos como resultado uma sequencia hexadecimal (conforme imagem acima) que de imediato não diz muita coisa, você deve estar pensando “hum que interessante!”. Mas agora começamos a tornar as coisas mais interessantes, ao clicar na guia Resultados espaciais podemos ver uma figura como a imagem abaixo:

Note no comando SQL que o primeiro parâmetro e o último são iguais “((-122.358 47.653” isso é necessário para fecharmos o nosso polígono, outro detalhe é que estou usando o tipo geography, e sendo esse utilizado em mapas elipsoidais, posso escolher a projeção que melhor me atende.

Com os tipos de dados geometry, além de criar linhas, polígonos, desenhar mapas também podemos fazer muitos cálculos como áreas de uma figura, verificar se um ponto pertente a uma reta, intersecção de formas, calcular distancias entre as figuras etc.

select geometry::STPolyFromText(‘POLYGON((3 1,1 1, 2 2, 2 3, 1 1,3 1))’, 0)

Ao desenhar uma imagem, caso os pontos finais e iniciais não coincidam, você receberá uma mensagem de erro como essa abaixo:

Msg 6522, Level 16, State 1, Line 1

Erro do .NET Framework durante a execução de rotina definida pelo usuário ou agregação “geometry”:

System.FormatException: 24306: The Polygon input is not valid because the start and end points of the ring are not the same. Each ring of a polygon must have the same start and end points.

System.FormatException:

at Microsoft.SqlServer.Types.Validator.Execute(Transition transition)

at Microsoft.SqlServer.Types.Validator.EndFigure()

at Microsoft.SqlServer.Types.ForwardingGeoDataSink.EndFigure()

at Microsoft.SqlServer.Types.OpenGisWktReader.ParseLineStringText()

at Microsoft.SqlServer.Types.OpenGisWktReader.ParsePolygonText()

at Microsoft.SqlServer.Types.OpenGisWktReader.ParseTaggedText(OpenGisType type)

at Microsoft.SqlServer.Types.OpenGisWktReader.Read(OpenGisType type, Int32 srid)

at Microsoft.SqlServer.Types.SqlGeometry.GeometryFromText(OpenGisType type, SqlChars text, Int32 srid)

at Microsoft.SqlServer.Types.SqlGeometry.STPolyFromText(SqlChars polygonTaggedText, Int32 srid)

Hierarquia dos dados espaciais

Temos 11 tipos de instância de dados espaciais, no entanto é permitido que instaciemos 7 tipos para trabalhar.

São eles:

  • Point
  • MultiPoint
  • LineString
  • MultiLineString
  • Polygon
  • MultiPolygon
  • GeometryCollection

Na imagem abaixo (destacados em azul), podemos ver a hierarquia dos tipos de instâncias (Geometry e Geography).

A primeira parte da palestra finaliza com essa introdução sobre os tipos geoespaciais. Partimos agora para aplicações desses tipos de dados.

Como o foco da palestra era B.I usando dados geoespaciais, Zavaschi iniciou essa parte explicando que um B.I precisa ter duas características principais:

1-    Deve ser rápido;

2-    Deve ser preciso.

As duas características acima são fundamentais para esse tipo de sistema.

Ele até criou uma situação pra exemplificar bem essas características:

“Um cidadão pergunta a hora para outra pessoa, então a pessoa aguarda, aguarda, aguarda e aguarda mais ainda, 2 minutos depois ela responde.”

Dessa situação, concluímos que:

1-    A resposta não foi rápida;

2-    A resposta não foi precisa;

Quando a pessoa recebeu a resposta, a hora já não era mais precisa, nem tampouco servia para ela tomar uma decisão, se houvesse uma oportunidade, ele já havia perdido.

Sabemos que hoje as empresas têm cada vez mais necessidades de incorporar informações visuais nas suas análises e tomadas de decisões, a frequência com que as pessoas consomem esses dados aumenta exponencialmente a cada dia.O SQLServer 2008 fornece esse mecanismo nativo para que as empresas tirem o melhor proveito para seus negócios com o máximo de performance. O SQL Server 2008, incorpora o suporte a índices espaciais, mecanismo que otimiza a busca das informações .

Veremos agora alguns cenários onde a inclusão de dados geoespaciais podem melhorar a eficiência de um negócio e torna-lo mais competitivo:

  • Os dados geoespaciais permitem uma melhor compreensão dos cenários pela análise visual.
  • É possível visualizar as regiões onde as vendas se concentram e onde estão fracas;
  • Criar mapas temáticos específicos por produtos ou serviços oferecidos;
  • Para o segmento de transporte rodoviário, por exemplo, é possível calcular distâncias e definir rotas para chegar ao destino;
  • Monitoramento com informações visuais;

Por enquanto é isso.

Até o próximo!

Abraços!

 

Padrão
Banco de Dados

Por que o SQL Server é melhor que muitos outros RDBMS?

Olá pessoal, recentemente entrei em um blog (http://blog.sqlauthority.com/) sobre SQL Server onde haveria o sorteio de um Visual Studio 2010 Ultimate com MSDN,  para quem respondesse a pergunta “Por que o SQL Server é melhor que muitos outros RDBMS?” Então fiz uma relação de alguns itens diferenciais bem como resolvi compartilhar no meu blog com vocês. Segue:

Em primeiro lugar, o SQL Server é altamente recomendado para situações onde o volume de dados cresce rapidamente, gastando preciosos recursos, sem um gerenciamento padronizado desses dados.

*O alto desempenho da nova versão permite que empresas escalonem de maneira segura e disponível desde um projeto pequeno até altos volumes de dados e transações.

* Mesclagem e padronização de dados heterogêneos com o Integration Services. Através do Integration Services é possível obter, padronizar e “limpar” dados  originados de diferentes fontes como provedores .NET, ODBC, OLE DB e arquivos simples com Excel e xml.

*Através dos recursos do StreamInsight, temos a disposição tomadas rápidas de decisões com base em informações de várias fontes de dados, tudo isso em memória, se necessário, pode ser persistido no banco.

*Disponibilidade dos dados na nuvem com o SQL Azure Database sem se preocupar com backup e administração

*capacidade de adicionar dinamicamente CPUs e memória a um sistema em execução;

*Trabalhar com até 64 GB de memória em sistemas de 32 bits através do AWE (Address Windowing Extensions), mesmo estes sendo limitados a 4 GB.

BI de alta performance, e de acesso fácil a usuários comuns através do  Power Pivot (Excel 2010 e SharePoint 2010).

*Representação geográfica e geométrica com Spatial Datas, para visualização de mapas, rotas e formas customizadas.

Abraços!

Padrão