일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 오라클
- 동적계획법
- 2156
- Algorithm
- oracle
- 소숫점처리
- 알고리즘
- SQL
- 변수
- 문자열
- 입출력
- Java
- Database
- n x 2 타일링 2
- 10951
- 그대로 출력하기
- 데이터베이스
- 백준
- db
- select
- 데이터길이
- Dynamic Programming
- JOIN
- ANSI JOIN
- DP
- darkest dark
- Eclipse
- algoritm
- 반복문
- Today
- Total
목록Database (47)
Cracking Code
테이블이 다른 테이블을 참조하여 데이터를 읽을 수 있도록 관계를 형성하는 외래키에 대해 알아봅시다. -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] REFERENCES table (column1[, column2, ...] [ON DELETE CASCADE]) -- TABLE LEVEL [CONSTRAINT constraint_name] FOREIGN KEY (column1[, column2, ...]) REFERENCES table (column1[, column2, ...] [ON DELETE CASCADE]) 외래키로 열 또는 열의 집합을 지정할 수 있으며 동일 테이블 또는 다른 테이블 간 관계를 지정합니다 ON DELETE CASCADE..
데이터를 DB에 저장할 때 원하는 값만 들어오게끔 필터링을 하고 싶다면? CHECK 제약 조건에 대해 알아봅시다! -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] CHECK(조건) -- TABLE LEVEL [CONSTRAINT constraint_name] CHECK (column 조건) 예를 들어 '남자' 또는 '여자'인 값만 받고 싶을 땐 조건 절에 해당 컬럼명과 조건 연산을 입력해주면 됩니다. S_NO / NUMBER(2), S_NAME / VARCHAR2(10), S_SAL NUMBER(10)을 컬럼으로 가지고 S_SAL엔 500 밑의 값만 들어올 수 있도록 제약 조건을 걸어 SAWON7 테이블을 만들어 봅시다. -- COLUMN LE..
테이블에는 중복이 되면 안 되는 값들이 존재할 수 있겠죠? 이러한 것을 사전에 방지할 수 있도록 UNIQUE 제약 조건에 대해 알아봅시다. -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] UNIQUE -- TABLE LEVEL column datatype, ..., [CONSTRAINT constraint_name] UNIQUE (column1[, column2, ...]) 유니크 제약 조건은 해당 컬럼에 중복 값이 저장되지 않도록 제한합니다. 한 개 이상의 컬럼으로 구성되며 NULL 값을 저장할 수 있습니다. 🚨복합 컬럼 지정 시 테이블 LEVEL만 지정할 수 있습니다. S_NO / NUMBER(2), S_NAME / VARCHAR2(10),..
PRIMARY KEY는 기본키라고도 하며 테이블에서 각 행을 식별하는 제약 조건입니다. -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] PRIMARY KEY -- TABLE LEVEL [CONSTRAINT constraint_name] PRIMARY KEY (column1[, column2, ...]) 기본키는 각 테이블에 하나만 존재할 수 있습니다. UNIQUE와 NOT NULL 제약 조건이 동시에 걸려 있으며 UNIQUE INDEX가 자동으로 생성됩니다. ID / NUMBER(2), NAME / VARCHAR2(10) 을 컬럼으로 가지고 ID를 기본키로 컬럼 레벨에서 설정하여 PK_TAB1 테이블을 만들어봅시다. CREATE TABLE PK..
데이터베이스의 무결성을 유지하기 위해서 일종의 제약을 둡니다. 데이터베이스 제약 조건에 대해 알아봅시다. CREATE TABLE table( column datatype [DEFAULT expr] -- 컬럼 LEVEL [CONSTRAINT column_constraint], ..., [table CONSTRAINT column_constraint], -- 테이블 LEVEL ... ); 제약 조건은 테이블 LEVEL, 컬럼 LEVEL에서 선언할 수 있습니다. 테이블 LEVEL은 모든 컬럼의 선언이 끝난 후에 제약 조건을 명시하는 것이며 컬럼 LEVEL은 컬럼의 선언과 동시에 제약 조건도 명시하는 것입니다. 🚨컬럼 LEVEL 에선 제약 조건을 하나씩만 선언할 수 있습니다.🚨 제약 조건의 종류 제약 조건은 C..
데이터베이스의 기본적인 저장 단위인 테이블을 만들 수 있는 CREATE TABLE 명령어를 알아보겠습니다. CREATE TABLE [schema.]table ( column datatype [DEFAULT expr][, ...] ); table의 이름을 짓고 들어갈 column 들의 데이터 타입과 옵션을 지정해줍니다. * schema란 특정 사용자가 데이터베이스에 접근하여 생성한 객체들의 대표 이름을 의미합니다. 보통 사용자가 들어갑니다. datatype은 아래와 같습니다. 1. DEFAULT 옵션 해당 테이블에 행을 입력할 때 해당 컬럼에 값을 지정하지 않은 경우 자동으로 DEFAULT 값이 입력됩니다. NULL 값이 저장되는 것을 방지할 수 있습니다. NUM ( NUMBER(2) ), WRITEDAY..
트랜잭션 내의 데이터 변경 사항을 저장하거나 되돌릴 수 있는 COMMIT, ROLLBACK 에 대해 알아보겠습니다. 데이터베이스는 읽기 일관성을 유지합니다. 사용자들에게 가장 최근에 커밋된 데이터를 보여주며 다른 사용자가 변경 중인 데이터는 또 다른 사용자에게 보여지지 않습니다. 이는 동일 데이터를 동시에 변경할 때의 혼란을 방지합니다. 1. COMMIT COMMIT; 모든 데이터 변경 사항을 데이터베이스에 영구히 반영시키는 명령어입니다. 변경 전의 데이터는 모두 잃습니다. 2. ROLLBACK ROLLBACK; 모든 데이터 변경 사항을 취소하는 명령어입니다. 변경 전의 데이터가 복원됩니다. 트랜잭션이 진행 중이던 행들에 대한 잠금이 모두 해제되어 다른 사용자에 의해 변경이 가능해집니다.
트랜잭션은 데이터베이스의 논리적인 단위입니다. 트랜잭션이 무엇인지 알아보는 시간을 갖도록 하겠습니다. TRANSACTION 분할 할 수 없는 최소의 단위이며 하나의 트랜잭션에서는 하나 이상의 SQL 문장이 포함됩니다. 트랜잭션은 ALL or NOTHING으로 모든 명령이 전부 적용되거나 전부 취소됩니다. 트랜잭션은 시작과 종료가 있습니다. 시작 - DML 명령을 시작한 경우 자동으로 시작 종료 - COMMIT 또는 ROLLBACK 명령을 명시적으로 실행 시 - DDL 문장 실행 시 - DCL 문장 실행 시 - SQL 프로그램을 종료할 경우 - 하드웨어 고장 또는 시스템 오류 시 트랜잭션 내 모든 데이터 변경 사항은 트랜잭션이 종료되기 전까지 모두 임시적입니다. 변경된 행은 LOCK 상태로 변하며 해당 사..