일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algorithm
- 10951
- 알고리즘
- 문자열
- oracle
- 백준
- algoritm
- 입출력
- 그대로 출력하기
- 오라클
- Database
- 동적계획법
- Eclipse
- n x 2 타일링 2
- Dynamic Programming
- 데이터베이스
- 2156
- 변수
- 반복문
- Java
- 자바
- select
- ANSI JOIN
- JOIN
- db
- 데이터길이
- DP
- darkest dark
- SQL
- 소숫점처리
- Today
- Total
목록전체 글 (78)
Cracking Code
데이터베이스에서 DBA는 사용자를 생성할 수 있습니다. 생성된 사용자는 DBA에게 권한을 부여 받아야 데이터베이스에 접근 및 명령문을 사용할 수 있습니다. 데이터베이스 보안 다중 사용자 환경에서 개별 사용자들은 데이터베이스 접근 및 사용에 있어서 적절한 보안을 유지해야 합니다. 보안의 종류로는 시스템 보안, 데이터 보안이 있습니다. 시스템 보안 사용자 계정 생성, 암호 변경, 디스크 공간 할당, 시스템 작업 등 시스템 수준에서의 데이터베이스 접근 및 사용을 관리하는 단계입니다. 인증 관련된 보안으로 주로 DBA의 주 권한에 관련되어있습니다. 데이터 보안 데이터베이스 객체에 대한 사용자들의 접근 및 사용을 관리하는 단계입니다. 권한 관련된 보안입니다. 사용자 생성 등의 관리는 최고 권한을 가진 계정으로 진..
데이터가 많을수록 찾고자 하는 데이터를 찾는다는 것은 점점 시간이 많이 소요될 것입니다. 이번 시간엔 소요 시간을 줄이고자 데이터베이스에서 사용하는 INDEX에 대해 알아보겠습니다. 인덱스는 검색 속도를 높이기 위해 Oracle 서버가 사용하는 스키마 객체입니다. 인덱스 없이 데이터를 검색하면 테이블의 모든 데이터를 읽어 데이터를 선별합니다. 테이블을 삭제하면 관련 인덱스는 자동으로 생성됩니다. INDEX 생성 PRIMARY KEY와 UNIQUE 제약 조건 지정 시, UNIQUE INDEX는 자동으로 생성됩니다. 수동으로 생성하기 CREATE INDEX index ON table (column,[, column] ...); 사원 테이블의 이름이 SMITH인 사원을 찾아봅시다. SELECT * FROM E..
테이블에 데이터를 삽입할 때 기본키는 보통 숫자로 합니다. 숫자의 증감을 알아서 계산해주어 편리한 데이터 삽입이 가능하게 하는 시퀀스에 대해 알아봅시다. CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE n | NOCACHE]; 시퀀스는 자동으로 숫자의 증감을 수행합니다. INCREMENT BY 절로 n 만큼 증감을 정하고 START WITH 절은 시작할 숫자 n을 정합니다. MAXVALUE 절은 n이 증가될 수 있는 최대의 숫자를 정하며 MINVALUE 절로 n까지 감소할 수 있는 숫자를 정합니다. CYCLE 절을 ..
데이터베이스 관리자가 아닌 사용자에게 접근성을 제한하여 테이블의 일부만 보여주거나 JOIN할 테이블의 수정을 편리하게 할 수 있는 VIEW에 대해 알아보겠습니다. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias] ...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY [CONSTRAINT constraint]]; -- FORCE는 기본 테이블이 없어도 강제로 뷰 생성 뷰는 테이블 또는 다른 뷰를 기초로 하는 논리적인 테이블입니다. 그 자체로는 소유하는 데이터가 없지만 창문 처럼 어떤 데이터를 보거나 변경할 수 있습니다. 뷰에서 참조하는 테이블을 기본 테이블(B..
이미 만들어진 테이블에 수정이 필요할 경우 사용할 수 있는 ALTER 명령문에 대해서 알아봅시다. ALTER TABLE 명령문으로 컬럼의 추가, 변경, 삭제, 제약 조건의 추가, 삭제 등 다양하게 테이블의 구조를 변경할 수 있습니다. 1. 컬럼 추가 ALTER TABLE table ADD ( column datatype [DEFAULT expr] [, column datatype] ... ); table에 컬럼을 추가합니다. 2개의 컬럼을 가진 SCOTT_T 테이블을 만들고 컬럼 1개를 더 추가해보겠습니다. CREATE TABLE SCOTT_T( NUM NUMBER(4), NAME VARCHAR2(10) ); ALTER TABLE SCOTT_T ADD (ADDRESS VARCHAR2(30)); ADDRE..
쓰지 않는 테이블을 제거하기 위한 DROP 명령문에 대해 알아보겠습니다. DROP TABLE table [CASCADE CONSTRAINT]; 데이터베이스에서 해당 table을 제거합니다. 테이블에 저장된 모든 데이터와 관련 INDEX 및 제약조건이 삭제 됩니다. 이전 시간에 사용했던 EMP_C 테이블을 제거해보겠습니다. DROP TABLE EMP_C; 간단한 명령문 하나로 테이블 하나를 통째로 날려버렸습니다. 😎 만약, 해당 테이블이 어떤 테이블을 자식 테이블로 두고 있다면 뒤에 CASCADE CONSTRAINT 옵션을 붙이면 삭제할 수 있습니다.
테이블이 다른 테이블을 참조하여 데이터를 읽을 수 있도록 관계를 형성하는 외래키에 대해 알아봅시다. -- 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..