[4주차] Chapter 05

Jisoo Yu·2024년 2월 4일
0

혼공학습단 SQL

목록 보기
5/5

진도: Chapter 05

유튜브강의 12~14강

-1절

-- 테이블 : 엑셀 sheet와 유사, 데이터 베이스 안에 들어있는 객채

CREATE DATABASE naver_db;

DROP DATABASE IF EXISTS naver_db;
CREATE DATABASE naver_db;
USE naver_db;
-- 테이블 생성
DROP TABLE IF EXISTS member;
CREATE TABLE member
( mem_id	CHAR(8) NOT NULL PRIMARY KEY,
 mem_name	VARCHAR(10) NOT NULL,
 mem_number	TINYINT NOT NULL,
 addr	CHAR(2) NOT NULL,
 phone1 CHAR(3) NULL,
 phone2 CHAR(8) NULL,
 height TINYINT UNSIGNED NULL,
 debut_date	DATE NULL
 );
 
DROP TABLE IF EXISTS buy;
CREATE TABLE buy
( num	INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -- AUTO_INCREMENT : 자동증가
 mem_id	CHAR(8) NOT NULL,
 prod_name	CHAR(6) NOT NULL,
 group_name CHAR(4) NULL,
 price INT UNSIGNED NOT NULL,
 amout	SMALLINT UNSIGNED NOT NULL,
 FOREIGN KEY(mem_id) REFERENCES member(mem_id)
 );
-- 데이터 입력
INSERT INTO member VALUES('TWC','트와이스','9','서울','02','11111111',167,'2015.01.06');
INSERT INTO member VALUES('BLK','블랙핑크','4','경남','055','22222222',163,'2015.01.12');
INSERT INTO member VALUES('WMN','여자친구','6','경기','031','33333333',166,'2015.01.18');

INSERT INTO buy VALUES(NULL ,'BLK','지갑',NULL,30,2);
INSERT INTO buy VALUES(NULL ,'BLK','맥북프로','디지털',1000,1);
-- FOREIGN KEY를 가진 테이블은 참조하는 테이블에 먼저 해당 키 값이 있어야 됨
INSERT INTO buy VALUES(NULL ,'APN','아이폰','디지털',200,1);

-2절

-- 데이터 무결성 : 데이터에 결함이 없는 것
-- 대표적인 제약조건
-- PRIMARY KEY 제약조건 : 중복X, NULL 값 허용 x, 가장 많이 사용, 테이블 당 1개 열만 가질 수 있음, 클러스터형 인덱스 생성
DROP TABLE IF EXISTS buy, member;
CREATE TABLE member
( mem_id	CHAR(8) NOT NULL PRIMARY KEY,
 mem_name	VARCHAR(10) NOT NULL,
 height TINYINT UNSIGNED NULL
 );
 
DROP TABLE IF EXISTS member;
CREATE TABLE member
( mem_id	CHAR(8) NOT NULL,
 mem_name	VARCHAR(10) NOT NULL,
 height TINYINT UNSIGNED NULL,
 PRIMARY KEY (mem_id)
 );

-- FOREIGN KEY 제약조건 : 두 테이블을 관계
DROP TABLE IF EXISTS buy;
CREATE TABLE buy
( num	INT AUTO_INCREMENT NOT NULL PRIMARY KEY, -- AUTO_INCREMENT : 자동증가
 mem_id	CHAR(8) NOT NULL,
 prod_name	CHAR(6) NOT NULL,
 group_name CHAR(4) NULL,
 price INT UNSIGNED NOT NULL,
 amout	SMALLINT UNSIGNED NOT NULL,
 FOREIGN KEY(mem_id) REFERENCES member(mem_id)
 );

-- UNIQUE 제약조건
-- CHECK 제약조건
-- DEFAULT 정의
-- NULL 값 허용

-3절

기본 미션

p. 226의 market_db의 회원 테이블(member) 생성하고, p. 229 데이터 입력한 후 인증하기

선택 미션

p. 271 확인 문제 4번 풀고 인증하기

profile
꽤 행복한 사람😎

0개의 댓글