메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(Oracle (토론)의 414판 편집을 되돌림)
태그: 편집 취소
 
(같은 사용자의 중간 판 20개는 보이지 않습니다)
1번째 줄: 1번째 줄:
=== 데이터 베이스 용어 ===
 
{| class="wikitable"
__toc__
! 영문 용어 !! 한글 용어  !! 설명
 
|-
{{난이도
| SQL || 질의어 || Structured Query Language,SQL은 데이터베이스에서 데이터를 관리하거나 조작하기 위해 설계된 표준 프로그래밍 언어
|제목=학습단계 : 1단계
|-
|별1=1
| QUERY ||쿼리 || 질의어,SQL 문장에서 데이터를 조회하는 명령어를 Query 라 함.
}}
<source lang=sql>
===데이터 베이스 기본 용어===
# '''데이터베이스 (Database, DB)'''
#:* 데이터를 체계적으로 저장하고 관리하는 시스템
#:* 단순히 정보를 모아놓는 것 이상으로, 효율적인 검색, 수정, 삭제 등이 가능
# '''데이터 (Data)'''
#:* 현실 세계의 사실이나 값을 기록한 것
#: 예를 들어, 고객의 이름, 주문 번호, 제품 가격 등이 데이터가 될 수 있음.
# 스키마 (Schema)
#:* 데이터베이스의 전체적인 구조와 제약 조건을 정의한 것을 말함
#: 예를 들어, 건물을 짓기 전 설계도면과 같다고 생각하면 됨
# '''SQL (질의어)'''
## Structured Query Language,SQL은 데이터베이스에서 데이터를 관리하거나 조작하기 위해 설계된 표준 프로그래밍 언어
## QUERY(쿼리 - Query,SQL,질의어는 같은 의미를 가진다.)
## SQL 문장에서 데이터를 조회하는 명령어를 Query 라 함.
## 데이터를 검색(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)하는 등의 작업을 할 때 사용
##: <source lang="sql">
질의 > 학생들(STUDENTS) 에서 나이가 18보다 큰 학생의 이름과 ,나이를 조회  
질의 > 학생들(STUDENTS) 에서 나이가 18보다 큰 학생의 이름과 ,나이를 조회  
SQL  > SELECT name, age FROM STUDENTS WHERE age > 18;
SQL  > SELECT name, age FROM STUDENTS WHERE age > 18;
</source>
</source>
|-
# '''TABLE (테이블)'''
| TABLE || 테이블|| 데이터를 정리하고 표시하기 위한 행(row)과 열(column)로 구성된 구조, 엑셀에서 쉬트를 테이블과 유사하다고 생각하면 됨.
## 데이터를 정리하고 표시하기 위한 행(row)과 열(column)로 구성된 구조, 표 처럼 행과 열로 구성되어 있음
<source lang=sql>
## 엑셀 스프레드시트와 비슷하다고 생각하면
##:<source lang="sql">
===================  
===================  
| Name  | Age | City      |
| Name  | Age | City      |
21번째 줄: 37번째 줄:
---------------------------------
---------------------------------
</source>
</source>
 
##:* 테이블 생성 예시
* 테이블 생성 예시  
##:<source lang="sql">
<source lang=sql>
CREATE TABLE students (
CREATE TABLE students (
     id INT PRIMARY KEY,
     id INT PRIMARY KEY,
31번째 줄: 46번째 줄:
);
);
</source>
</source>
 
# '''COLUMN (컬럼(열))'''
 
## 컬럼은 세로 줄, 열을 의미, 엑셀에서 세로줄과 유사  
|-
## Column/Field/Attribute 이라고 함
| COLUMN || 컬럼(열) || 컬럼은 세로 줄, 열을 의미, 엑셀에서 세로줄과 유사  
## 테이블에서 특정 종류의 데이터를 담고 있는 세로줄
* 데이터값을 조회 하기위한 타이틀
## 예를 들어, '고객 이름', '주소', '전화번호' 등이 열이 됨
<source lang=sql>
##:* 데이터값을 조회 하기위한 타이틀
##:<source lang="sql">
===================  
===================  
| Name  | Age | City      |
| Name  | Age | City      |
===================  
===================  
</source>
</source>
 
# '''ROW (로우(행))'''
|-
## 로우는 줄,행을 의미, 엑셀에서 가로줄과 유사 , 주로 1개의 줄을 레코드라고 한다. 
| ROW ||로우(행) || 로우는 줄,행을 의미, 엑셀에서 가로줄과 유사 , 주로 1개의 줄을 레코드라고 한다.  
## Row/Record/Tuple 라고 한다.
* 데이터의 값이 저장되어 있다.
##:* 데이터의 값이 저장되어 있다.
<source lang=sql>
##:<source lang="sql">
| Alice  | 24  | New York |
| Alice  | 24  | New York |
---------------------------------
---------------------------------
| Bob    | 30  | Chicago  |
| Bob    | 30  | Chicago  |
</source>
</source>
|-
# '''INDEX (인덱스)'''
| INDEX || 인덱스 ||데이터를 빠르게 검색하기 위해 사용하는 특별한 데이터 구조, 책에 있는 목차(INDEX) 와 유사  
## 데이터를 빠르게 검색하기 위해 사용하는 특별한 데이터 구조, 책에 있는 목차(INDEX) 와 유사
|-
# '''VIEW ()'''
| VIEW || || 데이터베이스에서는 가상 테이블을 의미, 테이블에 있는 일부 속성(컬럼)을 사용하고 할때 사용
## 데이터베이스에서는 가상 테이블을 의미, 테이블에 있는 일부 속성(컬럼)을 사용하고 할때 사용
|}
# 기본 키 (Primary Key, PK): 테이블에서 각 행을 고유하게 식별할 수 있는 하나 이상의 열(또는 열들의 집합)이에요. 주민등록번호처럼 각 행을 유일하게 구분하는 역할을 해요.
# 외래 키 (Foreign Key, FK): 다른 테이블의 기본 키를 참조하는 열이에요. 여러 테이블 간의 관계를 설정하는 데 사용돼요. 예를 들어, 주문 테이블에 고객 테이블의 고객 ID가 외래 키로 있을 수 있어요.
# SELECT: 데이터베이스에서 데이터를 조회할 때 사용하는 SQL 명령문이에요.
# INSERT: 데이터베이스에 새로운 데이터를 추가할 때 사용하는 SQL 명령문이에요.
# UPDATE: 데이터베이스에 저장된 기존 데이터를 수정할 때 사용하는 SQL 명령문이에요.
# DELETE: 데이터베이스에 저장된 데이터를 삭제할 때 사용하는 SQL 명령문이에요.
# 트랜잭션 (Transaction): 데이터베이스의 상태를 변경시키는 논리적인 작업 단위예요. 모든 작업이 성공적으로 완료되거나, 아니면 모든 작업이 취소되어 원래 상태로 돌아가는 '원자성'을 가져요. (예: 은행 계좌 이체)
# 커밋 (Commit): 트랜잭션의 모든 변경 사항을 데이터베이스에 영구적으로 반영하는 명령이에요.
# 롤백 (Rollback): 트랜잭션 도중 오류가 발생하거나 취소하고 싶을 때, 변경 사항을 모두 취소하고 이전 상태로 되돌리는 명령이에요.
# 인덱스 (Index): 데이터베이스 테이블에서 원하는 데이터를 빠르게 찾을 수 있도록 돕는 구조예요. 책의 찾아보기와 비슷하다고 생각하시면 돼요. 인덱스가 없으면 데이터를 찾기 위해 모든 데이터를 스캔해야 할 수 있어요.
# 백업 (Backup): 데이터 손실에 대비하여 데이터베이스의 데이터를 복사해 두는 작업이에요.
# 복구 (Recovery): 손상된 데이터베이스를 백업된 데이터를 이용하여 이전 상태로 되돌리는 작업이에요.
데이터베이스 시스템 관련 용어
# DBMS (Database Management System): 데이터베이스를 관리하고 운영하는 소프트웨어 시스템이에요. Oracle, MySQL, SQL Server, PostgreSQL 등이 대표적인 DBMS예요.
# 서버 (Server): 데이터베이스를 저장하고 쿼리 요청을 처리하는 컴퓨터 또는 프로그램이에요.
# 클라이언트 (Client): 서버에 접속하여 데이터베이스를 이용하는 사용자 프로그램이나 응용 프로그램이에요.
이 외에도 업무에 따라 더 전문적인 용어들이 있겠지만, 위에 설명해 드린 용어들은 데이터베이스를 이용한 업무를 할 때 가장 기본적이고 핵심적인 개념들이니 알아두시면 많은 도움이 될 거예요.
 
