| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- C# @rendermode
- C# InteractiveServer
- 서버저장방식
- REST API
- InteractiveServer
- spring spring boot 차이점 공통점
- nosql
- C# CS
- 기술면접
- 스프링부트 단점
- jvm구성요소
- Blazor Web App
- SPA MPA 차이
- 스프링부트 장점
- Redundant Array of Independent
- 스프링부트의 장단점
- 정보처리기사실기 기본개념
- 스프링 스프링부트 차이점 공통점
- c언어 정보처리기사
- cs기술면접
- Blazor WebAssembly
- CS
- OPC-UA
- C#이론
- C# Blazor
- SPA MPA 특징
- Service Worker
- 프론트엔드
- 컴퓨터과학
- SPA MPA
- Today
- Total
담비의 개발블로그
국비지원교육 48일차(10주차&DB) 본문
데이터 사전
- 오라클 데이터베이스 테이블은 사용자 테이블과 데이터 사전으로 나뉜다. 데이터 사전에는 데이터베이스 메모리 · 성능 · 사용자 · 권한 · 객체 등 오라클 데이터베이스 운영에 중요한 데이터가 보관되어 있다.
- 사용 가능한 데이터 사전을 알고 싶다면 DICTIONARY 또는 DICT을 조회한다.
SELECT * FROM DICT;
| 접두어 | 설명 |
| USER_XXXX | 현재 데이트베이스에 접속한 사용자가 소유한 객체 정보(특정 계정이 가지고 있는 테이블 이름을 알고 싶을 때 유용하다) |
| ALL_XXXX | 현재 데이터베이스에 접속한 사용자가 소유한 객체 또는 다른 사용자가 소유한 객체 중 사용 허락을 받은 객체, 즉 사용 가능한 모든 객체 정보 |
| DBA_XXXX | 데이터베이스 관리를 위한 정보(데이터베이스 관리 권한을 가진 SYSTEM, SYS 사용자만 열람 가능) |
| V$_XXXX | 데이터베이스 성능 관련 정보(X$_XXXX테이블의 뷰) |
인덱스(INDEX)
- 데이터 검색 성능의 향상을 위해 테이블 열에 사용하는 객체
CREATE INDEX 인덱스 이름
ON 테이블 이름(열 이름 1 ASC ORE EDSC,
열 이름 2 ASC ORE EDSC,
...);
인덱스 삭제
DROP INDEX 인덱스 이름;
뷰(VIEW)
- 하나 이상의 테이블을 조회하는 SELECT문을 저장한 객체
- 읽기전용 테이블이라고 보면된다.
- SELECT문의 복잡도를 완화하기 위해 사용한다.(편리성)
- 테이블의 특정 열을 노출하고 싶지 않을 경우 사용한다.(보안성)
CREATE VIEW 뷰이름A AS (
SELECT FROM 구문);
시퀀스(SEQUENCE)
- 특정 규칙에 맞는 연속 숫자를 생성하는 객체이다.
CREATE SEQUENCE 시퀀스 이름
INCREMENT BY N (시퀀스에서 생성할 번호의 증가 값 기본값은 1)
START WITH N (시퀀스에서 생성할 번호의 시작 값 기본값은 1)
MAXVALUE N 또는 NOMAXVAULE (최댓값)
MINVALUE N 또는 NO MINVALUE (최솟값)
CYCLE 또는 NOCYCLE (시퀀스에서 생성한 번호가 최댃밗에 도달했을 경우 CYCLE이면 시작값에서 다시 시작, NOCYCLE이면 번호 생성이 중단되고, 추가 번호 생성을 요청하면 오류 발생)
CACHE N 또는 NACACHE (시퀀스가 생성할 번호를 메모리에 미리 할당해 놓은 수를 지정, NOCACHE는 미리 생성하지 않도록 설정. 옵션을 모두 생략하면 기본값은 20)
시퀀스 사용
- 시퀀스에서 마지막으로 새성한 번호를 반환
시퀀스 이름.CURRVAL
- 다음 번호를 생성
시퀀스 이름.NEXTVAL
시퀀스 수정
ALTER SEQUESNCE 시퀀스 이름
INCREMENT BY N
MAXVALUE N 또는 NOMAXVAULE
MINVALUE N 또는 NO MINVALUE
CYCLE 또는 NOCYCLE
CACHE N 또는 NACACHE
시퀀스 삭제
DROP SEQUESNCE
동의어
- 테이블 · 뷰 · 시퀀스 등 객체 이름 대신 사용할 수 있는 다름 이름을 부여하는 객체이다.
- 주로 테이블 이름이 너무 길어 사용이 불편할 떄 좀 더 간단하고 짧은 이름을 하나 더 만들어 주기 위해 사용한다.
- 생성한 동의어는SELECT, INSERT, UPDATE, DELETE등 다양한 SQL문에서 사용할 수 있다.
CREATE PUBLIC SYNONYM 동의어 이름
FOR 사용자.객체이름;
동의어 삭제
DROP SYNONYM 동의어 이름;
제약조건
- 오라클에서 사용하는 제약 조건은 테이블의 특정 열에 지정한다.
- 제약 조건을 지정한 열에 제약 조건에 부합하지 않는 데이터를 저장할 수 없다.
- 무결성을 보장하기 위해 사용된다.
무결성
개체 무결성 : pk; 똑같은 자료, null이 없게 유지
영역(도메인)무결성 : not null, defalt같이 정해진 내용으로 구성
참조 무결성 : fk; 지정한 값 이외의 값이 없게 유지
NOT NULL
- 특정 열에 데이터의 중복 여부와는 상관없이 NULL의 저장을 허용하지 않는 제약조건이다.- CREATE 문으로 테이블을 생성할 때 지정할 수 있다.- 제약 조건에 이름을 직접 지정하려면 CONSTRAINT 키워드를 사용한다.- 실무에서 제약 조건이 많아진 후 찾기 어려워질 수 있으므로 이름 붙이는 규칙을 정하여 제약 조건 이름을 직접 지정하는 경우가 많다.- 생성한 테이블에 제약조건을 추가할 때는 ALTER와 MODIFY 키워드를 사용한다.- 제약 조건을 삭제할 때는 ALTER 명령어에 DROP CONSTRAINT키워드를 사용한다.
UNIQUE
- 열에 저장할 데이터의 중복을 허용하지 않을 때 사용한다.
- CREATE 문으로 테이블을 생성할 때 지정할 수 있다.
- NULL저장은 가능하다. NULL은 존재하지 않는 값 또는 해당 사항이 없다는 의미로 사용되는 툭수한 값이므로 NULL과 NULL 을 비교했을 때 값이 같은지를 확인할 수 없다. 그래서 NULL에는 중복의 의미를 부여할 수 없다.
- 제약 조건에 이름을 직접 지정하려면 CONSTRAINT 키워드를 사용한다.
- ALTER 명령어로 이미 생성되어 있는 테이블에 제약조건을 추가할 수 있다.
- 제약 조건을 삭제할 때는 ALTER 명령어에 DROP CONSTRAINT키워드를 사용한다.
PRIMARY KEY
- UNIQUE 와 NOT NULL 제약 조건의 특성을 모두 가지는 제약 조건이다.
- 데이터 중복을 허용하지 않고, NULL도 허용하지 않는다.
- 테이블에 하나밖에 지정할 수 없다.
- 특정열을 PRIMARY KEY로 지정하면 해당 열에는 자동으로 인덱스가 만들어진다.
- CREATE 문으로 테이블을 생성할 때 지정할 수 있다.
- 제약 조건에 이름을 직접 지정하려면 CONSTRAINT 키워드를 사용한다.
FOREIGN KEY
- 서로 다른 테이블 간 관계를 정의하는 데 사용한다.
- 특정 테이블에서 PRIMARY KEY 제약 조건을 지정한 열을 다른 테이블의 특정 열에서 참조하겠다는 의미로 지정할 수 있다.
- CREATE 문으로 테이블을 생성할 때 지정할 수 있다. REFERENCES키워드를 같이 사용한다.
- 제약 조건에 이름을 직접 지정하려면 CONSTRAINT 키워드를 사용한다.
- 열 데이터를 삭제할 떄 이 데이터를 참조하고 있는 데이터도 함께 삭제하는 방법
CONSTRAINT 제약 조건 이름 REFERENCES 참조 테이블(참조할 열) ON DELETE SET CASCADE
- 열 데이터를 삭제할 때 이 데이터를 참조하는 데이터를 NULL로 수정하는 방법
CONSTRAINT 제약 조건 이름 REFERENCES 참조 테이블(참조할 열) ON DELETE SET NULL
CHECK
- 열에 저장할 수 있는 값의 범위 또는 패턴을 정의할 때 사용한다.
- CREATE 문으로 테이블을 생성할 때 지정할 수 있다. REFERENCES키워드를 같이 사용한다.
- 제약 조건에 이름을 직접 지정하려면 CONSTRAINT 키워드를 사용한다.
DEFAULT
- 특정 열에 저장할 값이 지정되지 않았을 경우에 기본값을 지정할 수 있다.
- DEFAULT 키워드로 사용한다.
스키마(schema)
- 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다. 좀 더 자세하게 말하면 DB를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한 것이다.
- SCOTT과 같은 계정은 사용자이고, SCOTT계정으로 만든 모든 객체를 SCOTT의 스키마라고 한다.
ROWNUM
- ROWNUM은 SELECT해온 데이터에 일련번호를 붙인다. 테이블이나, 특정 집합에서 원하는 만큼의 행만 가져오고 싶을 때 행의 개수를 제한하는 용도로 사용한다.
'국비교육' 카테고리의 다른 글
| 국비지원교육 50일차(10주차&DB-ERD, 정규형) (0) | 2024.01.23 |
|---|---|
| 국비지원교육 49일차(10주차&DB-ERD, 정규형) (0) | 2024.01.22 |
| 국비지원교육 47일차(10주차&DB) (0) | 2024.01.18 |
| 국비지원교육 46일차(10주차&DB) (0) | 2024.01.17 |
| 국비지원교육 45일차(9주차&DB) (0) | 2024.01.16 |
