utilizando o firebird

20
A solução é acessar o programa pelo prompt de comando, digitando o caminho onde o programa se encontra precedido do usuário e senha do Firebird. C:\Program Files \Firebird \Firebird_2_5\ bin\ isql – user SYSDBA –password masterkey

Transcript of utilizando o firebird

Page 1: utilizando o firebird

A solução é acessar o programa pelo prompt de comando, digitando o caminho onde o programa se encontra precedido do usuário e senha do Firebird.

C:\Program Files \Firebird \Firebird_2_5\ bin\ isql – user SYSDBA –password masterkey

Page 2: utilizando o firebird

O complicado é que para fazer isso temos que navegar pelas pastas da nossa maquina utilizado comandos de prompt que esquecemos. Ao abrirmos o prompt a tela que aparece será esta:

Page 3: utilizando o firebird

Agora temos que ir dando o comando “cd..” até termos atingido a unidade raíz na qual estamos trabalhando, nosso caso “C:\”

Page 4: utilizando o firebird

Agora temos que ver onde o Firebird da nossa maquina está instalado. Isso fazemos indo na pasta do programa no menu iniciar e no ícone dele clicar com o botão direito em propriedades:

Page 5: utilizando o firebird

Agora voltamos ao prompt. Nele digitamos o comando cd e em seguida o caminho que acabamos de encontrar, assim:

cd Program Files \Firebird \Firebird_2_5\ bin\

Não colocamos novamente o c:, porque este já é o local onde o prompt de comando se encontra.

OBS: Tomar cuidado com os espaços entre as barras e nomes das pastas, se tiver espaço vai dar erro.

Page 6: utilizando o firebird

Uma vez que entramos pasta do Firebird vamos então entrar nele digitando o seguinte comando:

isql –user SYSDBA –password masterkey

Page 7: utilizando o firebird

Relembrando.

Fizemos tudo isso para superar o problema do programa que toda hora pedia o usuario e senha e é o que conseguimos. Ao fazer isso conseguimos acesso ao que chamam de usuário máster do banco de dados.

A partir de agora já estamos no “Firebird Isql Tool” que é o nome do programa de prompt do comando do Firebird.

Atraves do prompt de comando do Windows entramos no Firebird.

Page 8: utilizando o firebird

O Firebird também utiliza-se da linguagem SQL, mas alguns comandos se diferenciam da forma que fazemos no SQL Server ou MYSQL .

Uma das principais diferenças é que para criar ou conectar ao banco de dados precisamos dar o caminho completo onde queremos salvar o banco.

No MYSQL:

create database Faculdade;

No Firebird:

create database “E:\Projeto_Firebird\Faculdade.gdb”;

Page 9: utilizando o firebird

No MYSQL:

use Faculdade;

No Firebird:

connect “E:\Projeto_Firebird\Faculdade.gdb”;

Como você deve ter notado no Firebird utilizamos o comando conecte para “entrar “ no banco com o qual estamos trabalhando . Note também que o sistema de arquivos do Firebird é .gdb.

Page 10: utilizando o firebird

Agora que já criamos o nosso banco de dados e estabelecemos a nossa conexão com ele, tudo se torna mais simples e os comandos para criação de tabelas e selects são os mesmos do MYSQL.

Para facilitar usuremos o script já pronto da pagina seguinte:

Page 11: utilizando o firebird

create table curso (

cod_curso smallint not null,nome_curso varchar(40),primary key (cod_curso)

);

create table Aluno (

matricula int not null,nome_aluno varchar(40),status varchar(10),curso smallint not null,primary key (matricula)

);

create table nota (

nota decimal,faltas smallint,matricula int not null,cod_disc char(5) not null

);

Create table disciplina (

cod_disc char(5) not null,nome_disc varchar(40),cod_prof smallint not null,primary key (cod_disc)

);

create table professor (

cod_prof smallint not null,nome_prof varchar(40),primary key (cod_prof)

);

SCRIPT DE CRIAÇÃO DE TABELAS PARA O BANCO DE DADOS “E:\Projeto_Firebird\ Faculdade.gdb”

Page 12: utilizando o firebird

Executando o script e percebendo que não apresentou nenhum erro podemos perceber que o Firebird não mostra a mensagem “Query OK!” como mostra, por exemplo o mysql. Nele sabemos que o comando foi aceito quando o prompt não exibir nenhuma mensagem de erro. Simples assim!

Page 13: utilizando o firebird

Após termos colado o script no prompt e conferido que não foi apresentado nenhum erro podemos fazer um teste para ver se as nossas tabelas estão realmente lá:

show tables;

Page 14: utilizando o firebird