=== 현업에서 사용하는 업무 용어 ===
==== 모델링 ====
* 데이터베이스에서 사용하는 테이블과 컬럼을 설계 하는 업무
* 주로 논리 모델은 모델링 단계를 의미하고 물리모델은 데이터베이스에 적용하는 단계를 의미함
 
==== Entity(엔터티) ====
* 주로 논리모델링에서 사용하는 용어로 속성을 포함하고 있는 객체를 의미함.
* 물리모델에서는 엔터티를 테이블이라 함.
 
==== ERD ====
* Entity Relationship Diagram
엔터티의 관계를 다이어그램으로 나타낸 도표
==== DW(데이터웨어하우스)====
* 현업 업무는 실시간 업무를 처리 하는 기간계와 통계성 업무를 처리하는 정보계로 나누어짐
* OLTP 업무는 기간계 , OLAP 업무는 정보계라 칭함
 
==== ASIS 시스템 ====
* 현재 개발중인 시스템(TOBE)에서 과거(이전)나 현재 운영중인 시스템을 부를때 칭함.
* 주로 레거시 나 AS-IS 라 칭함
 
==== TOBE 시스템 ====
* 현재 개발중인 시스템을 칭함
* 주로 차세대라 칭함.
 
----
----
{{:DDL DML DCL TCL}}
{{:DDL DML DCL TCL}}


