Category: Base de Dados


De forma sucinta, o MS SQL Server é definido como sendo o SGBD – sistema de gestão de Base de Dados Relacional criado pela Microsoft. E por seu turno, um Sistema de Gestão de Base de Dados (SGBD) é o conjunto de softwares responsáveis pela gestão de uma base de dados. O principal objectivo é retirar da aplicação cliente a responsabilidade de gerir o acesso, a manipulação e  a organização dos dados.

Agora, com os conceitos apresentados e cumprida as formalidades iniciais :-), deixo aqui uma excelente referência para quem queira aprimorar as sua habilidades no SQL Server 2008, criando sistemas avançados para obtenção de Informação e descoberta de Conhecimento nas suas bases de dados, usando as ferramentas já integradas no SQL Server 2008.

Para tal, basta aceder à página de vídeos da Rede de Desenvolvedores Microsoft (MSDN):

Videos Aulas

Nesta página poderá encontrar vídeos relacionados com:

Condição imprescindível para que possa realizar as tarefas é a prévia instalação do MS Visual Studio 2008 SP 2 ou Visual Studio 2010 (Política MS: Facturar, facturar, facturar! :-)).

Semestre “terminado” (entre aspas por existirem ainda as benditas provas da CISCO na fila, aguardando por processamento ;-)), e vamos dar início a meia-maratona de informações que, felizmente, para uns ou, infelizmente, para outros, será dominada pelas tecnologias livres e de código aberto.

Nos próximos dias serão apresentados temas relactivos  a três importantes áreas das tecnologias de informação, sendo o desenvolvimento de software, a administração de sistemas e a administração de base de dados.

Como aperitivo, começo hoje por apresentar o conceito de LAMP. LAMP é um acrônimo para um conjunto de soluções de software livre, formado pelas primeiras letras de Linux (sistema operativo), Apache HTTP Server, MySQL (software de banco de dados relacional) e PHP (linguagem de programação interpretada), juntos contituem os principais componentes para implementação de um servidor web robusto.

O conjunto de software incluso no pacote LAMP pode variar, especialmente no que diz respeito à linguagem de programação, podendo ser substituida por Java, Python, Perl, entre outras. Existem ainda termos similares para descrever o conjunto de softwares “AMP” em execução em outros sistemas operativos, tais como o MS Windows  (WAMP),  Mac OS  (MAMP),  Solaris  (SAMP), ou OpenBSD  (OPAMP).

Esta combinação de software tornou-se popular porque é gratuita, de código aberto e, portanto, facilmente adaptável, e por causa da omnipresença de seus componentes que são empacotados com a mais actuais distribuições Linux.

Fonte: Wikipedia (adaptado)

Começo este post com um singelo pedido de desculpas pela demora em apresentar as minhas ilações resultantes da participação do 1.º Tech Meeting. Os culpados até que não são tantos, mas deixarei para outra ocasião a crucificação dos mesmos. lol

Retomando ao foco principal deste post, eis aqui uma pequena operação matemática que é motivo certo de orgulho para todos que tornaram possível o primeiro “passo” do Tech Meeting:

Responsabilidade + Competência = Sucesso

Dissecando, a responsabilidade esteve patente em todo o processo organizativo do evento: antes, no decorrer e no culminar do mesmo. Recepção calorosa, e com distribuição individual das “ferramentas” necessárias para o acompanhamento e reprodução dos exemplos apresentados pelos distintos oradores; cumprimento do horário e total coerência com a agenda de actividades.

A competência reflectiu-se nos oradores ao, da melhor forma, transmitirem os conhecimentos e ao deliciarem-nos com o que de mais actual há em termos de metodologias de desenvolvimento de software em ambiente profissional.

Tal como anunciado, o foco principal do evento foi o desenvolvimento de aplicações web usando a tecnologia Java e, nesta ordem de ideias, decorreram os trabalhos, à excepção das apresentações sobre CSS vs CSS Sprite, tratando-se esta de uma linguagem de estilo, e sobre Importância de Testes em Software.

Em destaque estiveram as apresentações que se debruçaram essencialmente nas tecnologias JavaServer Pages (JSP), JavaServer Faces (JSF) e Java Persistence API (JPA),  inclusas na plataforma Java EE 6 e apresentadas nas suas mais recentes versões: JSP 2.2, JSF 2.0 e JPA 2.0.

E assim, de forma bem resumida, decorreu a primeira edição do tech meeting, superando expectativas e alcançando o sucesso merecido. Caso esteja interessado em obter mais informações referente a esta edição (apresentações, trabalhos produzidos e fotos), bem como das edições subsequentes, visite o site oficial:

www.tmangola.net

