MySQL - 데이터베이스 기본개념

1 분 소요

데이터베이스의 기본개념

DBMS (Database Management System)

일반 사용자 및 프로그램이 데이터베이스(=데이터의 집합)에 접근할 수 있도록 돕는 관리 시스템

→ SQL : DBMS를 통해 데이터베이스에 접근을 요청하기 위해 사용하는 언어

  • 장점:
    • 데이터의 무결성: 현재 데이터가 오류가 있는지를 체크해준다.
    • 데이터의 독립성: 여러 사람이 데이터에 동시에 접근하고, 데이터를 변경하거나 저장소를 변경하더라도 프로그램은 영향을 받지 않는다.
    • 보안
    • 데이터 중복의 최소화
    • 응용 프로그램 제작/수정이 쉬워짐
    • 데이터의 안전성 향상
  • DBMS의 유형
    • 계층형
    • 망형
    • 관계형 (Relational DBMS): 테이블 형태로 구성이되어 있다. 가장 많이 사용. MySQL, Oracle, PostgreSQL, DB2, SQLite 등 대다수가 RDBMS
    • 객체지향형
    • 객체관계형
    • NoSQL → 최근에 성장중. MongoDB

SQL (Structured Query Language)

관계형 데이터베이스에서 사용되는 표준화 된 언어 → 호환성이 높다

  • DBMS 회사와 독립적
  • 다른 시스템으로의 이식성이 좋음; 호환성
  • 표준이 계속 발전한다
  • 대화식 언어
  • 분산형 클라이언트/서버 구조

정보시스템 구축 절차

  1. 분석: 시스템 또는 요구사항 분석. 우리가 ‘무엇을’ 할 것인지 결정
  2. 설계: 구축하고자 하는 시스템을 ‘어떻게’ 만들 것인지 결정
  3. 구현
  4. 시험
  5. 유지보수

데이터베이스 모델링

현실세계에서 사용되는 데이터를 어떻게 옮겨 놓을 것인지를 결정하는 과정으로 분석, 설계 과정에서 가장 중요한 파트. 데이터베이스 내 테이블의 내용들이 곧 프로그램의 VO와 일치한다고 보면 됨.

  • 테이블 : 데이터를 입력하기 위해 표 형태로 표현한 것
  • 스키마 or 데이터베이스 : 테이블이 저장되는 저장소의 한 단위. 한 스키마에 여러개의 테이블을 지정할 수 있다.
  • 열 (=칼럼 =필드)
  • 행 (=로우 =레코드) : 하나의 객체가 갖는 값의 목록
  • 기본 키 or 주키 (Primary Key) : 테이블 내 각 행을 구분하는 유일한 열. 중복될 수 없고 null 이어도 안된다.
  • 외래 키 (Foreign Key) : 다른 테이블에서 가져와, 현 테이블과 관계를 맺어주는 키.

기본적인 SQL 문법

USE 스키마; #사용할 DB 선택

#테이블 만들기
CREATE TABLE 테이블명(
탭이름1 integer primary key,   #정수, 프라이머리 키로 사용할  추가
탭이름2 char(10) not null      #문자, null   없고 반드시 값의 입력이 필요한  추가 
);

#insert - 테이블에   추가
INSERT INTO 테이블명 VALUES(1, 'aaa');  #설정한  순서대로  1, 'aaa'  줄을 추가
  • SQL 문은 대소문자를 구분하지 않는다 (텍스트 제외)
    • 일반적으로 키워드는 대문자로 입력하고 테이블 이름, 열 등 다른 단어는 모두 소문자로 입력한다.
  • SQL 문은 하나 이상의 줄에 입력할 수 있다
  • 키워드는 약어로 쓰거나 여러 줄에 나눠 쓸 수 없다
  • 절은 일반적으로 서로 다른 줄에 쓴다
  • 문장 끝에 세미콜론(;)을 붙여줘야 에러가 나지 않고 다른 문장과 구분된다
  • null : 알 수 없는 값, 사용할 수 없는 값, 할당할 수 없는 값, 적용할 수 없는 값을 의미. 0 또는 공백과 다르다.

댓글남기기