SQL/Testdome
Testdome - Users And Roles
소HS군
2023. 2. 18. 13:40
참고 링크 : https://app.testdome.com/resources/media/75415fde-4215-4514-a530-f515c4580e3e/users_and_roles.txt
C> 주어진 조건
-- Example case create statement:
CREATE TABLE users (
id INTEGER NOT NULL PRIMARY KEY,
userName VARCHAR(50) NOT NULL
);
CREATE TABLE roles (
id INTEGER NOT NULL PRIMARY KEY,
role VARCHAR(20) NOT NULL
);
INSERT INTO users(id, userName) VALUES(1, 'Steven Smith');
INSERT INTO users(id, userName) VALUES(2, 'Brian Burns');
INSERT INTO roles(id, role) VALUES(1, 'Project Manager');
INSERT INTO roles(id, role) VALUES(2, 'Solution Architect');
-- Improve the create table statement below:
CREATE TABLE usersRoles (
userId INTEGER,
roleId INTEGER
);
Q> Users And Roles 테이블 만들기
유저는 유저 테이블에서 가져온다
역할은 역할 테이블에서 가져 온다.
유저는 역할은 하나만 맡을 수 있다
H> 참조 키 만들기
내가 만들 테이블은 usersRoles 테이블이야
거기에 userid 와 roleid 칼럼을 만들거야
그 userid 칼럼은 지명당할 건데, 그 시작 테이블은 users이고, 그 시작 칼럼은 id 야
그 roleid 칼럼은 지명당할 건데, 그 시작 테이블은 roles이고, 그 시작 칼럼은 id 야
두 개 모두 unique한 값만 지정할거야
A> 답안
create table usersRoles (
userId integer NOT NULL,
roleId integer NOT NULL,
FOREIGN KEY (userId) REFERENCES users (id),
FOREIGN KEY (roleId) REFERENCES roles (id),
UNIQUE(userId,roleId)
);
L> 참조키에 대한 리뷰 시간