All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class relaaja.database.Schema

java.lang.Object
   |
   +----java.util.Observable
           |
           +----relaaja.database.DatabaseObservable
                   |
                   +----relaaja.database.Schema

public class Schema
extends DatabaseObservable
implements DataDefinition, Serializable, Exportable
Kaavion sisältöluokka.

Schema hoitaa tietokannan rakenteen muokkaukset. Tiedot rakenteessa tapahtuvista muutoksista se saa DataDefinition-rajapintaa käyttäen relaajan tapauksessa SQL-jäsentäjältä. Jäsentäjän sijaan tiedot voisivat tulla esim. DataDefinition-rajapinnan tuntevalta oliolta, joka lukee tiedot suoraan tietokannasta.

Schema sisältää metodit tietokannan rakenteen tutkimista varten. Luokka sisältää myös metodit tietokannan kuvaamiseksi SQL-kannanmäärityslauseilla sekä tiedostonimen käyttämiseksi.

Observer rajapinnan toteuttava olio voi kuunnella muutoksia Schemassa.

Author:
Petri Pusa

Variable Index

 o constraintReader
Olio tietokannassa olevien rajoitteiden tutkimiseen.
 o constraintVector
Tietokannassa olevat rajoitteet.
 o domainReader
Olio arvojoukkojen tutkimiseen.
 o domainVector
Tietokannassa olevat arvojoukot.
 o tableReader
Olio tietokannassa olevien taulujen tutkimiseen.
 o tableVector
Tietokannassa olevat taulut.

Constructor Index

 o Schema()
Kaavion konstruktori.

Method Index

 o addColumn(String, String, DDDataType, DDConstraintParameter)
 o addColumn(Table, Column)
Lisää sarakkeen tauluun.
 o addConstraint(String, DDConstraintParameter)
 o addDomain(String, DDDataType, DDConstraintParameter)
 o addDomainConstraint(Domain, DDConstraintParameter)
Lisää arvojoukkorajoitteen.
 o addDomainConstraint(String, DDConstraintParameter)
 o addKeyConstraint(Table, DDConstraintParameter)
Lisää avainrajoitteen taululle.
 o addNotNullConstraint(Table, DDNotNullParameter)
Lisää NOT NULL rajoitteen sarakkeeseen
 o addReferenceConstraint(Table, DDReferenceParameter)
Lisää viiteyhteyden kaavioon
 o addTable(String, DDTableParameter)
 o addUnknownConstraint(Table, DDConstraintParameter)
Lisää tuntemattoman rajoitteen
 o exportSQL(OutputStream)
Tallentaa SQL-lauseet, joilla tietokanta voidaan luoda.
 o exportSQL(String)
Tallentaa nimettyyn tiedostoon SQL-lauseet, joilla tietokanta voidaan luoda.
 o exportVector(OutputStream, VectorReader, Object, String)
Tallentaa SQL-lauseet VectorReaderin sisältämistä olioista.
 o getConstraint(String)
Palauttaa rajoitteen nimen perusteella
 o getConstraints()
Palauttaa VectorReader:in kaavion rajoitteisiin.
 o getDomain(String)
Palauttaa arvojoukon
 o getDomains()
Palauttaa VectorReader:in kaavion arvojoukkoihin.
 o getNotNullConstraint(String, DDNotNullParameter)
Palauttaa not null rajoitteen
 o getPrimaryKeyConstraint(String, DDPrimaryKeyParameter)
Palauttaa pääavainrajoitteen
 o getReferenceConstraint(String, DDReferenceParameter)
Palauttaa viiterajoitteen
 o getTable(String)
Palauttaa taulun nimen perusteella.
 o getTables()
Palauttaa VectorReader:in kaavion tauluihin.
 o getUniqueKeyConstraint(String, DDUniqueKeyParameter)
Palauttaa UNIQUE avain rajoitteen.
 o modifyColumn(String, String, DDDataType, DDConstraintParameter, int)
 o modifyDomain(String, DDDataType, DDConstraintParameter, int)
 o removeColumn(String, String)
 o removeColumn(Table, Column)
