oracle数据库建表及增加主键、索引、约束、授权等操作
-- 创建用户表
CREATE TABLE users (
user_id NUMBER(10) NOT NULL,
username VARCHAR2(50) NOT NULL,
email VARCHAR2(100) NOT NULL,
CONSTRAINT users_pk PRIMARY KEY (user_id)
);
-- 创建角色表
CREATE TABLE roles (
role_id NUMBER(10) NOT NULL,
role_name VARCHAR2(50) NOT NULL,
CONSTRAINT roles_pk PRIMARY KEY (role_id)
);
-- 创建用户角色关联表
CREATE TABLE user_roles (
user_id NUMBER(10) NOT NULL,
role_id NUMBER(10) NOT NULL,
CONSTRAINT user_roles_pk PRIMARY KEY (user_id, role_id),
CONSTRAINT user_roles_user_id_fk FOREIGN KEY (user_id) REFERENCES users (user_id),
CONSTRAINT user_roles_role_id_fk FOREIGN KEY (role_id) REFERENCES roles (role_id)
);
-- 创建用户表的唯一性约束
ALTER TABLE users
ADD CONSTRAINT username_unique UNIQUE (username);
-- 创建用户表的电子邮件索引
CREATE INDEX idx_users_email ON users (email);
-- 授权给用户查询users表的权限
GRANT SELECT ON users TO user_app;
-- 授权给用户管理角色表的权限
GRANT ALL ON roles TO user_admin;
-- 授权给用户管理用户角色关联表的权限
GRANT ALL ON user_roles TO user_admin;
这段代码展示了如何在Oracle数据库中创建表、添加主键、外键约束、唯一性约束以及索引,并且如何使用授权语句来控制不同用户对这些数据库对象的访问权限。这是数据库管理和设计的一个基本实践。
评论已关闭