----
----
{{:SELECT 구문}}
 
 
[[category:oracle]]
[[category:오라클 기본용어]]
[[category:오라클 DDL]]
[[category:오라클 DCL]]
[[category:오라클 TCL]]

2025년 7월 26일 (토) 09:36 기준 최신판

학습단계 : 1단계
★☆☆☆☆

데이터 베이스 기본 용어

  1. 데이터베이스 (Database, DB)
    • 데이터를 체계적으로 저장하고 관리하는 시스템
    • 단순히 정보를 모아놓는 것 이상으로, 효율적인 검색, 수정, 삭제 등이 가능
  2. 데이터 (Data)
    • 현실 세계의 사실이나 값을 기록한 것
    예를 들어, 고객의 이름, 주문 번호, 제품 가격 등이 데이터가 될 수 있음.
  3. 스키마 (Schema)
    • 데이터베이스의 전체적인 구조와 제약 조건을 정의한 것을 말함
    예를 들어, 건물을 짓기 전 설계도면과 같다고 생각하면 됨
  4. SQL (질의어)
    1. Structured Query Language,SQL은 데이터베이스에서 데이터를 관리하거나 조작하기 위해 설계된 표준 프로그래밍 언어
    2. QUERY(쿼리 - Query,SQL,질의어는 같은 의미를 가진다.)
    3. SQL 문장에서 데이터를 조회하는 명령어를 Query 라 함.
    4. 데이터를 검색(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)하는 등의 작업을 할 때 사용
      질의 > 학생들(STUDENTS) 에서 나이가 18보다 큰 학생의 이름과 ,나이를 조회 
      SQL  > SELECT name, age FROM STUDENTS WHERE age > 18;
  5. TABLE (테이블)
    1. 데이터를 정리하고 표시하기 위한 행(row)과 열(column)로 구성된 구조, 표 처럼 행과 열로 구성되어 있음
    2. 엑셀 스프레드시트와 비슷하다고 생각하면 돰
      =================== 
      | Name   | Age | City      |
      =================== 
      | Alice  | 24  | New York |
      ---------------------------------
      | Bob    | 30  | Chicago   |
      ---------------------------------
      • 테이블 생성 예시
      CREATE TABLE students (
          id INT PRIMARY KEY,
          name VARCHAR(100),
          age INT,
          city VARCHAR(100)
      );
  6. COLUMN (컬럼(열))
    1. 컬럼은 세로 줄, 열을 의미, 엑셀에서 세로줄과 유사
    2. Column/Field/Attribute 이라고 함
    3. 테이블에서 특정 종류의 데이터를 담고 있는 세로줄
    4. 예를 들어, '고객 이름', '주소', '전화번호' 등이 열이 됨
      • 데이터값을 조회 하기위한 타이틀
      =================== 
      | Name   | Age | City      |
      ===================
  7. ROW (로우(행))
    1. 로우는 줄,행을 의미, 엑셀에서 가로줄과 유사 , 주로 1개의 줄을 레코드라고 한다.
    2. Row/Record/Tuple 라고 한다.
      • 데이터의 값이 저장되어 있다.
      | Alice  | 24  | New York |
      ---------------------------------
      | Bob    | 30  | Chicago   |
  8. INDEX (인덱스)
    1. 데이터를 빠르게 검색하기 위해 사용하는 특별한 데이터 구조, 책에 있는 목차(INDEX) 와 유사
  9. VIEW (뷰)
    1. 데이터베이스에서는 가상 테이블을 의미, 테이블에 있는 일부 속성(컬럼)을 사용하고 할때 사용
  10. 기본 키 (Primary Key, PK): 테이블에서 각 행을 고유하게 식별할 수 있는 하나 이상의 열(또는 열들의 집합)이에요. 주민등록번호처럼 각 행을 유일하게 구분하는 역할을 해요.
  11. 외래 키 (Foreign Key, FK): 다른 테이블의 기본 키를 참조하는 열이에요. 여러 테이블 간의 관계를 설정하는 데 사용돼요. 예를 들어, 주문 테이블에 고객 테이블의 고객 ID가 외래 키로 있을 수 있어요.
  12. SELECT: 데이터베이스에서 데이터를 조회할 때 사용하는 SQL 명령문이에요.
  13. INSERT: 데이터베이스에 새로운 데이터를 추가할 때 사용하는 SQL 명령문이에요.
  14. UPDATE: 데이터베이스에 저장된 기존 데이터를 수정할 때 사용하는 SQL 명령문이에요.
  15. DELETE: 데이터베이스에 저장된 데이터를 삭제할 때 사용하는 SQL 명령문이에요.
  16. 트랜잭션 (Transaction): 데이터베이스의 상태를 변경시키는 논리적인 작업 단위예요. 모든 작업이 성공적으로 완료되거나, 아니면 모든 작업이 취소되어 원래 상태로 돌아가는 '원자성'을 가져요. (예: 은행 계좌 이체)
  17. 커밋 (Commit): 트랜잭션의 모든 변경 사항을 데이터베이스에 영구적으로 반영하는 명령이에요.
  18. 롤백 (Rollback): 트랜잭션 도중 오류가 발생하거나 취소하고 싶을 때, 변경 사항을 모두 취소하고 이전 상태로 되돌리는 명령이에요.
  19. 인덱스 (Index): 데이터베이스 테이블에서 원하는 데이터를 빠르게 찾을 수 있도록 돕는 구조예요. 책의 찾아보기와 비슷하다고 생각하시면 돼요. 인덱스가 없으면 데이터를 찾기 위해 모든 데이터를 스캔해야 할 수 있어요.
  20. 백업 (Backup): 데이터 손실에 대비하여 데이터베이스의 데이터를 복사해 두는 작업이에요.
  21. 복구 (Recovery): 손상된 데이터베이스를 백업된 데이터를 이용하여 이전 상태로 되돌리는 작업이에요.

