创建human用户登录数据库创建表

根据人力资源管理系统中表的设计,创建human用户登录数据库创建
准备阶段
把运行脚本复制到D:\app\Administrator\product\11.2.0\dbhome_1\demo\schema\human_resources\下。

Sl0KTuE.png
ydgRGX7.png
sSFWhIR.png

运行脚本@D:\app\Administrator\product\11.2.0\dbhome_1\demo\schema\human_resources\hr_main.sql。我先前已经创建过hr,所以用户名为hr01.

LmKgLOU.png

验证用户是否创建成功

GEAraLP.png

创建human用户,create user human identified by human;
其中by后面的是密码,随便写。

O0ISinq.png

修改human密码

E0uzHhu.png

解锁并登陆human

0MKv1yn.png

会发现连接失败,这是因为缺会话(session)权限

EXGsOBR.png

用sys用户授予用户权限

edsILVV.png

导入数据时会发现访问其他用户表权限不足,需要sysdba授权。

Uw5VfME.png

但是发现对表空间权限不足,仍需要sysdba授权。

685d9iy.png

实验阶段
1、 创建REGIONS表

6nVVvOH.png

2、 创建COUNTRIES表

kjHMOMp.png

3、 创建lOCATIONS表

a1nxOLm.png

4、 创建DEPARTMENTS表

UeC6lxY.png

5、 创建JOBS表

CUtTaO9.png

6、 创建EMPLOYEES表

mocViCe.png

7、 创建JOB_HISTROY表

PBZUKdv.png

8、 创建SAL_GRADES表

5NhhnsR.png

9、 创建UERS表

wcjdXEE.png

10、 使用子查询创建一个表,保存工资高于1500元的员工的员工号、员工姓名和部门号。

8kgKg9f.png

11、 使用子查询创建一个包含员工号、员工email、员工工资及部门号信息的,其中员工号为主键、email唯一。

aoEqusk.png

12、 查询当前用户拥有的所有表的信息。

xek7hpm.png

13、查询employees表中所有约束的名称和类型。

U3oRkyt.png

创建表语句
CREATE TABLE regions(
region_id NUMBER PRIMARY KEY NOT NULL,
region_name VARCHAR2(25));

CREATE TABLE countries(
country_id CHAR(2) PRIMARY KEY NOT NULL,
country_name VARCHAR2(40),
region_id NUMBER REFERENCES regions(region_id));

CREATE TABLE locations(
location_id NUMBER(4) PRIMARY KEY NOT NULL,
street_address VARCHAR2(40),
postal_code VARCHAR2(12),
city VARCHAR2(30) NOT NULL,
state_province VARCHAR2(25),
country_id CHAR(2) REFERENCES countries(country_id));

CREATE TABLE departments(
department_id NUMBER(4) PRIMARY KEY NOT NULL,
department_name VARCHAR2(30) NOT NULL,
manager_id NUMBER(6),
location_id NUMBER(4) REFERENCES locations(location_id));

CREATE TABLE jobs(
job_id VARCHAR2(10) PRIMARY KEY NOT NULL,
job_title VARCHAR2(35) NOT NULL,
min_salary NUMBER(6),
max_salary NUMBER(6));

CREATE TABLE employees(
employee_id NUMBER(6) PRIMARY KEY NOT NULL,
first_name VARCHAR2(20),
last_name VARCHAR2(25) NOT NULL,
email VARCHAR2(25) NOT NULL,
phone_number VARCHAR2(20),
hire_date DATE NOT NULL,
job_id VARCHAR2(10) NOT NULL REFERENCES jobs (job_id),
salary NUMBER(8,2) CHECK (salary > 0),
commission_pct NUMBER(2,2),
manager_id NUMBER(6),
department_id NUMBER(4) REFERENCES departments(department_id));


CREATE TABLE job_history(
employee_id NUMBER(6) NOT NULL
REFERENCES employees(employee_id),
start_date DATE NOT NULL,
end_date DATE NOT NULL,
job_id VARCHAR2(10) NOT NULL
REFERENCES jobs(job_id),
department_id NUMBER(4) REFERENCES
departments(department_id),
CONSTRAINT jhist_date_interval
CHECK (end_date>start_date),
CONSTRAINT jhist_emp_id_st_date_pk
PRIMARY KEY (employee_id, start_date));

CREATE TABLE sal_grades(
grade NUMBER PRIMARY KEY,
min_salary NUMBER(8,2),
max_salary NUMBER(8,2));

CREATE TABLE users(
user_id NUMBER(2)PRIMARY KEY,
user_name CHAR(20),
password VARCHAR2(20) NOT NULL);

转载于:https://www.cnblogs.com/zhangyazhou/p/9805992.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值