Apache Derby - схемы

Схема базы данных - это скелетная структура, представляющая логическое представление всей базы данных. Он определяет, как организованы данные и как связаны отношения между ними. Он формулирует все ограничения, которые должны применяться к данным.

Создание схемы

Вы можете создать схему в Apache Derby с помощью оператора CREATE SCHEMA.

Синтаксис

Ниже приводится синтаксис оператора CREATE SCHEMA.

CREATE SCHEMA schema_name AUTHORIZATION id

пример

В следующем примере создается схема с именем my_schema в базе данных Derby.

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

Затем вы можете создать таблицу в этой схеме, как показано ниже.

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

Вы можете проверить список схем с помощью запроса SHOW SCHEMAS, здесь вы можете найти список созданных схем.

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

Удаление схемы

Вы можете удалить существующую схему с помощью оператора DROP SCHEMA.

Синтаксис

Ниже приводится синтаксис оператора DROPS SCHEMA.

DROP SCHEMA my_schema RESTRICT;

пример

Вы можете удалить схему, только если в ней нет никаких объектов. Чтобы удалить схему, удалите все таблицы в ней и удалите схему.

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

В следующем примере удаляется созданная выше схема.

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

Пример JDBC

В следующем примере JDBC создает и удаляет схему с именем my_schema.

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");
   }
}

Выход

При выполнении вышеуказанная программа генерирует следующий пример.

Table created in schema
Schema dropped