Apache Derby - Lược đồ

Lược đồ cơ sở dữ liệu là cấu trúc khung đại diện cho chế độ xem logic của toàn bộ cơ sở dữ liệu. Nó xác định cách dữ liệu được tổ chức và mối quan hệ giữa chúng được liên kết như thế nào. Nó hình thành tất cả các ràng buộc được áp dụng cho dữ liệu.

Tạo một lược đồ

Bạn có thể tạo một lược đồ trong Apache Derby bằng cách sử dụng câu lệnh CREATE SCHEMA.

Cú pháp

Sau đây là cú pháp của câu lệnh CREATE SCHEMA.

CREATE SCHEMA schema_name AUTHORIZATION id

Thí dụ

Ví dụ sau tạo một lược đồ có tên my_schema trong cơ sở dữ liệu Derby.

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

Sau đó, bạn có thể tạo một bảng trong lược đồ này như hình dưới đây.

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

Bạn có thể xác minh danh sách các lược đồ bằng truy vấn SHOW SCHEMAS tại đây, bạn có thể tìm thấy danh sách các lược đồ đã tạo.

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

Bỏ giản đồ

Bạn có thể loại bỏ một lược đồ hiện có bằng cách sử dụng câu lệnh DROP SCHEMA.

Cú pháp

Sau đây là cú pháp của câu lệnh DROPS SCHEMA.

DROP SCHEMA my_schema RESTRICT;

Thí dụ

Bạn chỉ có thể xóa một lược đồ nếu không có bất kỳ đối tượng nào trong đó. Để xóa lược đồ, hãy xóa tất cả các bảng trong đó và xóa lược đồ.

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

Ví dụ sau loại bỏ lược đồ đã tạo ở trên.

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

Ví dụ về JDBC

Ví dụ sau JDBC tạo và xóa một lược đồ có tên 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");
   }
}

Đầu ra

Khi thực thi, chương trình trên tạo ra ví dụ sau.

Table created in schema
Schema dropped