데이터베이스 시스템 관련 용어

  1. DBMS (Database Management System): 데이터베이스를 관리하고 운영하는 소프트웨어 시스템이에요. Oracle, MySQL, SQL Server, PostgreSQL 등이 대표적인 DBMS예요.
  2. 서버 (Server): 데이터베이스를 저장하고 쿼리 요청을 처리하는 컴퓨터 또는 프로그램이에요.
  3. 클라이언트 (Client): 서버에 접속하여 데이터베이스를 이용하는 사용자 프로그램이나 응용 프로그램이에요.

이 외에도 업무에 따라 더 전문적인 용어들이 있겠지만, 위에 설명해 드린 용어들은 데이터베이스를 이용한 업무를 할 때 가장 기본적이고 핵심적인 개념들이니 알아두시면 많은 도움이 될 거예요.

현업에서 사용하는 업무 용어

모델링

  • 데이터베이스에서 사용하는 테이블과 컬럼을 설계 하는 업무
  • 주로 논리 모델은 모델링 단계를 의미하고 물리모델은 데이터베이스에 적용하는 단계를 의미함

Entity(엔터티)

  • 주로 논리모델링에서 사용하는 용어로 속성을 포함하고 있는 객체를 의미함.
  • 물리모델에서는 엔터티를 테이블이라 함.

