일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- #C언어#사각형
- #C언어#switch#case#계산기#함수
- #jQuery#mouse#over
- #db#데이터베이스#select
- #db#froup#by
- #C언어#숫자비교#삼항연산자
- #C언어#do#while#계산기#함수
- #alert#자바스크립트#radio#check
- #html#테이블#table
- #alert#자바스크립트#checkbox#alert
- #C언어#성적처리#점수#등급
- #증감#연산자
- #C언어#if
- #자바스크립트#접속시간#시간
- #자바스크립트#만년달력#달력
- #클릭#숨기기#보이기
- #html#프레임
- #자바스크립트#시계#실시간시계
- #C언어#scanf#fflush
- #db#join#inner#cross
- #C언어#타입#printf
- #select#from#distinct
- #자바스크립트#텍스트#알람#alert
- #자바스크립트#alert
- #db#where
- #자바스크립트#회원가입#유효성#검사
- #C언어#do#while#계산기
- #db#order#by
- #C언어#for#간단#예제
- #getElementById#id
- Today
- Total
선택장애
데이터베이스(DB) - CREATE문(예제, 문제풀이) 본문
CREATE문은 테이블을 구성하고, 속성과 속성에 관한 제약을 정의하며, 기본키 및 외래키를 정의하는 명령어이다.
PRIMARY KEY는 기본키를 정할 때 사용하고
FOREIGN KEY는 외래키를 지정할 때 사용하며
ON UPDATE와 ON DELETE는 외래키 속성의 수정과 튜플 삭제시 동작을 나타낸다.
●속성의 데이터와 타입의 종류
●CREATE문의 기본 문법(그냥 이렇구나 하고 넘겨주세요;;)
CREATE TABLE 테이블이름
( { 속성이름 데이터타입
[NOT NULL] [UNIQUE] [DEFAULT 기본값]
[CHECK 체크조건]
}
[PRIMARY KEY 속성이름(들)]
{[FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)]
[ON UPDATE [NO ACTION┃CASCADE┃SET NULL┃SET DEFAULT]] [ON DELETE [NO ACTION┃CASCADE┃SET NULL┃SET DEFAULT]]
}
)
●이제 문제를 같이 풀어보면서 예제도 볼게요
- 문제 1. 다음과 같은 속성을 가진 NewBook 테이블을 생성하시오.
정수형은INT, 문자형은 가변형 문자타입인 VARCHAR을 사용한다.
•bookid(도서번호) - INT
•bookname(도서이름) - VARCHAR(20)
•publisher(출판사) - VARCHAR(20)
•price(가격) - INT
- 문제 1의 답
CREATE TABLE NewBook (
bookid INT,
bookname VARCHAR(20),
publisher VARCHAR(20),
price INT);
- 문제 2. 다음과 같은 속성을 가진 NewBook 테이블을 생성하시오. 정수형은 INT를 사용하며 문자형은 가변형 문자타입인 VARCHAR을 사용한다.
•bookid(도서번호) - INT
•bookname(도서이름) - VARCHAR(20)
•publisher(출판사) - VARCHAR(20)
•price(가격) - INT
- 문제 2의 답
CREATE TABLE NewCustomer ( /*테이블 이름:NewCustomer*/
custid INT PRIMARY KEY, /*custid라는 INT형인데 기본키로*/
name VARCHAR(40), /*VARCHAR(40)형 쭈욱*/
address VARCHAR(40),
phone VARCHAR(30));
- 문제 3. 다음과 같은 속성을 가진 NewOrders 테이블을 생성하시오.
• orderid(주문번호) - INT, 기본키
•custid(고객번호) - INT, NOT NULL 제약조건, 외래키(NewCustomer.custid, 연쇄삭제)
•bookid(도서번호) - INT, NOT NULL 제약조건
•saleprice(판매가격) - INT
•orderdate(판매일자) - DATE
-문제 3의 답
CREATE TABLE NewOrders (
orderid INT,
custid INT NOT NULL,
bookid INT NOT NULL, saleprice INT,
orderdate DATE,
PRIMARY KEY (orderid),
FOREIGN KEY (custid) REFERENCES NewCustomer(custid) ON DELETE CASCADE);
/*외래키(FOREIGN KEY)가 나왔네요 간단하게 설명드리자면
외래키 제약조건을 명시할 때는 반드시 참조되는 테이블(부모 릴레이션)이 존재해 야 하며 참조되는 테이블의 기본키여야 한다. 외래키 지정 시 ON DELETE 또는 ON UPDATE 옵션은 참조되는 테이블의 튜플이 삭제되거나 수정될 때 취할 수 있는 동 작을 지정한다. NO ACTION은 어떠한 동작되 취하지 않고, SET NULL은 NULL 값 으로 바꾸며, SET DEFAULT는 정해진 값으로 바꾼다.*/
'데이터베이스(DB)' 카테고리의 다른 글
데이터베이스(DB) - DROP문(예제, 문제풀이) (0) | 2017.08.14 |
---|---|
데이터베이스(DB) - ALTER문(예제, 문제풀이) (0) | 2017.08.14 |
데이터베이스(DB) - 부속질의(예제, 문제상세풀이 + 상관 부속질의) (0) | 2017.08.14 |
데이터베이스(DB) - OUTER JOIN(외부조인 간단예제) (0) | 2017.08.14 |
데이터베이스(DB) - Join(cross join, 내부조인(inner join) - 예제,문제풀이_2 (0) | 2017.08.14 |