컴퓨터/SQL

SQL의 개념과 T-SQL

해피밀세트 2020. 1. 20. 18:30

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