DB(data base) 라는 것은 '데이터의 집합'이다.
DB의 예를 들어보자면, 우리가 친구들과 주고 받은 카카오톡 문자나 대중교통 이용시 사용한 교통카드의 흔적들 이런 정보들이 저장되는 곳이 데이터 베이스다.
또한 데이터베이스를 데이터의 집합이라 한다면 DBMS라는 것도 있는데 이것은 데이터베이스를 관리하고 운영하는 소프트웨어이다.
💻 다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야한다.
ex) 은행의 예금 계좌가 대표적인 예이다. (여러명의 예금 계좌 정보를 모아 놓은 것이 데이터베이스)
💻 데이터베이스를 사용하기 위해 소프트웨어(DBMS)를 설치해야 하는데 대표적으로 4가지가 있다.
1. MySQL 2. SQL Server 3. 오라클 4. MariaDB
1. DBMS의 발전과정
• 종이에 펜으로 기록 -> • 컴퓨터에 파일로 저장 -> • DBMS의 대두와 보급
- 파일의 단점을 보완하면서 대량의 데이터를 효율적으로 관리하고 운영하기 위해 등장한 것이 DBMS (만든 사람 : 프랭크 커드)
- DBMS에 데이터를 구축, 관리하고 활용하기 위해 사용되는 언어 SQL이다. 이 언어를 사용하면 DBMS를 통해 중요한 정보들을 입력, 관리하고 추출 할 수 있음
2. DBMS의 분류
1. 계층형 2. 망형 3. 관계형 4.객체지향형 5. 객체관계형
- 객체 관계형이 가장 많이 사용됨
💻 간단 요약
1. 계층형 : 각 계층이 트리형태를 갖춤, 현재 사용하지 않음
2. 망형 : 유연한 구조, 프로그래머가 모든 구조를 이해해야만 프로그램 작성이 가능한 단점, 거의 사용하지 않음
3. 관계형(RDBMS) : 대부분의 DBMS가 관계형으로 사용, 테이블이라는 최소 단위로 구성, 하나 이상의 열과 행으로 이루어짐, 모든 데이터가 테이블에 저장
- 테이블 : 열과 행으로 이루어진 2차원 구조
3. SQL
- 관계형 데이터베이스에 사용되는 언어, 일반적인 프로그래밍 언어(C, JAVA, 파이썬)과는 조금 다른 특성을 가짐
- sql은 국제표준화기구에서 sql에 대한 표준을 정해 발표하는 표준sql이 있음
🐹 중간에 bitnami가 깔려져 있어서 mysql이 안 깔릴 뻔 했지만, 블로그를 뒤져서 어떻게든 해냈다...!!!
4. mysql 3가지 키워드로 끝내는 핵심 포인트!
• MySQL 서버는 데이터베이스 엔진을 운영하는 가장 중요한 프로그램
• MySQL 워크벤치는 MySQL 서버에 접속하기 위한 프로그램
• root는 MySQL 관리자 이름, 가장 높은 권한의 사용자로 MySQL을 설치 할 때 기본적으로 생성됨
🐹 MySQL 서버의 데이터베이스 목록을 출력하는 SQL
- show database
5. 폭포수 모델
- 프로젝트 계획, 업무 분석, 시스템 설계, 프로그램 구현, 테스트, 유지보수
- 장점 : 각 단계가 구분되어 프로젝트의 진행 단계가 명확
- 단점 : 내려가기는 쉬워도 다시 거슬러 올라가기는 힘들다는 것
6. 데이터베이스 모델링
- 사용되는 작업이나 사물들을 DBMS의 데이터베이스 개체로 옮기기 위한 과정
7. 데이터베이스 구축 절차
- 데이터베이스 만들기, 테이블 만들기, 데이터 입력/수정/삭제, 데이터 조회/활용
[ 선택과제 ]
- 아이유만 출력하기
추가 숙제 : 데이터베이스 개체 3가지 설명
1. 인덱스 : 데이터를 조회 할 때 결과가 나오는 속도를 획기적으로 빠르게 해줌
2. 뷰 : 테이블의 일부를 제한적으로 표현 할 때 주로 사용
3. 스토어드 프로시저 : SQL에서 프로그래밍이 가능하도록 해줌