[CS : DB] SQL 개요
2022. 1. 18. 00:24ㆍCS 스터디
1) 관계형 DB의 역사
- IBM이 1970년 최초의 RDBMS인 시스템 R 프로젝트의 일부로 SQL 초기버전을 개발하였고 이를 Sequel라고 불렀다. Sequel은 현재 SQL로 명명된다.
- 1986년 ANSI와 ISO가 SQL의 표준인 SQL-86를 만들었고 이를 시작으로 89, 92 1999 등 다양한 표준들이 만들어졌다.
2) DDL & DML
- DDL : 스키마를 정의, 수정, 또는 삭제할 때 사용
- 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를 삭제한다.
- 속성을 참조하는 릴레이션이 있다면 데이터베이스가 꼬일 수 있으므로 신중하게 사용해야 한다.
'CS 스터디' 카테고리의 다른 글
| [CS : DB] BE 면접 대비 질문 리스트(1) (0) | 2022.04.27 |
|---|---|
| [CS : DB] 관계 데이터 연산 - 관계 대수 (1) | 2022.02.02 |
| [CS : WEB] OAuth & JWT(JSON Web Token) (0) | 2021.06.06 |
| [CS : OS] 파일 시스템 (0) | 2021.05.26 |
| [CS : OS] 메모리 (0) | 2021.05.24 |