본문 바로가기

Project/FRS (MediaSolution)

[Intro] DataBase Definition

서버와 Local MDB에 사용될 DataBase


1. Table Name

FRS_Map
FRS_Object
FRS_Doorway
FRS_Rel_MapMove


2. Table Design
 
 FRS_Map  MS-SQL Data Type  MS-Access Data Type  Explain
 MapID  Int Primary Key Not Null
 Identity( 1, 1 )
 AutoIncrement( 1,1 )
 Primary Key Not Null
 지도의 ID. Primary key
 자동증가. Null 허용 안함
 MapName  VarChar( 30 )  Text( 30 )  지도의 이름
 MapFloor  Int  Long  지도의 층
 MapRoad  Text  Memo  지도의 길 정보. Long Text
1과 0의 조합으로 이루어짐
 MapWidth  Int  Long  지도의 너비
 MapHeight  Int  Long  지도의 높이
 MapGridSize  Int  Long  지도의 Grid Size
 MapEnable  Int  Long  지도의 사용 여부. 1, 0
 MapExplain  VarChar  Text  지도에 대한 설명
 MapUpdate  DateTime  DateTime   마지막 Update 시간
지도에 대한 정보를 가지고 있는 Table
지도의 이름, 층, 너비, 높이, 사용여부, 설명, 업데이트 날짜가 정의된다.
MapRoad에 길에대한 정보가 저장된다. 갈수 없는길 = 0, 갈수 있는 길 = 1이다. 


 FRS_Object  MS-SQL Data Type  MS-Acess Data Type   Explain 
 ObjectID  Int Primary Key Not Null
 Identity( 1, 1 )
 AutoIncrement(1,1)
 Primary key Not Null
 객체의 ID. Primary Key
 자동증가. Null 허용 안함
 ObjectName  VarChar( 30 )  Text( 30 )  객체의 이름
 ObjectKind  VarChar( 30 )  Text( 30 )  객체의 종류. 양자택일
 Object, Movable
 ObjectCategory  VarChar( 30 )  Text( 30 )  객체의 카테고리.
 FK_MapID  Int  Not Null  Long  Not Null  Foreign Key. Not Null
 객체가 속한 Map의 ID
 ObjectShape  VarChar( 30 )  Text( 30 )  객체 모양의 종류. Circle, 
 Ellipse,Rectangle,Polygon
 ObjectShapeX  VarChar  Text  객체의 X좌표. 구분자 = ','
 ObjectShapeY  VarChar  Text  객체의 Y좌표. 구분자 = ','
 ObjectEnable  Int  Long  객체의 사용 여부. 1, 0
 ObjectExplain  VarChar  Text  객체에 대한 설명
 ObjectUpdate  DateTime  DateTime  마지막 Update 시간
객체에 대한 정보를 가지고 있는 Table
객체의 이름, 종류, 카테고리, 소속 Map ID, 모양, X * Y 좌표들, 사용여부, 설명, 업데이트 날짜가 정의된다.
ObjectKind에 매장객체인지 이동객체인지를 표시( Object, Movable ).
FK_MapID에 해당 객체가 속해있는 Map의 ID.
ObjectShape에 객체의 모양을 정의한다( Circle, Ellipse, Rectangle, Polygon ).
ObjectShapeX, ObjectShapeY에는 X좌표와 Y좌표를 ','나 ' ' 를 구분자로 하여 기술한다.


 FRS_Doorway  MS-SQL DataType  MS-Access Data Type  Explain
 DoorwayID  Int Primary Key Not Null
 Identity( 1, 1 )
  AutoIncrement(1,1)
  Primary key Not Null
 출입구의 ID. Primary Key
 자동증가. Null 허용 안함
 DoorwayName  VarChar( 30 )  Text( 30 )  출입구의 이름
 FK_ObjectID  Int  Long  Foregin Key. Not Null
 출입구가 속한 출입구의 ID
 Null값일 시 Map이동
 DoorwayRow  Int  Long  출입구의 행
 DoorwayCol  Int  Long  출입구의 열
 DoorwayIsExit  Int  Long  출구 혹은 입구의 여부. 1, 0
 DoorwayEnable  Int  Long  출입구의 사용여부
 DoorwayExplain  VarChar  Text  출입구에 대한 설명
 DoorwayUpdate  DateTime  DateTime  마지막 Update 시간
출입구에 대한 정보를 가지고 있는 Table
출입구의 이름, 소속 Object ID, 행*열 위치, 출구*입구 여부, 사용여부, 설명, 업데이트날짜
FK_ObjectID에 해당 출입구가 소속된 Object의 ID가 표시된다. Null값 일 시 건물간 이동에 쓰이는 출입구가 된다.


 FRS_Rel_MapMove  MS-SQL Data Type  MS-Access Data Type  Explain 
 MapMoveID  Int Primary Key Not Null
 Identity( 1, 1 )
 AutoIncrement(1,1)
 Primary key Not Null
 지도의 ID. Primary Key
 자동증가. Null 허용 안함
 FK_SPDoorwayID  Int Not Null  Long Not Null  Foregin Key. Not Null
 이동의 출발지 출입구 ID
 FK_RPMapID  Int Not Null  Long Not Null   Foreign Key. Not Null
 이동의 도착지 Map ID
 FK_RPDoorwayID  Int Not Null  Long Not Null  Foreign Key. Not Null
 이동의 목표지 출입구 ID
 MapMoveTime  Int  Long   지도이동간에 걸리는 시간
 MapMoveEnable  Int  Long  지도이동 사용 여부 
 MapMoveExplain  VarChar  Text  지도이동에 대한 설명
 MapMoveUpdate  DateTime  DateTime  마지막 Update 시간
지도 이동에 대한 정보를 가지고 있는 Relation Table. ObjectID는 MapID의 DoorwayID로 이동이 가능하다.
출발점이 될 출입구의 ID, 도착점의 Map ID, 도착점의 출입구 ID, 이동소요시간, 사용여부, 설명, 업데이트.
FK_SPDoorwayID는 이동을 시작할 출발지 출입구의 ID
FK_MapID는 이동의 완료지인 도착지 지도의 ID
FK_RPDoorwayID는 이동의 완료지인 도착지 출입구의 ID



MS-Acces DataType :  http://msdn.microsoft.com/en-us/library/windows/desktop/ms714540(v=vs.85).aspx
                                 
MS-SQL Data Type :    http://codeh.tistory.com/5
                                  http://blog.naver.com/PostView.nhn?blogId=qmffjem09&logNo=70027471260

'Project > FRS (MediaSolution)' 카테고리의 다른 글

[DataBase] Design & Relation  (0) 2012.02.07
[Editor] Editor Configuration  (0) 2011.10.19
[Intro] 프로젝트 개요  (0) 2011.09.07