티스토리 뷰
DB(DataBase)
: 일정한 체계 속에 저장된 데이터의 집합
엑셀이나 메모장에 어떤 정보를 입력하고 저장하는 것과 비슷하나,
필요한 정보를 저장하거나 검색할 때 조금 더 효율적인 구조로 만든 것
-> 데이터를 효율적으로 저장하는 공간
Table
: 표 형태로 저장된 데이터의 집합
엑셀 - 시트
데이터베이스 - 테이블(표)
데이터는 데이터베이스 안에서 테이블이라는 단위로 저장,
하나의 데이터베이스에는 여러 개의 테이블 존재 가능
-> 관련있는 정보들을 하나의 테이블에 저장하고, 여러 테이블을 두면 많은 데이터를 체계적으로 저장할 수 있음
row와 coulmn
- row(행): 레코드(Record)라고도 하며, 하나의 개체를 표현
-> 하나의 row가 하나의 데이터 집합을 의미(글 하나에 대한 정보)
- coulmn(열): 각 개체가 가지는 하나의 속성(Attribute)
ex) 학번, 이름, 전공, 성별처럼 학생이 갖는 속성 하나하나를 나타내는 단위
DBMS (DataBase Management System)
(= 데이터베이스 관리 시스템: 데이터베이스를 관리하기 위해 사용하는 프로그램)
-> 데이터베이스에서 데이터를 추가, 저장, 조회, 삭제 등을 할 때는 DBMS를 사용해서 하는 것
ex)
데이터베이스 구축 -> 사용할 DBMS 프로그램을 고르는 것부터 시작
DBMS를 선택하면 내부적으로 알아서 미리 설계된 방식으로 데이터베이스를 생성
구조
서버 - 클라이언트 구조로 동작
서버 역할을 하는 하나의 프로그램이 실행,
사용자는 클라이언트 역할을 하는 프로그램으로 해당 서버에 접속,
그 서버에 SQL을 전송해서 명령을 내리는 구조
종류
데이터를 어떤 방식으로 저장하는지에 따라 2가지로 나뉨
1) RDB(Relational Database / SQL) _관계형 DB✨
: 엑셀 표처럼 어느정도 짜여진 틀 안에서 정해진 정보만 입력하는 것
ex) MySQL, PostgreSQL, sqlite
- 대다수의 회사, 기관 등에서 SQL 사용
2) NoSQL (Non Relational / Not only SQL)
: 메모장에 정보를 입력하는 것처럼 틀이 정해져 있는 않고 (상대적으로) 자유롭게 정보를 입력하는 DB
ex) mongoDB, dynamoDB, couchDB
SQL (Structured Query Language)
(= 구조적 질의 언어, 사람들이 일상에서 쓰는 문장에 비해 좀 더 구조화된 형식 언어)
: DBMS에 명령을 내리기 위해 사용하는 언어, 데이터베이스와 대화할 때 쓰는 언어
[데이터베이스 공통 개념]
- Create: 데이터 정보 생성(입력)
- Read: 정보 검색(조회) 읽기
- Update: 정보 수정
- Delete: 정보 삭제
'루비온레일즈' 카테고리의 다른 글
[Ruby On Rails] ORM (0) | 2021.04.14 |
---|---|
[Ruby On Rails] Migration 마이그레이션 (0) | 2021.04.14 |
[Ruby On Rails] 쇼핑몰 데이터베이스 모델링 (0) | 2021.04.14 |
[Ruby On Rails] 루비 온 레일즈란? (0) | 2021.04.12 |
사전준비 | 레일즈 프로젝트 작업 위한 세팅 (2) | 2021.04.11 |