DB 1

Dog발자·2024년 4월 17일

DB

목록 보기
1/1

1. 데이터를 기록하다

  • Zork : The Great Undergroind Empire 게임 세이브 시스템을 적용한 최초의 게임
  • The Legend of Zelda (1986,Nintendo, NES) - 전원이 꺼져도 상태 정보가 저장되는 게임

2.데이터 관리(Offline)

a. TEXT(메모장)-사용하기 쉽다, 호환성 좋음, 가독성 및 관리 불편

(파일을 불려와서)(옵션(사운드 설정 등)도 이렇게 관리 할수 있다.)

b. XML-호환성 좋음, 복잡성, 중복 문제.

데이터를 그대로 불려오서 사용하기 보다는 데이터를 가공해서 툴처럼 만들어서 사용
유니티 익스펙터와 비슷

c. JSON(JavaScript Object Notation)

XML과 비슷
유니티에는 JSON이 들어가 있음

d. Excel

접급성 좋음, 호환성 안좋음
윈도우즈에만 돌아감
안드로이드,ios를 파싱을 지원을 안하기 때문에 힘들다

e. CSV(Comma Separated Values)

Excel 보다 가볍고 적용하기 좋음

f. PlayerPrefs(Player Preference) with Unity

유니티에서 제공해주는 기능, 레지스트리 기록
주로 옵션(사운드,그래픽)을 지정 상용
Dictonary 자료구조처럼 키와 값을 가진다.

2. 데이터 관리 (Online)

a. C-ISAM(C-Indexed Sequential Access Method)

  • 색인 순차 접근 방식, 단순한 파일 시스템
  • 인텍스를 순차적으로 접근해서 찾음

b. MySQL -> Maria DB

  • Simple and Fast, 리눅스
  • MySQL 인수 -> 유료
  • Maria DB -> 꽁짜

c. MSSQL(Microsoft SQL)

  • 마이크로소프트에서 사용
  • 윈도우 서버 호환성 좋게 만듬
  • 빠름, 데이터베이스 툴을 편리하게 사용 가능

d. Oracle

  • 안정성 좋음, 비싼 가격
  • 게임 쪽이 아닌 삼성, 아마존 등을 사용한다.

e. Memory DB

  • DB내용을 메모리에 기록, 빠른 접근
  • 거대한 메모리 팜을 만들고 사용
  • 비번한 사용하면 사망
  • SSD로 사용 읽고 쓰기 하면 수명이 짧아짐

f. NoSQL

-Not only SQL (오픈소스)

  • 자료 분산, 클라우드 특화
  • mongoDB, Redis, membase 등

3. 자료구조와 알고리즘

어떻게 해서 네트워크 부하를 줄여 빨리 찾을 것이가?

4. 저장이 필여힌 이우

  • 모든 데이트를 메모리에 담아둘 수 없다.
  • 게임이 종료가 되어도 데이터가 유지되어야 한다.
  • 네트워크의 경우 어디서든 동일한 데이터를 유지할 수 있어야 한다.

벡엔드, 프로트엔트: 둘 다하는 사람을 풀스택

5.왜 DB인가

  • 게임 엔진을 사용하는 것과 같은 이유
  • 안정성
  • 효율성
  • 호환성
  • 보안 문제

6.어떤 내용들이 기록되는가

  • 캐릭터 정보
  • 인벤토리 정보
  • 퀘스트 정보
  • 게임 로그

마지막 접속 위치, 랜선, 와이파이 등 생각보다 많은 정보가 로그인 할 때 들어감

7.기록되지 않는 내용

  • 랜덤값(적 위치, 드롭 아이템 종류 등)
  • 모델링 데이터
  • 이미지 데이터
  • 사운드 데이터

8. 무료 데이스 베이스 디자인 튤

  • Database Diagram Design Tool

  • ERD-Entity-Realationship Diagram

  • Vertabelo

  • dbdiagram.io

  • draw.io

  • Lucidchart

  • SQLDVBM

9. MySQL and MariaDB

  • DBMS(Database Management System) : 데이터 관리 시스템
  • 관계형. 객체지향 / 계층형 등
  • Redlational Database : Key 와 Value의 관계를 이용한 데이터베이스
  • SQL(Structured Query Language)
  • Query : DB에 보내는 명령어 혹은 요청

  • Table : 데이터가 저장되는 장소
  • Schema: 테이블 구조와 관련된 정보
  • Column Name / Column Type / Colume Length(ex.id varchar 10)
  • Record: 스키마에 맞춰서 작성된 값
  • Primary Key
    레코드를 구별하는 고유 값 (중복되어서는 안됨)
    여러 개 지정 가능
    외래키(Foreign Key)가 존재한다
  • Index : 데이터를 찾기 쉽도록

  • DDL(Data Define Language): DB정의
    EX) create(테이블 만들기), alter(테이블 구조 바꾸기), drop(테이블 삭제)

  • DML(Data Management Language): DB관리
    EX) select(조회), insert(삽입), updata(수정), delete(삭제)

  • DCL(Data Control Language) : DB 권한 관리
    EX) grant(권한 부여), revoke(권한 회수)

10. Unity와 연결

데이터 베이스 ----- 웹서버

XAMPP를 설치
Apache + MariaDB + PHP + Perl

0개의 댓글