Criando tabelas via SQL.
TblAlunos | TblCursos | TblNotas | TblProfessor |
---|---|---|---|
codaluno nome endereco telefone nascimento nomepai nomemae observacao Periodo serie numero ativo |
codcurso nomecurso codprofessor creditos |
codaluno codcurso nota ano bimestre Observacao |
codprofessor nome endereco telefone nascimento observacao ativo |
Para exercitar iremos definir os relacionamentos entre as tabelas da seguinte forma (figura 1.0 abaixo):
![]() figura 1.0 |
CREATE TABLE tblprofessor (codprofessor INTEGER CONSTRAINT primarykey PRIMARY KEY, nome TEXT (50), endereco TEXT (50) telefone TEXT (15), nascimento DATE, observacao TEXT (100), ativo BIT); |
A cláusula CONSTRAINT é utilizada para definir a chave primária codprofessor, ela defina as características das colunas ou índices em uma tabela. Pode ser usada para definir uma chave primária ou para estabelecer um relacionamento entre duas tabelas.
Para criar a tabela no VB execute a instrução CREATE TABLE passando-a como parâmetro do método Execute do objeto Database. Ex: db.Execute ("CREATE TABLE...")
Os nomes dos tipos de dados utilizados pelo JET não são iguais aos nomes exigidos pelas instruções SQL. Veja na tabela a abaixo a correspondência entre ambos:
Tipos de Dados SQL | Tipos de dados do JET |
---|---|
BIT BYTE COUNTER CURRENCY DATETIME SINGLE DOUBLE SHORT LONG LONGTEXT LONGBINARY TEXT |
YES/NO NUMERIC - BYTE COUNTER - Contador CURRENCY - Moeda DATE/TIME NUMERIC - SINGLE NUMERIC - DOUBLE NUMERIC - INTEGER NUMERIC - LONG MEMO OLE OBJECTS TEXT |
CREATE TABLE tblcursos (codcurso INTEGER CONSTRAINT primarykey PRIMARY KEY, nomecurso TEXT (15), codprofessor INTEGER CONSTRAINT tblprofessorFK REFERENCES tblprofessor); |
Note que existe uma relação de um para muitos entre a tabela TblProfessor e a tabela TblCursos, sendo que a coluna codprofessor da tabela TblCursos, é uma chave estrangeira (Foreign Key - FK )
Bem vejamos como criar as demais tabelas:
A tabela TblNotas
CREATE TABLE tblNotas (codaluno INTEGER CONSTRAINT tblalunosFK REFERENCES tblalunos, Codcurso INTEGER CONSTRAINT tblcursosFK REFERENCES tblcursos, Nota INTEGER, Ano TEXT (4), Bimestre INTEGER); |
CREATE TABLE tblalunos (codaluno INTEGER CONSTRAINT primarykey PRIMARY KEY, nome TEXT (50), endereco TEXT (50) telefone TEXT (15), nascimento DATE, pai TEXT (50), mae TEXT (50), responsavel TEXT (50), periodo TEXT (1), serie TEXT (10), numero TEXT (5), ativo BIT); |