Apache Derby - Schémas
Un schéma de base de données est la structure squelette qui représente la vue logique de l'ensemble de la base de données. Il définit comment les données sont organisées et comment les relations entre elles sont associées. Il formule toutes les contraintes à appliquer aux données.
Créer un schéma
Vous pouvez créer un schéma dans Apache Derby à l'aide de l'instruction CREATE SCHEMA.
Syntaxe
Voici la syntaxe de l'instruction CREATE SCHEMA.
CREATE SCHEMA schema_name AUTHORIZATION id
Exemple
L'exemple suivant crée un schéma nommé my_schema dans la base de données Derby.
ij> CREATE SCHEMA AUTHORIZATION my_schema;
0 rows inserted/updated/deleted
Ensuite, vous pouvez créer une table dans ce schéma comme indiqué ci-dessous.
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
Vous pouvez vérifier la liste des schémas à l'aide de la requête SHOW SCHEMAS. Ici, vous pouvez trouver la liste des schémas créés.
ij> show schemas;
TABLE_SCHEM
------------------------------
APP
MY_SCHEMA
NULLID
SQLJ
SYS
SYSCAT
SYSCS_DIAG
SYSCS_UTIL
SYSFUN
SYSIBM
SYSPROC
SYSSTAT
12 rows selected
Supprimer un schéma
Vous pouvez supprimer un schéma existant à l'aide de l'instruction DROP SCHEMA.
Syntaxe
Voici la syntaxe de l'instruction DROPS SCHEMA.
DROP SCHEMA my_schema RESTRICT;
Exemple
Vous ne pouvez supprimer un schéma que s'il ne contient aucun objet. Pour supprimer le schéma, supprimez toutes les tables qu'il contient et supprimez le schéma.
ij> DROP TABLE my_schema.Emp;
0 rows inserted/updated/deleted
L'exemple suivant supprime le schéma créé ci-dessus.
ij> DROP SCHEMA my_schema RESTRICT;
0 rows inserted/updated/deleted
Exemple JDBC
L'exemple JDBC suivant crée et supprime un schéma nommé 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");
}
}
Production
Lors de l'exécution, le programme ci-dessus génère l'exemple suivant.
Table created in schema
Schema dropped