Categoria:Banco de Dados

Construindo uma rede social com o Open Source Social Network

A alguns meses atrás me deparei com o Open Source Social Network, aplicação/site/serviço (não sei, as definições mudam toda hora) em PHP que permite a criação de uma rede social, de forma rápida e fácil. A versão gratuíta está no site www.opensource-socialnetwork.org e a versão com recursos mais avançados pode ser comprada no site www.openteknik.com, que possui algumas instâncias disponíveis para demonstração.

As imagens acima são da versão premium, retiradas do openteknik.com

O que mais me chamou a atenção foi o framework e a base de dados. O framework permite que um componente se sobreponha a outro, o que dá muita flexibilidade para criação de novos recursos ou ainda, melhorar um componente já existente. Já o banco de dados é estruturado de uma forma que eu nunca havia visto antes, e tenho certeza que se apresentasse ele em sala de aula, nos idos de dois-mil-e-nokia-1100, ia levar bronca. São menos de 15 tabelas pra postagens, álbuns, fotos, chat, usuário, configurações, propagandas, amizades, gerenciamento de componentes, etc. Pra efeito de comparação, eu vi um sistema para gerenciamento de biblioteca francês (não direi o nome, pra não fazer divulgação) com mais de 500 tabelas. Umas quantas com os campos código e nome. E atire a primeira pedra quem nunca fez isso 🙂

Nesse meio tempo, vi que precisava melhorar meus conhecimentos sobre github e inglês, língua base do sistema. Juntando o útil ao agradável, comecei a escrever alguns componentes e a ajudar outros membros do fórum do site. O que já fiz:

Notification Sample: Componente criado para entender o funcionamento do sistema de notificações. Disponibilizei ele para ajudar outros desenvolvedores;

Home Page Posts: Permite ao usuário ver as publicações da linha do tempo dos amigos ou de todos os usuários. Por padrão do OSSN, é o administrador do site que decide o que será visto.

Send images in OssnMessages: Permite ao componente de mensagem o anexo de imagens. Como existem no OSSN 2 componentes para mensagens, por enquanto me dediquei ao sistema principal, que funciona em desktop e celulares.

Remove conversation: Com esse componente, é possível remover a conversa da lista das conversas recentes. Só o usuário deixa de ver as mensagens. A conversa em si continua existindo.

O licenciamento do OSSN é regido pelos seus próprios termos, de acordo com o License.md do GitHub. Não use comercialmente sem ler o que diz lá. Vai que…

My SQL

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo.

Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia, Sony, Lufthansa, U.S Army, US. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems, Google e outros.

História

O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael “Monty” Widenius, que têm trabalhado juntos desde a década de 1980. Hoje seu desenvolvimento e manutenção empregam aproximadamente 400 profissionais no mundo inteiro, e mais de mil contribuem testando o software, integrando-o a outros produtos, e escrevendo a respeito dele.

No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor de licenças livres. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos, incluindo o MySQL. A Comissão Europeia ainda não aprovou a aquisição.

O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica. A Wikipédia é um exemplo de utilização do MySQL em sites de grande audiência.

 

Download

O download da versão mais atualizada do MySQL pode ser feito nesta página.

Fonte: Wikipedia

 

Conectar Delphi 7 com MySQL

Essa duvida apareceu na aula de Banco de Dados 2.

No Mata Burro Google, achei esse texto. Ele Começa assim:

Bom, como todos sabem, o Delphi tem a possibilidade de usar banco de dados Mysql.

Mas muitas pessoas não sabem como fazer isso, para ter uma idéia, o banco de dados SQL, é bem conhecido na programação em Object Pascal, mas servidores SQL são muito caros.

Por isso irei lhes mostrar neste artigo, como usar banco de dados Mysql, que é muito mais em conta que servidores SQL.

Mas afinal, o que é Mysql?
MySQL é um sistema de gerenciamento de banco de dados relacional que utiliza a linguagem padrão SQL e é largamente utilizado em aplicações internet.

Copiado descaradamente daqui (clique no link para ver a matéria completa).

Do PostgreSQL para o Excel

 

Essa dica é pra quem precisa importar dados do postgres (ou qualquer outro SGBD) para o excel.

O comando é via macro e eu só usei no Excel 2003.


Sub Executa_SQL_PG(rSql As String, rPlaSaida As String, rCelSaida As String, rIP As String, rPorta As String, rBanco As String, rUsuario As String, rSenha As String, rSchema As String)

‘Esta função conecta no banco de dados, executa o sql e devolve na celula indicada
‘ rSql      => Comando a ser executado
‘ rPlaSaida => Nome da planilha onde os dados vão retornar. Se em branco, retorna na atual
‘ rCelSaida => Endereço de Célula onde os dados vão sair. Se em branco, retorna na A5
‘ rIP       => IP do servidor
‘ rPorta    => Porta onde conectar
‘ rBanco    => Nome do Banco de Dados
‘ rUsuario  => Nome do Usuario
‘ rSenha    => Senha do Usuário
‘ rSchema   => Schema a considerar

Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim stSQL As String
Dim wbBook As Workbook
Dim wsSheet As Worksheet
Dim rnStart As Range
Dim stADO As String

‘ valida planilha de saida
If rPlaSaida <> “” Then
Sheets(rPlaSaida).Select
End If

‘ valida celula de saida
If rCelSaida = “” Then
rCelSaida = “A5”
End If

stADO = “Driver={PostgreSQL UNICODE};Server=” & rIP & “;Port=” & rPorta & “;Database=” & rBanco & “;Uid=” & rUsuario & “;Pwd=” & rSenha & “;”

Set wbBook = ActiveWorkbook
Set wsSheet = wbBook.Worksheets(rPlaSaida)

With wsSheet
Set rnStart = .Range(rCelSaida)
End With

stSQL = rSql

Set cnt = New ADODB.Connection

With cnt
.CursorLocation = adUseClient
.Open stADO
.CommandTimeout = 5000000
Set rst = .Execute(stSQL)
End With

‘Here we add the Recordset to the sheet from A1
rnStart.CopyFromRecordset rst

‘Cleaning up.
rst.Close
cnt.Close
Set rst = Nothing
Set cnt = Nothing

End Sub

 

Dá pra fazer gravando uma macro usando a importação de dados externos do excel. Mas ai depende de ter uma odbc na maquina e o resultado nao sai da tabela (até sai, mas da muito trabalho), o que aumenta o tamanho dela.

 

É isso. Abraços!