quarta-feira, 20 de abril de 2016

Como dar boot no DVD no Lenovo B490

O Lenovo B490 é um notebook robusto de preço bastante acessível que é fabricado no Brasil – uma ótima solução para profissionais que se movimentam bastante. Ele vem com o Windows 8 instalado de fábrica, e para facilitar a vida do funcionário que vai utilizá-lo resolvi instalar o Windows 7. O problema é que a BIOS dele vem configurada para aceitar boot somente de discos UEFI – o que não é o caso do Windows 7.

Por tanto, se você tentar dar o boot no Drive de DVD, não acontecerá nada, porque o notebook não reconhecerá o tipo de boot do disco do Windows 7 (Legacy).
Sendo assim, reinicie o Notebook, acesse o painel de configurações da BIOS (apertando F1), vá na aba SECUTIRY, no item Secure Boot, e desative a opção Secure Boot (deixe-a em Disabled). Em seguida volte ao menu principal e vá na aba Startup, e no item UEFI/Legacy Boot, selecione a opção Both. Agora basta sair – salvando as alterações – e tentar dar boot no DVD apertando F12 e selecionando o drive de DVD.

segunda-feira, 11 de janeiro de 2016

PHP e banco de dados com PDO

O que é o PDO?

PDO (PHP Data Objects) é um módulo de PHP montado sob o paradigma Orientado a Objetos e cujo objetivo é prover uma padronização da forma com que o PHP se comunica com um banco de dados relacional. Este módulo surgiu a partir da versão 5 de PHP. PDO, portanto, é uma interface que define um conjunto de classes e a assinatura dos métodos de comunicação com uma base de dados.

Por que utilizar o PDO?

Antes da chegada do PDO, a linguagem PHP oferecia suporte à comunicação com diferentes modelos de SGBD através de módulos específicos. A maioria deles provia uma biblioteca de funções e utilizava um resource para representar a conexão e outro para representar um resultset (o resultado de uma consulta). As operações eram feitas sobre as variáveis de resource.
Cada driver implementava suas operações conforme imaginavam ser mais adequados. Embora alguns deles tivessem um funcionamento semelhante, a ordem dos parâmetros nem sempre era a mesma e podia causar uma certa confusão entre programadores.
Ainda hoje muitas pessoas consideram o uso do PDO uma opção, analisando a possibilidade de um determinado projeto mudar de banco, utilizando o PDO somente se essa possibilidade existir. O grande perigo nessa análise superficial é que nem sempre no início de um projeto temos essa visão e se tiver que mudar não adianta lamentar, então em cima disso particularmente recomendamos a utilização deste recurso, principalmente se o projeto necessitar trabalhar com mais de um tipo de banco.

Como conectar a um banco MySQL usando PDO

Testando a conexão

Incluindo dados


Links e referências:

O que é Doctrine 2?

O Doctrine é um mapeador objeto-relacional (ORM) que provê um meio transparente de persistir objetos PHP em bases de dados relacionais. A implementação de Doctrine está construída sobre uma camada de abstração de banco de dados.
Vamos entender um pouco mais?

Primeiramente, o que é um ORM?

ORM (Object-relational mapping) é uma camada intermediária entre um banco de dados relacional e objetos. De um lado, temos as tabelas e seus relacionamentos, de outro os objetos de uma linguagem OO.

O que um ORM faz?

  • Mapeia dados do DB para Objetos
  • Mapeia relacionamentos
  • Lida com conversão de tipos

Quais problemas ele resolve?

  • Agiliza o desenvolvimento
  • Diminui a quantidade de código
  • Ajuda a user os poder dos objetos
  • Faz parte de um bom design de software

Doctrine

