일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래머스
- 제어문
- int오류
- 자바
- .repeat
- 작성순서
- for문
- SQL
- SELECT 절
- Java
- Join
- 상속
- 카카오인턴십
- 연산자
- HAVING
- 향상된for문
- 삼항연산자
- 생성자
- ifelse
- .substring
- sql오류
- 칼럼명에 별칭 지정
- 이터레이블
- 객체
- 겟터
- setter
- 생성자쓰는이유
- 오라클
- getter
- executeUpdate
- Today
- Total
CoDream
[DB-Oracle] DB 용어 정리 (DBMS, 필드, 레코드, DDL, DQL,TCL ...) 본문
[DB-Oracle] DB 용어 정리 (DBMS, 필드, 레코드, DDL, DQL,TCL ...)
코잠 2024. 3. 18. 09:42"DB" == "데이터베이스"
데이터베이스는 체계화된 데이터의 모임으로, 데이터의 저장, 관리, 조작 및 검색을 위해 컴퓨터에 저장되는 정보 집합을 말합니다. 데이터베이스는 일반적으로 구조화된 형식으로 저장되며, 여러 사용자나 응용 프로그램이 동시에 접근할 수 있도록 공유됩니다.
데이터베이스는 일반적으로 행과 열로 구성된 테이블의 집합으로 이루어져 있습니다. 각 테이블은 특정 주제나 업무 영역에 대한 데이터를 포함하고 있으며, 행은 개별 데이터 레코드를 나타내고 열은 각 레코드의 속성을 나타냅니다.
데이터베이스는 정보를 효과적으로 저장하고 관리하여 데이터의 일관성, 무결성, 보안을 보장하는데 사용됩니다. 데이터베이스는 관계형 데이터베이스, NoSQL 데이터베이스, 그래프 데이터베이스 등 다양한 유형이 있으며, 각각의 유형은 특정한 사용 사례나 요구 사항을 충족하기 위해 설계되었습니다.
개념과 용어
- 데이터베이스 개념: 데이터베이스는 체계화된 데이터의 모임입니다. 이는 여러 개체(Entities)나 주제(Subjects)에 관련된 정보를 구조화하여 저장하는 데 사용됩니다.
- DBMS (Database Management System): 데이터베이스를 관리하고 제어하는 시스템입니다. DBMS는 데이터를 저장, 수정, 검색 및 관리하는 데 사용됩니다. 대표적인 DBMS로는 Oracle, MySQL, SQL Server, PostgreSQL 등이 있습니다.
- 테이블(Table): 데이터베이스에서 정보를 저장하는 기본 단위입니다. 테이블은 행(Row)과 열(Column)로 구성되며, 각 행은 하나의 **레코드(Record)**를 나타냅니다.
- 열(Column) 또는 필드(Field): 테이블의 세로 방향으로 구성된 데이터 요소입니다. 각 열은 특정한 데이터 유형과 제약 조건을 가질 수 있습니다.
- 행(Row) 또는 레코드(Record): 테이블의 가로 방향으로 구성된 데이터 요소입니다. 각 행은 테이블에 저장된 개별 데이터 레코드를 나타냅니다.
- 기본키(Primary Key): 테이블에서 각 행을 고유하게 식별하기 위해 사용되는 열(또는 열의 조합)입니다. 기본키는 중복되지 않고 NULL 값을 가질 수 없습니다.
- 외래키(Foreign Key): 두 개의 테이블 간의 관계를 나타내는 열입니다. 외래키는 다른 테이블의 기본키를 참조합니다.
- SQL (Structured Query Language): 데이터베이스에서 정보를 검색, 삽입, 수정, 삭제하기 위해 사용되는 언어입니다. SQL은 데이터베이스 관리 시스템과 상호 작용하기 위한 표준화된 언어입니다.
- 인덱스(Index): 테이블의 성능을 향상시키기 위해 사용되는 데이터 구조입니다. 인덱스는 특정 열(또는 열의 조합)에 대한 빠른 검색을 가능하게 합니다.
- 관계형 데이터베이스: 테이블 간의 관계를 사용하여 데이터를 저장하는 데이터베이스 시스템입니다. 관계형 데이터베이스는 테이블 간의 관계를 이용하여 데이터를 구성하고 관리합니다.
SQL 용어
DDL (Data Definition Language): 데이터 정의 언어는 데이터베이스 구조를 정의하거나 수정하는 데 사용됩니다.
주요 DDL 명령어에는 CREATE, ALTER, DROP, TRUNCATE 등이 있습니다.
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Department VARCHAR(50)
);
DML (Data Manipulation Language): 데이터 조작 언어는 데이터를 삽입, 수정, 삭제, 검색하는 데 사용됩니다.
주요 DML 명령어에는 SELECT, INSERT, UPDATE, DELETE 등이 있습니다.
INSERT INTO Employees (Name, Department) VALUES ('John Doe', 'HR');
DQL (Data Query Language): 데이터 질의 언어는 데이터베이스에서 데이터를 검색하는 데 사용됩니다.
주요 DQL 명령어는 SELECT 입니다. 일반적으로 DQL은 DML의 하위 집합으로 간주됩니다.
SELECT * FROM Employees WHERE Department = 'IT';
DCL (Data Control Language): 데이터 제어 언어는 데이터베이스에 대한 접근 권한을 제어하는 데 사용됩니다.
주요 DCL 명령어에는 GRANT와 REVOKE가 있습니다.
GRANT SELECT ON Employees TO HR_Manager;
TCL (Transaction Control Language): 트랜잭션 제어 언어는 데이터 변경을 트랜잭션으로 관리하는 데 사용됩니다. 주요 TCL 명령어에는 COMMIT, ROLLBACK, SAVEPOINT 등이 있습니다.
BEGIN TRANSACTION;
UPDATE Employees SET Salary = Salary * 1.1 WHERE Department = 'IT';
COMMIT;
이러한 SQL 용어들은 데이터베이스 관리와 상호작용하는 데 필수적입니다. 각각의 용어는 특정 작업 또는 목적을 수행하기 위해 사용됩니다.
데이터베이스 용도
- 데이터 저장: 데이터베이스는 대량의 데이터를 구조화하여 저장하는 데 사용됩니다. 이는 사용자 정보, 제품 정보, 주문 정보 등과 같은 다양한 유형의 데이터를 포함할 수 있습니다.
- 데이터 검색 및 조회: 데이터베이스는 저장된 데이터를 쿼리하여 필요한 정보를 검색하고 조회하는 데 사용됩니다. 이는 사용자가 웹사이트나 애플리케이션에서 검색 기능을 사용하여 정보를 찾는 데 사용될 수 있습니다.
- 데이터 수정 및 업데이트: 데이터베이스는 저장된 데이터를 수정하거나 업데이트하는 데 사용됩니다. 이는 새로운 정보의 추가, 기존 정보의 수정 또는 삭제를 포함할 수 있습니다.
- 데이터 분석: 데이터베이스를 사용하여 데이터를 분석하고 인사이트를 도출하는 데 사용됩니다. 이는 비즈니스 결정을 지원하거나 추세를 파악하는 데 도움이 될 수 있습니다.
- 보안 관리: 데이터베이스는 데이터의 접근 권한을 관리하고 데이터의 보안을 유지하는 데 사용됩니다. 이는 데이터베이스 관리자가 데이터에 대한 액세스 권한을 제어하고 보안 정책을 시행하는 데 도움이 됩니다.
- 다중 사용자 지원: 데이터베이스는 여러 사용자가 동시에 데이터에 액세스할 수 있는 환경을 제공합니다. 이는 여러 사용자가 동시에 작업하고 데이터를 공유하는 데 유용합니다.
- 트랜잭션 관리: 데이터베이스는 데이터 조작을 안전하게 처리하기 위한 트랜잭션 관리 기능을 제공합니다. 이는 데이터의 일관성과 무결성을 보장하고 데이터베이스에서 발생하는 오류를 처리하는 데 사용됩니다.
오라클 데이터베이스 장점
- 신뢰성과 안정성: 오라클은 고도로 안정적이고 신뢰할 수 있는 데이터베이스 시스템으로 인정받고 있습니다. 많은 기업이 비즈니스 중요한 데이터를 오라클 데이터베이스에 저장하고 있으며, 데이터 손실 또는 시스템 장애의 위험이 상대적으로 낮습니다.
- 성능: 오라클은 고성능 처리를 위해 최적화되어 있으며, 대량의 데이터를 효율적으로 처리할 수 있습니다. 병렬 처리, 쿼리 최적화 및 다양한 성능 튜닝 기능을 통해 데이터베이스 성능을 최대화할 수 있습니다.
- 확장성: 오라클은 대규모 엔터프라이즈 환경에 적합한 확장성을 제공합니다. 클러스터링, 데이터 파티셔닝 및 다중 인스턴스 구성과 같은 기능을 통해 시스템을 확장하고 부하를 분산시킬 수 있습니다.
- 보안: 오라클은 강력한 보안 기능을 제공하여 데이터를 보호합니다. 암호화, 접근 제어, 감사 및 인증 기능을 통해 데이터의 기밀성, 무결성 및 가용성을 보장할 수 있습니다.
- 다양한 기능과 옵션: 오라클은 다양한 기능과 옵션을 제공하여 다양한 비즈니스 요구 사항을 지원합니다. 데이터 웨어하우징, 비즈니스 인텔리전스, 고가용성 및 백업/복구 솔루션 등의 기능을 포함하여 다양한 영역에서 확장 가능한 솔루션을 제공합니다.
- 지원 및 에코시스템: 오라클은 전 세계적으로 널리 사용되며, 풍부한 지원 및 커뮤니티 생태계를 갖추고 있습니다. 고객은 전문적인 지원 서비스와 다양한 컨설팅 서비스를 받을 수 있으며, 커뮤니티를 통해 정보를 공유하고 문제를 해결할 수 있습니다.
단점
- 비용: 오라클 데이터베이스는 상대적으로 높은 라이선스 및 유지 보수 비용이 발생합니다. 이는 중소기업이나 예산이 제한된 기업에게는 부담이 될 수 있습니다.
- 복잡성: 오라클 데이터베이스는 강력하고 다양한 기능을 제공하지만, 이로 인해 관리와 운영이 복잡해질 수 있습니다. 특히, 초기 설정과 구성, 성능 튜닝 및 관리 작업은 전문적인 지식과 경험이 필요합니다.
- 자원 요구 사항: 오라클 데이터베이스는 대규모의 자원을 필요로 할 수 있습니다. 특히, 대형 데이터베이스를 운영하기 위해서는 강력한 하드웨어 및 운영체제 환경이 필요할 수 있습니다.
- Vendor Lock-in: 오라클은 고객에게 완전한 솔루션을 제공하는 것으로 유명하지만, 이는 고객이 한 번 선택한 후 다른 제품으로 전환하기가 어려울 수 있음을 의미합니다. 이는 업체에 대한 의존성을 높일 수 있습니다.
- 라이선스 정책의 변동성: 오라클은 라이선스 및 가격 정책을 변경할 때가 있습니다. 이러한 변동성은 기업의 예산 계획과 향후 비용 관리를 어렵게 할 수 있습니다.
오라클 데이터베이스를 선택할 때 고려해야 할 사항 중 일부입니다. 하지만 많은 기업이 이러한 단점을 감수하고도 오라클을 선택하는 이유는 보안, 성능, 확장성 등의 장점이 더 크기 때문입니다.
칼럼(column)
관계형 데이터베이스 테이블에서 데이터를 저장하는 데 사용되는 열입니다. 각 칼럼은 특정 데이터 유형을 가지며, 해당 유형에 따라 테이블에 저장된 정보를 설명합니다. 각 행(row)은 이러한 칼럼에 대응되는 데이터를 포함합니다.
예를 들어, 고객 테이블의 경우 다음과 같은 칼럼이 있을 수 있습니다:
- 고객 ID (Customer ID)
- 이름 (Name)
- 성 (Last Name)
- 나이 (Age)
- 성별 (Gender)
- 주소 (Address)
- 전화번호 (Phone Number)
- 이메일 (Email) 등등
칼럼의 이름과 데이터 유형은 해당 데이터베이스의 설계에 따라 다를 수 있습니다. 종종 각 칼럼은 특정 제약 조건(constraint)을 가질 수도 있습니다 (예: NOT NULL, UNIQUE, FOREIGN KEY 등). 이러한 제약 조건은 데이터의 무결성(integrity)을 보장하고 데이터베이스의 일관성을 유지하는 데 도움이 됩니다.
데이터베이스 관리 시스템(DBMS)에서는 일반적으로 시스템 카탈로그(system catalog)를 사용하여 각 테이블의 칼럼 정보를 검색할 수 있습니다. 이를 통해 데이터베이스 설계와 관련된 정보를 쉽게 얻을 수 있습니다. 대부분의 DBMS는 정보 스키마(information schema) 또는 메타데이터(metadata)를 사용하여 이러한 정보를 관리합니다.
'[DB]Oracle SQL > Oracle SQL 이론' 카테고리의 다른 글
[SQL] 단일행함수 > 문자관련함수 (0) | 2024.03.23 |
---|---|
조인(JOIN) / 내부 조인, 외부 조인, 왼쪽 외부 조인, 오른쪽 외부 조인, 전체 외부 조인 (0) | 2024.03.21 |
오라클 SQL 작성, 실행 순서 (0) | 2024.03.21 |
단일행 함수 / 그룹 함수 (0) | 2024.03.21 |
함수 (FUNCTION) - 문자열 함수, 숫자 함수, 날짜 함수, 집계 함수 (0) | 2024.03.21 |