database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30196 게시물 읽기
No. 30196
MySQL DB 시간표 ERD 관련...
작성자
한동희(hdh1202a)
작성일
2012-02-01 10:17
조회수
9,199

안녕하세요. 새로 가입했습니다.

현제 스케줄러 웹 프로젝트를 구상해서 공부하고 있는데.

스케줄 부분이 어떻게 해야 될지막막 해서 문의드리려고 합니다.

혹시 구글 캘린더 사용해 보신분 계신가요?

그런식으로 일일 및 월 단위로 개인에 대한 작업과 스케줄을 입력을 하려고 합니다.

하지만 웹 이라는 공간이 있어, 얼마든지 데이터가 조작되어 올 수 있기 때문에.

DB에 시간 계획을 입력 시

ex)

15:30~ 19:00  낮잠자기          - 이미 입력된 데이터

18:00~20:00  게임하기           - 추가 하려는 데이터

-------------------------------------------------------------------

여기서 값을 추가 하려고 할때. 시간이 겹치게 되는데 이럴 경우 겹치는 경우 잘못된 결과를 입력했다고 오류창을 보여줘야 하는데요.

제가 원하는 목적은

어떻게 스케줄관리 Table을 작성하며, 또한 시간 데이터에 범위가 겹칠경우 쿼리문으로 알 수 있는지에 대한 대책.

을 알고 싶습니다.

...* 하루에 등록된 스케줄이 몇개가 될지 모르기 때문에 시간 테이블 작성하기가 너무 어렵습니다 *

-------------------------------

현재 예상 Table

schedule Table    
sch_idx 스케줄 기본키  
sch_name 스케줄 이름  
 

 

 

Time Table  
time_idx 기본키
time_data 날짜
time_hour_1 잠자기
time_hour_2 잠자기
time_hour_3 잠자기
time_hour_4 기상
.....  
time_hour_9  
....  
time_hour_23  

대충 이런식으로 예상을 하고 있습니다..  

 

 

이 글에 대한 댓글이 총 2건 있습니다.

상정하신 형태로 테이블을 구성하면(시간별로) 사용자가 9시17분부터 9시 43분까지 XX하기 등의 스케줄은 불가능하겠군요.
 

스케줄기본키
칼렌더키(구글 칼렌더는 하나의 사용자가 여러개의 칼렌더를 생성할 수 있으므로 사용자키가 아닌 칼렌더키를 가정했습니다. 그리고 이벤트에 대한 공유는 구글 칼렌더에 없습니다만, 스케줄 공유기능이 있어서 하나의 이벤트를 여러명이 공유하는 형태로 간다면 M:N관계를 풀기 위해서 사용자-스케줄 테이블이 별도로 있어야 겠죠 )
제목
시작시각
끝시각
얼마전알람(구글 칼렌더에는 알람 기능이 있으므로)
장소
기타설명
색상(구글 칼렌더에서는 색상을 통해서 사용자가 이벤트의 종류를 구별할 수 있도록 해줍니다. 사실 gmail처럼 사용자가 multi-label을 직접 생성하고 붙일 수 있도록 해주면 정말 좋겠다는 생각은 합니다.)
 

식으로 설계되고 대량 삽입 작업은 없다고 가정을 하면
입력될때마다

입력될이벤트의시작시각 < 기존이벤트(테이블)의끝시각 OR 기존이벤트의시작시각 < 입력될끝시각

을 만족하는 일정이 존재하면 일정이 겹치는구나.. 라고 볼 수 있을 듯 싶습니다.
사실 구글 칼렌더는 시간이 겹치는 일정도 기록이 가능하도록 되어 있긴 합니다.

우욱님이 2012-02-01 12:27에 작성한 댓글입니다.
이 댓글은 2012-02-01 12:27에 마지막으로 수정되었습니다. Edit

아 감사합니다. ㅠ_ㅠ

한동희(hdh1202a)님이 2012-02-08 20:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30201innodDB commit 실행시간 문제.. [1]
최진규
2012-02-04
8644
30198my sql 를 사용중 MS Access 2010 을 이용하여 [1]
이석현
2012-02-02
7259
30197자꾸 lock timeout에 걸리는데요.. [6]
최진규
2012-02-02
10757
30196MySQL DB 시간표 ERD 관련... [2]
한동희
2012-02-01
9199
30195효율적인 query ? [1]
백영민
2012-01-26
7488
30194update 할&#46468; where 절에 조건을 주려고 합니다...(자체조인) [4]
박순채
2012-01-25
10279
30193커서 선언에 대해 질문 드려요
박세정
2012-01-19
7759
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다