Apache Derby - Schemata

Ein Datenbankschema ist die Grundstruktur, die die logische Ansicht der gesamten Datenbank darstellt. Es definiert, wie die Daten organisiert sind und wie die Beziehungen zwischen ihnen verknüpft sind. Es formuliert alle Einschränkungen, die auf die Daten angewendet werden sollen.

Schema erstellen

Sie können ein Schema in Apache Derby mit der Anweisung CREATE SCHEMA erstellen.

Syntax

Es folgt die Syntax der Anweisung CREATE SCHEMA.

CREATE SCHEMA schema_name AUTHORIZATION id

Beispiel

Das folgende Beispiel erstellt ein Schema mit dem Namen my_schema in der Derby-Datenbank.

ij> CREATE SCHEMA AUTHORIZATION my_schema;
0 rows inserted/updated/deleted

Anschließend können Sie in diesem Schema eine Tabelle erstellen, wie unten gezeigt.

ij> CREATE TABLE my_schema.Emp ( Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
   Name VARCHAR(255),
   Salary INT NOT NULL,
   Location VARCHAR(255),
   Phone_Number BIGINT
);
> > > > > 0 rows inserted/updated/deleted

Sie können die Liste der Schemas mit der Abfrage SHOW SCHEMAS überprüfen. Hier finden Sie die Liste der erstellten Schemas.

ij> show schemas;
TABLE_SCHEM
------------------------------
APP
MY_SCHEMA
NULLID
SQLJ
SYS
SYSCAT
SYSCS_DIAG
SYSCS_UTIL
SYSFUN
SYSIBM
SYSPROC
SYSSTAT
12 rows selected

Ein Schema löschen

Sie können ein vorhandenes Schema mit der Anweisung DROP SCHEMA löschen.

Syntax

Es folgt die Syntax der DROPS SCHEMA-Anweisung.

DROP SCHEMA my_schema RESTRICT;

Beispiel

Sie können ein Schema nur löschen, wenn es keine Objekte enthält. Um das Schema zu löschen, löschen Sie alle darin enthaltenen Tabellen und löschen Sie das Schema.

ij> DROP TABLE my_schema.Emp;
0 rows inserted/updated/deleted

Das folgende Beispiel löscht das oben erstellte Schema.

ij> DROP SCHEMA my_schema RESTRICT;
0 rows inserted/updated/deleted

JDBC-Beispiel

Im folgenden JDBC-Beispiel wird ein Schema mit dem Namen my_schema erstellt und gelöscht.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateSchemaExample {
   public static void main(String args[]) throws Exception {
      //Registering the driver
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
      //Getting the Connection object
      String URL = "jdbc:derby:sampleDB;create=true";
      Connection conn = DriverManager.getConnection(URL);

      //Creating the Statement object
      Statement stmt = conn.createStatement();

      stmt.execute("CREATE SCHEMA AUTHORIZATION my_schema");
      //Executing the query
      String query = "CREATE TABLE my_schema.Employees( "
         + "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
         + "Name VARCHAR(255), "
         + "Salary INT NOT NULL, "
         + "Location VARCHAR(255), "
         + "PRIMARY KEY (Id))";
      stmt.execute(query);
      System.out.println("Table created in schema");
      stmt.execute("DROP TABLE my_schema.Employees");
      stmt.execute("DROP SCHEMA my_schema RESTRICT");
      System.out.println("Schema dropped");
   }
}

Ausgabe

Bei der Ausführung generiert das obige Programm das folgende Beispiel.

Table created in schema
Schema dropped