O Modelo Relacional é hoje o principal modelo de dados para aplicações comerciais de processamento de dados. Ele conquistou sua posição de destaque devido à sua simplicidade, que facilita o trabalho do programador, comparando com os modelos de dados anteriores. Este modelo tem como principais conceitos as Relações (tabelas),  Atributos (colunas), Tuplas (linha) e Chaves.
Uma chave em Bases de dados é uma coluna da tabela que permite, para cada linha, identificar essa linha (caso seja a chave primária), ou relacionar com outra tabela no caso da chave estrangeira.
O foco deste post está no processo de obtenção da chave primária de uma tupla para posterior utilização. Os métodos a serem apresentados garantem que o programador tenha acesso à chave da tupla  recém criada, evitando deste modo outros métodos que, de forma errônea, parecem ser a solução deste problema.
  • Stored Procedure e C#
Criação do Procedimento SQL (MS SQL Server):
CREATE PROCEDURE dbo.CadastrarPassageiro
(
@nome nvarchar(50),
/*variavel que armazena a primary key gerada*/
@pk int output
)
AS
INSERT INTO tabPassageiro(nome)
VALUES (@nome)
/*Funcao para retornar a primary key gerada*/
set @pk = SCOPE_IDENTITY()
RETURN
Instruções em C# usando o procedimento SQL:
//Variável para armazenar chave primaria do passageiro
int chavePassageiro = 0;
SqlCommand comando = new SqlCommand();
comando.CommandType = CommandType.StoredProcedure;
comando.CommandText = “[CadastrarPassageiro]”;
comando.Parameters.AddWithValue(“@nome”, passageiroTxt.Text);
//Obter a chave primaria
comando.Parameters.Add(“@pk”, SqlDbType.Int, 0, “idPassageiro”);
comando.Parameters[“@pk”].Direction = ParameterDirection.Output;
comando.Connection = con.con();
comando.ExecuteNonQuery();
//Atribuicao do valor da chave primaria devolvida pelo procedimento
chavePassageiro = (int)comando.Parameters[“@pk”].Value;

Data Mining

Após assistir a uma palestra sobre Data Mining – descoberta de conhecimento em Base de dados – realizada na Universidade Católica de Angola e ministrada pelo Eng.º Jorge M. Ribeiro da Universidade do Minho, apresento a seguir a compilação de uma pequena pesquisa feita por mim com o objectivo de dar maior consistência às novas informações adquiridas. 

Data Mining ou Mineração de Dados consiste em um processo analítico projectado para explorar grandes quantidades de dados (tipicamente relacionados a negócios, mercado ou pesquisas científicas), na busca de padrões consistentes e/ou relacionamentos sistemáticos entre variáveis e, então, validá-los aplicando os padrões detectados a novos subconjuntos de dados. O processo consiste basicamente em 3 etapas: exploração; construção de modelo ou definição do padrão; e validação/verificação.

Actualmente, as organizações têm se mostrado extremamente eficientes em capturar, organizar e armazenar grandes quantidades de dados, obtidos de suas operações diárias ou pesquisas científicas, porém, ainda não usam adequadamente essa gigantesca montanha de dados para transformá-la em conhecimentos que possam ser utilizados em suas próprias actividades, sejam elas comerciais ou científicas. A rápida taxa de inovação nas tecnologias de informática está exigindo que, cada vez mais, os profissionais estejam preparados e actualizados para conhecer e enfrentar os desafios da Tecnologia da Informação. 

 image28.gif

No diagrama, acima apresentado, podemos observar a sequência do funcionamento de todo o processo de Data Mining. Inicialmente os Sistemas Operativos registam os dados primários, seguidamente entram em acção as bases de dados, como os Datawarehouse (DWh), que com os dados nele armazenados, será a fonte de recolha de dados para o Data Mining. No Data Mining é realizada a busca pelos padrões usando ferramentas de Aprendizagem Automática e Inteligência Artificial. Finalmente poderá ser feita a Visualização dos dados (gráficos, diagramas, etc.) por parte da Entidade Decisória. Todo este processo leva ao Conhecimento que bem aplicado conduzirá sempre ao caminho do sucesso garantido. 

Data Mining é parte de um processo maior de conhecimento denominado Knowledge Discovery in Database (KDD). KDD consiste, fundamentalmente, na estruturação do banco de dados; na selecção, preparação e pré-processamento dos dados; na transformação, adequação e redução da dimensão dos dados; no processo de Data Mining; e nas análises, assimilações, interpretações e uso do conhecimento extraído do banco de dados, através do processo de Data Mining. 

Consultas: http://www.intelliwise.com                   www.cce.puc-rio.br