-
[한기교] SQL 활용 필기(3) - SQL 기본구문비전공자 공부일기/:: DB - SQL 2020. 5. 2. 17:54
< SQL의 역사 >
ㅁ SEQUEL(Structured English Query Language) ---'시퀄'이라고 읽음
- 1974년, IBM San Jose Lab(현재 IBM Almaden 연구소)에서 최초의 관걔형 데이터베이스 관리 시스템 프로토타입인 SystemR을 만ㄷ름. 이것을 위한 데이터베이스 언어로 개발된 것이 시퀄
- 그 이후 여러가지 언어들이 나왔다가, 1986년 ANSI에서 SQL-86(=SQL1)이 관계형 데이터베이스 표준언어로 인증
< SQL의 특징 >
1. SQL이란?
: 종합 데이터베이스 언어 => DDL, DML, DCL (정의, 조작, 제어)
- 무엇(What)을 표시하며 어떻게(How)는 표시하지 않음
- 어떻게는 DBMS가 알아서 처리함
2. 관계 대수식 대신 SQL을 사용하는 이유?
- 관계 대수식 연산자 기호(그리스문자)는 키보드로 표기하기 어려움
3. 관계 대수식과 SQL과의 차이점? -- 중복 허용의 차이
ㅁ 관계 대수식
- Relation
- 튜플의 집합(Set)
- 원소들간의 중복을 허용하지 않음
ㅁ SQL
- 튜플의 백(Bag)
- 튜플들 간의 순서는 없으나 중복을 허용함
--- 집합을 유지하려면 SQL의 결과에서 항상 중복되는 내용을 제거해야 함
--- 중복을 제거하는 것 = 튜플을 정렬(Sorting)하는 것과 같은 문제임
--- 결과 생성 시 시간이 오래 걸림 => 성능 문제 발생 => 따라서 중복 허용하기로 함
< SQL의 기본 구문 >
ㅁ DDL 문 : 데이터 정의문
- 테이블 생성 : CREATE 문
*** 제약조건: NOT NULL, PRIMARY KEY, UNIQUE
CREATE TABLE 테이블명 ( 속성명 속성타입 [제약조건], 속성명 속성타입, … )
- NOT NULL: 항상 NULL값이 아님
- PRIMARY KEY: 기본키 설정
- UNIQUE: 기본키는 아니지만 다른 튜플들과 항상 다른 값
- 테이블 삭제 : DROP 문
CDROP TABLE 테이블명
- 테이블 구조 변경 : ALTER 문
- 속성 추가 ADD
ALTER TABLE 테이블명(ADD 속성명 속성타입)
- 속성 제거 DROP
ALTER TABLE 테이블명 (DROP 속성명 속성타입)
- 속성 타입 변경 ALTER
ALTER TABLE 테이블명 (ALTER 속성명 속성타입)
ㅁ DML문 : 데이터 조작문
- 튜플 삽입 : INSERT 문
INSERT INTO 테이블명(속성명, 속성명, ...) VALUES (속성값, 속성값, ...)
- 튜플 변경 UPDATE 문
UPDATE 테이블명 SET 속성명 = 수식 [WHERE 조건]
- 튜플 삭제 DELETE 문
DELETE FROM 테이블명 [WHERE 조건] <--- 이게 없으면 모든 튜플 삭제
- 원하는 데이터 검색
SELECT 속성명, 속성명, ... FROM 테이블명 [WHERE 조건]
ㅁ DCL문 : 데이터 제어문
- 트랜젝션 관련
COMMIT
ROLLBACK
- 사용자 권한 제어 관련
GRANT : 권한부여
REBOKE : 권한취소
DENY : 권한거절
< MS-SQL >
T-SQL : MS SQL Server에서 사용되는 SQL문
ㅁ MS-SQL(MS-SQL Editions)
- MS-SQL Server
---Microsoft에서 제공하는 데이터베이스 관리 시스템
- Edition의 종류
--- Express
--- Workgroup
--- Standard
--- Enterprise
ㅁ MS-SQL 구동 - Database
-System Database
--- master : 시스템 관리용
--- model : 새 데이터베이스 생성을 위한 위한 틀
--- msdb : SQL Sever agent를 위한 데이터베이스
--- tempdb : 질의 임시결과 유지를 위한 테이블
- User Database
--- SSMS 이나 T-SQL(SQL of MS SQL)을 이용해서 생성
'비전공자 공부일기 > :: DB - SQL' 카테고리의 다른 글
[한기교] SQL 활용 필기(5) - 제약조건 상세 (0) 2020.05.02 [한기교] SQL 활용 필기(4) - 데이터 구조 (0) 2020.05.02 [한기교] SQL 활용 필기(2) - 데이터모델, 제약조건 (0) 2020.05.02 [한기교] SQL 활용 필기(1) - 데이터베이스의 정의, 역사 (0) 2020.05.02 JDBC - 과제 제출 방법 (jdbc 프로그램 저장법) (1) 2019.06.05