给我Oracle数据库中BSEMPMS这个表的ddl语句,至少包含有EMP_NO/EMP_NAM/DAT_IN/HIREDATE/SAL/DPT_NO这6个字段,且包含主键PK_BSEMPMS,且包含索引SAL_BMI、HIREDATE_BMI,且有模拟数据
时间: 2023-09-20 19:05:52 浏览: 120
在数据库中按照字段名找所在的表的语句
### 回答1:
CREATE TABLE BSEMPMS (
EMP_NO VARCHAR2(20) NOT NULL,
EMP_NAM VARCHAR2(20) NOT NULL,
DAT_IN DATE NOT NULL,
HIREDATE DATE NOT NULL,
SAL NUMBER(8,2) NOT NULL,
DPT_NO VARCHAR2(20) NOT NULL,
PRIMARY KEY (EMP_NO),
INDEX SAL_BMI (SAL),
INDEX HIREDATE_BMI (HIREDATE)
);
INSERT INTO BSEMPMS VALUES ('0001', '张三', TO_DATE('20200101', 'yyyymmdd'), TO_DATE('20210101', 'yyyymmdd'), 10000, 'DPT0001');
INSERT INTO BSEMPMS VALUES ('0002', '李四', TO_DATE('20200101', 'yyyymmdd'), TO_DATE('20210101', 'yyyymmdd'), 20000, 'DPT0002');
INSERT INTO BSEMPMS VALUES ('0003', '王五', TO_DATE('20200101', 'yyyymmdd'), TO_DATE('20210101', 'yyyymmdd'), 30000, 'DPT0003');
### 回答2:
以下是BSEMPMS表的DDL语句:
```sql
CREATE TABLE BSEMPMS (
EMP_NO NUMBER(10),
EMP_NAM VARCHAR2(50),
DAT_IN DATE,
HIREDATE DATE,
SAL NUMBER(10),
DPT_NO NUMBER(10),
CONSTRAINT PK_BSEMPMS PRIMARY KEY (EMP_NO)
);
CREATE INDEX SAL_BMI ON BSEMPMS (SAL);
CREATE INDEX HIREDATE_BMI ON BSEMPMS (HIREDATE);
INSERT INTO BSEMPMS (EMP_NO, EMP_NAM, DAT_IN, HIREDATE, SAL, DPT_NO)
VALUES (1, '张三', '2021-01-01', '2020-12-01', 10000, 1);
INSERT INTO BSEMPMS (EMP_NO, EMP_NAM, DAT_IN, HIREDATE, SAL, DPT_NO)
VALUES (2, '李四', '2021-01-02', '2020-11-01', 15000, 2);
INSERT INTO BSEMPMS (EMP_NO, EMP_NAM, DAT_IN, HIREDATE, SAL, DPT_NO)
VALUES (3, '王五', '2021-01-03', '2020-10-01', 12000, 1);
COMMIT;
```
以上语句创建了一个名为BSEMPMS的表,它包含了6个字段EMP_NO、EMP_NAM、DAT_IN、HIREDATE、SAL、DPT_NO。主键约束PK_BSEMPMS被定义在EMP_NO字段上,同时SAL_BMI和HIREDATE_BMI两个索引分别建立在SAL和HIREDATE字段上。为了演示,我们插入了一些模拟数据。
### 回答3:
以下是满足要求的Oracle数据库表BSEMPMS的DDL语句:
```
CREATE TABLE BSEMPMS (
EMP_NO INT,
EMP_NAM VARCHAR(255),
DAT_IN DATE,
HIREDATE DATE,
SAL NUMBER(10,2),
DPT_NO INT,
CONSTRAINT PK_BSEMPMS PRIMARY KEY (EMP_NO),
CONSTRAINT FK_BSEMPMS_DPTNO FOREIGN KEY (DPT_NO) REFERENCES DEPARTMENT (DPT_NO)
);
CREATE INDEX SAL_BMI ON BSEMPMS (SAL);
CREATE INDEX HIREDATE_BMI ON BSEMPMS (HIREDATE);
INSERT INTO BSEMPMS (EMP_NO, EMP_NAM, DAT_IN, HIREDATE, SAL, DPT_NO) VALUES (1, '张三', SYSDATE, TO_DATE('2022-01-01', 'YYYY-MM-DD'), 5000, 101);
INSERT INTO BSEMPMS (EMP_NO, EMP_NAM, DAT_IN, HIREDATE, SAL, DPT_NO) VALUES (2, '李四', SYSDATE, TO_DATE('2022-03-15', 'YYYY-MM-DD'), 6000, 102);
INSERT INTO BSEMPMS (EMP_NO, EMP_NAM, DAT_IN, HIREDATE, SAL, DPT_NO) VALUES (3, '王五', SYSDATE, TO_DATE('2022-02-10', 'YYYY-MM-DD'), 7000, 101);
```
表BSEMPMS包含6个字段:EMP_NO(员工编号)、EMP_NAM(员工姓名)、DAT_IN(入职日期)、HIREDATE(雇佣日期)、SAL(薪水)、DPT_NO(部门编号)。其中EMP_NO为主键,DPT_NO为外键(参考DEPARTMENT表的DPT_NO字段)。
表BSEMPMS还包含两个索引:SAL_BMI(按薪水进行的B树索引)和HIREDATE_BMI(按雇佣日期进行的B树索引)。
同时,表BSEMPMS还包含以下模拟数据:
| EMP_NO | EMP_NAM | DAT_IN | HIREDATE | SAL | DPT_NO |
| ------ | ------- | --------- | --------- | ------ | ------ |
| 1 | 张三 | 当前日期 | 2022-01-01 | 5000.00 | 101 |
| 2 | 李四 | 当前日期 | 2022-03-15 | 6000.00 | 102 |
| 3 | 王五 | 当前日期 | 2022-02-10 | 7000.00 | 101 |
注意:以上模拟数据中的“当前日期”需要根据实际情况进行替换或使用SYSDATE函数动态获取当前日期。
阅读全文