SQL

유영·2023년 3월 8일
0

MYSQL

목록 보기
9/20

SQL

Structured Query Language의 약자입니다.
데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
구조화된 질의언어

데이터베이스

통합하여 관리되는 데이터의 집합체.
이는 중복된 데이터를 없애고, 자료를 구조화하여 , 효율적인 처리를 할 수 있도록 관리됩니다.
이는 별도의 미들웨어에 의해 관리됩니다.
이러한 미들웨어를 데이터베이스 관리 시스템(DBMS)라고 합니다.

관계형 데이터베이스

관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타냅니다.
이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징입니다.

  • 특징
    1) 데이터의 분류, 정렬, 탐색 속도가 빠르다.
    2) 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장해 준다.
    3) 기존에 작성된 스키마를 수정하기 어렵다.
    4) 데이터베이스의 부하를 분석하는 것이 어렵다.

    스키마란?

  1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.
  2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
  3. 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다.

스키마의 특징
1. 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 한다.
2. 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다.
3. 스키마는 시간에 따라 불변인 특성을 갖는다.
4. 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.

스키마의 3계층
데이터베이스 관리 시스템은 외부적 스키마에 따라 명시된 사용자의 요구를 개념적 스키마에 적합한 형태로 변경하고 이를 다시 내부적 스키마에 적합한 형태로 변환한다.

외부 스키마(External Schema) = 사용자 뷰(View)
1. 외부스키마는 사용자나 응용프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.
2. 외부스키마는 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마(Sub Schema)라고도 한다.
3. 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있으며 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다.
4. 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.
5. 일반 사용자는 질의어(SQL)을 이용하여 DB를 쉽게 사용할 수 있다.
6. 응용 프로그래머는 C, JAVA등의 언어를 사용하여 DB에 접근한다.

개념 스키마(Conceptual Schema) = 전체적인 뷰(View)
1. 개념 스키마는 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.
2. 개념스키마는 개체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
3. 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마(Schema)라고 하면 개념 스키마를 의미한다.
4. 기관이나 조직체의 관점에서 데이터베이스를 정의한것이다.
5. 데이터베이스 관리자(DBA)에 의해서 구성된다.

내부 스키마(Internal Schema) = 저장 스키마(Storage Schema)
1. 내부 스키마는 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층이다.
2. 내부스키마는 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
3. 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

SQL 구문

  1. DDL(Data Definition Language)
    :데이터베이스나 테이블등을 생성, 삭제, 그 구조 변경을 위한 명령어
    :CREATE(생성), ALTER(변경), DROP(삭제)

  2. DML(Data Manipulation Language)
    :데이터베이스에 저장된 데이터를 처리하거나 조회, 검색 위한 명령어
    :INSERT INTO(새로운 데이터를 데이터베이스에 삽입), UPDATE(데이터베이스의 데이터 업데이트), DELETE(데이터베이스에서 데이터를 삭제), SELECT(데이터베이스에서 데이터 추출)

  3. DCL(Data Control Language)
    :데이터베이스에 저장된 데이터를 관리하기 위해 데이터의 보안성, 무결성등을 제어하기 위한 명령어
    :GRANT, REVOKE

0개의 댓글