cds.simbad
Class SimbadDb

java.lang.Object
  extended bycds.simbad.SimbadDb

public class SimbadDb
extends java.lang.Object

Database management: main operations like creation of database, tables or indices, suppression of the same kind of things

Version:
1.0 06 nov 2002
1.1 20 nov 2002 : Chargement du fichier de parametre principal effectue dans le pgme principal
Autres fichiers de parametres charges dans les constructeurs des classes qd necessaire
1.2 04 dec 2002 : Methode creation/suppression index
1.3 21 jan 2002 : Methode d'ajout d'une colonne
Author:
Sylvaine Jaehn (Stage UTBM)

Field Summary
private  java.sql.Connection con
           
private  java.lang.String dbName
           
 int nbSeq
           
 int nbTable
           
private  java.lang.String passwd
           
private static Parameters pdata
           
private static Parameters pdb
           
private static Parameters pindex
           
private static Parameters pseq
           
private static Parameters ptable
           
private static SimbadJDBC sjdbc
           
private  java.lang.String urlInit
           
private  java.lang.String user
           
 
Constructor Summary
SimbadDb()
          Constructor.
 
Method Summary
 void addColumn(java.lang.String tableName, java.lang.String colName, java.lang.String type, java.lang.String required, java.lang.String defaultVal, java.lang.String fkConstraint)
          Ajout d'une colonne (= attribut) dans une table (necessite une modification manuelle des fichiers de parametres)
Remarque : la colonne ajoutee ne peut pas etre cle primaire de la table car elle peut valoir null (cf param required)
Pour gerer un attribut cle primaire : (dans versions de postgres qui acceptent "not null")
- supprimer les index de cle primaire sur cette table si existent
- cmde : "Alter table nom_table add constraint nom_contrainte primary key (nom_champ)"
 void closeConnection()
          Fermeture de la connexion la base de donnees
 void createdb()
          Creation des tables et sequences
 void createIndex()
          Creation des index
 void deleteAllTables()
          Suppression des elements de toutes les tables (sans supprimer les tables elles-memes)
 void deleteTable(java.lang.String table)
          Suppression des elements d'une table
 void dropAllIndices()
          Supression de tous les index (sauf ceux crees automatiquement lors de la creation des tables)
(Modifier manuellement le fichier de parametres)
 void dropdb()
          Supression definitive de la base de donnees courante
 void dropSequence(java.lang.String seq)
          Suppression definitive d'une sequence (Modifier manuellement le fichier de parametres et les programmes lies)
 void dropTable(java.lang.String table)
          Suppression definitive d'une table de la base (Modifier manuellement le fichier de parametres et les programmes lies)
 SimbadJDBC getSJDBC()
          Methode qui permet d'acceder aux donnees de la base
 void runAnalyze()
          Lance la commande "analyze" de postgres
Permet une utilisation optimale des modes de parcours des tables
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pseq

private static Parameters pseq

ptable

private static Parameters ptable

pdata

private static Parameters pdata

pindex

private static Parameters pindex

pdb

private static Parameters pdb

con

private java.sql.Connection con

sjdbc

private static SimbadJDBC sjdbc

dbName

private java.lang.String dbName

urlInit

private java.lang.String urlInit

user

private java.lang.String user

passwd

private java.lang.String passwd

nbSeq

public int nbSeq

nbTable

public int nbTable
Constructor Detail

SimbadDb

public SimbadDb()
Constructor. Creates the connecion to the database. If it does not yet exists, creates it.
The database name is extracted from the 'url' parameter in the main database parameter set (which must be already loaded).

Method Detail

createdb

public void createdb()
Creation des tables et sequences


createIndex

public void createIndex()
Creation des index


addColumn

public void addColumn(java.lang.String tableName,
                      java.lang.String colName,
                      java.lang.String type,
                      java.lang.String required,
                      java.lang.String defaultVal,
                      java.lang.String fkConstraint)
Ajout d'une colonne (= attribut) dans une table (necessite une modification manuelle des fichiers de parametres)
Remarque : la colonne ajoutee ne peut pas etre cle primaire de la table car elle peut valoir null (cf param required)
Pour gerer un attribut cle primaire : (dans versions de postgres qui acceptent "not null")
- supprimer les index de cle primaire sur cette table si existent
- cmde : "Alter table nom_table add constraint nom_contrainte primary key (nom_champ)"

Parameters:
tableName - nom de la table dans laquelle on veut rajouter la colonne
colName - nom de la colonne a rajouter
type - type de donnees de la colonne
required - indique si l'attribut est obligatoire ou non => Pour l'instant : vaut null obligatoirement car not null non gere par la version 7.2 de postgres
defaultVal - valeur par defaut de la colonne
fkConstraint - nom de la contrainte de cle etrangere

deleteAllTables

public void deleteAllTables()
Suppression des elements de toutes les tables (sans supprimer les tables elles-memes)


deleteTable

public void deleteTable(java.lang.String table)
Suppression des elements d'une table

Parameters:
table - nom de la table dont on veut supprimer les elements

dropdb

public void dropdb()
Supression definitive de la base de donnees courante


dropTable

public void dropTable(java.lang.String table)
Suppression definitive d'une table de la base (Modifier manuellement le fichier de parametres et les programmes lies)

Parameters:
table - table a supprimer definitivement

dropSequence

public void dropSequence(java.lang.String seq)
Suppression definitive d'une sequence (Modifier manuellement le fichier de parametres et les programmes lies)

Parameters:
seq - nom de la sequence a supprimer

dropAllIndices

public void dropAllIndices()
Supression de tous les index (sauf ceux crees automatiquement lors de la creation des tables)
(Modifier manuellement le fichier de parametres)


runAnalyze

public void runAnalyze()
Lance la commande "analyze" de postgres
Permet une utilisation optimale des modes de parcours des tables


getSJDBC

public SimbadJDBC getSJDBC()
Methode qui permet d'acceder aux donnees de la base

Returns:
objet SimbadJDBC

closeConnection

public void closeConnection()
Fermeture de la connexion la base de donnees