CS

데이터베이스

Game Client Lee Hwanguk 2023. 6. 29. 23:38

#데이터 베이스 (DB) 

 - 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음. 

 - 데이터베이스를 제어, 관리 하는 통합 시스템을 DBMS

 - 쿼리언어를 통해 삽입, 삭제, 수정, 조회 등을 수행 할 수 있음.

 - 데이터 베이스 위에 DBMS가 있고 그 위에 응용프로그램이 있음. 이 구조로 데이터를 주고 받음. 

   ex) DBMS 인 My SQL이 있고 그 위에 Node.js 나 php에서 데이터 베이스 안에 있는 데이터를 꺼내어 해당 데이터 관련 로직을 구축 할 수 있음 ( DB -> DBMS -> 응용프로그램)

 

* 엔터티 

 - 여러개의 속성을 지닌 명사를 의미. 

   ex) 회원이라는 엔터티가 있다면 회원은 이름, 아이디, 주소, 전화번호의 속성을 갖고있음.

 - 약한 엔터티 / 강한 엔터티

  ex1) A가 혼자서는 존재하지 못하고 B의 존재여부에 따라 종속적이면 A는 약한 엔터티 , B는 강한 엔터티

  ex2) 방은 건물 안에만 존재하니 약한 엔터티, 건물은 강한 엔터티

 

*릴레이션

 - 데이터베이스에서 정보를 구분하여 저장하는 "기본단위"

 - 엔터티에 관한 데이터베이스는 "릴레이션" 하나에 담아서 관리 

 - 릴레이션은 "관계형 데이터베이스" 에서는 "테이블" / "NoSQL"에서는 "컬렉션" .

 

*테이블, 컬랙션

 - 관계형 데이터베이스에 대표적인 MySQL

 - NoSQL 데이터베이스의 대표적인 MongoDB

 

 - 관계형 데이터데이터베이스의 구조는 "레코드 - 테이블 - 데이터베이스"

 - NoSQL 데이터베이스의 구조는 "도큐먼트 - 컬렉션 - 데이터베이스"

 

*속성

 - 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보

 ex) '차'라는 엔터티의 속성에는 '차 넘버' , '바퀴 수' ,  '차 색깔' , '차종' 등이 있음 

 

*도메인

 - 릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합.

 ex) 성별 이라는 속성이 있다면 속성이 가질 수 있는 값은? {남,여} 라는 집합이 됨