Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Instalação do mysql-essential-6.0.4-alpha-win32


neoerick

Pergunta

Boa Tarde, estou com muitas duvidas.Nunca instalei o Mysql.Baixei e instalei o "mysql-essential-6.0.4-alpha-win32" do site da Sun.. na faculdade onde estudo roda de boa, pois eu já pego o micro pronto pra usar.Já segui vários 'passo a passo' mas acho que estou errando alguma coisa. :unsure: Fiz o seguinte script :

create database olhovivo;

use olhovivo;

create table gestor

(

nick_gestor varchar(15) not null primary key,

nick_cliente varchar(15) not null,

senha_gestor varchar(15) not null,

senha_cliente varchar(15) not null,

senha_usuario varchar(15) not null

);

create table cliente

(

nick_cliente varchar(15) not null primary key,

nick_turma varchar(15) not null,

nick_ou_matricula varchar(15) not null,

nome_teste varchar(15) not null,

senha_cliente varchar(15) not null,

senha_usuario varchar(15) not null

);

create table usuario

(

nick_ou_matricula varchar(15) not null primary key,

nome varchar(15) not null,

rg varchar(12) not null,

cpf varchar(14) not null,

data_nascimento date not null,

endereco VARCHAR(25) not null,

numero int(6) not null,

complemento_end varchar(15),

bairro varchar(50) not null,

cep varchar(10) not null,

cidade varchar(25) not null,

log_estados varchar(20) not null,

telefone1 varchar(14) not null,

telefone2 varchar(14) not null,

email varchar(50) not null

);

create table estados

(

log_estados varchar(2) not null primary key,

nome_uf varchar(20) not null

);

create table turma

(

nick_turma varchar(15) not null primary key,

periodo varchar(15) not null,

referencia_periodica varchar(15) not null,

ano int(4) not null

);

create table teste

(

nome_teste varchar(15) not null primary key,

numero_perguntas int(3) not null

);

create table pergunta

(

numero_perguntas int(3) not null primary key,

N_da_questão_da_prova int(3) not null

);

create table questao

(

N_da_questão_da_prova int(3) not null primary key,

qntalternativas int(1) not null,

alternativa_correta int(1) not null

);

create table perfil_profissional

(

codigo_perfil int(2) not null primary key,

nome_perfil varchar(20) not null,

numero_questao int(3) not null

);

As duvidas são as seguintes : preciso instalar algum outro programa, criar alguma instancia no Windows XP alem do "mysql-essential-6.0.4-alpha-win32"? O que devo fazer?

Estou tentando criar os relacionamentos de chave estrangeira através do seguinte script :

alter table gestor add foreing key (nick_cliente) references cliente(nick_cliente);

alter table cliente add foreing key (nick_turma) references turma(nick_turma);

alter table cliente add foreing key (nick_ou_matricula) references usuario(nick_ou_matricula);

alter table usuario add foreing key (log_estados) references estados(log_estados);

alter table teste add foreing key (numero_perguntas) references pergunta(numero_perguntas);

alter table pergunta add foreing key (numero_questao) references questao(numero_questao);

alter table perfil_profissional add foreing key (numero_questao) references questao(numero_questao);

preciso inserir dados antes de relacionar?configurar alguma coisa?qual pode ser o erro?Por que o sql não permite alter table add foreing?Será que falta mais algum outro comando? :blink:

eu fiz uma tabela com os relacionamentos...será que o erro está no relacionamento também? :wacko: Vou anexar um arquivo do Excel no formato .xls no Rapidshare onde estão os dados do meu projetinho:

Link da Planilha :ninja:

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'neoerick'!

O MySQl, quando da criação de constraints pressupõe que você já tenha criado os índices que serão usados como foreign Keys. Pelo que ví isto não aconteceu, então sugiro que você refaça seus alter tables com as seguintes instruções.

alter table cliente

add constraint FK_cliente_IX_002 foreing key (nick_turma) references turma(nick_turma)

add constraint FK_cliente_IX_003 foreing key (nick_ou_matricula) references usuario(nick_ou_matricula);

alter table usuario

add constraint FK_usuario_IX_002 foreing key (log_estados) references estados(log_estados);

alter table teste

add constraint FK_teste_IX_002 foreing key (numero_perguntas) references pergunta(numero_perguntas);

alter table pergunta

add constraint FK_pergunta_IX_002 foreing key (numero_questao) references questao(numero_questao);

alter table perfil_profissional

add constraint FK_perfil_profissional_IX_002 foreing key (numero_questao) references questao(numero_questao);

Por que o sql não permite alter table add foreing?Será que falta mais algum outro comando?

