
Databse란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미합니다.
DBMS란(DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어입니다.
SQL이란(Strucured Query Language) 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이며 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리,
데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었습니다.
RDBMS는 관계형 데이터 베이스 관리시스템으로 명확한 데이터 구조를 보장하며 합니다.
-장점으로는 외래 키(foreign key)라는 것을 사용 테이블간의 관계에서 외래 키를 이용한 테이블 간 Join이 가능하다는 게 RDBMS의 가장 큰 특징이다.
중복을 허용하지 않으며, 트랜잭션 AICD 성질로 데이터의 무결성과 일관성을 보장한다.
-단점으로는 테이블간 관계를 맺고 있어 시스템이 커질 경우 Join문이 많은 복잡한 쿼리로 만들어 질 수 있습니다.
성능 향상을 위해서는 서버의 성능을 향상 시켜야하는 Scale-up만을 지원하여 비용이 기하급수적으로 늘어날 수 있다.
스키마로 인해 데이터가 유연하지 못하며 변경 될 경우 번거롭고 어렵는 부분이 있습니다.
-대표적으로 MySQL, SQLite, PostgreSQL, Oracle 등 이 있습니다.
NoSQL은 비 관계형 데이터 베이스 관리 시스템이며 테이블 간의 관계를 정하지 않아 Join도 불가능하다.
수평적확장이 가능하며 분산처리로 대규모 데이터 처리가 용이하다.
-단점으로는 데이터 중복이 발생할 수 있으며, 중복된 데이터가 변경 될 경우 수정을 모든 컬렉션에서 수정해야한다.
스키마가 존재하지 않아 명확한 데이터 구조를 보장하지 않으며 데이터 구조결정이 어렵습니다.
키,밸류에 대한 입,출력만 지원 합니다.
mvc 패턴에 대해서 설명해주세요.
M - 모델
-컨트롤러가 호출을 하면 DB와 연동하여 사용자의 입출력 데이터를 다루는 일과 같은 데이터와 연관된 비즈니스 로직을 처리하는 역할
-데이터 추출, 저장, 삭제, 업데이트 등의 역할을 수행
V - 뷰
-사용자와 상호작용을 하며 컨트롤러로부터 받은 모델의 결과값을 사용자에게 화면으로 출력
C - 컨트롤러
-Model과 View 사이를 이어주는 인터페이스 역할
-Model이 데이터를 어떻게 처리할지 알려주는 역할
-MVC 패턴은 M은 모델, V는 뷰, C는 컨트롤러 의미 합니니다.
화면을 담당하는 부분이 뷰, 컨트롤러는 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할을 하고, 모델은 데이터를 관리하는 역할을 합니다.
웹페이지 화면을 보여주고 클라이언트의 요청을 받아 처리하고, 데이터를 관리하는 역할을 MVC 패턴이라고 합니다.