Poistaa sarakkeen taulusta.
 o removeConstraint(Constraint)
Poistaa rajoitteen kaaviosta.
 o removeConstraint(String)
 o removeConstraint(String, DDConstraintParameter)
 o removeConstraintVector(VectorReader)
Kutsuu VectorReaderin sisältämien rajoitteiden poisto-metodia.
 o removeDomain(Domain)
 o removeDomain(String)
 o removeFromConstraintList(Constraint)
 o removeTable(String)
 o removeTable(Table)
Poistaa taulun kaaviosta.
 o renameTable(String, String)

Variables

 o constraintVector
 private Vector constraintVector
Tietokannassa olevat rajoitteet.

 o constraintReader
 private VectorReader constraintReader
Olio tietokannassa olevien rajoitteiden tutkimiseen.

 o domainVector
 private Vector domainVector
Tietokannassa olevat arvojoukot.

 o domainReader
 private VectorReader domainReader
Olio arvojoukkojen tutkimiseen.

 o tableVector
 private Vector tableVector
Tietokannassa olevat taulut.

 o tableReader
 private VectorReader tableReader
Olio tietokannassa olevien taulujen tutkimiseen.

Constructors

 o Schema
 public Schema()
Kaavion konstruktori.

Methods

 o addColumn
 public void addColumn(String tableName,
                       String columnName,
                       DDDataType columnType,
                       DDConstraintParameter constraint) throws ObjectDoesntExistException, InvalidObjectException, InvalidNameException, NameAlreadyExistsException
 o addColumn
 public void addColumn(Table table,
                       Column column) throws ObjectDoesntExistException, InvalidObjectException, InvalidNameException, NameAlreadyExistsException
Lisää sarakkeen tauluun.

Parameters:
table - taulu, johon lisätään
column - lisättävä sarake
Throws: ObjectDoesntExistException
jos taulua tai saraketta ei ole olemassa
Throws: InvalidObjectException
jos column tai constraint on vääränlainen.
Throws: InvalidNameException
jos columnName ei ole sallittu nimenä.
Throws: NameAlreadyExistsException
jos taululla on jo samanniminen sarake
 o addConstraint
 public void addConstraint(String tableName,
                           DDConstraintParameter parameter) throws NameAlreadyExistsException, InvalidObjectException
 o addDomain
 public void addDomain(String name,
                       DDDataType baseType,
                       DDConstraintParameter constraint) throws NameAlreadyExistsException, InvalidObjectException
 o addDomainConstraint
 public void addDomainConstraint(String domainName,
                                 DDConstraintParameter constraint) throws NameAlreadyExistsException, InvalidObjectException, ObjectDoesntExistException
 o addDomainConstraint
 DomainConstraint addDomainConstraint(Domain domain,
                                      DDConstraintParameter parameter) throws InvalidObjectException
Lisää arvojoukkorajoitteen.

Parameters:
domain - arvojoukko, johon rajoite lisätään.
parameter - rajoitteen tiedot
Returns:
lisätty rajoite
Throws: InvalidObjectException
jos lisääminen ei onnistu
 o addKeyConstraint
 private KeyConstraint addKeyConstraint(Table table,
                                        DDConstraintParameter parameter) throws InvalidObjectException
Lisää avainrajoitteen taululle.

Parameters:
tableName - taulu, johon rajoite lisätään.
constraint - avain rajoite
Throws: InvalidObjectException
jos parameter ei ole kelvollinen tai taulua ei ole olemassa.
 o addNotNullConstraint
 private NotNullConstraint addNotNullConstraint(Table table,
                                                DDNotNullParameter parameter) throws ObjectDoesntExistException, InvalidObjectException
Lisää NOT NULL rajoitteen sarakkeeseen

