DBMS (Database Management System)
데이터베이스를 관리하는 시스템을 의미한다.
ex) MySQL, MariaDB, MongoDB 등...
DBMS도 데이터를 저장하는 방법에 따라 종류가 나뉜다!
어떤 종류가 있을까?
주로 관계형과 비관계형으로 나누어진다.
✅ 관계형이란?
데이터 간의 관계를 표현할 수 있는 데이터 저장 방식이다.
가장 많이 사용하는 방식 (MySQL, MariaDB...)
예시로 학교의 출석부가 있다!
출석부에 적힌 정보 (학생 이름, 학번, 학과, 출석 여부)
출석부의 정보로 더 자세한 학생 정보를 확인해보고 싶다면 다른 정보 목록을 찾아봐야 한다!
출석부에서 각 학생의 고유한 정보를 통해 학생 정보를 확인해야 된다. 여기서 고유한 정보는 학번을 말한다.
✅ 비관계형이란?
관계형이 아닌 모든 데이터베이스의 형태
NoSQL이라고도 많이 부른다. (SQL 언어를 사용하지 않는다는 뜻) SQL -관계형 / NOSQL - 비관계형
최근에 많이 사용된다. (ex: MongoDB...)
MongoDB는 가장 하위 데이터를 Key-Value 형태로 저장한다.
Key 값을 기반으로 데이터를 삽입하고 가져올 수 있는 구조
❗ Key-Value를 사용하는 Kotlin (Java) 자료구조
HashMap
val newHashMa[ = HashMapp<String, String>()
의미: Key값의 Type을 String, Value 값의 Type을 String으로 하는 HashMap을 생성
다른 Type을 넣어주려면 <String, String> 부분을 원하는 Type으로 수정
ex) HashMap<String, Boolean>, HashMap<Int, String>
다음과 같이 Key 값을 기준으로 Value를 삽입한다!
// Key 예진에 value로 안드로이드라는 값을 HashMap에 삽입
newHashMap["예진"] = "안드로이드"
새로운 항목을 넣을 때는 처음에 선언한 Type에 맞춰야 한다.
// Error (Value Type을 String으로 했는데 Int를 넣으려고 함)
newHashMap["예진"] = 1
값을 가져올 때는 다음과 같이 HashMap 변수와 Key 값을 써준다!
이와 같은 특징 때문에 하나의 Key에 여러 값을 넣을 순 없다!
// 예진이라는 Key에 든 Value를 가져온다.
val yejin = newHashMap["예진"]