SQL 기초 알아보기

Contents
1. 데이터 베이스
2. 데이터 베이스 개체
    테이블(table)
    뷰(view)
    인덱스(index)

1. 데이터 베이스 기본 개념

  • 데이터 베이스(DB, DataBase): 데이터가 모여있는 집합.
  • DBMS(DataBase Management System): 데이터의 집합을 관리하고 운영하는 시스템.
  • RDBMS(Relational DBMS): 관계형 DBMS는 테이블(table) 단위로 구성되며, 테이블은 데이터 특성을 나타내는 열(column)과 데이터 레코드를 나태나는 행(row)으로 이루어짐.

 

RDBMS의 예시

  • SQL(Structured Query Language): DBMS에서 데이터를 구축, 관리, 활용하기 위해 사용되는 언어
  • ANSI SQL: DBMS(Oracle, My-SQL, DB2 등등) 별로 각기 다른 SQL을 사용하므로, 미국 표준 협회(American National Standards Institute)에서 표준화 한 SQL

 

PL/SQL, T-SQL 등 여러 SQL의 표준이 되는 ANSI SQL

 

2. 데이터 베이스 개체

데이터베이스 개체는 데이터베이스 내에서 정보를 구조화하고 저장하는 데 사용되는 핵심 요소임.

  • 테이블(table):  테이블은 데이터와 행, 열로 구성됨.
CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Birthdate DATE,
    DepartmentID INT,
    EmploymentStatus INT,
    FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);
  • Employees 테이블을 생성하는 SQL문은 다음과 같음.
  • EmployeeID INT PRIMARY KEY에서 EmployeeID는 열 이름, INT는 열의 데이터 타입(정수형), PRIMARY KEY는 해당 열이 Employees 테이블의 인덱스 열로 사용된다는 뜻.
  • 데이터 타입을 표시하는 INT, VARCHAR(), DATE 등은 추후 포스팅에서 다룸.
  • FOREIGN KEY는 외부 테이블과 참조하는 열을 의미함 (Employees 테이블은 Department 테이블과 DepartmentID 열로 연결됨).

 

  • 뷰(view): 뷰는 원본 테이블에서 열 및 행을 기반으로 만들어진 가상의 테이블임.
    • 이미 존재하는 Employees 테이블에서, 현재 일하고 있는(EmploymentStatus가 Active) 테이터들의 가상의 뷰를 생성함.
CREATE VIEW ActiveEmployees AS
SELECT * FROM Employees WHERE EmploymentStatus = 'Active';

 

 

  • 인덱스(index): 인덱스는 테이블의 특정 열에 대한 검색 성능을 향상시키기 위해 사용됨.
    • Employees 테이블의 LastName 열을 인덱스로 설정함.
    • 단, PRIMARY KEY는 바뀌지 않음.
    • 유니크 값으로 이루어진 열이라면, CREATE UNIQUE INDEX 인덱스 명 ON 테이블(열);
CREATE INDEX idx_LastName ON Employees(LastName);
반응형