Estou trabalhando com o Ubuntu 10.10 desde seu lançamento. A melhor distribuição do Linux, na minha opnião, tem todos os recursos necessários a um analista. Hoje vou começar a trabalhar com um banco de dados simples. Trabalhando desde a instalação do MySQL até consultas em tabelas criadas.
O primeiro passo é instalar o servidor MySQL. Clique no menu Aplicativos, vá em Acessórios e abra um Terminal [ou ctrl+alt+T].
Digite: sudo apt-get install mysql-server, este comando instala o mysql usando os privilégios de super-usuário, por isso a senha de root deve ser digitada se requisitada. Durante a instalação um prompt se abrirá pedindo uma nova senha para o usuário root do banco de dados. É importante anotar esta senha, o ideal é escolher uma palavra simples, que não se esqueça.
Ao término da instalação é preciso logar no MySQL antes de criarmos a nossa primeira base de dados.
Digite: mysql -u root -p , a senha cadastrada será requisitada, dando acesso ao SGBD. Uma vez que se tenha acessado o Sistema Gerenciador de Banco de Dados, passamos a usar os comandos SQL. É fundamental que os comandos sigam a sintaxe apresentada e TERMINEM COM PONTO E VIRGULA (;).
Crie uma base de dados com o seguinte comando: create database biblioteca;
Para visualizar as bases de dados existentes,inclusive a que acabamos de criar, digite show databases;
Em seguida vamos acessar a base de dados criada, digite: use biblioteca;
Sempre que você entrar no MySQL via terminal, deverá repetir o comando de acesso(mysql -u root -p), e em seguida escolher a base de dados na qual está trabalhando (use biblioteca;).
Para verificar as tabelas presentes na nossa base de dados usamos o seguinte comando: show tables;
É claro que o retorno deve ser Empty set, uma vez que ainda não criamos nenhuma tabela. Então vamos criar nossa primeira tabela.
create table Generos( idGenero int(6) auto_increment primary key, genero varchar(30));
A primeira linha da tabela abre a criação da mesma definindo seu nome (no caso Generos);
Na linha dois definimos o primeiro campo da tabela, que é o atributo identificador, o nome de cada campo é opcional, porém recomendamos o uso de nomes que lembrem a utilidade do campo. Após cada nome de campo temos o tipo de dados que será usado. Em sequida temos o parâmetro AUTO_INCREMENT que aumenta o valor do campo automaticamente a cada inserção, sendo o atributo identificador, no fim da linha, foi definido que ele é chave primária através do parâmetro Primary Key. Na última linha temos o fechamento do parenteses da primeira linha além do ponto-e-virgula para terminar o comando de criação.
Com a separação dos gêneros da tabela principal, nós podemos fazer correções nos dados de forma mais eficiente, assim como os autores, sobre os quais pode-se registrar mais informações numa tabela a parte.
create table Autores( idAutor int(6) auto_increment primary key, nome varchar(50), nacionalidade varchar(30), historia blob);
Agora vamos a tabela Livros:
create table Livros( idLivro int(6) auto_increment primary key, titulo varchar(60), genero int(6), autor int(6), idioma varchar(20), ano char(4), foreign key (genero) references Generos(idGenero), foreign key (autor) references Autores(idAutor));
Depois de criar estas 3 tabelas temos um banco de dados inicial. Usando o comando show tables; o MySQL exibe as tabelas criadas. Para analisar a estrutura de cada tabela usamos o comando describe; ou sua abreviação desc. Digite os itens a seguir e veja os resultados:
desc Livros; desc Autores; desc Generos;
Agora vamos alimentar o banco de dados, por temos duas chaves estrangeiras na tabela livros, é preciso que as outras tabelas sejam preenchidas primeiro. Vou começar com a inserção de três itens na tabela Generos e em seguida na tabela Autores.
insert into Generos (genero) values ('Romance'),('Terror'),('Aventura');
insert into Autores (nome, nacionalidade, historia) values ('Machado de Assis', 'Brasileiro','Joaquim Maria Machado de Assis (21 de junho de 1839 — 29 de setembro de 1908) foi um escritor brasileiro, amplamente considerado como o maior nome da literatura nacional');
insert into Autores (nome, nacionalidade, historia) values ('Stephen King','Estados Unidos','Stephen Edwin King (Portland, 21 de setembro de 1947) é um mestre do terror.');
Nos exemplos acima é possível perceber duas formas de inserção de dados, na tabela Generos eu inseri 3 linhas em um único comando, enquanto os autores foram inseridos em separado. Além da flexibilidade do SGBD eu quis mostrar a usabilidade de cada forma. Quando os dados são curtos e constantes inserções múltiplas são úteis, mas se temos uma quantidade maior de informações é conveniente inserir uma linha de cada vez. Um último passo é muito importante para registrar as inserções no banco de dados, trata-se do comando Commit. Sempre que uma alteração é feita nos registros de uma tabela é preciso digitar commit; para ter certeza que a alteração seja registrada, seja ela uma inserção, deleção ou atualização.
O próximo passo é alimentar a tabela Livros, mas antes disso vamos realizar algumas consultas.
O Comando Select é a base da Consulta Estruturada, através dele podemos obter informações de uma ou mais tabelas, exibindo os dados da forma desejada. Comecemos com o mais simples de todos os select, o SELECT ALL. Digite:
Select * from Generos;
Select * from Autores;
Este comando retorna todos os registros de uma tabela. Você também pode filtrar as informações a serem obtidas com este comando. As possibilidades são muitas, então vou mostrar alguns exemplos.
1. Selecionar os países registrados na tabela autores.
select nacionalidade from Autores;
2. Selecionar os autores com suas nacionalidades.
select nome, nacionalidade from Autores;
3. Selecionar os generos sem os códigos.
select genero from Generos;
4. Selecionar somente os códigos e nomes dos autores.
select idAutor, nome from Autores;
Percebam que em todos os exemplos, basta escolher o nome dos campos que se deseja a informação. Sabendo consultar essas informações podemos fazer o primeiro registro na tabela livros.
insert into Livros (titulo, genero, autor, idioma, ano) values ('Memórias Póstumas de Brás Cubas',1,1,'Português','1881');
insert into Livros (titulo, genero, autor, idioma, ano) values ('Roadwork',2,1,'Inglês','1981');
insert into Livros (titulo, genero, autor, idioma, ano) values('O Cemitério',2,2,'Português','1983');
Percebam que nos espaços referentes ao gênero e autor, eu inseri o código correspondente na tabela original. Assim o código para Machado de Assis é igual a 1 (select idAutor, nome from Autores;); o mesmo vale para o gênero.
Pra terminar podemos consultar este último registro e salvá-lo com um commit.
select * from Livros;
commit;
![]()
Talvez alguém possa estar se perguntando por quê não inserir os nomes e gêneros dos livros diretamente na tabela Livros. Quando tivermos uma interface gráfica, poderemos elaborar as consultas de forma que todas as informações apareçam juntas, tornando o banco de dados mais robusto.

08/02/2011 às 17:02
Nossa, não imaginava ser tão complicado. Sempre que preciso fazer um backup ligo no suporte da minha hosting. Eu hspedo na inter.net e eles me auxiliam em tudo.
08/02/2011 às 21:36
Com o tempo as coisas vão ficando tão natural que vemos a simplicidade do SQL…
22/05/2011 às 2:45
[...] Agora vamos ver a conexão funcionando. Crie o banco de dados conforme o post http://analisedesistemas.wordpress.com/2011/01/19/criando-um-banco-de-dados-em-mysql-ubuntu-10-10 [...]
20/05/2012 às 18:03
[...] http://analisedesistemas.wordpress.com/2011/01/19/criando-um-banco-de-dados-em-mysql-ubuntu-10-10/ [...]