코드스테이츠 백엔드 31일 ~ 32일차 | 데이터베이스

hyoreal·2022년 8월 7일
0

CodeStates

목록 보기
23/32

드뎌 데이터베이스에 입성!! 사실 이전 내용들도 더 세세하게 공부하고싶지만 아무래도 비전공자다보니 진도따라가는데에도 벅차다ㅠㅠㅠ 그래도 더 노력해야지!

관계형 데이터베이스

SQL 이란?

  • Structured Query Language : 구조화된 Query언어
  • 데이터베이스용 프로그래밍 언어.
  • 데이터베이스에 Query를 보내 원하는 데이터를 가져온다.

Query 란?

  • "질의문", 검색창에 적는 검색어도 Query의 일종.
  • 저장된 정보를 필터링하기위한 질문

데이터베이스

  • In-memory : 종료 시 데이터 사라짐.

  • File I/O : 원하는 데이터만 가져올 수 없음. 모든 데이터를 가져온 후 서버에서 필터링 필요

  • 데이터베이스

    • 위 두개의 단점을 보완하기 위해 등장

    • 필처링 외의 File I/O로 구현이 어려운 관리를 위한 여러 기능을 갖고있는 데이터에 특화된 서버

    • 데이터베이스는 스프레드시트와 비슷하다.

    • 테이블, 시트, 칼럼, 로우, 필터기능 존재

    • 데이터베이스에서 필터링 기능이 Query이다.

관계형 데이터베이스(Relational DataBase)

관계형 데이터베이스는 테이블(table)로 이루어져있으며, 키와 값의 관계를 나타낸다
데이터를 종속성 관계로 표현한 것이 관계형 데이터베이스의 특징.

테이블은 이름을 갖고있으며, 행, 열, 값을 가진다,

관계형 데이터베이스 특징
1. 데이터 분류, 정렬, 탐색 속도 빠름
2. 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성 보장
3. 기존 작성된 스키마 수정 어려움
4. 데이터베이스의 부하를 분석하기 어려움

관계형 데이터베이스 용어
1. 열(column) : 각각의 열은 유일한 이름을 갖고, 자신만의 타입을 가짐. 이런 열은 필드 또는 속성이라고 불림

  1. 행(row) : 관계된 데이터 묶음. 한 테이블의 모든 행은 같은 수의 열을 갖고있다. 이런 행은 튜플(tuple) 또는 레코드(record)라고 불림.

  2. 값(value) : 테이블은 각각의 행과 열에 대응하는 값을 가짐.

  3. 키(key) : 테이블의 행 식별자로 이용되는 열. 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key)중에서 데이터베이스 설계자가 지정한 속성.

  4. 관계(relationship) : 테이블간의 관계는 관계를 맺는 테이블의 수에 따라 나뉨.
    관계를 나타내기 위해 외래 키 사용.(foreign key)

  • 일대일(one-to-one)
  • 일대다(one-to-many)
  • 다대다(many-to-many)
  1. 스키마(schema) : 테이블을 디자인하기위한 청사진. 테이블의 각 열에 대한 항목, 타입, 기본키, 외래키를 나타내야함
Reservation(ID,Name,Date,RoomNum)

SQL Basics

SQL사용에 필요한 기본 문법

  • Select
  • Where
  • And, Or, Not
  • Order By
  • Insert Into
  • Null Values
  • Update
  • Delete
  • Count
  • Like
  • Wildcards
  • Aliases
  • Joins
    • Inner Join
    • Left Join
    • Right Join
  • Group By

데이터베이스 관련 용어

  • SQL Create DB
  • SQL Drop DB
  • SQL Create Table
  • SQL Drop Table
  • SQL Alter Table
  • SQL Not Null
  • SQL Unique
  • SQL Primary Key
  • SQL Foreign Key
  • SQL Default
  • SQL Auto Increment
  • SQL Dates

데이터베이스 명령어

데이터베이스 생성

CREATE DATABASE 데이터베이스이름;

데이터베이스 사용

USE 데이터베이스이름

테이블 생성 예시

CREATE TABLE exam (
  name varchar(255), //varchar(255)는 최대 문자 255개까지라는 의미
  email varchar(255)
);

테이블 정보 확인
DESCRIBE 테이블이름; : 테이블 정보 확인

MySQL 명령어

  • SELECT : 데이터셋 포함될 특성 특정
  • FROM : 테이블 관련 작업 시 반드시 입력, 뒤에 결과 도출할 DB테이블 명시
  • WHERE : 필터역할 쿼리문. 선택적 사용 가능
  • ORDER BY : 돌려받을 데이터 결과를 어떤 기준으로 정렬 후 출력할지
  • LIMIT : 출력될 데이터 개수 정함. 쿼리문 마지막에 사용
  • DISTINCT : 유니크한 값을 받고싶을땐 SELECT DISTINCT 사용
  • INNER JOIN : INNER JOIN, JOIN으로 실행. 둘 이상의 테이블의 공통된부분을 기준으로 연결
  • OUTER JOIN : LEFT OUTER JOIN 은 LEFT INCLUSIVE 실행, RIGHT OUTER JOIN 은 RIGHT INCLUSIVE실행

MySQL 장점
1. 오픈소스 라이센스를 따르기 때문에 무료로 사용 가능
2. 다양한 운영체제에서 사용 가능, 여러 프로그래밍언어 지원
3. 크기가 큰 데이터 집합도 빠르고 효과적으로 처리 가능
4. 표준 SQL형식 사용
5. MySQL 응용프로그램을 사용자의 용도에 맞게 수정 가능

profile
좌충우돌 코린이 성장기

0개의 댓글