Leia o Manual de vua versão do MySQL. Muitas de suas dúvidas serão sanadas lá.

Link para o comentário
Compartilhar em outros sites

  • 0

Primeiro..obrigado por me ajudar, você é um anjo cara..obrigado mesmo.Mas vou ter que abusar do seu conhecimento (hehe).Bem, tentei seguir os seus passos e na 1 sintaxe já deu um erro...o que eu to errando ainda?

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4 to server version: 4.0.2-alpha-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database olhovivo;

Query OK, 1 row affected (0.02 sec)

mysql>

mysql> use olhovivo;

Database changed

mysql>

mysql> create table gestor

-> (

-> nick_gestor varchar(15) not null primary key,

-> nick_cliente varchar(15) not null,

-> senha_gestor varchar(15) not null,

-> senha_cliente varchar(15) not null,

-> senha_usuario varchar(15) not null

-> );

Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> create table cliente

-> (

-> nick_cliente varchar(15) not null primary key,

-> nick_turma varchar(15) not null,

-> nick_ou_matricula varchar(15) not null,

-> nome_teste varchar(15) not null,

-> senha_cliente varchar(15) not null,

-> senha_usuario varchar(15) not null

-> );

Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> create table usuario

-> (

-> nick_ou_matricula varchar(15) not null primary key,

-> nome varchar(15) not null,

-> rg varchar(12) not null,

-> cpf varchar(14) not null,

-> data_nascimento date not null,

-> endereco VARCHAR(25) not null,

-> numero int(6) not null,

-> complemento_end varchar(15),

-> bairro varchar(50) not null,

-> cep varchar(10) not null,

-> cidade varchar(25) not null,

-> log_estados varchar(20) not null,

-> telefone1 varchar(14) not null,

-> telefone2 varchar(14) not null,

-> email varchar(50) not null

-> );

Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> create table estados

-> (

-> log_estados varchar(2) not null primary key,

-> nome_uf varchar(20) not null

-> );

Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> create table turma

-> (

-> nick_turma varchar(15) not null primary key,

-> periodo varchar(15) not null,

-> referencia_periodica varchar(15) not null,

-> ano int(4) not null

-> );

Query OK, 0 rows affected (0.02 sec)

mysql>

mysql> create table teste

-> (

-> nome_teste varchar(15) not null primary key,

-> numero_perguntas int(3) not null

-> );

Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> create table pergunta

-> (

-> numero_perguntas int(3) not null primary key,

-> N_da_questão_da_prova int(3) not null

-> );

Query OK, 0 rows affected (0.01 sec)

mysql>

mysql> create table questao

-> (

-> N_da_questão_da_prova int(3) not null primary key,

-> qntalternativas int(1) not null,

-> alternativa_correta int(1) not null

-> );

Query OK, 0 rows affected (0.00 sec)

mysql>

mysql> create table perfil_profissional

-> (

-> codigo_perfil int(2) not null primary key,

-> nome_perfil varchar(20) not null,

-> numero_questao int(3) not null

-> );

Query OK, 0 rows affected (0.02 sec)

mysql> alter table gestor add foreing key (nick_cliente) references cliente(nick

_cliente);

ERROR 1064: You have an error in your SQL syntax near 'key (nick_cliente) refere

nces cliente(nick_cliente)' at line 1

mysql> alter table cliente

-> add constraint FK_cliente_IX_002 foreing key (nick_turma) references turm

a(nick_turma)

-> add constraint FK_cliente_IX_003 foreing key (nick_ou_matricula) referenc

es usuario(nick_ou_matricula);

ERROR 1064: You have an error in your SQL syntax near 'foreing key (nick_turma)

references turma(nick_turma)

add constraint FK_cliente_' at line 2

mysql>

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'neoerick'!

Primeiro..obrigado por me ajudar, você é um anjo cara..obrigado mesmo.
Não por isso. ajudar faz parte desta missão.

Mas vou ter que abusar do seu conhecimento (hehe).Bem, tentei seguir os seus passos e na 1 sintaxe já deu um erro...o que eu to errando ainda?

Observe seu código abaixo:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4 to server version: 4.0.2-alpha-nt

Apesar de o título deste tópico informar que você está usando a versão 6.0.4-alpha-win32 do mysql, a versão que aparece é a 4.0.2-alpha-nt.

Revendo a história do mysql, desde a versão 3.23 até a versão 5.0, está disponível para compatibilidade com o padrão SQL ANSI 92, a cláusula CONSTRAINT para FOREIGN KEY e exclusivamente para o TYPE/ENGINE InnoDB.