logo-doctrineO projeto Doctrine é um conjunto de bibliotecas PHP focada principalmente no fornecimento de persistência de serviços e funcionalidades relacionadas.
Uma característica do Doctrine é o baixo nível de configuração que é necessário para começar um projeto. O Doctrine pode gerar classes de objetos a partir de um banco de dados existente, e o desenvolvedor pode então especificar as relações e adicionar funcionalidade personalizada para as classes geradas. Não há necessidade de gerar ou manter complexas XML de banco de dados, como pode ser visto em muitos outros frameworks.
doctrine_2
Outra característica fundamental do Doctrine é a capacidade de, opcionalmente, escrever consultas em um banco de dados OO (orientada a objetos ) dialeto SQL chamado DQL (Doctrine Query Language) inspirado do Hibernate HQL . Como alternativa, a classe QueryBuilder (Doctrine_Query no 1.x Doctrine) permite construir consultas através de uma interface fluente . Essas interfaces fornecem aos desenvolvedores alternativas poderosas para o SQL manter a flexibilidade e ainda permitir a troca de dados back-ends, sem necessidade de qualquer duplicação de código.
Outras características interessantes do Doctrine são:
  • Suporte para ganchos (métodos que podem validar ou modificar a entrada e saída de dados) e ouvintes de eventos para estruturar a lógica de negócios relacionados;
  • Um framework de cache, fazendo uso de vários backends, como memcached , SQLite ou APC ;
  • Migrações de banco de dados;
  • Uma função de “compilação”. Combinar vários arquivos PHP do framework em um, para evitar o impacto no desempenho normalmente incorridos, incluindo os muitos arquivos PHP de um framework;
  • E muitas outras.

Links e referências

Testo extraído de http://www.schoolofnet.com/

sábado, 30 de novembro de 2013

Modelagem e projeto de banco de dados com o DBDesigner

DBDesigner

DBDesigner é uma ferramenta para projeto de banco de dados que integra a modelagem, projeto, implementação e manutenção em um mesmo ambiente. Desenvolvida pela empresa Fabulous Force Database Tools, atualmente encontra-se na versão 4 e está disponível para download em www.fabforce.net para plataformas Window e Linux (disponibilizada sob a licença GLP).

DBDesigner é direcionada para o desenvolvimento de banco de dados com o SGBD MySQL, portanto, para utilizarmos todas as funcionalidades desta ferramenta, faz-se necessário a instalação prévia do MySQL. Assumiremos aqui que o MySQL já está instalado e ativo em seu computador. Maiores informações sobre o MySQL podem ser encontradas em www.mysql.com.

Ao utilizar a ferramenta DBDesigner, você sempre trabalha com um modelo. Um modelo é uma visualização de uma meta-informação armazenada em uma base de dados (tabelas, relações, índices, etc). Dessa forma é possível definir e armazenar dados em tabelas diretamente no modelo.

Você pode criar e manter muitos modelos conforme a sua necessidade, contendo um número ilimitado de objetos. Quando se fala em objetos estamos nos referindo a tabelas, colunas, índices, relações entre tabelas e anotações, dentre outros.

Projetando o banco de dados

O projeto de um novo banco de dados dá-se em duas fases:

Modelagem conceitual. Nesta fase, é construído um modelo conceitual na forma de um diagrama entidade-relacionamento (DER). Este modelo captura as necessidades da organização em termos de armazenamento de dados de forma independente de implementação.

Projeto lógico. Esta etapa objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico. O modelo lógico define como o banco de dados será implementado em um SGBD específico.

Vamos implementar a partir de agora o modelo conceitual de banco de dados da Figura 1 para descrever algumas funcionalidades da ferramenta. O exemplo se baseará no modelo conceitual de uma Locadora de Filmes (retirado do livro do Prof. Dr. Carlos Alberto Heuser, intitulado Projeto de Banco de Dados).



Figura 1. Modelo conceitual de uma locadora.

Começando com o DBDesigner

A interface da ferramenta DBDesigner adota o layout padrão de softwares atualmente utilizados, tornando sua utilização muito fácil e intuitiva. Como pode ser visualizado na Figura 2, existem quatro principais áreas de trabalho:

  • a paleta de ferramentas (Palete Tools): contendo as principais funcionalidades da ferramenta;
  • a paleta de navegação (Palete Navigation & Info): que permite a visualização, zoom e navegação de uma determinada região do modelo;
  • a paleta de tipos de dados (Palete Datatypes): que permite a visualização e definição de vários tipos de dados especificados para os campos das tabelas;
  • a paleta do modelo (Palete Model): que permite a visualização e definição de todos os objetos do modelo (tabelas, índices, relações, etc).



