blob: 4a53dd634b7645ab92e6a979867da953337337ad [file] [log] [blame]
package DB;
abstract class NamedElement {
attr String name;
}
class Database {
val DatabaseElement[*]#database contents;
}
abstract class DatabaseElement extends NamedElement {
ref Database#contents database;
}
class Table extends DatabaseElement {
val Column[*]#table columns;
ref Column[*] primaryKeys;
}
class Column extends DatabaseElement {
ref Table#columns table;
attr String type;
}
class ForeignKey extends DatabaseElement {
ref Column parent;
ref Column child;
}