목록Category (169)
C#,Delphi,Oracle,MSSQL 개발자블로그
● 사용자 접근 제어 - 데이터베이스 보안의 두 종류 1. 시스템 보안 ☞ 사용자명, 비밀번호 ☞ 사용자에게 할당된 디스크 공백 ☞ 사용자에 의해 허용된 시스템 작업 같은 시스템 수준에서의 데이터베이스의 액세스와 사용을 설명한다. 2. 데이터 보안 ☞ 데이터베이스 객체에 대한 액세스와 사용 ☞ 객체에 대해 사용자가 할 수 있는 작업 을 설명한다. ● 권한 특정 SQL문장을 실행하기 위한 권한이다. 80개 이상의 권한이 있다. - 시스템 권한 : 데이터베이스 액세스 획득 (system privilege 필요) - 객체권한 : 데이터베이스 객체 내용 조작 (object privilege 필요) 스키마 : 테이블, 뷰, 시퀀스 같은 객체의 모음. ● 사용자 생성 CREATE USER scott IDENTIFI..
UPS(Uninterruptible power supply)는 무정전전원공급장치로서 순간정전(수초 또는 수분) 또는 정전으로 인한 단전 시에 전력계통에 비상전원을 공급하기 위한 장치입니다. UPS는 축전지 충전을 통해 전원을 공급하는 장치이며, UPS가 공급하는 비상전원으로는 기본적으로 소방기계기구(감지기, 수신기, 발신기, 전동밸브 등등) , 비상등, 엘리베이터, 서버실의 PC, 각 종 제어기기 등에 20분 이상의 전원을 공급하게 됩니다. VSP(Voltage sag protector)는 순간전압강하보호장치로서 순간적인(보통 1초미만) 전압 드롭 현상에 대한 보상장치 입니다. VSP는 콘덴서 충전을 통해 순간적인 전압드롭을 보상하는 장치이며, 반도체 공장, 실험실, 정밀기기를 제어하는 PC 및 제어장치..
● 데이터베이스 객체 - Table : 행과 열로 구성된 기본적인 저장매체의 단위 - View : 하나 이상의 테이블로부터 데이터의 부분집합을 논리적으로 표현 - Sequence : 기본 키 값을 발생 - Index : 어떤 질의의 성능을 향상 - Synonym : 객체에 대체 이름을 부여 ● 시퀀스 - 자동적으로 유일번호를 생성한다. - 공유가능한 객체(다중 테이블에 대해 사용될 수 있다.) - 주로 기본 키 값을 생성하기 위해 사용된다. CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [{MAXVALUE n / NONMAXVALUE}] [{MINVALUE n / NONMINVALUE}] [{CYCLE / NONCYCLE}] [{CACHE n / N..
● 데이터베이스 객체 - Table : 행과 열로 구성된 기본적인 저장매체의 단위 - View : 하나 이상의 테이블로부터 데이터의 부분집합을 논리적으로 표현 - Sequence : 기본 키 값을 발생 - Index : 어떤 질의의 성능을 향상 - Synonym : 객체에 대체 이름을 부여 ● 뷰 란? 테이블 또는 다른 뷰를 기초로 하는 논리적 테이블이다. 뷰는 그 자체로서 소유하는 데이터는 없지만 창문처럼 창문을 통해 어떤 데이터를 보거나 변경할 수 있다. ● 뷰의 사용 목적 1. 뷰는 데이터베이스의 선택적인 부분을 디스플레이 할 수 있기 때문에 데이터베이스에 대한 액세스를 제한할 수 있다. 2. 사용자가 복잡한 질의로부터 결과를 검색하기 위한 단순한 질의를 만들도록 한다. 예를들면, 뷰는 조인 문장을..
● 제약조건 오라클 서버는 부적합한 데이터가 테이블에 삽입되는 것을 방지하기 위해 CONSTRAINT(제약조건)를 사용한다. * 데이터 무결성 제약조건 - NOT NULL : 이열은 NULL값을 포함하지 않음을 지정한다. - UNIQUE Key : 테이블의 모든 행에 대해 유일해야 하는 값을 가진 열 또는 열의 조합을 지정한다. - PRIMARY KEY : 유일하게 테이블의 각 행을 식별한다. - FOREIGN KEY : 열과 참조된 테이블의 열 사이의 외래키 관계를 적용하고 설정한다. - CHECK : 참이어야 하는 조건을 지정한다. 1. NOT NULL 제약조건 열 레벨에서 정의된다. 해당 열의 데이터는 NULL값을 가질 수 없다. CREATE TABLE emp(empno NUMBER(4) ,enam..
TABLE에서 모든 행을 삭제하는 방법에는 다음과 같은 세 가지 OPTION이 있다. 1. DELETE 명령어 사용 DELETE 명령어를 사용하여 TABLE의 행을 삭제할 수 있다. 예를 들어 EMP TABLE에서 모든 행을 삭제하는 명령문은 다음과 같다. SQL>DELETE FROM emp; ◈ DELETE 문을 사용할 때 TABLE이나 CLUSTER에 행이 많으면 행이 삭제 될 때마다 많은 SYSTEM 자원이 소모된다. 예를 들어 CPU 시간,REDO LOG 영역, TABLE이나 INDEX에 대한 ROLLBACK SEGMENT 영역 등의 자원이 필요하다. ◈ TRIGGER가 걸려있다면 각 행이 삭제될 때 실행된다. ◈ 이전에 할당되었던 영역은 삭제되어 빈 TABLE이나 CLUSTER에 그대로 남아 있..
● 데이터베이스 객체 - Table : 행과 열로 구성된 기본적인 저장매체의 단위 - View : 하나 이상의 테이블로부터 데이터의 부분집합을 논리적으로 표현 - Sequence : 기본 키 값을 발생 - Index : 어떤 질의의 성능을 향상 - Synonym : 객체에 대체 이름을 부여 ● 이름 지정 규칙 - 문자로 시작해야한다. - 문자 길이는 1-30이어야 한다. - 오직 A-Z, a-z, 0-9, _, $, #만을 포함할 수 있다. - 동일한 사용자가 소유한 객체의 이름은 중복되어서는 안된다. - 오라클 서버 예약어는 안된다. ● 테이블 생성 CREATE TABLE [schema.]table (col1 datatype [DEFAULT expr] col2 datatype [DEFAULT expr]..
※ 이전 단원인 8단원은 SQL PLUS에 관한 내용이므로 생략. - 데이터조작어 DML (Data Manipulation Language) ● INSERT INTO table(col1, col2, ...) VALUES (val1, val2, ...) ☞ NULL 값을 가진 새로운 행 추가 * 암시적 방법 : 열 목록으로부터 열을 생략한다. INSERT INTO dept(deptno, dname, ) VALUES (60, 'MIS'); * 명시적 방법 : VALUES 목록에 NULL키워드를 명시한다. INSERT INTO dept VALUES (70, 'FINANCE', NULL); ☞ 다른테이블로부터 행 복사 * 서브쿼리로 INSERT 문장을 작성한다. * VALUES절을 사용하지 않는다. * 서브쿼리..
SQL SQL (Structured Query Language) 은 구조적인 질의 언어라는 것이다. 이 SQL 이라는 질의 언어를 통해서 데이터베이스를 제어, 관리한다. SQL 은 다음 언어로 나눌 수 있다. ⒜ DDL : 데이터 정의 언어 ⒝ DML : 데이터 조작 언어 ⒞ DCL : 데이터 제어 언어 DDL DDL (Data Definition Language) 는 데이터 베이스 스키마를 정의 하거나 조작하기 위해 사용한다. SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 다음 명령어로 정의, 변경, 삭제한다. ⒜ CREATE : 정의 ⒝ ALTER: 수정 ⒞ DROP : 삭제 ⒟ TRUNCATE : DROP 후 CREATE * Oracle 11g 이전 버전과 MySQL은 DDL에 ..
● 다중열 서브 쿼리 여러개의 컬럼을 검색하는 서브 쿼리 - 서브 쿼리의 SELECT 문에 여러 개의 컬럼을 검색한다. - 반드시 비교 대상 컬럼과 1:1 대응돼야 한다. - 다중 열 서브쿼리는 주로 IN을 사용하지만 '='사용도 가능하다. IN의 사용이 권장된다. Ex. 각 부서별로 최소 급여를 받는 사원의 정보를 검색. (Pairwise 방식) SELECT dept_ID, employeeID, first_name, salary FROM emp WHERE (dept_ID, salary) IN (SELECT dept_ID, MIN(salary) FROM emp GROUP BY dept_ID) ● 다중 열 서브쿼리에서의 열 비교 - Pairwise 방식. SELECT empno, sal, deptno FR..