Download presentation
Presentation is loading. Please wait.
1
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리
2
테이블 생성 개요 테이블 생성은 테이블에 대한 구조를 정의하고, 데이터를 저장하기 위한 공간을 할당하는 과정 테이블에 대한 구조 정의는 테이블을 구성하는 칼럼의 데이터 타입과 무결서 제약조건을 정의하는 과정 테이블 이름 정의 방법 문자(A-Z, a-z)로 시작, 30자 이내 문자(a-z,A-Z), 숫자(0-9), 특수문자(_,$,#) 사용 가능 대소문자 구별 없음, 소문자로 저장하려면 단일 인용부호 이용 동일 사용자가 소유한 다른 객체의 이름과 중복 불가 서로 다른 테이블에서 동일한 데이터를 저장하는 칼럼 이름은 가능하면 같은 이름을 사용 필요에 따라 언제든지 테이블 생성 가능 완성된 설계도에 따라 테이블을 생성 권장 11장. 테이블 관리와 데이터 딕셔너리
3
테이블 생성 방법 11장. 테이블 관리와 데이터 딕셔너리
4
테이블 생성 방법 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
5
테이블 생성 방법 11장. 테이블 관리와 데이터 딕셔너리
6
DEFAULT 옵션 기능 칼럼의 입력 값이 생략될 경우에 NULL 대신에 입력되는 기본 값을 지정하기 위한 기능
기본값 : 리터럴 값, 표현식, SQL함수 , SYSDATE, USER를 사용 칼럼이나 의사칼럼(NEXTVAL, CURRVAL)은 사용할 수 없음 11장. 테이블 관리와 데이터 딕셔너리
7
테이블 생성 확인 DESC[RIBE] 명령어 테이블의 생성 여부와 테이블의 구조를 확인하기 위한 명령어
칼럼 이름, 데이터 타입과 크기, NOT NULL 무결성 제약조건 11장. 테이블 관리와 데이터 딕셔너리
8
서브쿼리를 이용한 테이블 생성 개요 CREATE TABLE 명령문에서 서브쿼리 절을 이용하여 다른 테이블의 구조와 데이터를 복사하여 새로운 테이블 생성 가능 서브쿼리의 출력 결과가 테이블의 초기 데이터로 삽입 기능 CREATE TABLE 명령문에서 지정한 칼럼 수와 데이터 타입과 반드시 일치 칼럼 이름을 명시하지 않을 경우 서브쿼리 칼럼 이름과 동일 무결성 제약조건은 NOT NULL 조건만 복사 기본 키, 참조 키와 같은 무결성 제약조건은 사용자의 재정의 필요 디폴트 옵션에서 정의한 값은 그대로 복사 11장. 테이블 관리와 데이터 딕셔너리
9
서브쿼리를 이용한 테이블 생성 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
10
SQL PLUS를 이용한 실습 서브쿼리를 이용한 테이블 생성 11장. 테이블 관리와 데이터 딕셔너리
11
서브쿼리를 이용한 테이블 생성 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
12
테이블 구조 복사 기존 테이블의 구조만 복사 서브쿼리를 이용한 테이블 생성시 데이터는 복사하지 않고 기존 테이블의 구조만 복사 가능 서브퀴리의 WHERE 조건절에 거짓이 되는 조건을 지정하여 출력 결과 집합이 생성되지 않도록 지정 11장. 테이블 관리와 데이터 딕셔너리
13
테이블 구조 복사 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
14
테이블 구조 변경 개요 칼럼추가 ALTER TABLE 명령문 이용 칼럼 추가, 삭제, 타입이나 길이의 재정의와 같은 작업
ALTER TABLE … ADD 명령문 사용 추가된 칼럼은 테이블의 마지막 부분에 생성, 위치 지정 불가능 추가된 칼럼에도 기본 값을 지정 가능 수정할 테이블에 기존 데이터가 존재하면 칼럼 값은 NULL로 입력 11장. 테이블 관리와 데이터 딕셔너리
15
테이블에 칼럼 추가 11장. 테이블 관리와 데이터 딕셔너리
16
테이블에 칼럼 추가 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
17
테이블 칼럼 삭제 기능 테이블 내의 특정 칼럼과 칼럼의 데이터를 삭제
ALTER TABLE … DROP COLUMN 명령문 사용 2개 이상의 칼럼이 존재하는 테이블에서만 삭제 가능 하나의 칼럼 삭제 명령문은 하나의 칼럼만 삭제 가능 11장. 테이블 관리와 데이터 딕셔너리
18
테이블 칼럼 삭제 11장. 테이블 관리와 데이터 딕셔너리
19
테이블 칼럼 변경 기능 테이블에서 칼럼의 타입, 크기, 기본 값 변경 가능 ALTER TABLE … MODIFY 명령문 이용
기존 칼럼에 데이터가 없는 경우 칼럼 타입이나 크기 변경이 자유로움 기존 데이터가 존재하는 경우 타입 변경은 CHAR와 VARCHAR2만 허용 변경한 칼럼의 크기가 저장된 데이터의 크기보다 같거나 클 경우 변경 가능 숫자 타입에서는 정밀도 증가 가능 기본 값의 변경은 변경 후에 입력되는 데이터부터 적용 11장. 테이블 관리와 데이터 딕셔너리
20
테이블 칼럼 변경 11장. 테이블 관리와 데이터 딕셔너리
21
테이블 칼럼 변경 11장. 테이블 관리와 데이터 딕셔너리
22
테이블 이름 변경 기능 RENAME 명령문 사용 객체의 이름을 변경하는 DDL 명령문
뷰, 시퀀스, 동의어 등과 같은 데이터베이스 객체의 이름 변경 가능 11장. 테이블 관리와 데이터 딕셔너리
23
테이블 이름 변경 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
24
테이블 삭제 기능 기존 테이블과 데이터를 모두 삭제 DROP TABLE 명령문 사용
삭제된 테이블 칼럼에 대해 생성된 인덱스도 함께 삭제 삭제된 테이블과 관련된 뷰와 동의어 ‘invalid’ 상태 삭제할 테이블의 기본 키나 고유 키를 다른 테이블에서 참조하고 있는 경우 삭제 불가능 참조하는 테이블(자식 테이블)을 먼저 삭제 DROP TABLE 명령문 마지막에 CASCADE CONSTRAINTS 옵션을 사용하여 무결성 제약조건을 동시에 삭제 11장. 테이블 관리와 데이터 딕셔너리
25
테이블 삭제 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
26
TRUNCATE 명령문 기능 DELETE 명령문과 차이 테이블 구조는 그대로 유지하고, 테이블의 데이터와 할당된 공간만 삭제
테이블에 생성된 제약조건과 연관된 인덱스, 뷰, 동의어는 유지 DELETE 명령문과 차이 DELETE 명령문 기존 데이터만 삭제하는 명령이며, ROLLBACK 가능 WHERE 절을 이용하여 특정 행만 삭제 가능 TRUNCATE 명령문 기존 데이터 삭제뿐 아니라, 물리적인 저장 공간까지 반환 DDL 문이므로 ROLLBACK 이 불가능 WHERE 절을 이용하여 특정 행만 삭제하는 것이 불가능 11장. 테이블 관리와 데이터 딕셔너리
27
TRUNCATE 명령문 SQL PLUS를 이용한 실습 11장. 테이블 관리와 데이터 딕셔너리
28
TRUNCATE 명령문 11장. 테이블 관리와 데이터 딕셔너리
29
주석 추가 기능 테이블이나 칼럼에 최대 2,000 바이트까지 주석을 추가 COMMENT ON TABLE … IS 명령문 이용
추가된 주석 확인 ALL_COL_COMMENTS, USER_COL_COMMENTS, ALL_TAB_COMMENTS 데이터 딕셔너리 질의 11장. 테이블 관리와 데이터 딕셔너리
30
주석 추가 11장. 테이블 관리와 데이터 딕셔너리
31
데이터 딕셔너리 개요 사용자와 데이터베이스 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블의 집합
딕셔너리 내용의 수정은 오라클 서버만 가능 오라클 서버는 데이타베이스의 구조, 감사, 사용자 권한, 데이터 등의 변경 사항을 반영하기 위해 지속적 수정 및 관리 데이타베이스 관리자나 일반 사용자는 읽기 전용 뷰에 의해 데이터 딕셔너리의 내용을 조회만 가능 실무에서는 테이블, 칼럼, 뷰 등과 같은 정보를 조회하기 위해 사용 11장. 테이블 관리와 데이터 딕셔너리
32
데이터 딕셔너리 데이터 딕셔너리의 관리 정보 데이터베이스의 물리적 구조와 객체의 논리적 구조
오라클 사용자 이름과 스크마 객체 이름 사용자에게 부여된 접근 권한과 롤 무결성 제약조건에 대한 정보 칼럼별로 지정된 기본값 스키마 객체에 할당된 공간의 크기와 사용 중인 공간의 크기 정보 객체 접근 및 갱신에 대한 감사 정보 데이터베이스 이름, 버전, 생성날짜, 시작모드, 인스턴스 이름 정보 11장. 테이블 관리와 데이터 딕셔너리
33
데이터 딕셔너리의 종류 개요 다수의 사용자가 동일한 데이터를 공유 읽기 전용 뷰로 구성
데이터베이스 관리자나 사용자에게 데이터 딕셔너리에 저장된 정보 조회 허용 용도에 따라 USER, ALL, DBA 접두어를 사용하여 분류 11장. 테이블 관리와 데이터 딕셔너리
34
USER_ 데이터 딕셔너리 뷰 기능 일반 사용자와 가장 밀접하게 관련된 뷰
자신이 생성한 테이블, 인덱스, 뷰, 동의어 등의 객체나 해당 사용자에게 부여된 권한 정보 조회 11장. 테이블 관리와 데이터 딕셔너리
35
USER_ 데이터 딕셔너리 뷰 11장. 테이블 관리와 데이터 딕셔너리
36
ALL_ 데이터 딕셔너리 뷰 기능 데이터베이스 전체 사용자와 관련된 뷰 해당 객체의 소유자를 확인가능
OWNER 칼럼 존재 사용자는 ALL_ 딕셔너리 뷰를 이용하여 접근할 수 있는 모든 객체에 대한 정보 조회 가능 11장. 테이블 관리와 데이터 딕셔너리
37
데이터 딕셔너리의 종류 11장. 테이블 관리와 데이터 딕셔너리
38
DBA_ 데이터 딕셔너리 뷰 DBA_ 데이터 딕셔너리 뷰 시스템 관리와 관련된 뷰
DBA 나 SELECT ANY TABLE 시스템 권한을 가진 사용자 사용자 접근 권한, 데이터베이스 자원관리 목적 11장. 테이블 관리와 데이터 딕셔너리
39
DBA_ 데이터 딕셔너리 뷰 11장. 테이블 관리와 데이터 딕셔너리
40
데이터 딕셔너리의 종류 11장. 테이블 관리와 데이터 딕셔너리
41
사용자 테이블 정보 조회 USER_TABLES
테이블이 저장된 테이블스페이스 이름, 데이터가 저장된 물리적 공간 그리고 블록 파라미터 정보 등과 같은 정보를 저장 11장. 테이블 관리와 데이터 딕셔너리
42
USER_OBJECT 기능 사용자가 생성한 테이블 정보와 함께 인덱스, 시퀀스, 동의어, 뷰 같은 객체에 대한 이름, 종류, 생성 날짜 등 정보 저장 11장. 테이블 관리와 데이터 딕셔너리
43
USER_CATALOG 기능 사용자 소유로 생성된 모든 객체 이름과 객체 종류에 대한 정보 저장
Table_name : 객체 이름 Table_type : 객체 종류 11장. 테이블 관리와 데이터 딕셔너리
44
USER_CATALOG 11장. 테이블 관리와 데이터 딕셔너리
Similar presentations