일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- DB Browser
- 노드에 리액트 추가하기
- react오류
- Concurrently
- node.js 설치
- 모던자바스크립트
- 타자 게임 만들기
- 거북이 대포 게임
- 리액트
- Python
- 자바스크립트
- googleColaboratory
- vs code 내 node
- intellij
- Do it 자바스크립트 + 제이쿼리 입문
- 따라하며 배우는 노드 리액트 기본 강의
- Colaboratory 글자 깨짐
- Spring-Framework
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- react
- props
- spring-boot
- node.js로 로그인하기
- 계산맞추기 게임
- JS 개념
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- 웹 게임을 만들며 배우는 리액트
- 모두의 파이썬
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- 인프런
- Today
- Total
프로그래밍 삽질 중
SQL 제약 조건 설명 및 예제 본문
<SQL 관련 용어>
※ 관계
-릴레이션 내에 관계 = 데이터들의 관계
- 릴레이션 간의 관계
※ 릴레이션
- 단일값, 속성은 서로 다른 이름을 가짐
- 한 속성 값은 모두 같은 도메인 값 가짐
- 중복된 튜플 허용 불가(구분 불가)
※ 키
- 수 많은 데이터를 구별할 수 있는 유일한 값
- 유일성, 최소성
※ 제약 조건 특징 1
- 테이블의 특정 열에 지정하여 제약 조건에 부합하지 않는 데이터 저장할 수 없도록 함
1) NOT NULL : 지정한 열에 NULL 허용 X, NULL을 제외한 중복은 허용
2) UNIQUE : 지정한 열이 유일한 값을 가져와야 함(중복X, NULL제외)
3) PRIMARY KEY : 지정한 열이 유일한 값(NULL 허용X), 테이블 당 하나만 지정 가능
4) FOREIGN KEY : 다른 테이블 열을 참조하여 존재하는 값만 입력 가능
5) CHECK : 설정한 조건식을 만족하는 데이터만 입력 가능
[예시 1]
CAFENAME은 NULL값을 가질 수 없다
EMPLOYEENUM은 같은 값이 있을 수 없다
PRICE의 값이 입력되지 않을 경우 기본값 10000원, 최소 값 3000원 지정함
[예시 1 답]
1
2
3
4
5
6
|
CREATE TABLE NEWCAFE (
CAFENAME VARCHAR(20) NOT NULL,
EMPLOYEENUM NUMBER UNIQUE,
PRICE NUMBER DEFAULT 10000 CHECK(PRICE > 3000),
PRIMARY KEY(CAFENAME, EMPLOYEENUM)
);
|
cs |
※ 제약 조건 특징 2
- 외래키 제약 조건은 명시해야 함(참조되는 테이블의 기본키나 UNIQUE한 경우)
- 외래 키 지정 시 ON DELETE 나 ON UPDATE 가능
<명령어>
1) RESTRICTED : 자식 릴레이션에서 참조하는 경우 부모 릴레이션(참조되는 테이블)에서 삭제 X
2) CASCADE : 자식 릴레이션의 관련 튜플을 같이 처리
3) DEFAULT : 자식 릴레이션의 관련 튜플을 미리 설정한 값으로 변경
4) NULL : 자식 릴레이션의 관련 튜플을 NULL로 설정(미리 NULL로 허가)
[예시 2]
부모테이블의 데이터가 삭제되는 경우 자식테이블의 데이터 연쇄 삭제
[예시 2 답]
1
2
3
4
5
6
7
8
9
|
CREATE TABLE NEWDRMA(
DRAMAID NUMBER NOT NULL,
DRAMANAME VARCHAR2(40),
HOURPRICE NUMBER,
ACTORS VARCHAR2(40),
BROADNUM NUMBER
PRIMARY KEY (DRAMAID),
FOREIGN KEY (BROADNUM) REFERENCES NEWDRAMA(DRAMAID) ON DELETE CASCADE
);
|
cs |
※ ROWNUM
- 내장함수는 아니나 자주 사용됨
- 오라클에서 내부적으로(동적으로 생성되는 가상컬럼)
SQL 조회 결과의 순번을 타나냄
- 자료의 일부분만 확인, 처리하기 유용
[예시 3]
번호(DRAMAID)가 100이하만 출력
[예시 3 답]
1
2
3
|
SELECT DRAMAID "번호", DRAMANAME, HOURPRICE, BROADNUM
FROM NEWDRMA
WHERE DRAMAID <= 100;
|
cs |
[예시 4]
방송국번호(BROADNUM)가 20~30만 출력
[예시 4 답]
1 2 3 | SELECT BROADNUM "방송국 번호", DRAMANAME, HOURPRICE, BROADNUM FROM NEWDRMA WHERE BROADNUM BETWEEN 20 AND 30; | cs |
'과거 프로그래밍 자료들 > SQL(Oracle)' 카테고리의 다른 글
SQL 객체종류(인덱스, 뷰, 시퀀스 등) 설명 및 예제 (0) | 2021.03.23 |
---|---|
SQL 예제 문제(1) (0) | 2021.03.23 |
SQL INSERT, UPDATE, DELETE & DDL 설명 및 예제 (0) | 2021.03.22 |
SQL 조인 설명 및 예제 (0) | 2021.03.22 |
SQL 함수 설명 및 예제 (0) | 2021.03.17 |