Схема базы данных — это каркасная структура, которая представляет логическое представление всей базы данных. Он определяет, как организованы данные и как связаны между собой отношения. Он формулирует все ограничения, которые должны быть применены к данным.
Создание схемы
Вы можете создать схему в 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"); } }
Выход
При выполнении вышеупомянутая программа генерирует следующий пример.