> ## 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
    observacao
    Periodo
    serie
    numero
    ativo
    codcurso
    nomecurso
    codprofessor
    creditos
    codaluno
    codcurso
    nota
    ano
    bimestre
    Observacao
    codprofessor
    nome
    endereco
    telefone
    nascimento
    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):

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,
    observacao TEXT (100),
    ativo BIT);

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,
    pai TEXT (50),
    mae TEXT (50),
    responsavel TEXT (50),
    periodo TEXT (1),
    serie TEXT (10),
    numero TEXT (5),
    ativo BIT);

O código usado acima refere-se ao SQL-Access, havendo diferenças quando escrito para o ORACLE e o SYBASE.

Conteúdo

Retorna