[Database] DDL 연습 _1

h220101·2022년 5월 1일
0

테이블 생성 DDL

CREATE


속성이 레벨번호, 레벨이름, 레벨등록날짜로 구성되고
기본키가 권한인
회원권한 테이블을 생성하시오.

CREATE TABLE tb_user_level (
	level_num INT(11) NOT NULL AUTO_INCREMENT 
	,level_name VARCHAR(300) NOT NULL 
	,level_reg_date DATE NOT NULL 
	,PRIMARY KEY(level_num) 
); 


속성이 회원아이디, 비밀번호, 이름, 권한, 이메일주소, 회원등록날짜로 구성되고
기본키가 회원아이디,
회원권한은 회원권한테이블의 아이디를 참조하는 회원테이블을 생성하시오.

CREATE TABLE tb_user (
	u_id VARCHAR(200) NOT NULL
	,u_pw VARCHAR(200) NOT NULL
	,u_name VARCHAR(200) NOT NULL
	,u_level INT(11) NULL DEFAULT NULL
	,u_email VARCHAR(200) NOT NULL
	,u_addr VARCHAR(200) NOT NULL
	,u_reg_date DATE NOT NULL
	,PRIMARY KEY (u_id)
	,CONSTRAINT FK_u_level FOREIGN KEY (u_level) REFERENCES tb_user_level(level_num)
);

속성이 상품코드, 상품이름, 상품가격, 판매자 아이디, 상품등록날짜가 구성되고
기본키가 상품코드,
판매자 아이디는 회원테이블의 아이디를 참조하는 상품테이블을 생성하시오.

CREATE TABLE tb_goods (
	g_code VARCHAR(50) NOT NULL
	,g_name VARCHAR(50) NOT NULL
	,g_price INT(11) NOT NULL
	,g_seller_id VARCHAR(50) NOT NULL
	,g_reg_date DATE NOT NULL
	,PRIMARY KEY (g_code)
	,CONSTRAINT FK_g_seller_id FOREIGN KEY (g_seller_id) REFERENCES tb_user (u_id)
);

속성이 주문번호, 구매자아이디, 주문상품코드, 주문수량, 주문등록날짜로 구성되고
기본키(자동증가)가 주문번호이고,
구매자 아이디는 회원테이블의 아이디를 참조하며,
주문상품코드는 상품테이블의 상품코드를 참조하는 테이블을 생성하시오.

CREATE TABLE tb_order (
	o_num INT(11) NOT NULL AUTO_INCREMENT
	,o_id VARCHAR(200) NULL DEFAULT NULL
	,o_g_code VARCHAR(200) NULL DEFAULT NULL
	,o_amount INT(11) NULL DEFAULT NULL 
	,o_reg_date DATETIME NULL DEFAULT NULL
	,PRIMARY KEY (o_num)
	,CONSTRAINT FK_o_g_coed FOREIGN KEY (o_g_code) REFERENCES tb_goods (g_code)
	,CONSTRAINT FK_o_id FOREIGN KEY (o_id) REFERENCES tb_user (u_id)
);

로그인 번호, 로그인 아이디, 로그인 날짜, 로그아웃날짜 속성으로 구성되고
기본키(자동증가)가 로그인 번호이고,
로그인 아이디는 회원테이블의 아이디를 참조하는 로그인 테이블을 생성하시오.

CREATE TABLE tb_login (
	login_num INT(11) NOT NULL AUTO_INCREMENT
	,login_id VARCHAR(200) NOT NULL 
	,login_date DATE NOT NULL
	,logout_date DATE NOT NULL
	,PRIMARY KEY (login_num)
	,CONSTRAINT FK_login_id FOREIGN KEY (login_id) REFERENCES tb_user (u_id)
);

INSERT


회원 레벨 테이블에 삽입하는 SQL 문장을 작성하시오.

INSERT INTO tb_user_level
(level_num, level_name, level_reg_date) 
VALUES
(1, '관리자', '2020-03-17')
,(2, '판매자', '2020-03-17')
,(3, '구매자', '2020-03-17');

각 데이터를 각 테이블에 삽입하는 SQL 문장 작성.
외래키가 참조된 순서에 맞추어 insert문을 작성해주어야 한다.


profile
기록하는 삶

0개의 댓글