Figura 2. Interface gráfica da ferramenta DBDesigner.

Modelando tabelas e relacionamentos

Tabelas são os componentes centrais no projeto de banco de dados relacionais. Relações conectam diferentes tabelas, cada qual com a sua forma: um-para-um, um-para-muitos, muitos-para-muitos e especializações/generalizações, dentre outras.

Para criar tabelas, selecione o botão Nova Tabela (New Table) e clique na área de desenho. Feito isto, uma nova tabela é inserida e é dado para ela o nome padrão de Table_ seguido do número de ocorrência do objeto.

Dando-se um duplo clique sobre a tabela criada, será apresentada a janela da Figura 3 onde podemos definir, entre outras coisas, o nome da tabela, tipo da tabela, e sobretudo os campos que a compõem.

Definindo os campos da tabela

Para definirmos os campos, basta apenas selecionar Colunm Name (Nome da Coluna) e digitarmos o nome do campo. Em seguida, escolher seu tipo (DataType), definir se o campo será obrigatório ou opcional (NN), auto incrementado (Al), dentre outros.


Figura 3. Janela de edição de tabelas.

Depois de definirmos todas as tabelas conforme nosso modelo conceitual (Figura 1), teremos o resultado apresentado na Figura 4.


Figura 4. Resultado da implementação do modelo conceitual utilizando DBDesigner.

Definindo os relacionamentos

Seguindo nosso exemplo, vamos estabelecer o relacionamento entre as tabelas FITA e CLIENTE. Essa relação foi definida como sendo do tipo um-para-muitos (1,N), ou seja, um CLIENTE pode tomar emprestado muitas fitas e uma fita é emprestada a, obrigatoriamente, um e somente um cliente em um dado momento. Para definir as relações entre as tabelas, selecione o botão apropriado na barra de ferramentas (New 1:n Relation) e clique na tabela CLIENTES, e em seguida na tabela FITA. Note que existem duas opções para definirmos relacionamentos 1:N e 1:1: identificado ou não-identificado. A diferença entre elas é que na opção identificado, a chave estrangeira criada na tabela apropriada será definida, também, como chave primaria. Já na opção não-identificada, a chave estrangeira não será definida como chave primária. Essa definição caberá ao projetista do banco. Veja o resultado destas ações na Figura 5.




Figura 5. Definindo relacionamentos.

Observe que a cardinalidade N é substituída pelo símbolo * (asterisco) (ler Nota 1) junto à tabela CLIENTE e, além disso, é adicionada a chave estrangeira (FK) à tabela FITA referente à tabela CLIENTE. Dessa forma, todo o processo de definição de chaves estrangeiras é automatizado de forma muito simples.

Dando um duplo clique sobre a relação, podemos verificar suas propriedades, conforme mostra a Figura 6.




Figura 6. Janela de edição do relacionamento.

Nota 1. Configurando a notação utilizada.

Podemos escolher entre várias notações na ferramenta DBDesigner. Para isso, vá ao menu Display | Notation e escolha a notação desejada. Escolhendo, por exemplo, a notação Crows Foot (notação de James Martin sob a ótica de engenharia de informação, também conhecida como “pé-de-galinha”), todo o modelo será redefino. Veja o resultado dessa escolha na Figura 7. Observe que a cardinalidade N foi substituída pelo símbolo apropriado que ficou junto à tabela FITA.


Figura 7. Notação.

Depois de definirmos todos os relacionamentos, teremos o modelo apresentado na Figura 8.


Figura 8. Resultado da modelagem.

Perceba que quando temos um relacionamento de muitos-para-muitos (N:M), a ferramenta cria automaticamente uma tabela para implementar esse tipo de relação. Esse caso pode ser verificado na relação da tabela FILME com a tabela ATOR.