ERD

  • Entity Relationship Diagram

엔터티의 관계를 다이어그램으로 나타낸 도표

DW(데이터웨어하우스)

  • 현업 업무는 실시간 업무를 처리 하는 기간계와 통계성 업무를 처리하는 정보계로 나누어짐
  • OLTP 업무는 기간계 , OLAP 업무는 정보계라 칭함

ASIS 시스템

  • 현재 개발중인 시스템(TOBE)에서 과거(이전)나 현재 운영중인 시스템을 부를때 칭함.
  • 주로 레거시 나 AS-IS 라 칭함

TOBE 시스템

  • 현재 개발중인 시스템을 칭함
  • 주로 차세대라 칭함.

SQL 종류

  • DDL DML DCL TCL

DDL (Data Definition Language; 데이터 정의 언어)

  1. 데이터 정의어
    :데이터베이스의 구조를 만들고 변경,수정 하는 명령어
    1. - CREATE TABLE : 테이블 생성
    2. - ALTER TABLE  : 테이블 수정
    3. - DROP TABLE  : 테이블 삭제
    4. - CREATE INDEX : 인덱스 생성
    5. - ALTER INDEX  : 인덱스 수정
    6. - DROP INDEX  : 인덱스 삭제

DML (Data Manipulation Language; 데이터 조작 언어)

  1. 데이터 조작어
    :테이블 안의 데이터를 넣고, 바꾸고, 지우고, 조회하는 데 사용해요.
    1. - SELECT
    2. - SELECT INTO
    3. - INSERT
    4. - DELETE
    5. - UPDATE
    6. - CREATE SEQUENCE
    7. - ALTER SEQUENCE
    8. - DROP SEQUENCE

DCL (Data Control Language : 데이터 제어 언어)

  1. 데이터 제어어
    사용자 권한을 관리해요. 누가 무엇을 할 수 있는지 정해요.
    1. - CREATE USER
    2. - ALTER USER
    3. - GRANT
  2. TCL (Transaction Control Language; 트랜잭션 제어 언어)
    1. - COMMIT
    2. - ROLLBACK

DDL (Data Definition Language; 데이터 정의 언어)

  • CREATE / ALTER / DROP [테이블 or 인덱스]

CREATE TABLE (테이블 생성)

CREATE TABLE 테이블명 (
    컬럼명 컬럼 타입 ,
             ... ,
    <column-name-n> <type>
)
[tablespace 테이블스페이스명] -- 생략시 default tablespace에 생성.
;

