드뎌 데이터베이스에 입성!! 사실 이전 내용들도 더 세세하게 공부하고싶지만 아무래도 비전공자다보니 진도따라가는데에도 벅차다ㅠㅠㅠ 그래도 더 노력해야지!
SQL 이란?
Query 란?
In-memory : 종료 시 데이터 사라짐.
File I/O : 원하는 데이터만 가져올 수 없음. 모든 데이터를 가져온 후 서버에서 필터링 필요
데이터베이스
위 두개의 단점을 보완하기 위해 등장
필처링 외의 File I/O로 구현이 어려운 관리를 위한 여러 기능을 갖고있는 데이터에 특화된 서버
데이터베이스는 스프레드시트와 비슷하다.
테이블, 시트, 칼럼, 로우, 필터기능 존재
데이터베이스에서 필터링 기능이 Query이다.
관계형 데이터베이스는 테이블(table)로 이루어져있으며, 키와 값의 관계를 나타낸다
데이터를 종속성 관계로 표현한 것이 관계형 데이터베이스의 특징.
테이블은 이름을 갖고있으며, 행, 열, 값을 가진다,
관계형 데이터베이스 특징
1. 데이터 분류, 정렬, 탐색 속도 빠름
2. 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성 보장
3. 기존 작성된 스키마 수정 어려움
4. 데이터베이스의 부하를 분석하기 어려움
관계형 데이터베이스 용어
1. 열(column) : 각각의 열은 유일한 이름을 갖고, 자신만의 타입을 가짐. 이런 열은 필드 또는 속성이라고 불림
행(row) : 관계된 데이터 묶음. 한 테이블의 모든 행은 같은 수의 열을 갖고있다. 이런 행은 튜플(tuple) 또는 레코드(record)라고 불림.
값(value) : 테이블은 각각의 행과 열에 대응하는 값을 가짐.
키(key) : 테이블의 행 식별자로 이용되는 열. 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key)중에서 데이터베이스 설계자가 지정한 속성.
관계(relationship) : 테이블간의 관계는 관계를 맺는 테이블의 수에 따라 나뉨.
관계를 나타내기 위해 외래 키 사용.(foreign key)
Reservation(ID,Name,Date,RoomNum)
SQL사용에 필요한 기본 문법
데이터베이스 관련 용어
데이터베이스 명령어
데이터베이스 생성
CREATE DATABASE 데이터베이스이름;
데이터베이스 사용
USE 데이터베이스이름
테이블 생성 예시
CREATE TABLE exam (
name varchar(255), //varchar(255)는 최대 문자 255개까지라는 의미
email varchar(255)
);
테이블 정보 확인
DESCRIBE 테이블이름;
: 테이블 정보 확인
MySQL 명령어
SELECT DISTINCT
사용INNER JOIN
, JOIN
으로 실행. 둘 이상의 테이블의 공통된부분을 기준으로 연결LEFT OUTER JOIN
은 LEFT INCLUSIVE 실행, RIGHT OUTER JOIN
은 RIGHT INCLUSIVE실행MySQL 장점
1. 오픈소스 라이센스를 따르기 때문에 무료로 사용 가능
2. 다양한 운영체제에서 사용 가능, 여러 프로그래밍언어 지원
3. 크기가 큰 데이터 집합도 빠르고 효과적으로 처리 가능
4. 표준 SQL형식 사용
5. MySQL 응용프로그램을 사용자의 용도에 맞게 수정 가능