[CS : DB] SQL 개요

2022. 1. 18. 00:24CS 스터디

 1) 관계형 DB의 역사 

  • IBM이 1970년 최초의 RDBMS인 시스템 R 프로젝트의 일부로 SQL 초기버전을 개발하였고 이를 Sequel라고 불렀다. Sequel은 현재 SQL로 명명된다.
  • 1986년 ANSI와 ISO가 SQL의 표준인 SQL-86를 만들었고 이를 시작으로 89, 92 1999 등 다양한 표준들이 만들어졌다.

 

 

 

2) DDL & DML

  1. DDL : 스키마를 정의, 수정, 또는 삭제할 때 사용
  2. DML : 데이터의 검색, 삽입, 삭제, 수정 등을 요청할 때 사용

 

 

 

3) Data Definition Language

: 릴레이션에 관한 정보, 즉 릴레이션의 스키마, attribute들의 도메인, 무결성 제약조건을 명시하는데 사용된다. 그 밖에 릴레이션의 index에 대한 정보나 보안과 권한에 대한 정보도 DDL에 의해 기술된다. 또한 디스크에서의 물리적 저장구조를 명시하는 데에도 DDL을 사용한다.

 

  • char(n) : 길이가 n인 고정 길이 문자열 (n = 10일 때 3개의 문자만 입력하면 나머지는 공백으로 채워짐)
  • varchar(n) : 최대 길이가 n인 가변 길이 문자열
  • int, smallint : Machine Dependent한 정수 범위를 저장
  • numeric(p, d) : 고정 소수점 실수로 p는 부호를 포함한 전체 숫자의 길이 / s는 소수점 이하 숫자의 길이
  • real, float(n) : 부동 소수점 실수. 
  • double precision
  • NULL / NOT NULL

 

 

 

 

4) DDL

 CREATE TABLE

  • CREATE TABLE r(A1 D1, A2 D2,..., An Dn, (제약조건1), (제약조건2))의 형식으로 작성(r은 릴레이션의 이름, A는 Attribute, D는 Attribute의 도메인 데이터 타입)
  • NOT NULL : NOT NULL로 선언된 속성은 NULL값을 가질 수 없다. 해당 속성의 값이 NULL인 튜플을 삽입하려고 하거나 수정하려는 동작은 거부된다.
  • PRIMARY KEY : 각 튜플을 식별하는 역할을 한다. NOT NULL이며 중복된 값을 가질 수 없다. 
  • FOREIGN KEY : 다른 릴레이션의 기본키를 참조하여 두 릴레이션의 관계를 표현하는 역할을 한다.

INSERT INTO

 

DROP TABLE

  • 데이터베이스로부터 릴레이션을 제거하기 위해 사용되는 명령어이다.
  • drop table r 의 형식으로 작성한다. (릴레이션 r에 들어있는 모든 튜플과 r의 스키마가 삭제됨)

DELETE FROM

  • DELETE FROM R의 형식으로 작성한다.
  • 릴레이션 R에 있는 모든 튜플들은 삭제되지만 스키마는 남는다.

ALTER TABLE

  • 기존에 있는 릴레이션에 새로운 속성을 추가하거나 속성을 삭제할 수 있다.
  • ALTER TABLE R ADD A D의 형식으로 새로운 속성을 삽입한다. 
  • 새로운 속성에 대해서 기존의 튜플들은 NULL값을 가진다.
  • ALTER TABLE R DROP A의 형식으로 기존의 속성 A를 삭제한다.
  • 속성을 참조하는 릴레이션이 있다면 데이터베이스가 꼬일 수 있으므로 신중하게 사용해야 한다.