Criando tabelas via SQL.


Vamos criar via SQL as tabelas utilizadas no primeiro artigo de Desvendando o Crystal Reports
Só para lembrar a estrutura das tabelas é dada a seguir:
 
TblAlunos TblCursos TblNotas TblProfessor
codaluno
nome
endereco
telefone
nascimento
nomepai
nomemae
Periodo
serie
numero
sexo
ativo
observacao
codcurso
nomecurso
codprofessor
creditos
codaluno
codcurso	
nota
ano
bimestre
Observacao
codprofessor
nome
endereco	
telefone
nascimento
sexo
observacao
ativo
Obs : Codaluno , Codcurso, CodProfessor são chaves primárias de suas respectivas tabelas.

Para exercitar iremos definir os relacionamentos entre as tabelas da seguinte forma (figura 1.0 abaixo):
Relacionamentos
figura 1.0

A tabela tblprofessor pode ser definida como a seguir (Access SQL) :
CREATE TABLE tblprofessor
(codprofessor INTEGER CONSTRAINT primarykey PRIMARY KEY,
nome TEXT (50),
endereco TEXT (50)
telefone TEXT (15),
nascimento DATE,
sexo TEXT (1),
ativo BIT,
observacao TEXT (100));
A instrução CREATE TABLE irá criar a tabela tblprofessor, com as definições da lista de campos entre parênteses, separados um dos outros por vírgulas. Cada descrição de campo possui duas partes: o nome do campo e o tipo de dados os quais são separados por um espaço entre si.

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

A tabela TblCursos será criada pela instrução:
CREATE TABLE tblcursos 
(codcurso INTEGER CONSTRAINT  primarykey PRIMARY KEY,
nomecurso TEXT (15),
codprofessor INTEGER CONSTRAINT tblprofessorFK REFERENCES tblprofessor);

A cláusula CONSTRAINT é utilizada para definir uma chave primária e uma chave externa.

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);

A tabela Tblalunos
CREATE TABLE tblalunos
(codaluno INTEGER CONSTRAINT primarykey PRIMARY KEY,
nome TEXT (50),
endereco TEXT (50)
telefone TEXT (15),
nascimento DATE,
nomepai TEXT (50),
nomemae TEXT (50),
periodo TEXT (1),
serie TEXT (10),
numero TEXT (5),
observacao TEXT (100),
sexo TEXT (1),
ativo BIT);
O código usado acima refere-se ao SQL-Access, havendo diferenças quando escrito para o ORACLE , SQL SERVER , SYBASE, etc.

Conteúdo


Retorna