Agora que vimos que realmente as tabelas que nos criamos realmente estão funcionando vamos inserir dados nelas. Os inserts também não diferem em nada daqueles que estamos acostumados com o MYSQL.

Para a criação dos inserts também faremos uso de script, que seguem nas próximos slides. Preste atenção como eles são os mesmo do MYSQL.

Page 15: utilizando o firebird

insert into curso (cod_curso, nome_curso) values (0037, 'Analise de sistemas');insert into curso (cod_curso, nome_curso) values (0038, 'Ciencia da Computacao');insert into curso (cod_curso, nome_curso) values (0039, 'Direito');insert into curso (cod_curso, nome_curso) values (0040, 'Matematica');

insert into aluno (matricula, nome_aluno, status, curso) values (007043, 'Vitor Alexandre Costa', 'Regular', 0037);insert into aluno (matricula, nome_aluno, status, curso) values (007044, 'Reinildes J M Oliveira', 'Regular', 0038);insert into aluno (matricula, nome_aluno, status, curso) values (007045, 'Valdir da Costa Leme', 'Regular', 0038);insert into aluno (matricula, nome_aluno, status, curso) values (007046, 'Fernanda Souza Bertolai', 'Regular', 0038);insert into aluno (matricula, nome_aluno, status, curso) values (007047, 'Marcelo Rocha Lopes', 'Regular', 0038);insert into aluno (matricula, nome_aluno, status, curso) values (007048, 'Jucimara Cristina Oliveira', 'Regular', 0039);insert into aluno (matricula, nome_aluno, status, curso) values (007049, 'Victoria de Melo Soares', 'Regular', 0039);

insert into nota (nota, matricula, faltas, cod_disc) values (5.5, 007043, 2, 'co_ex');insert into nota (nota, matricula, faltas, cod_disc) values (9.0, 007043, 3, 'matba');insert into nota (nota, matricula, faltas, cod_disc) values (7.0, 007043, 4, 'an001');insert into nota (nota, matricula, faltas, cod_disc) values (5.0, 007044, 1, 'co_ex');insert into nota (nota, matricula, faltas, cod_disc) values (10.0, 007044, 5, 'inins');insert into nota (nota, matricula, faltas, cod_disc) values (6.5, 007045, 6, 'logpo');insert into nota (nota, matricula, faltas, cod_disc) values (6.5, 007046, 2, 'inins');insert into nota (nota, matricula, faltas, cod_disc) values (8.5, 007045, 3, 'logpo');insert into nota (nota, matricula, faltas, cod_disc) values (6.5, 007047, 4, 'matba');insert into nota (nota, matricula, faltas, cod_disc) values (7.5, 007048, 1, 'matba');insert into nota (nota, matricula, faltas, cod_disc) values (8.0, 007049, 2, 'matba');insert into nota (nota, matricula, faltas, cod_disc) values (2.0, 007048, 1, 'co_ex');

Page 16: utilizando o firebird

insert into disciplina (cod_disc, nome_disc, cod_prof) values ('co_ex', 'Comunicação e expressão', 001);insert into disciplina (cod_disc, nome_disc, cod_prof) values ('matba', 'Matematica Basica', 002);insert into disciplina (cod_disc, nome_disc, cod_prof) values ('logpo', 'Logica de Programacao', 003);insert into disciplina (cod_disc, nome_disc, cod_prof) values ('inins', 'Ingles Instrumental', 004);insert into disciplina (cod_disc, nome_disc, cod_prof) values ('an001', 'Analise de Sistemas', 005);

insert into professor (cod_prof, nome_prof) values (001, 'João Arruda Carneiro');insert into professor (cod_prof, nome_prof) values (002, 'João Batista Camargo');insert into professor (cod_prof, nome_prof) values (003, 'Luana Dorival Junior');insert into professor (cod_prof, nome_prof) values (004, 'Henrrique Arruda Carneiro');insert into professor (cod_prof, nome_prof) values (005, 'Paulo Eduardo Carneiro');

Agora que os inserts foram feitos e o Firebird não apresentou nenhum erro podem fazer testes com selects e com inner joins para ver se a eles são feitos da mesma forma que no MYSQL.

Page 17: utilizando o firebird

Select * from aluno;

Select * from professor;

Page 18: utilizando o firebird

Fazer um inner join para ver as notas dos alunos nas diferentes disciplinas:

select nome_aluno, nota, nome_disc from aluno inner join nota on aluno.matricula = nota.matricula inner join disciplina on nota.cod_disc = disciplina.cod_disc;

Page 19: utilizando o firebird

Fazer um inner join que mostre todos os alunos que cursam ciência da computação:

Select nome_aluno, nome_curso from curso inner join aluno on curso.cod_curso= aluno.curso where nome_curso='Ciencia da Computacao';

Page 20: utilizando o firebird