Leia mais em: devmedia

Tutorial básico - Banco de dados Mysql

O programa de instalação é facilmente encontrado neste link:

http://www.mysql.com/downloads/mysql/

PASSO A PASSO – INSTALAÇÃO:

Após a instalação normal do programa, abre uma tela para a configuração. A partir daí, siga os passos abaixo:


1. Escolha a opção de configuração detalhada.

2. Selecione Developer Machine.


3. Selecione Banco de Dados Multifuncional


4. Selecione o disco local C: e selecione DATA
(certifique-se que o disco local C: não esteja protegido contra gravação)


5. Selecione a opção OLAP para determinar o número de conexões.


6. Habilite a porta 3309 e a conexão TCP.


7. Selecione o padrão de linguagem (Standart)


8. Habilite as 2 opções de instalação dos serviços.


9. Coloque a senha de administração.


10. Espere a finalização da instalação.

Após terminar a instalação, acesse o painel de controle.

Menu Iniciar -> Programas -> MySql -> MySql Command Line
(Coloque sua senha cadastrada)

PASSOS PARA A CRIAÇÃO DE UM BANCO DE DADOS SIMPLES:

Todo banco de dados necessita de uma tabela, que é o local onde armazenamos as informações cadastradas.

1.Para criar uma tabela, digite:

create database amigos;

NÃO SE ESQUEÇA DO ; (PONTO E VÍRGULA)


2. Vamos visualizar quais as tabelas existentes, digite:
show databases;

3. Para cadastrar algo em sua tabela, temos que selecionar a tabela desejada. Para isso digite:
use amigos;

4. Vamos criar uma tabela com os seguinte campos:
CÓDIGO, NOME e TELEFONE.

Digite a seguinte sequência:

create table cad1 (
cod int(5) not null,
nome varchar(4) not null,
telefone varchar(40),
primary key(cod) );

* A opção INT em COD é para determinar que o campo será em números inteiros.
* A opção Varchar em Nome é para determinar que o campo será composto por caracteres.
* A linha Primary Key é para determinar que o campo COD será a chave primária da tabela.

5. Para cadastrar as pessoas na tabela terá que digitar:

Insert into cad1 values (1,’danilo’,’2341-1010’);

Cada cadastro terá que ter seus campos separados por vírgula e somente a chave primária será sem aspas, como visto acima.

6. Para visualizar os cadastros você deve digitar:
Select * from cad1;


Basta seguir os passos direitinho e não esquecer de colocar o ";"

quinta-feira, 28 de novembro de 2013

Exemplo de conexão com banco de dados Mysql utilizando o PHP

<?php
header("Content-Type: text/html; charset=ISO-8859-1",true) ;
 $host = "127.0.0.1";
$usuario = "root";
$senha = "123456";
$db = "pontoeletronico";
mysql_connect($host, $usuario, $senha);
 mysql_select_db($db);
$sql = "select codigo, nome from funcionario order by nome";
$qr = mysql_query($sql);
 ?>

<html >
     <head>
           <title>Exemplo de Conexão PHP ao Banco de dados Mysql</title>
</head>
<body>
<form name="form" id="form" method="POST" action="retorno.php">
                 <strong>USUÁRIO:</strong><br />
                 <select name="usuario" id="jumpMenu">
<?php
while($row = mysql_fetch_array($qr)) {
        echo "<option name='codigo' value='".$row['codigo']."'>".$row['nome']."</option>"; }
?>
                 </select><br />
                <input type="Submit" name="Submit" id= "go_button" value="Gravar"  />
           </form>
</body>
</html>

segunda-feira, 25 de novembro de 2013

Trabalhando com Horário de Verão com PHP

Nesse primeiro post mostro como devemos tratar o horário de verão no PHP para que não tenhamos problemas na inserção de dados no Banco de Dados.

Podemos definir  no inicio do código a "Time zone" que usaremos, nesse caso estou usando o horário do nordeste onde não é afetado pelo horário de verão
<?php
date_default_timezone_set("America/Recife");

... ?>

Lista de Timezones Suportados