terça-feira, 7 de dezembro de 2010

MySQL

O MySQL é um sistema de gestão de base de dados (SGBD), que utiliza a linguagem SQL como interface.
Características:
- Portabilidade (suporta praticamente qualquer plataforma actual);
- Compatibilidade (existem módulos de interface para diversas linguagens de programação, como Delphi, Java, C/C++, Python, Perl, PHP, ASP e Ruby)

- Excelente desempenho e estabilidade;

- Pouco exigente quanto a recursos de hardware;

- Facilidade de uso;

- É um Software Livre com base na GPL;

- Suporta controlo transaccional;

- Replicação facilmente configurável;

- Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.

PhpMyAdmin

PhpMyAdmin é um programa de distribuição livre em PHP. É uma ferramenta muito completa que permite aceder a todas as funções típicas da base de dados MySQL através de uma interface web muito intuitiva. A página de inicio do projecto é http://www.phpmyadmin.net/. Daí podemos fazer download dos ficheiros da última versão da aplicação, que posteriormente devemos colocar no nosso servidor web.

Características:

- Interface da Web;

- Gestão de dados MySQL;

- Importar dados de CSV e SQL;

- Exporta dados para vários formatos: CSV, SQL, XML, PDF (através da biblioteca TCPDF), ISO/IEC 26300 - Abre documentos de texto e planilha, Word, Excel, LaTeX e outros;

- Administra vários servidores;

- Cria gráficos PDF no layout do banco de dados;

- Cria consultas complexas usando Query-by-example (QBE);

- Activa consultas de monitor (processos);

- Criar e arrastar bases de dados;

- Criar, copiar, arrastar e alterar tabelas;

- Fazer manutenção nas tabelas;

- Apagar, editar e adicionar campos;

- Gerir chaves nos campos;

- Carregar arquivos de texto nas tabelas;

- Exportar dados para os formatos CSV e XML;

- Administrar vários servidores;

- Gerir utilizadores MySQL e os seus privilégios;

- Usar Query-by-Example (QBE), criar queries complexas que ligam automaticamente as tabelas requeridas;

- Criar gráficos PDF no layout da base de dados;

- Procurar globalmente numa base de dados ou numa sub-parte dela;

- Transformar dados armazenados para qualquer formato usando funções pré-definidas, como exibir dados BLOB como imagem, link de download, etc;

- Suporte a tabelas InnoDB e teclas estrangeiras;

- Suporte a mysqli, a extensão MySQL optimizada.

Apache

Ao aceder a qualquer site, há um servidor por trás daquele endereço responsável por disponibilizar as páginas e todos os demais recursos que se pode ver. Assim, quando se envia um e-mail através de um formulário, ou sefaz uma compra on-line, etc, um servidor Web é responsável por processar todas essas informações.

Sendo mais claro, um servidor Web é um computador que processa solicitações http, o protocolo padrão da Web. Quando se usa um browser de internet para aceder um site, este faz as solicitações devidas ao servidor Web do site através do protocolo HTTP e então recebe o conteúdo correspondente. No caso do Apache, ele não só executa o HTTP, como outros protocolos, tais como o HTTPS (O HTTP combinado com a camada de segurança SSL - Secure Socket Layer), o FTP (File Transfer Protocol), entre outros.

Caracteristicas
- Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP, etc;

- Suporte a autorização de acesso podendo ser especificadas restrições de acesso;

- Autenticação requerendo um nome de utilizador e senha válidos para acesso a alguma página/sub-diretório/arquivo;

- Negociação de conteúdo, permitindo a exibição da página Web no idioma requisitado pelo Cliente Navegador;

- Suporte a tipos mime;

- Personalização de logs;

- Mensagens de erro;

- Suporte a virtual hosting;

- Suporte a IP virtual hosting;

- Suporte a name virtual hosting;

- Suporte a servidor Proxy ftp e http, com limite de acesso, caching;

- Suporte a proxy e redireccionamentos baseados em URLs para endereços Internos;

- Suporte a criptografia via SSL,Certificados digitais;

- Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalidades e recursos sem necessidade de recompilação do programa.

Xampp

XAMPP é um pacote completo de servidores web, FTP e de base de dados que não necessita de instalação. O pacote completo inclui:

- Apache 2.2.0;

- MySQL 5.0.20;

- PHP 5.1.2;

- eAccelerator 0.9.4-rc1;

- PHP-Switch 1.0;

- XAMPP Control 2.2;

- XAMPP Security 1.0;

- SQLite 2.8.15;

- OpenSSL 0.9.8a;

- phpMyAdmin 2.8.0.3;

- ADOdb 4.80;

- Mercury Mail Transport System 4.01b;

- FileZilla FTP Server 0.9.14a;

- Webalizer 2.01-10;

