### Oracle 创建用户与数据库表详解 #### 创建用户 在Oracle数据库管理系统中,创建用户是一项基本且重要的管理任务。用户账号是数据库安全体系的基础,通过它能够控制不同人员对数据库资源的访问权限。以下是对给定内容中涉及到的创建用户的详细解析。 ### 创建用户语法解析 1. **CREATE USER**:这是创建新用户的命令。 - `CREATE USER "HYY_XG1"`:这里指定了将要创建的新用户名为`HYY_XG1`。在Oracle中,用户名需要使用双引号括起来(如果包含了特殊字符或者需要使用保留字作为用户名)。 2. **设置密码**: - `IDENTIFIED BY "123"`:这行代码定义了用户的登录密码为`123`。 3. **指定表空间**: - `DEFAULT TABLESPACE "USERS"`:这行指令指定了该用户默认的永久表空间为`USERS`。这意味着当用户创建新的表时,如果没有特别指定表空间,则新表将会被存放在这个默认表空间中。 - `TEMPORARY TABLESPACE "TEMP"`:这行指令设置了临时表空间为`TEMP`。临时表空间用于存储排序操作、索引创建等临时数据。 4. **账户解锁**: - `ACCOUNT UNLOCK`:这行指令表示创建的用户账号是立即可用的,无需额外的操作即可登录数据库。 5. **授予角色**: - `GRANT "CONNECT" TO "HYY_XG1"`:这行指令向用户`HYY_XG1`授予了`CONNECT`角色。`CONNECT`角色允许用户连接到数据库并执行基本的操作。 - `GRANT "DBA" TO "HYY_XG1"`:这行指令进一步授予了`DBA`角色。`DBA`角色是Oracle中的超级管理员角色,拥有所有权限,包括创建和管理其他用户以及数据库对象的能力。 #### 创建数据库表 在创建完用户后,接下来可以通过该用户来创建数据库表。以下是创建数据库表的SQL命令示例: 1. **创建部门表**: - `CREATE TABLE "HYY_XG1"."DEPARTMENTS" (...)`: 这里创建了一个名为`DEPARTMENTS`的表,属于用户`HYY_XG1`。 - `"DEPARTMENTID"`: 部门编号字段,类型为`CHAR(3)`,不允许为空,并设置为主键。 - `"DEPARTMENTNAME"`: 部门名称字段,类型为`CHAR(20)`,不允许为空。 - `"NOTE"`: 备注字段,类型为`CHAR(16)`,允许为空。 - `PRIMARY KEY ("DEPARTMENTID")`: 设置`DEPARTMENTID`为主键。 2. **创建员工表**: - `CREATE TABLE "HYY_XG1"."EMPLOYEES" (...)`: 创建了一个名为`EMPLOYEES`的表。 - `"EMPLOYEEID"`: 员工编号字段,类型为`CHAR(6)`,不允许为空,并设置为主键。 - `"NAME"`: 姓名字段,类型为`CHAR(10)`,不允许为空。 - `"BIRTHDAY"`: 出生日期字段,类型为`DATE`,不允许为空。 - `"SEX"`: 性别字段,类型为`NUMBER(1)`,不允许为空。 - `"ADDRESS"`: 地址字段,类型为`CHAR(20)`,允许为空。 - `"ZIP"`: 邮政编码字段,类型为`CHAR(6)`,允许为空。 - `"PHONENUMBER"`: 电话号码字段,类型为`CHAR(12)`,允许为空。 - `"EMAILADDRESS"`: 电子邮件地址字段,类型为`CHAR(30)`,允许为空。 - `"DEPARTMENTID"`: 部门编号字段,类型为`CHAR(3)`,不允许为空,同时是外键,关联到`DEPARTMENTS`表的`DEPARTMENTID`字段。 - `PRIMARY KEY ("EMPLOYEEID")`: 设置`EMPLOYEEID`为主键。 - `FOREIGN KEY ("DEPARTMENTID") REFERENCES "HYY_XG1"."DEPARTMENTS"(DEPARTMENTID)`: 设置`DEPARTMENTID`为外键,关联到`DEPARTMENTS`表中的`DEPARTMENTID`字段。 3. **创建薪资表**: - `CREATE TABLE "HYY_XG1"."SALARY" (...)`: 创建了一个名为`SALARY`的表。 - `"EMPLOYEEID"`: 员工编号字段,类型为`CHAR(6)`,不允许为空,并设置为主键。 - `"INCOME"`: 收入字段,类型为`NUMBER(8,2)`,不允许为空。 - `"OUTCOME"`: 支出字段,类型为`NUMBER(8,2)`,不允许为空。 - `PRIMARY KEY ("EMPLOYEEID")`: 设置`EMPLOYEEID`为主键。 - `FOREIGN KEY ("EMPLOYEEID") REFERENCES "HYY_XG1"."EMPLOYEES"("EMPLOYEEID")`: 设置`EMPLOYEEID`为外键,关联到`EMPLOYEES`表中的`EMPLOYEEID`字段。 通过以上步骤,我们可以清楚地了解到如何在Oracle数据库中创建用户和相应的数据库表。这些操作是进行数据库开发和管理的基础,掌握它们对于数据库管理员或开发者来说至关重要。
CREATE USER "HYY_XG1" PROFILE "DEFAULT"
IDENTIFIED BY "123" DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "HYY_XG1";
GRANT "DBA" TO "HYY_XG1";
CREATE TABLE "HYY_XG1"."DEPARTMENTS" ("DEPARTMENTID" CHAR(3) NOT
NULL, "DEPARTMENTNAME" CHAR(20) NOT NULL, "NOTE" CHAR(16),
PRIMARY KEY("DEPARTMENTID"))
TABLESPACE "USERS" ;
CREATE TABLE "HYY_XG1"."EMPLOYEES" ("EMPLOYEEID" CHAR(6) NOT NULL,
"NAME" CHAR(10) NOT NULL, "BIRTHDAY" DATE NOT NULL, "SEX"
NUMBER(1) NOT NULL, "ADDRESS" CHAR(20), "ZIP" CHAR(6), "PHONENUMBER"
CHAR(12), "EMAILADDRESS" CHAR(30), "DEPARTMENTID" CHAR(3)
NOT NULL, PRIMARY KEY("EMPLOYEEID"), FOREIGN KEY("DEPARTMENTID")
REFERENCES "HYY_XG1"."DEPARTMENTS"(DEPARTMENTID))
TABLESPACE "USERS" ;
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机毕业设计:python+爬虫+cnki网站爬
- nyakumi-lewd-snack-3-4k_720p.7z.002
- 现在微信小程序能用的mqtt.min.js
- 基于MPC的非线性摆锤系统轨迹跟踪控制matlab仿真,包括程序中文注释,仿真操作步骤
- shell脚本入门-变量、字符串, Shell脚本中变量与字符串的基础操作教程
- 基于MATLAB的ITS信道模型数值模拟仿真,包括程序中文注释,仿真操作步骤
- 基于Java、JavaScript、CSS的电子产品商城设计与实现源码
- 基于Vue 2的zjc项目设计源码,适用于赶项目需求
- 基于跨语言统一的C++头文件设计源码开发方案
- 基于MindSpore 1.3的T-GCNTemporal Graph Convolutional Network设计源码