Reference

🙇🏻‍♂️ 스스로 다시 보려고 기록하는 내용입니다


데이터베이스 언어의 필요

  • 데이터베이스 시스템이 하는 일: 데이터 관리와 데이터 사용에서 발생할 수 있는 문제를 원천적으로 차단하기 위해 분리하고 중지하는 것
  • DBMS에게 명령

SQL의 개요

  • Structured Query Language는 관계대수에 기초하여 RDBMS의 데이터 관리를 위해 설계된 언어
  • 특징
    - 선언헝(비절차적)
    - 필요한 데이터만 기술
    - 인간의 언어와 매우 유사
    - 간단 명료

SQL의 구성

  1. 데이터정의언어 (DDL)
  • 데이터베이스내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합
  • 데이터가 준수해야하는 제약조건을 기술
  • CREATE, ALTER, DROP문 등
  1. 데이터 조작언어 (DML)
  • DDL에 의해 정의된 테이블에 데이터를 조작하는 명령어의 집합
  • 데이터에 대한 CRUD 명령을 포함
  • INSERT, UPDATE, DELETE, SELECT

데이터 정의 언어

  1. 데이터베이스 객체를 생성, 삭제 또는 구조를 수정하는 명령어의 집합
  2. 데이터베이스 객체의 종류
  • 데이터 저장: 테이블, 인덱스, 뷰
  • 데이터 조작: 트리거, 프로시저, 함수 등
  1. 데이터 정의 명령어의 종류
  • CREATE: 객체 생성
  • ALTER: 객체 변경
  • DROP: 객체 삭제

데이터 정의 언어의 구분 형식

  • 명령어 + 객체로 명령 전달

스키마 정의

  1. 스키마 == 데이터베이스
    • Schem, Table 차이점
    • Schem : 외부, 개념, 내부 스키마 -> 제약조건, 무결성 규칙, 테이블, 열과 형
    • Table : 행과 열의 데이터 집합
  2. 한 조직의 데이터베이스 시스템의 운영이 필요한 테이블, 인덱스, 뷰 등의 데이터베이스 객체의 집합
  3. 스키마 관리방법
  • Forward Engineer
  • SQL 에디터
  • 내비게이터패널

스키마 관리 구문 형식

  1. 스키마 생성
  • CREATE SCHEMA 스키마명
  1. 스키마 삭제
  • DROP SCHEMA 스키마명
  • ALTER SCHEMA는 거의 사용하지 않고, DROP후 다시 생성

테이블 정의

  • 새로운 2차원 형태 테이블 생성


데이터 타입의 개념

  1. 도메인을 결정 ( 컬럼이 가질 수 있는 값의 범위 )
  2. 프로그래밍 언어에서의 변수를 생성하는 데이터 타입의 사용목적과 방법이 매우 유사
  3. 기본 데이터 타입


정수 데이터 타입

-> 공간 효율성


실수 데이터 타입


날짜 및 시간 데이터 타입


문자 데이터 타입

  • CHAR는 공간 낭비가 존재
  • VARCHAR는 검색 속도 저하, 관리의 어려움 존재
    - 4000자가 max

테이블 수정

  1. 생성된 테이블에 컬럼을 추가, 수정 (이름, 데이터 타입, 제약조건) 또는 삭제하는 명령
  2. 컬럼 삭제 또는 컬럼의 데이터 타입 수정시 데이터에 대한 소실이 발생할 수 있음
  3. 테이블 수정 방법
  • SQL 구문
  • 내비게이터 패널

테이블 수정 구문 형식

  1. 새로운 컬럼을 추가, 삭제 및 수정하는 등의 테이블 구조로 변경

테이블 삭제

  1. 존재하는 테이블을 스키마에서 삭제
  2. 삭제할 테이블의 모든 데이터가 소실, 복구 불가능
  3. 테이블 삭제 방법
  • SQL 구문
  • 내비게이터 패널

제약조건

  1. 테이블과 테이블에 존재하는 데이터를 보다 무결하게 관리 목적
  2. 테이블 조작시 정의된 제약조건 만족여부 지속적 검사
  3. 다양한 제약 조건 지원

제약조건의 종류


profile
한 번 시작한 일은 끝까지

0개의 댓글

Powered by GraphCDN, the GraphQL CDN