목록Programming (138)
C#,Delphi,Oracle,MSSQL 개발자블로그
오라클에서 COMMENT 다는 방법입니다. - TABLE COMMENT 추가 COMMENT ON TABLE 테이블명 IS '설명' - 컬럼 COMMENT 추가 COMMENT ON COLUMN 테이블명.필드명 IS '설명' - TABLE COMMENT 삭제 COMMENT ON TABLE 테이블명 IS '' - COLUMN COMMENT 확인 SELECT * FROM ALL_COL_COMMENTS WHERE TABLE_NAME = '테이블명'; - 해당 스키마의 모든 TABLE COMMENT 확인 SELECT * FROM ALL_TAB_COMMENTS WHERE OWNER = '스키마명' 출처: http://uniksy1106.tistory.com/167 [* 루이지노의 행복한 이야기 : )]
ORA-01765: specifying owner's name of the table is not allowed 이 에러는 ' RENAME 바꿀테이블명 TO 새로운테이블명 '으로 테이블을 바꿀 때, 발생한다. 이 떄에는, ' ALTER TABLE 스키마.바꿀테이블명 RENAME TO 새로운테이블명 '으로 테이블을 바꿔야 한다. ● RENAME 키워드와, ALTER TABLE 키워드로 테이블명을 바꿀때의 차이점은? - RENAME TO 키워드. RENAME 키워드는 자기 자신의 스키마 내의 테이블명만 수정이 가능하다. Ex. RENAME aaa TO bbb; (이 떄, 사용자는 aaa라는 테이블이 있는 스키마에 접속해 있어야 함. ) - ALTER TABLE 키워드. ALTER TABLE 키워드는 사용자가..
ANSI ( American National Standards Institute) / 미국표준협회 SQL 공부를 하다가 역사가 궁금해서 찾아보았다. ANSI SQL이라는 용어가 보여 ANSI가 무엇인지 정리하였다. SQL은 IBM에서 1970년대 초에 도널드 D. 챔벌린과 레이먼드 F. 보이스가 처음 개발하였다. 초기에는 SEQUEL (Structured English Query Language, 구조 영어 질의어)라는 이름으로 시작하였으며, IBM의 준 관계형 데이터베이스 관리 시스템 시스템 R에 저장된 데이터를 조작하고 수신하기 위해 고안되었다. SEQUEL은 나중에 SQL으로 바뀌었다. 그 까닭은 SEQUEL이 영국의 호커 시들리 항공사의 상표였기 때문이다. 1986년 SQL-86의 명칭(별칭 SQ..
● 사용자 접근 제어 - 데이터베이스 보안의 두 종류 1. 시스템 보안 ☞ 사용자명, 비밀번호 ☞ 사용자에게 할당된 디스크 공백 ☞ 사용자에 의해 허용된 시스템 작업 같은 시스템 수준에서의 데이터베이스의 액세스와 사용을 설명한다. 2. 데이터 보안 ☞ 데이터베이스 객체에 대한 액세스와 사용 ☞ 객체에 대해 사용자가 할 수 있는 작업 을 설명한다. ● 권한 특정 SQL문장을 실행하기 위한 권한이다. 80개 이상의 권한이 있다. - 시스템 권한 : 데이터베이스 액세스 획득 (system privilege 필요) - 객체권한 : 데이터베이스 객체 내용 조작 (object privilege 필요) 스키마 : 테이블, 뷰, 시퀀스 같은 객체의 모음. ● 사용자 생성 CREATE USER scott IDENTIFI..
● 데이터베이스 객체 - 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절을 사용하지 않는다. * 서브쿼리..