08 Jan 2021
|
Database
Database 기본 개념
데이터베이스란 무엇인가?
데이터(Data)란 이 세상에 존재하는 온갖것을 기록 할 수 있는 자료이다. 데이터는 가공을 거쳐 정보(Information)이 된다. 데이터베이스는 정보 혹은 데이터의 체계적인 집합체이다. 데이터베이스는 데이터베이스 관리 시스템(DBMS : Database Management System)에 의해 제어된다. 대부분의 관계형 데이터베이스는 데이터 작성 및 쿼리 작업에 구조화된 질의 언어(SQL : Structured Query Language)를 사용한다.
데이터베이스는 유형별로 크게 관계형 데이터베이스, NoSQL 데이터베이스로 나뉜다. 관계형이냐 비관계형이냐의 차이인데 이 외에도 객체 지향, 분산, 그래프 등등 수많은 데이터베이스 유형이 있다.
RDBMS vs NoSQL
내가 사용할 MySQL, 학원에서 배우게될 Oracle 혹은 MongoDB, MSSQL, SQLite, MariaDB 등등은 모두 데이터 관리 시스템(DBMS)이다. 그 중 가장 점유율이 높은 Oracle이나 MySQL 등 다수의 DBMS가 관계형 데이터 관리 시스템은 RDBMS이다.
요즘 빠르게 치고 올라오고 있는 MongoDB는 NoSQL이다.
그럼 RDBMS와 No SQL의 차이는 뭘까?
관계형 데이터베이스는 데이터를 저장하기 위해 구조화된 테이블 형식, 즉 행과 열 방식으로 데이터를 2차원화시켜 관리한다. RDBMS는 각 테이블에 있는 데이터 값과 항목이 서로 연관된다. 테이블은 데이터베이스 시스템에서 서로 상호 연결될 수 있어 한 번에 여러 테이블에 명령 쿼리를 실행할 수 있다. RDBMS는 테이블에 값을 추가, 업데이트, 검색, 편집, 검색 등을 하기 위해 다른 쿼리를 실행하는 프로그램이다. 위에서 표기했듯, SQL은 관계형 데이터베이스를 처리하는데 사용되는 표준언어이다.
NoSQL은 Not Only SQL로 비관계형 데이터베이스로 스키마와 관계라는 개념이 없다. 데이터간 관계를 정의하지 않고 자유롭게 데이터를 관리할 수 있다. NoSQL은 데이터베이스 시스템이 방대하거나 같은 종류의 데이터로 분산 된 데이터를 저장하는데 사용된다. 주로 빅데이터나 실시간 웹 앱 운영에 사용되어 차세대 데이터베이스 시스템이라 불린다. NoSQL은 앞서 말한 MongoDB와 Cassandra, CouchDB 등이 있다.
참고 자료
데이터베이스란? - 오라클 kr
DBMS vs RDBMS vs NoSQL
해시넷
07 Jan 2021
|
로그포스
2021-01-07 TIL
-
오늘 한 것
-
JavaFX 공부 - scene builder만 있으면 FXML로 GUI를 구현하는 것 자체는 어렵지 않을듯하다. 이벤트 처리도 꽤나 간단했다.
-
학원 비대면 수업(15:30~22:00) Applet - applet을 배우긴 했지만.. 전혀 실무에서 쓰이지 않는 내용이므로 패스..
-
개인 프로젝트 구상 - 개인 프로젝트 주제를 선정하고 구조를 짜는데 꽤나 많은 시간이 걸렸다. 이 프로젝트를 구현하려면 DB가 꼭 필요하다. 개인 프로젝트를 하기에 앞서 DB공부를 시작하려한다. 학원에서는 Oracle을 배우겠지만 나는 조금 더 범용적으로 쓰이는 MySQL로 시작해야지.
- 내일 할 것
- JavaFX 공부
- 학원 비대면 수업(15:30~22:00) Applet
- JavaFX JDBC MySQL Tutorial
일정을 대폭 바꿔야겠다. 개인적으로 하던 javascript 공부를 잠시 멈추고 개인 프로젝트 준비에 전력투구를 해야겠다. 후딱 끝내놓고 맘편히 리액트 공부를 하는 편이 좋을듯하다. DB공부도 해야하고 할게 무진장 많이 생겼다.
오늘의 한 줄 총평 : 개인 프로젝트 힘내보자
06 Jan 2021
|
로그포스
2021-01-06 TIL
- 오늘 한 것
- JavaFX 공부 - 그동안 awt로 개고생하면서 구현했던 GUI가 screen builder로 마우스 클릭만 몇 번 하면 화면이 구현되는것을 보고 감탄을 금치못했다. javaFX document를 java와 연결하는 방법은 조금 더 연습이 필요할듯. 내일은 이벤트를 거는 방법에 대해 공부해야지.
-
학원 비대면 수업(15:30~22:00) 스레드 - 동기화와 임계영역 등 오늘 중요한 내용이 많이 나왔다. 대략적인 개념만 잡은 상태여서 실제로 써먹으려면 책 보고 좀 더 deep하게 파봐야 할 것 같다.
-
Build 15 JavaScript Projects - 여기서 소개하는 기능들이 대체로 쉬운 편이어서 잠시 강의 화면을 멈추고 스스로 구현해보고 원작자의 소스코드와 비교해보고 있다. 앞으로 더 어려워질듯한데 얼른 내가 몰랐던 테크닉을 전수받고 싶다.
- 블로그 포스팅 (Java Day 23, JS Day 10) - 자바스크립트의 구조 분해에 대해 배웠는데 자바스크립트는 정말 자유로운것 같다. 그래도 지금까지 제일 많이 연습한 언어가 자바인데 자바와 비교했을때 스타일이 너무 달라서 자바스크립트적인(?) 코딩 컨벤션을 손에 익히려면 부단히 노력해야겠다.
- 내일 할 것
- JavaFX 공부 이벤트
- 학원 비대면 수업(15:30~22:00) Applet
- 블로그 포스팅 (Javascript Day 11)
- Build 15 JavaScript Projects 수강
이번 주말에 자바스크립트로 미니 프로젝트 하나 만들고 리액트로 넘어갈 준비를 해야겠다. 자바스크립트 이론적인 공부는 꾸준히 해야겠지만 얼른 리액트를 경험해보고 싶은 마음이 굴뚝같다.
오늘의 한 줄 총평 : 계획을 잘 짜고 매사에 최선을 다 하자!