[11주차] 데이터베이스 기초 - 개요

minLuna·2023년 5월 16일
0

엘리스 AI트랙 7기

목록 보기
49/62

본 자료는 Elice 플랫폼의 자료를 사용하여 정리하였습니다.

데이터베이스 소개

데이터와 정보

  • 데이터 : 현실세계에서 수집된 단순한 사실과 값들을 모아 놓은 것
  • 정보 : 데이터를 특정 목적에 의해 해석하거나 가공한 형태

데이터베이스 정의

  • 데이터들의 집합
    • 한 조직 안에서 여러 사용자와 응용프로그램이 공동으로 사용하는 데이터들을 통합하여 저장하고 운영하는 데이터

데이터베이스의 필요성

  • 파일처리시스템의 한계
    • 데이터구조가 바뀌면 응용프로그램의 구조도 바뀌어야한다. 데이터 종속
    • 응용프로그램 별로 데이터를 생성할 수 있기 때문에 데이터가 중복될 수 있다.
    • 데이터 무결성을 지킬 수 없다.

데이터베이스의 특징

  • 실시간 접근성
    • 사용자가 원할 때 언제든지 접근 가능해야 한다.
  • 지속적인 변화
    • 데이터의 삽입, 삭제, 갱신을 통해 최신데이터를 유지해야한다.
  • 동시공유
    • 여러 사용자가 동시에 이용할 수 있어야 한다.
  • 내용에 대한 참조
    • 데이터가 저장된 물리적인 위치가 아닌 값을 가지고 검색할 수 있어야 한다.

데이터베이스의 종류

데이터베이스 구분

  • RDB : 관계형 모델을 기반으로 SQL을 이용해 데이터를 관리한다.
  • NoSQL : 데이터 간의 관계를 정의하지 않고 RDB보다 유연한 모델을 이용한다.

관계형 데이터베이스

  • 데이터를 행과 열을 가지는 테이블로 표현
  • 테이블간의 관계를 이용해 데이터를 효과적으로 관리하여 데이터의 무결성을 보장
  • 정의된 테이블(스키마)에 맞게 데이터가 삽입되므로 데이터의 안정성을 보장
  • 데이터의 구조가 일관적인 경우에 주로 사용

RDBMS의 종류

  • MySQL, PostgreSQL, MariaDB 등

NoSQL

  • 데이터를 저장할 수 있는 유형의 제한이 없다.
  • 새로운 유형의 데이터를 추가하기 용이
  • 데이터의 구조가 일관적이지 않고 자주 변경되는 경우에 적합
  • 대용량의 데이터를 더 빠르게 처리할 수 있다.

NoSQL의 종류

  • MongoDB, Redis, Apache Cassandra 등

관계형 데이터베이스 만들기

구성요소

  • 테이블은 행과 열로 구성
  • 속성을 데이터의 특성을 나타내는 가장 작은 논리적 단위를 의미
  • 튜플은 속성이 모여 구성된 각각의 행을 의미
  • 속성이 가질 수 있는 값의 집합을 도메인이라고 한다.

관계

  • 관계가 있다면 하나의 속성으로 테이블을 연결해서 데이터를 효과적으로 관리

테이블 정의하기

CREATE TABLE 테이블명(
	속성1	데이터타입,
    속성2	데이터타입,
    ...
);

정의된 테이블 확인

SHOW TABLES;	-- 데이터베이스의 테이블 목록을 확인
DESC 테이블명;	-- 테이블의 구조를 확인

SQL 작성규칙

  • SQL문법은 대문자로 작성하는 것을 권장
  • 테이블명, 속성명은 소문자로 작성하는 것을 권장
  • 이름은 항상 의미가 잘 드러나도록 작성
  • 이름에 여러 단어를 혼합하는 경우 _를 이용해 구분
  • --을 이용해 주석을 나타낼 수 있다.
  • 명령어 끝에는 세미콜론(;)을 작성

데이터 삽입하기

INSERT INTO 테이블명(속성1, ...) VALUES(속성값1, ...);

데이터 출력하기

SELECT 속성1, ... FROM 테이블명;

데이터베이스 정의어

SQL(Structured Query Language)

  • 데이터 정의어(DLL) : 테이블과 같은 데이터 구조 정의
  • 데이터 조작어(DML) : 데이터 조회 및 검색
  • 데이터 제어어(DCL) : 데이터베이스에 접근하는 권한 관리

데이터 타입

  • VARCHAR, INT, FLOAT, DATETIME 등

테이블 수정하기

-- 컬럼 추가
ALTER TABLE customer ADD COLUMN birthday DATE NULL;
-- 컬럼 수정
ALTER TABLE customer MODIFY COLUMN id varchar(15) NULL;
-- 컬럼 이름 변경
ALTER TABLE customer CHANGE COLUMN name korean_name varchar(10) NOT NULL;
-- 컬럼 삭제
ALTER TABLE customer DROP COLUMN address;
-- 테이블 이름 변경
ALTER TABLE customer RENAME member;

테이블 삭제하기

DROP TABLE 테이블명

profile
열심히

0개의 댓글