Parameters:
table - taulu, johon rajoite lisätään
parameter - rajoitteen tiedot
Throws: ObjectDoesntExistException
jos taulua tai saraketta ei ole olemassa
Throws: InvalidObjectException
jos joku tieto oli vääränlainen
 o addReferenceConstraint
 private ReferenceConstraint addReferenceConstraint(Table table,
                                                    DDReferenceParameter parameter) throws InvalidObjectException, ObjectDoesntExistException
Lisää viiteyhteyden kaavioon

Parameters:
table - taulu, josta yhteys lähtee.
parameter - yhteyteen liittyvät parametrit.
Throws: InvalidObjectException
jos taulu tai parametri ei kelpaa.
Throws: ObjectDoesntExistException
jos viitettä yritetään tehdä tauluun tai sarakkeeseen, jota ei ole olemassa.
 o addTable
 public void addTable(String tableName,
                      DDTableParameter parameter) throws NameAlreadyExistsException, InvalidNameException
 o addUnknownConstraint
 TableConstraint addUnknownConstraint(Table table,
                                      DDConstraintParameter parameter) throws InvalidObjectException
Lisää tuntemattoman rajoitteen

Parameters:
table - taulu, johon rajoite liittyy
parameter - rajoitteen tiedot
Throws: InvalidObjectException
jos rajoitteen lisäys epäonnistuu
 o exportSQL
 public void exportSQL(String filename) throws IOException
Tallentaa nimettyyn tiedostoon SQL-lauseet, joilla tietokanta voidaan luoda.

Parameters:
filename - tiedosto, jonne SQL-lauseet tallennetaan.
Throws: IOException
jos tallentaminen epäonnistui
 o exportSQL
 public void exportSQL(OutputStream stream) throws IOException
Tallentaa SQL-lauseet, joilla tietokanta voidaan luoda.

Parameters:
stream - virta, jonne SQL-lauseet tallennetaan
Throws: IOException
jos tallentaminen epäonnistui
 o exportVector
 void exportVector(OutputStream stream,
                   VectorReader reader,
                   Object exporter,
                   String separator) throws IOException
Tallentaa SQL-lauseet VectorReaderin sisältämistä olioista. Rajoitteista tallennetaan vain ne, jotka liittyvät suoraan metodin kutsuneeseen olioon.

Parameters:
stream - virta, jonne lauseet tallennetaan
reader - tallennettavat oliot
exporter - olio, jonka exportSQL() metodia ollaan suorittamassa eli yleensä this
Throws: IOException
jos tallentaminen epäonnistui
 o getConstraint
 public Constraint getConstraint(String name) throws ObjectDoesntExistException
Palauttaa rajoitteen nimen perusteella

Parameters:
name - rajoitteen nimi
Returns:
rajoite
Throws: ObjectDoesntExistException
jos rajoitetta ei löytynyt
 o getConstraints
 public VectorReader getConstraints()
Palauttaa VectorReader:in kaavion rajoitteisiin. VectorReaderin alkiot ovat tyyppiä Constraint.

Returns:
kaavion rajoitteet
See Also:
Constraint
 o getDomains
 public VectorReader getDomains()
Palauttaa VectorReader:in kaavion arvojoukkoihin. VectorReaderin alkiot ovat tyyppiä Domain.

Returns:
kaavion arvojoukot
See Also:
Domain
 o getNotNullConstraint
 private NotNullConstraint getNotNullConstraint(String tableName,
                                                DDNotNullParameter parameter) throws InvalidObjectException, ObjectDoesntExistException
Palauttaa not null rajoitteen

Parameters:
tableName - taulu, johon rajoite kuuluu
parameter - rajoitteeseen liittyvät tiedot
Returns:
not null rajoite
 o getPrimaryKeyConstraint
 private KeyConstraint getPrimaryKeyConstraint(String tableName,
                                               DDPrimaryKeyParameter parameter) throws InvalidObjectException, ObjectDoesntExistException
Palauttaa pääavainrajoitteen

Parameters:
tableName - taulu, johon rajoite kuuluu
parameter - rajoitteeseen liittyvät tiedot
Returns:
pääavainrajoite
 o getDomain
 public Domain getDomain(String domainName) throws ObjectDoesntExistException