- Zend Optimizer 3.0.0.

quinta-feira, 25 de novembro de 2010

terça-feira, 16 de novembro de 2010

Diagramas ER

Noção de Entidade, Atributo e Relação:

Entidade: É um conjunto de objectos do mesmo tipo (pessoas, lugares, objectos, acontecimentos ou conceitos).

Atributos: Diferentes elementos ou itens de informação que caracterizam  uma entidade, na prática, os atributos de uma entidade vão dar origem aos campos  de um ficheiro/tabela da base de dados.

Exemplos de entidades e possíveis atributos (campos):



Tipos de Atributos:     Identificadores (Chaves candidatas)
                                       Descritores

De todos os atributos de uma entidade algum ou alguns identificam uma ocorrência  específica dessa entidade distinguindo-a das restantes.
A estes atributos chamamos identificadores ou chaves candidatas (primárias).

Aos restantes atributos que só descrevem ou caracterizam as ocorrências das  entidades chamamos descritores.

Ocorrências/Relações:

Um para um (1:1)

A uma ocorrência da entidade E1 corresponde uma e uma só ocorrência da  entidade E2 (zero ou uma).
Exemplo:
                                 Tem
                  Doente ----------- Cama
                                 Tem
                   E1                        E2

De acordo com o esquema anterior, um doente tem uma e uma só cama e cada  cama tem um e um só doente.

Um para muitos (1: N)

A cada ocorrência da entidade E1 corresponde uma ou mais ocorrências da  entidade E2 (zero, uma ou mais), mas a esta entidade (E2) só pode corresponder  uma ocorrência da entidade E1 (zero ou uma) .
Exemplo:
                               Pertence
                 Doente ----------------- Enfermaria
                     E1         Tem         E2
                                               
De acordo com o esquema anterior, cada doente pertence a uma e uma só  enfermaria, podendo estar ter um ou mais doentes.

Muitos para muitos (M:N)

A cada ocorrência da entidade E1 corresponde uma ou mais ocorrências da  entidade E2 (zero, uma ou mais), tal como a cada ocorrência da entidade E2  corresponde uma ou mais da entidade E1 -zero, uma ou mais).
Exemplo:
                                    Trata
              Enfermeira    ----------    Doente
                    E1        É tratado       E2
                                        
De acordo com o esquema anterior, uma enfermeira trata um ou mais doentes,  podendo cada doente ser tratado por uma ou mais enfermeiras.

Notação:



Passos para construir um ER:

1. Identificar as Entidades
2. Para cada Entidade identificar os seus atributos e definir a chave primária
3. Identificar todos os relacionamentos entre as Entidades
4. Validar o modelo obtido e repetir este processo desde o 1º passo, se necessário.

terça-feira, 12 de outubro de 2010

Introdução: A tag div

A tag <div> define uma divisão num documento HTML.
A tag <div> é também usada para dividir as páginas em blocos.
A tag div também é usada com css para contruir layouts.

É suportada pelo Internet Explorer, Mozilla Firefox, Opera, Google Chorme e Safari.

Atributos

Opcionais:

- Align

Standard:

- class
- dir
- id
- lang
- style
- title
- xml:lang

Event:

- onclick
- ondblclick
- onmousedown
- onmousemove
- onmouseout
- onmouseover
- onmouseup
- onkeydown
- onkeypress
- onkeyup

Vantagens

Na grande maioria dos sites baseados em CSS, o layout de uma página é feito recorrendo ao modelo de caixas. Este método consiste em agrupar elementos dentro de caixas e proceder ao seu posicionamento na página.
Uma das vantagens é evitar a utilização de tabelas, obtendo os mesmos resultados, mas com um grau de eficiência e flexibilidade maior e ainda serve para alinhar e formatar textos.

Tem a vantagem de ser melhor reconhecido, ou seja, procura apresentar a mesma aparência em diferentes tipos de navegadores e apresentar um código-fonte mais limpo, já que os estilos e outros recursos como JavaScript ficarão em arquivos externos.
Esta maneira de criar páginas também facilita ao desenvolvedor na hora de efectuar actualizações, já que um único arquivo CSS pode estar vinculado a várias páginas.
As tabelas, anteriormente usadas para estruturar o layout, tem seu uso específico para dados que exijam este tipo de exibição, como por exemplo um estudo comparativo de produtos, um planos com horários de vôo, preços, etc.

Os frames estão em total desuso.

As divs podem possuir estilos, como uma tabela, como bordas, cor ou imagem de background, ou ficarem invisíveis e apenas servir de "delimitadores" para posicionar conteúdo em uma página.

Div e Css

Código estilo css:

.large {
  color: #00FF00;
  font-family:arial;
  font-size: 4pt;
}

Código Html:

<div class="large">
  This is a DIV sample.
</div>