SQL의 개념
SQL의 역사와 특징
SQL의 역사
- SEQUEL
- SQL을 처음만들었을땐 SEQUEL이란걸 썼음
- SEQUEL은 1974년, IBM San Jose Lab에서 만들어짐 (현재 IBM Almaden 연구소)
- 최초의 관계형 데이터베이스 관리 시스템 프로토타입인 SystemR을 위한 데이터베이스 언어로 개발됨
- SQL
- 1986년 ANSI(국제표준을 선정하는곳)에서 관계형 데이터베이스 표준언어로 인증
- 지속적인 SQL 개선이 진행됨
- 1986년 : SQL-86 또는 SQL1
- 1992년 : SQL/92, SQL-92 또는 SQL2
- 1999년 : SQL-99 또는 SQL3
- 2003년 : SQL4, SQL-2003 (객체 지향 개념 추가)
SQL의 특징
1. SQL은 무엇인가?
: 종합 데이터베이스 언어로 데이터정의(DDL), 조작(DML), 제어(DCL)
- 무엇(what)을 표시하면 어떻게(how)는 표시하지 않음
- 어떻게는 DBMS가 알아서 처리함
예) 학번이 100번인 학생의 이름은?
-> 위와같은 형태로 질의문을 입력하면 DBMS가 알아서 처리함
2. 왜 관계 대수식 대신 SQL을 사용하는가?
: 관계 대수식 연산자 기호(시그마, 파이, 조인 등)는 키보드로 표기하기 어려움
3. 관계 대수식과 SQL의 차이점은 무엇인가?
(사진)
- 집합을 유지하려면 SQL의 결과에서 항상 중복되는 내용을 제거해야 함
- 중복을 제거하는 것 = 튜플을 정렬하는 것과 같은 문제임
- 그 결과 생성 시 시간이 오래걸림 => 성능 문제 발생
SQL 기본 구문
1. DDL문 : 데이터 정의문
1) 테이블 생성 : CREATE 문
CREATE TABLE 테이블명
( 속성명 속성타입 [제약조건]
속성명 속성타입,
...
)
- 제약조건 : NOT NULL, PRIMARY KEY, UNIQUE
2) 테이블 삭제 : DROP문
DROP TABLE 테이블명
예) 학생의(STUDENT) 테이블을 제거하시오.
DROP TABLE STUDENT
3) 테이블 구조 변경 : ALTER문
- 속성 추가 :
ALTER TABLE 테이블명(ADD 속성명 속성타입)
- 속성 제거 :
ALTER TABLE 테이블명(DROP 속성명 속성타입)
- 속성 타입 변경 :
ALTER TABLE 테이블명(ALTER 속성명 속성타입)
4) 튜플 삽입 : INSERT문
INSERT INTO 테이블명(속성명, 속성명, ...)
VALUES (속성값, 속성값, ...)
5) 튜플 변경 : UPDATE문
UPDATE 테이블명
SET 속성명 = 수식
[WHERE 조건]
6) 튜플 삭제 : DELETE문
DELETE FROM 테이블명
[WHERE 조건]
(WHERE 조건이 없다면 해당 테이블에서 튜플 전부 삭제)
2. DML문 : 데이터 조작문
1) 트랙잭션 관련
SELECT 속성명, 속성명, ...
FROM 테이블명
[WHERE 조건]
3. DCL문 : 데이터 제어문
1) 트랜잭션 관련
COMMIT
ROLLBACK
2) 사용자 권한 제어 관련
GRANT : 권한 부여
REVOKE : 권한 취소
DENY : 권한 제외
T-SQL
MS-SQL
1. 상업용 DBMS들
2. MS-SQL Editions
1) MS-SQL Server :
마이크로소프트에서 제공하는 데이터베이스 관리 시스템
2) Edition 종류 :
Express, Workgroup, Standard, Enterprise
- 실습을 위하여 본 과목에서는 MS-SQL Server 2014 Express version을 사용함
- T-SQL은 MS-SQL Server에서 사용되는 SQL문을 말함
MS-SQL 구동
Database
1. System Database
- master : 시스템 관리용
- model : 새 데이터베이스 생성을 위한 틀
- msdb : SQL Server agent를 위한 데이터베이스
- tempdb : 질의 임시결과 유지를 위한 테이블
2. User Database
- SSMS 이나 T-SQL(SQL of MS SQL)을 이용해서 생성
테이블 구조 파악
- 데이터베이스 내에 있는 테이블의 구조는 개체 탐색기를 이요하여 손쉽게 파악이 가능함
'컴퓨터 > SQL' 카테고리의 다른 글
데이터 삽입과 변경 (0) | 2020.01.22 |
---|---|
데이터 검색 (0) | 2020.01.21 |
제약조건 (0) | 2020.01.21 |
데이터 구조 생성과 변경 (0) | 2020.01.20 |
초간단 Oracle 오라클 XE 11g 설치 (0) | 2020.01.16 |