Palauttaa arvojoukon

Parameters:
domainName - arvojoukon nimi
Throws: ObjectDoesntExistException
jos halutunnimistä arvojoukkoa ei ole olemassa
 o getReferenceConstraint
 private ReferenceConstraint getReferenceConstraint(String tableName,
                                                    DDReferenceParameter parameter) throws InvalidObjectException, ObjectDoesntExistException
Palauttaa viiterajoitteen

Parameters:
tableName - taulu, johon rajoite kuuluu
parameter - rajoitteeseen liittyvät tiedot
Returns:
viiterajoite
 o getTable
 public Table getTable(String name) throws ObjectDoesntExistException
Palauttaa taulun nimen perusteella.

Parameters:
name - taulun nimi
Returns:
taulu
Throws: ObjectDoesntExistException
jos taulua ei ole olemassa
 o getTables
 public VectorReader getTables()
Palauttaa VectorReader:in kaavion tauluihin. VectorReaderin alkiot ovat tyyppiä Table.

Returns:
kaavion taulut
See Also:
Table
 o getUniqueKeyConstraint
 private KeyConstraint getUniqueKeyConstraint(String tableName,
                                              DDUniqueKeyParameter parameter) throws ObjectDoesntExistException
Palauttaa UNIQUE avain rajoitteen. Oikea rajoite on:

 o modifyColumn
 public void modifyColumn(String tableName,
                          String columnName,
                          DDDataType dataType,
                          DDConstraintParameter constraint,
                          int modification) throws DatabaseException
 o modifyDomain
 public void modifyDomain(String domainName,
                          DDDataType baseType,
                          DDConstraintParameter constraint,
                          int modification) throws DatabaseException
 o removeColumn
 public void removeColumn(String tableName,
                          String columnName) throws ObjectDoesntExistException, InvalidObjectException
 o removeColumn
 public void removeColumn(Table table,
                          Column column) throws ObjectDoesntExistException, InvalidObjectException
Poistaa sarakkeen taulusta.

Parameters:
table - taulu, josta sarake poistetaan
column - poistettava sarake
Throws: ObjectDoesntExistException
jos taulua tai saraketta ei ole olemassa
Throws: InvalidObjectException
jos parameterit ovat muuten virheellisiä
 o removeConstraint
 public void removeConstraint(Constraint constraint) throws DatabaseException
Poistaa rajoitteen kaaviosta.

Parameters:
constraint - poistettava rajoite
Throws: DatabaseException
jos saraketta ei voida poistaa
 o removeConstraint
 public void removeConstraint(String constraintName) throws DatabaseException
 o removeConstraint
 public void removeConstraint(String tableName,
                              DDConstraintParameter constraint) throws InvalidObjectException, ObjectDoesntExistException
 o removeConstraintVector
 void removeConstraintVector(VectorReader reader) throws DatabaseException
Kutsuu VectorReaderin sisältämien rajoitteiden poisto-metodia.

Parameters:
reader - rajoiteet
Throws: DatabaseException
jos rajoitteiden poistaminen ei onnistunut
 o removeDomain
 public void removeDomain(Domain domain) throws DatabaseException
 o removeDomain
 public void removeDomain(String name) throws DatabaseException
 o removeFromConstraintList
 void removeFromConstraintList(Constraint constraint)
 o removeTable
 public void removeTable(Table table) throws ObjectDoesntExistException, InvalidObjectException
Poistaa taulun kaaviosta.

Parameters:
table - poistettava taulu
Throws: ObjectDoesntExistException
jos taulua ei ole olemassa
Throws: InvalidObjectException
jos taulu on muuten vääränlainen
 o removeTable
 public void removeTable(String name) throws ObjectDoesntExistException, InvalidObjectException
 o renameTable
 public void renameTable(String oldName,
                         String newName) throws ObjectDoesntExistException, NameAlreadyExistsException, InvalidNameException

All Packages  Class Hierarchy  This Package  Previous  Next  Index