Apache Derby - Esquemas
Um esquema de banco de dados é a estrutura de esqueleto que representa a visão lógica de todo o banco de dados. Define como os dados são organizados e como as relações entre eles são associadas. Ele formula todas as restrições que devem ser aplicadas aos dados.
Criação de um esquema
Você pode criar um esquema no Apache Derby usando a instrução CREATE SCHEMA.
Sintaxe
A seguir está a sintaxe da instrução CREATE SCHEMA.
CREATE SCHEMA schema_name AUTHORIZATION id
Exemplo
O exemplo a seguir cria um esquema denominado my_schema no banco de dados Derby.
ij> CREATE SCHEMA AUTHORIZATION my_schema;
0 rows inserted/updated/deleted
Em seguida, você pode criar uma tabela neste esquema conforme mostrado abaixo.
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
Você pode verificar a lista de esquemas usando a consulta SHOW SCHEMAS aqui você pode encontrar a lista de esquemas criados.
ij> show schemas;
TABLE_SCHEM
------------------------------
APP
MY_SCHEMA
NULLID
SQLJ
SYS
SYSCAT
SYSCS_DIAG
SYSCS_UTIL
SYSFUN
SYSIBM
SYSPROC
SYSSTAT
12 rows selected
Eliminando um esquema
Você pode eliminar um esquema existente usando a instrução DROP SCHEMA.
Sintaxe
A seguir está a sintaxe da instrução DROPS SCHEMA.
DROP SCHEMA my_schema RESTRICT;
Exemplo
Você pode excluir um esquema apenas se não houver nenhum objeto nele. Para excluir o esquema, exclua todas as tabelas nele e exclua o esquema.
ij> DROP TABLE my_schema.Emp;
0 rows inserted/updated/deleted
O exemplo a seguir elimina o esquema criado acima.
ij> DROP SCHEMA my_schema RESTRICT;
0 rows inserted/updated/deleted
Exemplo JDBC
O exemplo de JDBC a seguir cria e elimina um esquema denominado 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");
}
}
Resultado
Ao ser executado, o programa acima gera o seguinte exemplo.
Table created in schema
Schema dropped