Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

goruks

tabelas

Recommended Posts

Olá sou novo com bd estou aprendendo ;Dbom seguinte to fazendo um sistema matricula de aluno da seguinte formatenho aluno com seus atributos e cursos com seus atributosai estava pesando oque é que faço crio uma tabela pra cada curso e cadastro os alunos so do cursoou crio tabela alunos (com todos alunos idenpendente do curso) e uma cursos e relaciono as 2ai cheguei conclusao que acho que segunda opçao eh melhor ;Dmas ai veio duvida como relaciono isso pra saber que tal aluno ta em tal curso? pra poder fazer os selecttipo e qual diferença de fazer desse jeito ai relacionando ou colocar um campo chamado curso na tabela aluno e escrever o nome do curso?vlw ;D

Compartilhar este post


Link para o post
Compartilhar em outros sites

e onde faz isso no mysql? pq so consigo definir chave primaria, e procurando vi que parece que nao da para fazer (fk) no myissan so no InnoDB eh certo isso? entao tenho q criar tipo innodb e criar um compo na tabela alunos e como defino ele pra ser (fk) de cursos? e na hora de cadastrar alunos como insiro fk? tipo to pensando fazer um list/menu e dai em cada option dele dou um select em todos ids da tabela cursos para ele escolher qual vai para o campo fk da linha dele na tabela curso?dai pra fazer um select de todos alunos dauqele curso eu pego where id_curso(fk) = xxx ?desculpe tantas peguntas eu ate to entendendo mas nao quero fazer errado pq da muito trabalho refazer ja fiz uma vez errado -____-vlw ;D

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm certo entao creio que no meu caso ficaria assim ? acho que agora vai ;D

 

tipo esse n delete no action eh se eu apagar um curso o id dele continua no campo do aluno?

e esse esquema de fk posso dar select de alunos por atributos do curso? tipo selecionar de alunos onde nome_curso = $xxxx

 

  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

id_curso INTEGER UNSIGNED NOT NULL,

nome varchar(50) NOT NULL default '',

email varchar(50) NOT NULL default '',

rg varchar(30) NOT NULL default '',

estado_rg varchar(2) NOT NULL default '',

orgao_emissor varchar(15) NOT NULL default '',

data_expedicao varchar(10) NOT NULL default '',

data_nascimento varchar(10) NOT NULL default '',

cpf varchar(14) NOT NULL default '',

naturalidade varchar(50) NOT NULL default '',

estado_naturalidade varchar(2) NOT NULL default '',

estado_civil varchar(15) NOT NULL default '',

sexo varchar(2) NOT NULL default '',

endereco varchar(100) NOT NULL default '',

numero_endereco varchar(10) NOT NULL default '',

complemento varchar(50) NOT NULL default '',

bairro varchar(50) NOT NULL default '',

municipio varchar(50) NOT NULL default '',

estado varchar(2) NOT NULL default '',

cep varchar(10) NOT NULL default '',

telefone_residencial varchar(14) NOT NULL default '',

telefone_celular varchar(14) NOT NULL default '',

telefone_comercial varchar(14) NOT NULL default '',

ramal varchar(10) NOT NULL default '',

nome_pai varchar(50) NOT NULL default '',

nome_mae varchar(50) NOT NULL default '',

faculdade varchar(100) NOT NULL default '',

ano_conclusao varchar(4) NOT NULL default '',

profissao varchar(50) NOT NULL default '',

data_inscricao varchar(50) NOT NULL default '',

foreign key (id_curso) references curso(id) on delete no action,

PRIMARY KEY(id))") engine=InnoDB;

or die(mysql_error());

 

 

mysql_query("

CREATE TABLE cursos (

id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

area varchar(50) NOT NULL default '',

nome varchar(50) NOT NULL default '',

sigla varchar(20) NOT NULL default '',

estado varchar(2) NOT NULL default '',

cidade varchar(30) NOT NULL default '',

data_inicio varchar(10) NOT NULL default '',

turma varchar(20) NOT NULL default '',

universidade varchar(20) NOT NULL default '',

PRIMARY KEY(id))") engine=InnoDB;

or die(mysql_error()); _linenums:0'>mysql_query("CREATE TABLE alunos ( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, id_curso INTEGER UNSIGNED NOT NULL, nome varchar(50) NOT NULL default '', email varchar(50) NOT NULL default '', rg varchar(30) NOT NULL default '', estado_rg varchar(2) NOT NULL default '', orgao_emissor varchar(15) NOT NULL default '', data_expedicao varchar(10) NOT NULL default '', data_nascimento varchar(10) NOT NULL default '', cpf varchar(14) NOT NULL default '', naturalidade varchar(50) NOT NULL default '', estado_naturalidade varchar(2) NOT NULL default '', estado_civil varchar(15) NOT NULL default '', sexo varchar(2) NOT NULL default '', endereco varchar(100) NOT NULL default '', numero_endereco varchar(10) NOT NULL default '', complemento varchar(50) NOT NULL default '', bairro varchar(50) NOT NULL default '', municipio varchar(50) NOT NULL default '', estado varchar(2) NOT NULL default '', cep varchar(10) NOT NULL default '', telefone_residencial varchar(14) NOT NULL default '', telefone_celular varchar(14) NOT NULL default '', telefone_comercial varchar(14) NOT NULL default '', ramal varchar(10) NOT NULL default '', nome_pai varchar(50) NOT NULL default '', nome_mae varchar(50) NOT NULL default '', faculdade varchar(100) NOT NULL default '', ano_conclusao varchar(4) NOT NULL default '', profissao varchar(50) NOT NULL default '', data_inscricao varchar(50) NOT NULL default '', foreign key (id_curso) references curso(id) on delete no action, PRIMARY KEY(id))") engine=InnoDB; or die(mysql_error()); mysql_query("CREATE TABLE cursos ( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, area varchar(50) NOT NULL default '', nome varchar(50) NOT NULL default '', sigla varchar(20) NOT NULL default '', estado varchar(2) NOT NULL default '', cidade varchar(30) NOT NULL default '', data_inicio varchar(10) NOT NULL default '', turma varchar(20) NOT NULL default '', universidade varchar(20) NOT NULL default '', PRIMARY KEY(id))") engine=InnoDB; or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi direito esse index :wacko: é isto ?PRIMARY KEY(id),INDEX alunos_FKIndex1(id_curso),foreign key (id_curso) references curso(id) on delete no action)")engine=InnoDB;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.