ALTER TABLE (테이블 변경)

  • 컬럼 추가
    ALTER TABLE 테이블명
    ADD ( 컬럼명 데이터타입, ...<column-name-n> <type> );
  • 컬럼 수정
    ALTER TABLE 테이블명
    MODIFY ( 컬럼명 새로운타입 );
  • 컬럼 삭제
     
    ALTER TABLE 테이블명
     DROP COLUMN 컬럼명;

DROP TABLE (테이블 삭제)

DROP TABLE 테이블명 ;

CREATE INDEX (인덱스 생성)

CREATE INDEX 인덱스명 
    ON 테이블명 (
              컬럼1,컬럼2, ...
              );

ALTER INDEX (인덱스 수정)

  • 인덱스 재생성 (통계정보 수집은 동시에 )
    -- COLLECTING STATISTICS ON INDEX
    ALTER INDEX 인덱스 
        REBUILD COMPUTE STATISTICS; -- 인덱스를 통계정보화 함께 리빌드 한다.
  • 인덱스명 변경
    -- RENAME INDEX
    ALTER INDEX 인덱스명
         RENAME TO 새 인덱스명;

DROP INDEX (인덱스 삭제)

DROP INDEX 인덱스명;

DML (Data Manipulation Language; 데이터 조작 언어)

SELECT (조회)

SELECT 컬럼명1, 컬럼명2, ..., <column-name-n>
 FROM 테이블명1,테이블명2, ..., <table-name-n>
WHERE <조건 표현 구문 >
GROUP BY <그룹핑 컬럼>, ..., <grouping-column-name-n>
HAVING <그룹핑 표현구문>
 ORDER BY <정렬 컬럼1>, ..., <order-column-name-n>
;

INSERT (입력)

  • 전체 데이터 입력시
    -- INSERT ALL VALUES
    INSERT INTO 테이블명
    VALUES ( 값1, ..., <value-n> );
  • 부분 데이터 입력시
     
    -- INSERT SOME VALUES
    INSERT INTO 테이블명 ( 컬럼명1, ..., <column-name-n> )
    VALUES ( 값1, ..., <value-n> );

DELETE (삭제)

DELETE FROM 테이블명
      WHERE 조건표현구문;

UPDATE (갱신)

UPDATE 테이블명
   SET 컬럼명 = <value>
 WHERE 조건표현구문

CREATE SEQUENCE (순서/번호 채번)

CREATE SEQUENCE 시퀀스명
       MINVALUE <min-value>
       MAXVALUE <max-value>
     START WITH <start-value>
   INCREMENT BY <step-value>
          CACHE <cache-value>

ALTER SEQUENCE (순번 변경)

-- ALTER MINVALUE 최소값 변경
ALTER SEQUENCE 시퀀스명 MINVALUE <new-min-value>;

-- ALTER MAXVALUE 최대값 변경
ALTER SEQUENCE 시퀀스명 MAXVALUE <new-max-value>;

-- ALTER INCREMENT 증가값 변경
ALTER SEQUENCE 시퀀스명 INCREMENT BY <new-step-value>;

-- SET CYCLE OR NOCYCLE 순환 여부 변경
ALTER SEQUENCE 시퀀스명 <CYCLE | NOCYCLE>;

-- ALTER CACHE 캐시 건수 변경
ALTER SEQUENCE 시퀀스명 CACHE <new-cache-value>;

DROP SEQUENCE

DROP SEQUENCE 시퀀스명;

DCL (Data Control Language; 데이터 제어 언어)

  • CREATE USER
CREATE USER 유저명 IDENTIFIED BY <user-password>;
  • ALTER USER
ALTER USER 유저명 IDENTIFIED BY <new-user-password>;
  • GRANT
GRANT 권한 TO 유저명;

TCL (Transaction Control Language; 트랜잭션 제어 언어)

  • COMMIT
  • ROLLBACK