[SQL] 관계형데이터베이스와 SQL

문지은·2023년 4월 5일
0

Database with SQLite

목록 보기
1/7
post-thumbnail

🌱 관계형 데이터베이스(Relational Database)

  • 데이터를 테이블, 행, 열 등으로 나누어 구조화하는 방식
  • 구조화해서 저장하므로 보다 체계적으로 데이터를 저장하고 관리할 수 있음
  • 자료를 여러 테이블로 나누어서 관리하고, 테이블간 관계를 설정해 여러 데이터를 조작할 수 있음
  • 데이터의 무결성(정확성, 일관성) 유지에 장점이 있음
  • SQL을 사용하여 데이터를 조회하고 조작

관계형 데이터베이스의 구조

스키마(Schema)

  • 테이블의 구조(Structure)
  • 데이터베이스에서 자료의 구조, 표현 방법, 관계 등 전반적인 명세를 기술한 것

테이블(Table)

  • 필드와 레코드를 사용해 조작된 데이터 요소들의 집합
  • 관계(Relation)라고도 부름
  • 필드(field)
    • 속성 혹은 컬럼(Column)
    • 각 필드에는 고유한 데이터 형식(타입)이 지정됨
  • 레코드(record)
    • 튜플 혹은 행(Row)
    • 테이블의 데이터는 레코드에 저장됨

PK (Primary Key)

  • 기본 키
  • 각 레코드의 고유한 값
    • 각각의 데이터를 구분할 수 있는 고유 값
  • 기술적으로 다른 항목과 절대로 중복될 수 없는 단일 값(unique)
  • 데이터베이스 관리 및 테이블 간 관계 설정 시 주요하게 활용

FK (Foreign Key)

  • 외래 키
  • 한 테이블의 속성 중 다른 테이블의 레코드를 식별할 수 있는 키
  • 다른 테이블의 기본 키를 참조
  • 참조하는 테이블의 속성 1개 값은 참조되는 측 테이블의 레코드 값에 대응 됨
  • 각 레코드에서 서로 다른 테이블 간의 관계를 만드는 데 사용할 수 있음

🍀 SQL (Structured Query Language)

  • 관계형 데이터베이스에서 데이터를 관리하기 위해 사용하는 언어
  • 데이터베이스 관리 + CRUD

SQL Commands

SQL Commands 종류

명령어는 특성에 따라 세 가지 그룹으로 분류한다.

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

  • 관계형 데이터베이스 구조(테이블, 스키마)를 정의(생성, 수정 및 삭제)하기 위한 명령어
  • SQL 키워드 : CREATE, DROP, ALTER

DML (Data Manipulatin Language) : 데이터 조작 언어

  • 데이터를 조작(추가, 조회, 변경, 삭제)하기 위한 명령어
  • SQL 키워드 : INSERT, SELECT, UPDATE, DELETE

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

  • 데이터의 보안, 수행제어, 사용자 권한 부여 등을 제어하기 위한 명령어
  • SQL 키워드 : GRANT, REVOKE, COMMIT, ROLLBACK
  • SQLite는 파일로 관리되는 DB이기 때문에 SQL을 이용한 접근 제한이 아닌 운영체제 파일 접근 권한으로만 제어 가능
    • 권한 설정을 담당하는 GRNATREVOKE는 지원 하지 않음.

SQL Syntax

SELECT column_name From table_name;
  • 모든 SQL 문(statement)는 SELECT, INSERT, UPDATE 등과 같은 키워드로 시작하고, 하나의 statement는 세미콜론(;) 으로 끝남
    • 세미콜론은 각 SQL 문을 구분하는 표준 방법
  • SQL 키워드는 대소문자를 구분하지 않음
    • 즉, SELECT와 select는 SQL 문에서 동일한 의미
    • 하지만 대문자로 작성하는 것을 권장

[참고] Statement & Clause

  • Statement(문)
    • 독립적으로 실행할 수 있는 완전한 코드 조각
    • statement는 clause로 구성됨
  • Clase(절)
    • statement의 하위 단위
SELECT column_name From table_name;
  • SELECT statement라 부름
  • 이 statemetn는 다음과 같이 2개의 clause로 구성됨
    1. SELECT column_name
    2. FROM table_name
profile
코드로 꿈을 펼치는 개발자의 이야기, 노력과 열정이 가득한 곳 🌈

0개의 댓글