본문 바로가기
728x90

database5

[DataBase] Oracle DBMS Synonym (Public, Private)개념과 실습 1. Synonym이란? 시노님(Synonym)의 뜻은 동의어이며 일종의 별칭 오라클에서 쿼리문을 작성할 때 스키마명(소유자명)을 붙이지 않고 테이블을 사용하고 있다면 해당 테이블의 시노님을 사용하고 있는 것 시노님은 Table, View, Procedure, Function, Sequence 등의 오라클 오브젝트에 사용 가능 (mysql에는 없는 기능) MySQL은 DB.Table의 구조 2. Synonym의 장점 오브젝트명을 짧게하여 SQL문을 단순화 스키마, 오브젝트명(테이블명 등)이 변경 되어도 시노님만 재생성하면 SQL문은 변경하지 않아도 됨 오브젝트를 외부에 제공할 경우 스키마, 오브젝트명을 숨길 수 있어서 보안에 도움이 됨 3. Synonym 문법 CREATE [OR REPLACE] [PUB.. 2023. 2. 15.
[Database] Upsert란? DBMS 별 Upsert 예제 1. Upsert(Update + Insert)란? Upsert는 중복되는 값이 있다면 Update를 하고 중복되는 값이 없다면 Insert를 하는 쿼리 Unique Key의 값이 중복된다면 Update를 하고, Unique 컬럼의 값이 존재하지 않는다면 INSERT를 하는 것 Unique Key, 즉 중복되면 값이 있으면 안되는 컬럼에 추가하려는 데이터 값이 중복되지 않으면, INSERT 중복이 된다면, 중복의 대상이 되는 데이터 값을 UPDATE시키는 것(기준은 Unique Key 컬럼이다) 2. Upsert MySQL vs PostgreSQl 1. MySQL INSERT INTO users (col1, col2) VALUES ('val1', 'val2') ON DUPLICATE KEY UPDATE .. 2022. 6. 27.
[DataBase] MySQL,Oracle의 데이터베이스 계층 구조 비교 1. 일반적인 데이터베이스 계층 구조 MySQL에서 스키마와 데이터베이스가 어떻게 다른지 보기 전에 먼저 일반적인 데이터베이스의 4계층 구조를 보도록 하겠습니다. (정확한 지식이 아닌 전체적인 그림을 봅니다.) 데이터베이스 : 오라클의 경우 작동하는데 필요한 모든 파일을 의미합니다. 인스턴스 : DBMS가 동작할 때의 단위, OS 입장에서는 ‘프로세스’, DBMS에 따라서는 ‘서버 프로세스’ 또는 ‘서버’로 부르기도 합니다. 앞서 말한 데이터베이스가 실행 가능하게 메모리에 올라가 있는 걸 생각하시면 됩니다. 스키마 : 데이터베이스의 구조와 제약 조건을 정의한 것, 쉽게는 폴더에 해당하며 스키마도 폴더처럼 사용자가 자유롭게 만들 수 있고, 사용자에 따라 접근을 제한하는 등의 권한 관리가 가능합니다. 폴더이.. 2021. 1. 18.
[DataBase] 옵티마이저(Optimizer)와 실행계획 옵티마이저란? •옵티마이저(Optimizer)는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행한다. 이러한 실행 방법을 실행계획(Execution Plan)이라고 한다. •JAVA, C등과 같은 프로그램 언어와는 달리 SQL은 사용자의 요구사항만 기술할 뿐 처리과정에 대한 기술은 하지 않는다. 사용자 요구사항을 만족하는 결과를 추출할 수 있는 다양한 실행 방법들 중에서 최적의 실행 방법을 결정하는 것이 바로 옵티마이저의 역할이다. •옵티마이저가 선택한 실행 방법의 적절성 여부는 질의의 수행 속도에 가장 큰 영향 미치게 된다. 최적의 실행 방법 결정이라는 것은 어떤 방법으로 처리하는 것이 최소 일량으로 동일한 일을 처리할 수 있을지 결정하는 것이다. •옵티마이저는 실제로 SQL문.. 2021. 1. 13.
데이터베이스,SQL 조인(join)완벽 정리 ●(theta join)세타조인(R▷◁(r 조건 s)S): -조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 투플만 반환한다. -세타조인의 조건은{=,≠,≥,≤,>, 2020. 11. 28.
728x90