1. Micro Blog Database
중앙대학교 컴퓨터공학부 데이터베이스 시스템 1조
Tumblr(텀블러) 사이트에 대한 데이터베이스 응용설계 - 중간제출
장익환(20060957) 이상태(20115695) 조동경(20112104) 이소라(20111316) 박소연(20101524)
4. 3응용 분야
• 우리팀은 웹 서비스 중 “블로그”를 응용 분야의 한 주제로 선정하였다.
• 네이버 블로그, 티스토리, 이글루스 등 수 많은 블로그 플랫폼 중에 이러한 방대한 기능을 배제하고, 기
본적인 블로그의 기능인 “포스팅” 기능을 세분화하여 여기에 추가적으로 소셜 네트워크 기능(SNS)을
제공하는 응용 분야를 생각하였다.
• 본 응용분야는 기본적인 사용자 처리(회원가입,로그인 등)의 기능과 블로깅(글, 그림, 오디오, 비디오)
기능, 그리고 추가적으로 SNS기능의 일부인 친구관리 및 타임라인, 채팅등의 기능을 처리한다.
• 추가적으로 사용자들이 자신의 블로그를 꾸밀 수 있는 기능과 스킨을 사고팔 수 있는 마켓플레이스를
처리한다.
6. 참조 사이트
텀블러(tumblr)는 사용자들이 문자, 그림,
영상, 링크, 인용, 소리를 그들의 조그마한
텀블로그에 게재할 수 있게 도와 주는 마이크
로블로그 플랫폼이자 웹사이트이다.
!
사용자들은 다른 사용자를 팔로우(follow)
할 수 있고, 또한 블로그를 꾸밀 수 있다. 사
용자는 또한 자신이 직접 스킨을 제작하고 판
매할 수 있는 마켓 플레이스를 갖추고 있다.
www.tumblr.com
6
37. 기능별 SQL
•회원 정지처리 & 탈퇴
update TBL_USER set state = 2 where user_id = ‘lee’ ‘ 회원정지!
!
update TBL_USER set state = 0 where user_id = ‘lee' ‘ 탈퇴
37
* 사용자의 경우 state 1이 회원가입 상태, 0이 탈퇴상태, 2가 회원정지 상태
38. 기능별 SQL
•친구 추가
INSERT INTO `tbl_friends` (`SEQ`,`SEQ_FRIEND`,`SEQ_USER`)
VALUES (0, !
(select SEQ from tbl_user where user_name=‘장익환’ limit 1), !
(select SEQ from tbl_user where user_name=‘강수현’ limit 1)),!
(0, !
(select SEQ from tbl_user where user_name=‘장익환’ limit 1), !
(select SEQ from tbl_user where user_name=‘황정윤’ limit 1));
38
* 위의 경우는 이름이 장익환인 회원에게 이름이 강수현, 황정윤 인 친구를 추가하는 질의
40. 기능별 SQL
•새 포스트 등록(글)
INSERT INTO `tbl_posts` (`SEQ`, `SEQ_BLOG`, `POST_TYPE`, `CREATE_DATE`,
`MODIFY_DATE`, `WRITER_IP`, `CUSTOM_URL`, `OPT1`, `REFERENCE_URL`,
`HIT_VIEWER`, `HIT_LIKE`)!
VALUES!
! (0, 0, 0, '2013-03-02 00:00:00', NULL, '211.238.145.12', NULL, NULL, NULL, 1234, 123);!
!
INSERT INTO `tbl_post_writings` (`SEQ_POST`, `TITLE`, `CONTENT`)!
VALUES!
! (0, '오늘 일기', '오늘 나는 뭐하고 놀까 싶었다.<br /> 그러다 보니 어느덧 시간은 다되고...<br/> 허허허
허...');!
40
41. 기능별 SQL
•모든 회원의 등록된 글을 DESC순서로 가져오는 질의
select!
! A.SEQ,A.POST_TYPE ,(case A.POST_TYPE !
! ! when 0 then (select title from TBL_POST_WRITINGS where SEQ = A.SEQ)!
! ! when 1 then (select content from TBL_POST_IMAGE where SEQ = A.SEQ)!
! ! when 2 then (select quote from TBL_POST_QUOTE where SEQ = A.SEQ)!
! ! when 3 then (select title from TBL_POST_LINK where SEQ = A.SEQ)!
! ! when 4 then (select title from TBL_POST_CHAT where SEQ = A.SEQ)!
! ! when 5 then (select url from TBL_POST_AUDIO where SEQ = A.SEQ)!
! ! when 6 then (select content from TBL_POST_VIDEO where SEQ = A.SEQ)!
! end) AS TITLE,A.CREATE_DATE,C.USER_NAME,A.HIT_VIEWER!
from!
! TBL_POSTS A,!
! TBL_BLOG B,!
! TBL_USER C!
where!
! A.SEQ_BLOG = B.SEQ!
! and B.SEQ_USER = C.SEQ!
order by A.HIT_VIEWER desc
41
42. 기능별 SQL
•내 친구가 등록한 글 목록
select !
! (select user_name from tbl_user where seq = B.seq_user) AS USER_NAME,
! A.CREATE_DATE,!
! A.HIT_VIEWER,!
! A.HIT_LIKE
from !
! tbl_posts A,!
! tbl_blog B!
where !
! A.`SEQ_BLOG` = B.`SEQ` !
! and B.`SEQ_USER` in !
! ! (select SEQ_FRIEND from tbl_friends !
! ! where SEQ_USER = !
! ! ! (select user_name from tbl_user where email='matthew.chang@me.com’)!
! ! )
42
43. 기능별 SQL
•내 친구가 등록한 글 중 가장 Like가 많은 글
select !
! (select user_name from tbl_user where seq = B.seq_user) AS USER_NAME,
! A.CREATE_DATE,!
! A.HIT_VIEWER,!
! A.HIT_LIKE
from !
! tbl_posts A,!
! tbl_blog B!
where !
! A.`SEQ_BLOG` = B.`SEQ` !
! and B.`SEQ_USER` in !
! ! (select SEQ_FRIEND from tbl_friends !
! ! where SEQ_USER = !
! ! ! (select user_name from tbl_user where email='matthew.chang@me.com’)!
! ! )!
order by A.HIT_LIKE DESC LIMIT 1
43
44. 기능별 SQL
•날짜별 등록된 포스트 갯수
select!
! C.CREATE_DATE,!
! (SELECT COUNT(*) FROM tbl_posts where create_date = C.CREATE_DATE) AS
NUM_WRITING_POST!
from!
! tbl_user A,!
! tbl_blog B,!
! tbl_posts C!
where!
! A.SEQ = B.SEQ_USER!
! and B.SEQ = C.SEQ_BLOG!
group by C.CREATE_DATE
44
45. 기능별 SQL
•일자별 가입자 숫자
select!
! A.JOIN_DATE,!
! (SELECT COUNT(*) FROM tbl_user where join_date = A.JOIN_DATE) AS NUM_JOIN_USER!
from!
! tbl_user A!
group by A.JOIN_DATE
45
46. 기능별 SQL
•사용자별 방문자 순위
select!
! A.user_name,!
! B.BLOG_TITLE,!
! B.HIT_VISITOR!
from!
! tbl_user A,!
! tbl_blog B!
where!
! A.SEQ = B.SEQ_USER!
order by B.`HIT_VISITOR` desc
46
47. 기능별 SQL
•방문자가 1000명 이상인 사용자의 블로그
select!
! A.user_name,!
! B.BLOG_TITLE,!
! B.HIT_VISITOR!
from!
! tbl_user A,!
! tbl_blog B!
where!
! A.SEQ = B.SEQ_USER!
! and B.HIT_VISITOR > 1000
47
48. 기능별 SQL
•카테고리가 ‘벤처 기업’ 인 테마 목록
select!
! *!
from!
! tbl_theme A,!
! tbl_user B,!
! tbl_categories C!
where!
! A.SEQ_CATEGORY = C.SEQ!
! and A.SEQ_USER = B.SEQ!
! and C.name = '벤처 기업'
48
170. 등록
등록이메일 입력친구찾기
Like : 2개
총 팔로워 : 22명
05/10 토요일
uponateasd님이 사진을 좋아합니다. “러쉬 냄새나는 콘서트에 오다..”
05/09 금요일
uponateasd님이 나를 팔로우 합니다. [팔로우 하기]
05/08 목요일
uponateasd님이 사진을 좋아합니다. “러쉬 냄새나는 콘서트에 오다..”
05/10 토요일
uponateasd님이 사진을 좋아합니다. “러쉬 냄새나는 콘서트에 오다..”
05/10 토요일
uponateasd님이 사진을 좋아합니다. “러쉬 냄새나는 콘서트에 오다..”
182. 꾸미기
Hi I'm Matthew from Seoul, South
Korea.br/br/ I'm a Software
Engineer, studying Data Mining and
Distributed Computing, enjoying
electronic sounds.
설명
새창에서 링크 열기
모바일 전용 레이아웃 사용
새창에서 링크 열기
내포스트 | 샘플포스트Preview
페이지당 포스트 수 15
Red Background
Blue Background
Small Nav For Pages
Hide Colored Top Bar
Hide Background Texture
Hide Date
Hide Tags
Hide Notes
Align Navigation w/Description
Infinite Scroll
Hide Social Button
화면 표시 옵션
수정
194. 꾸미기
Disqus ID
Twitter ID
Facebook ID
Dribble ID
Flickr ID
Youtube ID
Skype ID
Deviantart ID
Vimeo ID
Behance ID
Foursquare ID
LastFM ID
Github ID
소셜 설정
수정
207. 만들기
제목
URL .tumblr.com
이 블로그는 여러 작성자가 관리할 수 있고 비공개로 설정할 수도 있습니다.
참고: 포스트의 좋아요를 클릭하거나 다른 회원을 팔로우할 때 이 블로그 이름이 나타게 하려면
로그아웃한 다음 별도의 계정을 만들어야 합니다.
블로그 만들기
258. 설정
수정
사용자 이름 changmatthew
댓글
내 팔로잉의 댓글 허용
2주 이상된 내 팔로워의 댓글 허용
질문하기 질문 허용
포스트 허용 다른 사람들의 포스트 허용
내가 승인해야만 포스팅되도록 하려면 포스트를 /submit(으)로 보내세요.
한국어 | 영어언어