📄 tutorial.sql
字号:
// Create tables for all Java EE Tutorial examples// Create tables for Web bookstore applicationsCREATE TABLE WEB_BOOKSTORE_BOOKS(bookId VARCHAR(8),surname VARCHAR(24),firstName VARCHAR(24),title VARCHAR(96),price FLOAT,onSale SMALLINT,calendar_year INT,description VARCHAR(30),inventory INT);INSERT INTO WEB_BOOKSTORE_BOOKS VALUES('201', 'Duke', '', 'My Early Years: Growing up on *7', 30.75, 0, 1995, 'What a cool book.', 20);INSERT INTO WEB_BOOKSTORE_BOOKS VALUES('202', 'Jeeves', '', 'Web Servers for Fun and Profit', 40.75, 1, 2000, 'What a cool book.', 20);INSERT INTO WEB_BOOKSTORE_BOOKS VALUES('203', 'Masterson', 'Webster', 'Web Components for Web Developers', 27.75, 0, 2000, 'What a cool book.', 20);INSERT INTO WEB_BOOKSTORE_BOOKS VALUES('205', 'Novation', 'Kevin', 'From Oak to Java: The Revolution of a Language', 10.75, 1, 1998, 'What a cool book.', 20);INSERT INTO WEB_BOOKSTORE_BOOKS VALUES('206', 'Gosling', 'James', 'Java Intermediate Bytecodes', 30.95, 1, 2000, 'What a cool book.', 20);INSERT INTO WEB_BOOKSTORE_BOOKS VALUES('207', 'Thrilled', 'Ben', 'The Green Project: Programming for Consumer Devices', 30.00, 1, 1998, 'What a cool book', 20);INSERT INTO WEB_BOOKSTORE_BOOKS VALUES('208', 'Tru', 'Itzal', 'Duke: A Biography of the Java Evangelist', 45.00, 0, 2001, 'What a cool book.', 20);// Create tables for Order application (examples/ejb/order) // Self-reference to identify Bill of Material (BOM)// Compound PK CREATE TABLE EJB_ORDER_PART ( PARTNUMBER VARCHAR(15) NOT NULL, REVISION NUMERIC(2) NOT NULL, DESCRIPTION VARCHAR(255), REVISIONDATE TIMESTAMP NOT NULL, BOMPARTNUMBER VARCHAR(15), BOMREVISION NUMERIC(2) , PRIMARY KEY (PARTNUMBER, REVISION));ALTER TABLE EJB_ORDER_PART add CONSTRAINT FK_1 FOREIGN KEY (BOMPARTNUMBER, BOMREVISION) REFERENCES EJB_ORDER_PART (PARTNUMBER, REVISION);// Bean will be mapped to 2 tables (PART and PART_DETAIL)// BLOB column type// CLOB column type CREATE TABLE EJB_ORDER_PART_DETAIL ( PARTNUMBER VARCHAR(15) NOT NULL, REVISION NUMERIC(2) NOT NULL, SPECIFICATION CLOB(10K), DRAWING BLOB(10K), PRIMARY KEY (PARTNUMBER, REVISION));// PK can be mapped to a primitive PK field typeCREATE TABLE EJB_ORDER_VENDOR ( VENDORID INTEGER PRIMARY KEY, VENDORNAME VARCHAR(30) NOT NULL, ADDRESS VARCHAR(255) NOT NULL, CONTACT VARCHAR(255) NOT NULL, PHONE VARCHAR(30) NOT NULL);// Can be used for unknown PK // 1-1 map to PART// Compound FK CREATE TABLE EJB_ORDER_VENDOR_PART ( VENDORPARTNUMBER BIGINT PRIMARY KEY, DESCRIPTION VARCHAR(255), PRICE DOUBLE PRECISION NOT NULL, VENDORID INTEGER NOT NULL, PARTNUMBER VARCHAR(15) NOT NULL, PARTREVISION NUMERIC(2) NOT NULL, CONSTRAINT FK_2 FOREIGN KEY (VENDORID) REFERENCES EJB_ORDER_VENDOR (VENDORID), CONSTRAINT FK_3 FOREIGN KEY (PARTNUMBER, PARTREVISION) REFERENCES EJB_ORDER_PART (PARTNUMBER, REVISION), UNIQUE (PARTNUMBER, PARTREVISION));CREATE TABLE EJB_ORDER_SEQUENCE_GENERATOR ( GEN_KEY VARCHAR(255), GEN_VALUE NUMERIC(20));CREATE TABLE EJB_ORDER_ORDER ( ORDERID INTEGER PRIMARY KEY, STATUS CHAR(1) NOT NULL, LASTUPDATE TIMESTAMP NOT NULL, DISCOUNT NUMERIC(2) NOT NULL, SHIPMENTINFO VARCHAR(255) );// Overlapping PK-FK // Uni-directional to EJB_ORDER_VENDOR_PART CREATE TABLE EJB_ORDER_LINEITEM ( ORDERID INTEGER NOT NULL, ITEMID NUMERIC(3) NOT NULL, QUANTITY NUMERIC(3) NOT NULL, VENDORPARTNUMBER BIGINT NOT NULL, CONSTRAINT FK_4 FOREIGN KEY (ORDERID) REFERENCES EJB_ORDER_ORDER (ORDERID), CONSTRAINT FK_5 FOREIGN KEY (VENDORPARTNUMBER) REFERENCES EJB_ORDER_VENDOR_PART (VENDORPARTNUMBER), PRIMARY KEY (ORDERID, ITEMID));// Create tables for online banking application (Duke's Bank)CREATE TABLE BANK_SEQUENCE_GENERATOR ( GEN_KEY VARCHAR(255), GEN_VALUE NUMERIC(20));CREATE TABLE BANK_ACCOUNT ( ACCOUNT_ID NUMERIC(20) CONSTRAINT PK_ACCOUNT PRIMARY KEY, TYPE VARCHAR(24), DESCRIPTION VARCHAR(30), BALANCE NUMERIC(10,2), CREDIT_LINE NUMERIC(10,2), BEGIN_BALANCE NUMERIC(10,2), BEGIN_BALANCE_TIME_STAMP TIMESTAMP);CREATE TABLE BANK_CUSTOMER ( CUSTOMER_ID NUMERIC(20) CONSTRAINT PK_CUSTOMER PRIMARY KEY, LAST_NAME VARCHAR(30), FIRST_NAME VARCHAR(30), MIDDLE_INITIAL VARCHAR(1), STREET VARCHAR(40), CITY VARCHAR(40), STATE VARCHAR(2), ZIP VARCHAR(5), PHONE VARCHAR(16), EMAIL VARCHAR(30));CREATE TABLE BANK_TX ( TX_ID NUMERIC(20) CONSTRAINT PK_TX PRIMARY KEY, ACCOUNT_ID NUMERIC(20), TIME_STAMP TIMESTAMP, AMOUNT NUMERIC(10,2), BALANCE NUMERIC(10,2), DESCRIPTION VARCHAR(30), CONSTRAINT FK_TX_ACCOUNT_ID FOREIGN KEY (ACCOUNT_ID) REFERENCES BANK_ACCOUNT(ACCOUNT_ID));CREATE TABLE BANK_CUSTOMER_ACCOUNT_XREF ( CUSTOMER_ID NUMERIC(20), ACCOUNT_ID NUMERIC(20), CONSTRAINT FK_BANK_CUSTOMER_ID FOREIGN KEY (CUSTOMER_ID) REFERENCES BANK_CUSTOMER(CUSTOMER_ID), CONSTRAINT FK_BANK_ACCOUNT_ID FOREIGN KEY (ACCOUNT_ID) REFERENCES BANK_ACCOUNT(ACCOUNT_ID));// FOR PERSISTENCE ORDER EXAMPLEINSERT INTO EJB_ORDER_SEQUENCE_GENERATOR VALUES ('VENDOR_PART_ID',1);// Duke's bankINSERT INTO BANK_SEQUENCE_GENERATOR VALUES ('CUSTOMER_ID',203);INSERT INTO BANK_SEQUENCE_GENERATOR VALUES ('ACCOUNT_ID',5050);INSERT INTO BANK_SEQUENCE_GENERATOR VALUES ('TX_ID',100);INSERT INTO BANK_ACCOUNT VALUES(5005, 'Money Market', 'Hi Balance', 4000.00, 0.00, 3500.00, '2005-07-28 23:03:20'); INSERT INTO BANK_ACCOUNT VALUES(5006, 'Checking', 'Checking', 85.00, 0.00, 66.54, '2005-07-21 03:12:00');INSERT INTO BANK_ACCOUNT VALUES(5007, 'Credit', 'Visa', 599.18, 5000.00, 166.08, '2005-07-23 10:13:54');INSERT INTO BANK_ACCOUNT VALUES(5008, 'Savings', 'Super Interest Account', 55601.35, 0.00, 5433.89, '2005-07-15 12:55:33');INSERT INTO BANK_CUSTOMER VALUES(200, 'Jones', 'Richard', 'K', '88 Poplar Ave.', 'Cupertino', 'CA', '95014', '408-123-4567', 'rhill@j2ee.com');INSERT INTO BANK_CUSTOMER VALUES(201, 'Jones', 'Mary', 'R', '88 Poplar Ave.', 'Cupertino', 'CA', '95014', '408-123-4567', 'mhill@j2ee.com');INSERT INTO BANK_CUSTOMER_ACCOUNT_XREF VALUES(200, 5005);INSERT INTO BANK_CUSTOMER_ACCOUNT_XREF VALUES(201, 5005);INSERT INTO BANK_CUSTOMER_ACCOUNT_XREF VALUES(200, 5006);INSERT INTO BANK_CUSTOMER_ACCOUNT_XREF VALUES(200, 5007);INSERT INTO BANK_CUSTOMER_ACCOUNT_XREF VALUES(201, 5006);INSERT INTO BANK_CUSTOMER_ACCOUNT_XREF VALUES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -