ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [한기교] 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)을 이용해서 생성

     

    댓글

coding wanee