44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
Nested table?
하나의 primary key가 다른 table의 주소를 나타낸다는 식으로 중첩된 table을 작성한다면 결과적으로 하나의 테이블에 여러가지의 primary key가 들어있을수도 있다는 생각이 드는데 이러한 구조는 잘 쓰이지 않나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
SQL ORDER BY
4번 문제를 풀다가 궁금한 점이 생겨서 질문해봅니다. 단지 'BOS'팀의 홈런왕 1명을 구하기만 하면 되는데 SELECT한 전체 테이블을 정렬하는것은 조금 비효율적이라고 생각해서 SORTING 없이 답을 구하는 방법을 찾아보았는데요 이전의 방법으로 홈런왕의 ID를 구해서 저장하고 있다가 홈런왕이 필요하면해당 ID나 인덱스등을 이용하여 직접적으로 구하는것 외에는 딱히 다른 방법을 찾을수 없었습니다. 내부적으로 TOP N 키워드가 들어가있으면 전체 데이터를 정렬하는것이 아니라 최대 N명만 구하는 등 자체적인 최적화가 있는 것인가요 아니면 애초에 이러한 고민이 불필요할 정도로 성능상의 유의미한 차이가 없다 (있다면 그것은 DB 설계 자체의 문제?) 는 것인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
Custom db?
큰 기업이라면 sql 서버에 지속적으로 데이터를 요청하는것보다 그냥 c나 c++로 custom db를 사내에 만들어서 관리하는것이 (기능은 더 적더라도) 노력은 들지만 한번 만들어 놓으면 더 빠르고 관리하기 편할 것 같다는 생각이 드는데 실제 현업에서 이러한 사례가 있는지, 없다면 이유가 있나요? (그냥 구현하기가 그만큼 어려워서인가요?) 자체적으로 게임엔진을 만드는 회사들도 있는데 자체 db를 만드는 회사는 없나 갑자기 궁금해져서 여쭤봅니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
GROUP BY
평균 연봉이 3000000 이상인 선수들의 playerID 를 추출하는데 SELECT playerID, AVG(salary) FROM salaries GROUP BY playerID HAVING AVG(salary) >= 3000000 이것이 맞는 코드고 SELECT playerID, AVG( salary) FROM salaries WHERE AVG(salary) >= 3000000 제가 생각한 코드는 이건데 왜 안되는지 잘 모르겠습니다. playerID는 그렇다쳐도 SELECT AVG( salary) FROM salaries WHERE AVG(salary) >= 3000000 이건 나와야 하는게 아닌가 싶습니다! 아마 GROUP BY의 필요성에 대해 제대로 이해를 못한것 같은데 계속 되돌려 봐도 잘 모르겠습니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
처음부터 막힙니다
노트북을 바꾸면서 한 것이라곤 장치이름을 바꾼 것 뿐인데 이러네요.. 사진에서 보시다시피 장치이름 다 맞췄고 방화벽 껐고 SQL SERVER config manager에서 클라이언트 프로토콜 순서도 맞추고 전부 다 사용으로 세팅, TCP/IP 속성에서 기본 포트 1433 그다음 서비스에서 SQL Server (SQLEXPRESS) 다시시작도 눌러봤고 다해봤는데 안되네요.. UserName은 NOTEBOOK-STREVE\fere1 까지만 자동으로 입력된게 좀 걸리긴 하지만 수정도 안되네요
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
안녕하세요
강의와는 관련없지만 조언좀 얻어보고자 질문드립니다.. 현재 데이터베이스가 있는 컴퓨터의 DB를 외부에서 접근해서 사용하려고 https://timeboxstory.tistory.com/10 위의 블로그내용을 따라 적용했는데도 잘 안되더라구요ㅠㅠ ODBC API를 이용해서 코드 작성할일이 좀 있는데 혹시 다른방법이 추가적으로 필요한걸까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
DB 사용 질문입니다
안녕하세요~ 유니티 초보입니다,, 유니티 기초 학습하고 있는데 DB를 mysql이나 mariadb에 연동해서 사용하면 ms-sql과는 많이 다르겠죠? 인터넷 홈페이지에서 mariadb를 DB로 사용할 생각인데 기왕 사용하는거 홈페이지랑 게임 둘다 같은 DB로 제작해보고 싶어서 시도해볼까 하는데 유니티에 mariadb(또는 mysql) 연동해서 사용하는거 괜찮을까요? 오라클 프리티어 웹서버에 mariadb는 설치는 해놓았는데 DB는 아예 모릅니당,, 유니티, 웹서버, DB 다 쌩초보 수준인데... 일단은 영상 보면서 ms-sql로 따라해보고 mysql로 따로 해봐야할지,, 인터넷에 정보도 많이 없는거 같아서요 주저리주저리 적었네요,, 정리 유니티에 mariadb(혹은 mysql) 왕초보자가 연동하여 사용하는거 어떻게 생각하시는지 궁금합니당,, PS. 파이어베이스 db도 괜찮다는거 같은데 위에거 대신 이거 사용은 어떨지 여쭈어봅니당,, 감사합니다~
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
레디스의 쓰임
안녕하세요 설명중에 1 . RDBMS 보다 NOSQL(레디스)가 빅데이터에 처리가 적합하다. 2. 레디스는 하드에 저장안하고 IN MEMORY 방식으로 메모리에 자료가 남는다 (실시간 랭킹 처럼 사소한 것을 담는다) 라고 하셨는데 두 설명이 상충처럼 느껴져서요 빅데이터를 인메모리에 담는 것처럼 이해가 되 조금 헷갈리는데요 정리 한번만 더 주시면 이해에 도움이 될 것 같습니다. 도움 부탁드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
로그데이터
안녕하세요 초보 용어혼선이 있어서 질문드립니다. 로그라는 것은 CRUD를 지시하는 sql 명령이 메모리에 남아있는 것을 일반적으로 통칭해 말씀하시지요? 로그데이터에 대한 개념이 명확하게 안서서요 ㅡㅡ; ㅁ리 감사드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
오류로 등록이 안됩니다.
해당 문구가 나오면서 않되요 혹시 어떻게 하나요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
환경설정 관련...
new database 생성을 하려할 때 source -> database, device 항목이 나오지 않고 데이터베이스 이름과 소유자 항목이 나오는데 이 경우는 어떻게 해결해야 되는지, 혹은 어떻게 검색해야 되는지 잘 모르겠습니다... 정말 감사합니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
DB 파일을 가져올 수 없습니다.
Restore Database를 열어 DB파일을 가져오려 하는데 불러와지지가 않습니다.다른 첨부파일은 불러올 수 있으나, 야구관련 파일은 불러와지지 않습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
쿼리문 순서 질문
안녕하세요 강사님. 좀 쓸데없는 질문이긴 한데 쿼리문 실행 흐름이 대략 FROM WHERE GROUP BY HAVING SELECT ORDER BY 이런 식으로 실행된다고 배웠습니다. 그런데 SELECT TOP 1 * FROM batting WHERE teamID = 'BOS' ORDER BY HR DESC; --보스턴 팀 소속으로 단일 년도 최다 홈런을 친 사람의 정보 해당 쿼리문에서 ORDER 보다 SELECT가 먼저 실행된다면 아직 홈런 횟수를 내림차순 하기 이전의 테이블에서 최상단의 행을 가져오기 때문에 원래라면 의도하는 결과가 나오지 않는 것이 아닌지 궁금합니다. 감사합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
단일년도 최다 홈런!!
안녕하십니까 교수님.. 와 이게 안되네요... 최다 홈런친 사람을 파악하는 건데... 직관적으로 명령어를 입력하고 실행을 누르는데 컴퓨터가 불평을 합니다. 어디가 문제일까요? '될듯안될듯 될거 같은 너'입니다. select playerID from batting where (teamID= 'BOS' AND MAX(HR))
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
안녕하십니까.
교수님 안녕하십니까. 게임프로그래밍과는 상관없는 내용이지만 너무너무 궁금해서 질의를 올립니다. 회사에서 일을 하는 도중에 항상수작업으로 하는 것을 프로그램을 하나 만들어서 편안히 하고 싶습니다. 1. 엑셀파일 5개가 있는데 모두 예약자 정보입니다.2. 이 정보를 모두 지금 배우고 있는 MYSQL을 이용하여 5개의 엑셀파일을 불러들인뒤 3. 엑셀파일의 일부를 쿼리를 이용하여 편집하고 4. 외부 파일로 저장(엑셀)하고 싶습니다. 5. 추가로 이것을 자동으로 할 수 있는 툴을 만들고 싶습니다. 교수님께서 하시는 강의중에 어떤 강의를 들어야 작업할 수 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
PageId
안녕하세요. 강의 잘 보고 있습니다. PageId 가 강의 영상과 다르게 출력되고 있는데, PageId 는 개인 환경마다 다르게 나올 수 있는걸까요~?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
SELECT *에 관해서
안녕하세요. 복습을 하는 중에 궁금한 것이 있어서 다시 한번 문의 드립니다. 열의 이름을 바꿀때 이런식으로 하잖아요. 그런데 저는 SELECT birthYear AS birth FROM players 모든 열을 본 상태에서 birthYear만 birth로 바꾸고 싶은데요. 이때는 어떻게 하나요 ? - 이런식으로는 안되더라고요.. SELECT *,birthYear AS birth FROM players
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
데이터의 일부분만 출력하게 할 경우에 대해서
안녕하세요. 강의 내용중에 10명의 데이터만 나오게 하기 위해서 SELECT TOP(10) *라고 표현을 하셨는데요. 저는 10명의 birthYear 데이터만 보고 싶은데 이럴때는 어떻게 해야 하나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
검색? 논리적읽기? 횟수
안녕하세요. 뒤늦은 질문일지도 모르지만 일단 질문드려봅니다 ㅜ 1) TestOrders에 NONCLUSTERED INDEX를 하나 만들고 CustomerID = 'QUICK';를 검색할때 하나의 Leaf Page에 QUICK들이 모두 모여있어서 한 페이지만 찾으면되는데, 그렇다고 해도 28개의 QUICK을 찾으려면 최소한 28번은 읽어야 하는게 아닌가요? 오히려 WITH(INDEX(Orders_Index01))를 사용한 경우는 SEEK으로 'QUICK'모음을 찾고 그걸 하나씩 검사하기 때문에 논리적읽기가 30인건 어느정도 이해하겠는데 SCAN으로 한 경우는 왜 20일까요? 2) 예를들어 100개의 데이터중 A라는 데이터가 5개 있고 name으로 검색 가능하다고 했을때 C#의 리스트에서 검색을 할때는 A가 몇개인지는 결국 100개를 다 돌려봐야 하는데 (INDEX를 사용하지 않은)SQL에서는 왜 논리적읽기가 100이 아닌가요? 전체를 순회하는건 스캔1에 포함이 되는건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
정리하면서 질문입니다.
강의 잘보고 있습니다. Index 부분이 중요하다고 하셨는데 조금 헷갈리네요;; 1) SELECT * FROM sys.indexes WHERE object_id = object_id('accounts'); 의 결과 중 index_id 가 (0 = HEAP) (1 = CLUSTERED) (2 <= NONCLUSTERED) 인것같고 CLUSTERED INDEX를 사용하면 (0 = HEAP)대신 (1 = CLUSTERED) NON CLUSTERED INDEX라면 (1 = CLUSTERED)대신 (0 = HEAP)가 사용되는 것 같습니다. 2) DBCC IND('GameDB', 'accounts', N); N에 index_id를 넣어주게 되는데 CLUSTERED INDEX를 사용하여 index_id가 1부터 시작하게 되었을때도 0을 넣었을때 실행이 됩니다. 반대로 NON CLUSTERED INDEX일때 1을 넣어도 실행이 되는데 그냥 조회용인가요? 결과에 의미가 있나요? 3) DBCC IND('GameDB', 'accounts', 0); 실행시 첫 행의 의미는 어떤건가요? 4) NON CLUSTERED ± CLUESTERED INDEX Page Type의 [ 1은 Data Type이니까 RID를 통해 Heap Table에서 직접 값을 가져오기 ] [ 2는 Index Type으로 키를.. 값이.. Leaf에 실제 값들이 있고 그 값들의 키의 범위를 루트가 가지고 있다고 보면 될까요? => CLUSTERED에 실제 값이 있고 그 키를 가진 NONCLUSTERED페이지 ] (CLUSTERED가 있다면 모든 NONCLUSTERED는 CLUSTERED를 참조) 5) 그냥 CLUSTERED INDEX는 값들이 키순으로 정렬되어 사용되구요 6) 실제로 사용할때 한 데이터에서 INDEX를 많이 생성해서 사용하나요? 아니면 목적에 맞는 INDEX만 생성해서 사용하게되나요? 인덱스에 클러스터드에 구조까지 이해하려니까 좀 어려웠지만 일단 생각해보고 이해한거 정리하고 하면서 질문드려봅니다ㅜ