A partir da versão 5.0.x a cláusula CONSTRAINT para FOREIGN KEY passou a funcionar para valer.

O termos TYPE ou ENGINE são os definidores de tipos de tabelas que o MySQL usa.

O termo TYPE foi usado até a versão 4.1.1 e desde a versão 4.1.2 está sendo usado o termo ENGINE

Se você não está conseguindo cadastrar, mesmo com a versão 4.0.2, você está usando o tipo errado de formato de tabela.

Por padrão o MySQl usa o ENGINE MyISAM que não tem integridade referencial (as constraints que você quer), nem controle de transação (o que gravou gravou e não tem rollback).

Você deverá mudar suas instruções CREATE TABLE para que utilizem o engine correto, que no caso é o InnoDB.

Para isto basta acrescentar a instrução TYPE=InnoDB na ultima linha da criação da tabela, tal como no exemplo abaixo.

mysql> create table gestor
    -> (
    -> nick_gestor varchar(15) not null primary key,
    -> nick_cliente varchar(15) not null,
    -> senha_gestor varchar(15) not null,
    -> senha_cliente varchar(15) not null,
    -> senha_usuario varchar(15) not null
    -> )TYPE=InnoDB;
Query OK, 0 rows affected (0.00 sec)

Leia o manual do MySQL de sua versão para maiores informações.

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela ajuda...problema resolvido

create database olhovivo;

use olhovivo;

create table gestor

(

cod_gestor int(3) not null primary key,

cod_cliente int(3) not null,

nome varchar(15) not null,

senha_gestor varchar(15) not null,

senha_cliente varchar(15) not null,

senha_usuario varchar(15) not null

);

create table cliente

(

cod_cliente int(3) not null primary key,

cod_turma int(3) not null,

cod_usuario varchar(3) not null,

cod_teste int(3) not null,

nome varchar(15) not null,

senha_cliente varchar(15) not null,

senha_usuario varchar(15) not null

);

create table usuario

(

cod_usuario int(3) not null primary key,

cod_teste int(3) not null,

nome varchar(15) not null,

rg varchar(12) not null,

cpf varchar(14) not null,

data_nascimento date not null,

endereco varchar(25) not null,

numero int(6) not null,

complemento_end varchar(15),

bairro varchar(50) not null,

cep varchar(10) not null,

cidade varchar(25) not null,

cod_estado int(2) not null,

telefone1 varchar(14),

telefone2 varchar(14),

email varchar(50),

codigo_vocacional int(2)

);

create table estados

(

cod_estado int(2) not null primary key,

nome_uf varchar(20) not null

);

create table turma

(

cod_turma int(3) not null primary key,

nome varchar(15) not null,

periodo varchar(15) not null,

referencia_periodica varchar(15) not null,

ano int(4) not null

);

create table teste

(

cod_teste int(3) not null primary key,

nome varchar(15) not null,

cod_pergunta int(3) not null

);

create table pergunta

(

cod_pergunta int(3) not null primary key,

numero_perguntas int(3) not null,

cod_questao int(3) not null

);

create table questao

(

cod_questao int(3) not null primary key,

Numero_da_questao int(1) not null,

qntalternativas int(1) not null,

op_selecionada int(1)

);

create table opcao

(

op_selecionada int(1) not null primary key

);

create table perfil_profissional

(

codigo_vocacional int(1) not null primary key,

nome_perfil varchar(20) not null,

op_selecionada int(1)

);

Chaves estrangeiras

alter table gestor add constraint cod_cliente_fk foreign key (cod_cliente) references cliente(cod_cliente);

alter table cliente add constraint cod_turma_fk foreign key (cod_turma) references turma(cod_turma);

alter table cliente add constraint cod_usuario_fk foreign key (cod_usuario) references usuario(cod_usuario);

alter table cliente add constraint cod_teste_fk foreign key (cod_teste) references teste(cod_teste);

alter table usuario add constraint cod_teste_fk foreign key (cod_teste) references teste(cod_teste);

alter table usuario add constraint cod_estado_fk foreign key (cod_estado) references estados(cod_estado);

alter table usuario add constraint codigo_vocacional_fk foreign key (codigo_vocacional) references perfil_profissional(codigo_vocacional);

alter table teste add constraint cod_pergunta_fk foreign key (cod_pergunta) references pergunta(cod_pergunta);

alter table pergunta add constraint cod_questao_fk foreign key (cod_questao) references questao(cod_questao);

alter table questao add constraint opselecionada_fk foreign key (opselecionada) references opcao(opselecionada);

alter table perfil_profissional add constraint opselecionada_fk foreign key (opselecionada) references opcao(opselecionada);

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...