아래와 같은 예제테이블의 ID밑에 PASSWORD라는 컬럼을 추가하고 싶다고 예를 들어보겠습니다. ALTER TABLE MEMBER ADD(PASSWORD VARCHAR(30)); 이렇게 컬럼을 추가한다고 하면 제가 원하는 ID밑에 컬럼이 추가되지 않고 제일 밑 TEL컬럼 밑에 PASSWORD가 추가됩니다. 이렇게 오라클에서는 가운데에 컬럼을 추가하기 굉장히 까다로운데 오라클 12C부터 사용할 수 있는 기능인 테이블의 컬럼을 숨기고 보이게 할 수 있는 기능인 INVISIBLE 과 VISIBLE을 활용하면 자신이 원하는 곳에 컬럼을 추가할 수 있습니다. 컬럼 숨기기 ALTER TABLE [테이블명] MODIFY [컬럼명] INVISIBLE; ALTER TABLE MEMBER MODIFY USERNAME I..
테이블 백업은 굉장히 많이사용합니다. 예를들어 테이블의 구조를 바꿔야하는데 테이블안에 많은 데이터들이 있을때 필히 백업을 해주어야 혹시나 있을 문제에 대비할 수 있습니다. 복사 / 백업할 테이블 확인 --테이블 구조 조회 DESC [테이블명]; DESC MEMBER_EX; --테이블 데이터 조회 SELECT * FROM [테이블명]; SELECT * FROM MEMBER_EX; 테이블 복사 CREATE TABLE [복사된 테이블 명]AS SELECT * FROM [복사할테이블] CREATE TABLE MEMBER_EX_20180914 AS SELECT * FROM MEMBER_EX 복사된 테이블 확인 --테이블 구조 조회 DESC [테이블명]; DESC MEMBER_EX_20180914; --테이블 데이..
테이블을 생성할 시 테이블과 컬럼에다가 설명을 달 수 있습니다. 이렇게 해놓으면 처음에는 좀 귀찮아도 나중에 컬럼의 뜻이 기억이 안날때 Comment를 찾아본다면 이 컬럼이 왜 존재하는지 추후에도 알 수 있습니다. 대개 의무적으로 등록하게 합니다. 오라클 테이블 & 컬럼 Comment 추가,확인,삭제 방법 Comment 설정 --테이블 Comment 설정 COMMENT ON TABLE [테이블명] IS [Comment]; COMMENT ON TABLE EX_TABLE IS '예제 테이블'; --컬럼 Comment 설정 COMMENT ON COLUMN [테이블명].[컬럼명] IS '[Comment]'; COMMENT ON COLUMN EX_TABLE.DEPT IS '부서'; COMMENT ON COLUMN..
오라클에서의 테이블 생성 문법은 CREATE TABLE [테이블명]을 먼저 선언해준 뒤 그 밑으로 자신이 만들고 싶은 컬럼들을 써주시면 됩니다. 오라클 테이블 생성문법 CREATE TABLE EX_TABLE ( COMPANY VARCHAR(7) NOT NULL, DEPT VARCHAR(20) DEFAULT '미정' NOT NULL, TP VARCHAR(20), USER_ID VARCHAR(20) NOT NULL, TODAY DATE DEFAULT SYSDATE NOT NULL ); 오라클 테이블 PK설정 CREATE UNIQUE INDEX PK_EX_TABLE ON EX_TABLE (COMPANY,DEPT,TP,USER_ID); 오라클 테이블에 PK를 주는 방법입니다. PK생성 문법은 CREATE UNI..
오라클만 설치해서는 오라클을 효율적으로 다룰 수 없습니다. 오라클을 잘 사용할 수 있는 툴을 같이 다운받아줘야하죠. 대표적인 오라클 툴으로는 SQL Develoment와 Toad가 있습니다. 이번 포스팅에서는 Oracle for Toad의 다운방법에 대해 알아보도록 하겠습니다. 토드(Toad) 설치하기 1. Toad 설치/다운로드 경로 바로가기 위에 링크되어있는 사이트로 이동하시면 토드 홈페이지가 나옵니다. 그런 뒤 위와같이 Downloads -> Oracle -> Toad for Oracle을 차례로 클릭해줍니다. 2. Toad 무료버전 설치합니다. 그러면 위와같은 페이지가 나올텐데 여기서 Get Free Trial을 선택합니다. 3. 개발자를 위한 버전과 DBA를 위한 버전으로 나뉘어집니다. 저희는 ..
트랜잭션의 정의 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션의 특징 1. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다. 2. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다. 3. 하나의 트랜잭션은 Commit되거나 Rollback된다. 트랜잭션의 성질 Atomicity(원자성) 1. 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. 2. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오..
시스템 카탈로그란? 1. 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다. 2. 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다. 3. 데이터 정의어의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계 정보를 저장한다. 4. 카탈로그들이 생성되면 자료사전에 저장되기 떄문에 좁은 의미로는 카탈로그를 자료 사전이라고도 한다. 5. 카탈로그에 저장된 정보를 메타 데이터라고 한다. 카탈로그의 특징 1. 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해볼 수 ..
뷰(View)란 무엇인가? 1. 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다. 2. 뷰는 저장장치 내에 물리적으로 존재하지 않지만 사용자에게 있는 것처럼 간주된다. 3. 뷰는 데이터 보정작업, 처리과정 시험 등 임시적인 작업을 위한 용도로 활용된다. 4. 뷰는 조인문의 사용 최소화로 사용상의 편의성을 최대화 한다. 뷰(View)의 특징 1. 뷰는 기본테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같다. 2. 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다. 3. 데이터의 논리적 독립성을 제공할 수 있다. 4. 필요한 데이터만 뷰로 정의해서 처리..
내장 SQL의 정의 내장 SQL은 응용 프로그램 내에 데이터베이스에서 사용하는 데이터를 정의하거나 질의하는 SQL 문장을 내포하여 프로그램이 실행될 때 함께 실행되도록 호스트 프로그램언어로 만든 프로그램에 삽입된 SQL이다. 호스트 프로그램언어란C,Java,Pathon,Visual Basic같은 프로그래밍 언어를 의미합니다. 내장 SQL의 특징 1. 내장 SQL 실행문은 호스트 언어에서 실행문이 나타날 수 있는 곳이면 프로그램의 어느곳에서나 사용할 수 있다. 2. 일반 SQL문은 수행결과로 여러 개의 튜플을 반환하는 반면, 내장 SQL은 단 하나의 튜플만을 반환한다. 3. 내장 SQL문에 반환되는 튜플은 일반 변수를 사용하여 저장할 수 있다. 4. Host Program의 컴파일 시 내장 SQL문은 선행..
관계대수란? 1. 관계대수는 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다. 2. 관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션이다. 3. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다. 4. 대표적으로 순수 관계 연산자와 일반 집합 연산자가 있다. 순수 관계 연산자 ※ 순수관계 연산자란 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자를 말한다. 순수 관계 연산자 : Select, Project Join, Devision Select Select는 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을..
무결성이란? 무결성이란 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미한다 무결성을 유지하는 방법 대표적으로 사용되는 방법은 중앙 통제에 의한 데이터 갱신으로서, 이 방법은 검증 프로그램을 이용하여 모든 갱신 처리 과정에서 반드시 검증 단계를 거치도록 통제를 가한다. 검증 프로그램이 무결성을 검증하기 위해 무결성 규정을 사용한다. 규정이름 : 무결성 규정을 참조할 때 사용하는 식별자 트리거조건 : 트랜잭션의 접근 유형 및 데이터, 검사할 시기 명시 프레디킷(제약조건) : 무결성을 위한 검사조건 위반조치 : 검사결과 무결성 위반이 발견되었을 때 처리할 조치 무결성의 종류 1. 널 무결성 : 릴레이션의 특정속성 값이 Null이 될 수 없도록 하는 규정 2. 고유..
키(Key)란? : 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말한다. 키(Key)의 종류 후보키(Candidate Key) 1. 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다. 2. 하나의 릴레이션내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다. 3. 후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다. 유일성 : 하나의 키값으로 하나의 튜플만을 유일하게 식별할 수 있어야한다. 최소성 : 모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성만으로 ..
데이터베이스 설계 데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는것이다. 데이터베이스 설계 시 고려사항 1. 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약조건을 항상 만족해야함 2. 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함 3. 회복 : 시스템에 장애가 발생했을 떄 장애 발생 직전의 상태로 복구할 수 있어야 함 4. 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 5. 효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의..