-
Notifications
You must be signed in to change notification settings - Fork 18
Database
ThisTine edited this page Nov 7, 2022
·
28 revisions
Here is our ER diagram
erDiagram
User_Profile {
String userId
String studentId
String fName
String lName
String email
Bytes image
}
Detail {
DateTime birth
String sex
String address
String hobby
String phone
Int year
}
Major {
String majorId
String majorName
}
Faculty {
String facultyId
String facultyName
}
Role {
String roleId
Role_Type roleName
DateTime expired
}
User_To_Role {
}
Follow {
Boolean status
DateTime date
}
User_Report {
Int limit
String reason
DateTime date
}
User_Blocked {
Boolean status
}
EXP {
Int currentXP
Int level
}
Action_to_XP {
String actionType
Int actionXp
DateTime date
}
Student_Post {
String postId
DateTime lastEdit
Int score
Boolean seen
}
Following_Rating {
String followingId
Int score
}
Post_Body {
String bodyId
String text
}
Image_Container {
String imgId
String imageAddress
}
Video_Container {
String vidId
String vidAddress
}
Student_Reacted {
}
Emote_Collection {
String emoteId
}
Post_Comment {
String commentId
String comment
DateTime cmTime
}
Repost {
String newPostId
String newUserId
DateTime newPostTime
}
Post_Report {
String reason
}
Comment_Report {
String reason
}
Hide_Post {
}
Hide_Comment {
}
User_Noti_Object {
}
Noti_Object {
String notiObjectId
DateTime date
Boolean isRead
String url
}
Template {
String templateId
String template
}
Value {
String valueId
String value
}
Module {
String moduleId
String moduleName
}
Noti_Type {
String notiTypeId
String notiType
String notiTypeName
String notiTypeDesc
}
Noti_Setting_Email {
}
Noti_Setting_App {
}
Timetable {
String tableId
String eventId
}
Event {
String eventId
String eventName
DateTime stTime
DateTime endTime
String eventTypeId
String descId
}
Event_Place {
String placeId
String building
String room
}
Description {
String desc
}
Event_Type {
String eventTypeId
String eventType
}
Course {
String courseId
String courseName
String lecturer
}
Assignment {
String assignmentId
String assignmentName
}
Task {
String taskId
String taskName
String taskDesc
DateTime created
DateTime due
String taskType
}
Task_Folder {
String folderId
String folderName
}
Task_Group {
String groupId
String groupName
}
User_To_Group {
}
Task_Track {
String trackingId
Float percentage
}
Task_Check {
Boolean isCheck
}
Task_History {
DateTime date
}
Announcement {
String postId
Int languageId
String annTopic
String annDetail
Int filterId
DateTime annCreated
DateTime annExpired
Boolean isApprove
}
Announcement_Filter {
Int filterId
String filterType
String value
}
Announcement_Language {
Int languageId
String language
}
Post_To_Language {
}
Announcement_Post {
Int statusId
String status
}
Announcement_Delete {
Int delId
String postId
DateTime deleteAt
}
Announcement_Pin {
Boolean status
}
Announcement_Seen {
DateTime seenAt
}
Announcement_Approve {
DateTime approveTime
}
Chat_User {
String username
}
Chat_Room {
String roomId
String roomName
String chatColor
DateTime created
DateTime deleted
Room_Type roomType
}
User_To_Room {
String nickname
}
Chat_Group {
DateTime joined
DateTime lefted
String groupImg
}
Message {
String messageId
String senderId
Message_Type messageType
DateTime created
Boolean isRead
}
Chat_Quote {
Int quoteId
String userId
DateTime created
String text
}
Chat_Sticker {
Int stickerId
String stickerName
String stickerLink
}
Chat_Restaurant {
Int rKey
String restaurantId
String restaurantName
}
Chat_Transaction {
Int tKey
String payerId
String receiverId
String qrGen
}
Dating_Options {
Int ageMin
Int ageMax
String genderPref
Boolean useAge
}
Faculty_Pref {
String facultyPref
}
Card_Queue {
String userId
}
User_Rating {
Int score
}
Heart_History {
DateTime heartedAt
Boolean isSkipped
}
Interest {
Int interestId
String interestName
}
User_Interest {
}
Dating_Enroll {
Boolean hasCompleteTutorial
Boolean hasCompleteSetting
}
Activity_Poll {
String pollId
String pollName
String pollPlace
DateTime pollAppointAt
String pollText
Int participantMin
Int participantMax
Boolean isOpen
DateTime pollcreated
}
Poll_Applicant {
Boolean isAccepted
DateTime registerTime
}
Poll_Interest {
}
Community {
String communityId
String communityName
String communityOwnerId
String communityDesc
Boolean communityPrivacy
Bytes communityPhoto
}
Community_User {
DateTime joined
}
Community_Role {
String roleId
CRole_Type roleName
}
Community_Blacklist {
DateTime since
}
Community_Tag {
}
Tag {
Int tagId
String tagName
String tagDesc
}
Community_Post {
Boolean isPinned
}
Community_File {
}
File_Info {
String fileId
String fileName
String fileSender
String sendType
String fileDesc
DateTime fileExpired
}
User_Show_File {
}
File_Comment {
String commentId
String commentText
DateTime commentedAt
}
Folder {
String folderId
String folderName
}
Sub_Folder {
String sFolderId
String sFolderName
}
File_In_Folder {
}
File_Access {
String accessId
String fileId
String accessType
}
Everyone_Access {
String eaId
}
Community_Access {
String caId
}
Major_Access {
String maId
}
Direct_Access {
String daId
}
User_Back {
String userId
String token
}
Login_Info {
String loginId
}
Login_Detail {
DateTime loginDate
DateTime tokenExpired
String deviceInfo
String ip
}
Logout_Info {
String logoutId
}
Logout_Detail {
DateTime logoutDate
String deviceInfo
String ip
}
Ban_Status {
String banId
String reason
Int instance
DateTime banFrom
DateTime banTo
}
wordReport {
String word
}
wordReportDetail {
String reason
DateTime reportedAt
}
Filtered_Word {
Int wordReportId
String word
}
Sn_Head {
String snId
DateTime created
Boolean isPublic
String snName
String snDesc
String snLink
Int votes
}
Sn_Votedetail {
Int voteId
Vote_Type voteType
}
Sn_Comment {
String commentId
String comment
DateTime commentedAt
}
Sn_Fav {
Int favId
}
Sn_Recent {
Int recentId
DateTime viewedAt
}
Sn_Access {
Int accessId
}
Sn_Library {
Int libId
String libName
String userId
}
Sn_In_Library {
Int inLibId
}
Transaction {
String transId
Int payMethodId
Float subTotalPrice
Int pointUse
Float totalPrice
Int payTypeId
}
Transaction_Detail {
String transDesc
DateTime transCreated
String transStatus
Boolean isShip
Int errId
}
Transaction_Error {
Int errKey
Int errId
String errDesc
}
Transaction_Paymethod {
Int payMethodId
String tokenId
}
Credit_Card {
String ccId
String holderName
String country
String bank
String cvc
String last4
DateTime cardExpired
}
E_Banking {
String bkId
String holderName
String holderType
String bank
String country
String currency
}
QR {
String qrSourceId
String qr
DateTime expired
}
Transaction_Paytype {
Int payTypeId
Payment_Type typeOfTrans
}
Kmutt_Point {
String kpId
}
Kmutt_Point_History {
Int pointsReceived
Int pointsSpent
DateTime pointTransactionAt
}
Shop_Order {
String orderId
String userId
Float totalPrice
Float totalDeliveryFees
String shipping
DateTime orderPlaced
String orderStatus
}
Shop_Coupon {
String couponCode
String couponDesc
Float discount
DateTime validFrom
DateTime validTill
Float minimumSpend
Int productId
Int quota
}
User_Coupon {
}
Shop_Product {
Int productId
String productName
String productDesc
String productColor
String productSize
Float productPrice
Int productStock
String brandName
Float deliveryFees
BigInt views
}
Shop_Categories {
Int categoryId
String categoryName
String image
}
Shop_Contact {
Int contactId
String contactPerson
String phoneNo
String address
String lineId
}
Shop_Product_Images {
Int piId
String image
}
Shop_Order_Product {
Int quantity
}
Shop_Cart {
Int quantity
}
Shop_Product_Review {
Int reviewId
String reviewName
String reviewDesc
Int reviewRating
DateTime reviewAt
String image
}
Restaurant {
String resId
String resName
DateTime lastupdated
Int likes
Boolean isSeen
}
Restaurant_Detail {
String phoneNo
String website
String location
String vicinity
Float latitude
Float longitude
}
Restaurant_Image {
Int imageId
String image
}
Restaurant_Open {
Int openId
DateTime open
Int day
}
Restaurant_Close {
Int closeId
DateTime close
Int day
}
Restaurant_Like_By_User {
}
Restaurant_Favorite_By_User {
}
Restaurant_Seen_By_User {
DateTime seenAt
}
SReview_Shop {
String shopId
String shopName
String shopType
String open
String close
String phoneNo
String address
String latitude
String longitude
Float aveRating
Int reviewReceived
}
SReview_Shop_Image {
Int imageId
String image
}
SReview_Review {
String reviewId
}
SReview_Shop_Review {
DateTime reviewedAt
String text
Int rating
Int likeReceived
}
SReview_Restaurant_Review {
DateTime reviewedAt
String text
Int rating
Int likeReceived
}
SReview_Review_Image {
Int imageId
String image
}
SReview_Comment {
Int commentId
String userId
String text
DateTime commentedAt
Int likeReceived
}
SReview_Shop_Review_Like {
}
SReview_Restaurant_Review_Like {
}
SReview_Comment_Like {
}
SReview_Suggestion {
Int suggestId
String suggestion
}
Question {
String qId
DateTime created
DateTime lastUpdated
String qTitle
String qDesc
Int voteCount
}
Question_Setting {
Boolean isAnonymous
}
Question_Tag {
Int tagId
}
Question_Default_Tag {
Int tagKey
Int tagId
String tagName
}
Question_Embed_File {
String fileName
String link
}
Question_Comment {
Int commentId
DateTime created
DateTime lastUpdated
String comment
}
Question_Answer {
String answerId
DateTime created
DateTime lastUpdated
String qTitle
String qDesc
Int voteCount
}
Question_Answer_Embed_File {
String fileName
String link
}
Question_Answer_Comment {
Int commentId
DateTime created
DateTime lastUpdated
String comment
}
Question_Modvote {
Int voteId
Boolean isUp
Boolean isDown
DateTime lastUpdated
}
ShortLink_Quota {
Int remaining
}
ShortLink {
String slId
String originalLink
String shortenLink
String password
DateTime expired
}
ShortLink_Permission {
ShortLink_Permission_Type permType
}
ShortLink_Permission_User {
Int permId
}
ShortLink_Permission_Major {
Int permId
}
ShortLink_Permission_Faculty {
Int permId
}
ShortLink_Delete_Link {
String slId
DateTime deletedAt
}
Analytic_User_Access {
Boolean isGenUserReport
Boolean isGenOverallReport
Boolean isGenModuleReport
Boolean isViewModuleReport
}
Analytic_Report {
Int reportId
}
Analytic_Report_Module {
String moduleName
DateTime reportTime
Int unAuthorizedView
Int authorizedView
Int periodHours
Int totalRequest
Int userActive
String mostCountry
}
Analytic_View {
String viewId
DateTime time
String url
String module
String location
String ip
String externalPlatform
}
Analytic_External_Platform {
String epName
DateTime created
}
Analytic_User_Report {
String reportId
DateTime reportedAt
Int timeActive
Int usedTimePerDay
Int totalRequest
DateTime start
DateTime end
}
Analytic_View_In_User_Report {
}
Analytic_Request {
String reqId
String userId
String module
DateTime time
String body
String ip
String deviceName
String location
String status
}
Analytic_Device {
Int devId
String devName
String devOS
DateTime created
}
Analytic_Request_In_User_Report {
}
User_Profile o{--|| Major : "studentMajor"
Detail o|--|| User_Profile : "student"
Major o{--|| Faculty : "majorFaculty"
User_To_Role o{--|| User_Profile : "user"
User_To_Role o{--|| Role : "role"
Follow o{--|| User_Profile : "follower"
Follow o{--|| User_Profile : "following"
User_Report o{--|| User_Profile : "reporter"
User_Report o{--|| User_Profile : "reporting"
User_Blocked o{--|| User_Profile : "blocker"
User_Blocked o{--|| User_Profile : "blocking"
EXP o|--|| User_Profile : "student"
Action_to_XP o|--|| EXP : "xpGain"
Student_Post o{--|| User_Profile : "postOwner"
Following_Rating o{--|| User_Profile : "scoreGiver"
Post_Body o|--|| Student_Post : "bodyOf"
Image_Container o{--|| Student_Post : "postImage"
Video_Container o{--|| Student_Post : "postVid"
Student_Reacted o{--|| User_Profile : "reacter"
Student_Reacted o{--|| Student_Post : "reactOn"
Student_Reacted o{--|| Emote_Collection : "emotes"
Post_Comment o{--|| User_Profile : "commenter"
Post_Comment o{--|| Student_Post : "commentOn"
Repost o{--|| Student_Post : "originalPost"
Post_Report o{--|| User_Profile : "reporter"
Post_Report o{--|| Student_Post : "reported"
Comment_Report o{--|| User_Profile : "reporter"
Comment_Report o{--|| Post_Comment : "reported"
Hide_Post o{--|| User_Profile : "hider"
Hide_Post o{--|| Student_Post : "hided"
Hide_Comment o{--|| User_Profile : "hider"
Hide_Comment o{--|| Post_Comment : "hided"
User_Noti_Object o{--|| Noti_Object : "notiObject"
User_Noti_Object o{--|| User_Profile : "user"
Noti_Object o{--|| Template : "template"
Noti_Object o{--|| Module : "module"
Value o{--|| Noti_Object : "valueOf"
Noti_Setting_Email o|--|| User_Profile : "userSetting"
Noti_Setting_Email o|--|| Noti_Type : "notiSetting"
Noti_Setting_App o|--|| User_Profile : "userSetting"
Noti_Setting_App o|--|| Noti_Type : "notiSetting"
Timetable o{--|| User_Profile : "tableUser"
Event o{--|| Event_Place : "hostAt"
Description o|--|| Event : "descOf"
Assignment o{--|| Course : "assignmentOfCourse"
Task o{--|| User_Profile : "taskOfUser"
Task o{--|| Task_Folder : "inFolder"
Task o{--|| Task_Group : "inGroup"
User_To_Group o{--|| User_Profile : "user"
User_To_Group o{--|| Task_Group : "group"
Task_Track o|--|| User_Profile : "userTask"
Task_Check o|--|| Task : "taskCheck"
Task_Check o{--|| User_Profile : "userCheck"
Task_History o{--|| Task : "editTask"
Task_History o|--|| User_Profile : "editor"
Announcement o{--|| User_Profile : "annCreator"
Post_To_Language o{--|| Announcement : "post"
Post_To_Language o{--|| Announcement_Language : "language"
Announcement_Post o|--|| Announcement : "announcement"
Announcement_Pin o{--|| Announcement : "post"
Announcement_Pin o{--|| User_Profile : "user"
Announcement_Seen o{--|| Announcement : "post"
Announcement_Seen o{--|| User_Profile : "user"
Announcement_Approve o{--|| User_Profile : "approvedBy"
Announcement_Approve o|--|| Announcement : "postApprove"
Chat_User o|--|| User_Profile : "cUserToUser"
Chat_Room o{--|| User_Profile : "User_Profile"
User_To_Room o{--|| User_Profile : "user"
User_To_Room o{--|| Chat_Room : "room"
Chat_Group o|--|| Chat_Room : "room"
Message o{--|| Chat_Room : "messageInRoom"
Chat_Quote o{--|| Chat_Room : "quoteFor"
Chat_Transaction o|--|| Transaction : "transaction"
Dating_Options o|--|| User_Profile : "user"
Faculty_Pref o{--|| Dating_Options : "user"
Card_Queue o{--|| User_Profile : "frontUser"
Card_Queue o{--|| User_Profile : "backUser"
User_Rating o{--|| User_Profile : "scoreGiver"
User_Rating o{--|| User_Profile : "scoreReceiver"
Heart_History o{--|| User_Profile : "heartGiver"
Heart_History o{--|| User_Profile : "heartReceiver"
User_Interest o{--|| User_Profile : "user"
User_Interest o{--|| Interest : "interest"
Dating_Enroll o|--|| User_Profile : "userDating"
Activity_Poll o{--|| User_Profile : "pollCreator"
Poll_Applicant o{--|| User_Profile : "user"
Poll_Applicant o{--|| Activity_Poll : "poll"
Poll_Interest o{--|| Activity_Poll : "pollInterest"
Poll_Interest o{--|| Interest : "interest"
Community_User o{--|| User_Profile : "user"
Community_User o{--|| Community : "community"
Community_User o|--|| Community_Role : "role"
Community_Blacklist o{--|| User_Profile : "user"
Community_Blacklist o{--|| Community : "community"
Community_Tag o{--|| Community : "community"
Community_Tag o{--|| Tag : "tag"
Community_Post o|--|| Student_Post : "post"
Community_Post o{--|| Community : "community"
Community_File o|--|| File_Info : "file"
Community_File o{--|| Community : "community"
User_Show_File o{--|| User_Profile : "user"
User_Show_File o{--|| File_Info : "file"
File_Comment o{--|| File_Info : "commentOn"
File_Comment o{--|| User_Profile : "commentor"
Sub_Folder o{--|| Folder : "parentFolder"
File_In_Folder o{--|| File_Info : "file"
File_In_Folder o{--|| Sub_Folder : "folder"
Everyone_Access o{--|| File_Access : "eaFileAccessId"
Community_Access o{--|| File_Access : "cFileAccessId"
Community_Access o{--|| Community : "haveAccess"
Major_Access o{--|| File_Access : "mFileAccessId"
Major_Access o{--|| Major : "haveAccess"
Direct_Access o{--|| File_Access : "dFileAccessId"
Direct_Access o{--|| User_Profile : "haveAccess"
Login_Info o{--|| User_Back : "login"
Login_Detail o|--|| Login_Info : "detailOf"
Logout_Info o{--|| User_Back : "logout"
Logout_Detail o|--|| Logout_Info : "detailOf"
Ban_Status o{--|| User_Profile : "user"
wordReport o{--|| User_Profile : "reporter"
wordReport o{--|| Filtered_Word : "reportedWord"
wordReportDetail o|--|| wordReport : "detailOf"
wordReportDetail o{--|| Chat_Room : "reportFrom"
Sn_Head o{--|| Course : "course"
Sn_Head o{--|| User_Profile : "owner"
Sn_Votedetail o{--|| User_Profile : "votedBy"
Sn_Votedetail o{--|| Sn_Head : "voteTo"
Sn_Comment o{--|| Sn_Head : "commentOn"
Sn_Comment o{--|| User_Profile : "commentor"
Sn_Fav o{--|| Sn_Head : "shortNote"
Sn_Fav o{--|| User_Profile : "favBy"
Sn_Recent o{--|| Sn_Head : "shortNote"
Sn_Recent o{--|| User_Profile : "recentViewBy"
Sn_Access o{--|| Sn_Head : "shortNote"
Sn_Access o{--|| User_Profile : "accessBy"
Sn_In_Library o{--|| Sn_Library : "lib"
Sn_In_Library o{--|| Sn_Head : "sn"
Transaction o{--|| User_Profile : "payer"
Transaction_Detail o|--|| Transaction : "detailOf"
Transaction_Detail o|--|| Transaction_Error : "haveError"
Credit_Card o|--|| Transaction_Paymethod : "payMethod"
E_Banking o|--|| Transaction_Paymethod : "payMethod"
QR o|--|| Transaction_Paymethod : "payMethod"
Transaction_Paytype o|--|| Transaction : "transType"
Kmutt_Point o|--|| User_Profile : "userPoint"
Kmutt_Point_History o|--|| Transaction : "pointHistoryFrom"
Kmutt_Point_History o{--|| Kmutt_Point : "pointHistoryOf"
Shop_Order o|--|| Transaction : "transaction"
Shop_Order o|--|| User_Coupon : "useCoupon"
User_Coupon o{--|| User_Profile : "user"
User_Coupon o{--|| Shop_Coupon : "coupon"
Shop_Product o{--|| Shop_Categories : "inCategory"
Shop_Product o{--|| Shop_Contact : "contactTo"
Shop_Product_Images o{--|| Shop_Product : "imageOf"
Shop_Order_Product o{--|| Shop_Order : "order"
Shop_Order_Product o{--|| Shop_Product : "product"
Shop_Cart o{--|| User_Profile : "user"
Shop_Cart o{--|| Shop_Product : "product"
Shop_Product_Review o{--|| User_Profile : "user"
Shop_Product_Review o{--|| Shop_Product : "product"
Restaurant_Detail o|--|| Restaurant : "detailOf"
Restaurant_Image o{--|| Restaurant : "imageOf"
Restaurant_Open o{--|| Restaurant : "openOf"
Restaurant_Close o{--|| Restaurant : "openOf"
Restaurant_Like_By_User o{--|| User_Profile : "user"
Restaurant_Like_By_User o{--|| Restaurant : "restaurant"
Restaurant_Favorite_By_User o{--|| User_Profile : "user"
Restaurant_Favorite_By_User o{--|| Restaurant : "restaurant"
Restaurant_Seen_By_User o{--|| User_Profile : "user"
Restaurant_Seen_By_User o{--|| Restaurant : "restaurant"
SReview_Shop_Image o{--|| SReview_Shop : "imageOf"
SReview_Shop_Review o|--|| SReview_Review : "review"
SReview_Shop_Review o{--|| SReview_Shop : "reviewOf"
SReview_Shop_Review o{--|| User_Profile : "reviewBy"
SReview_Restaurant_Review o|--|| SReview_Review : "review"
SReview_Restaurant_Review o{--|| Restaurant : "reviewOf"
SReview_Restaurant_Review o{--|| User_Profile : "reviewBy"
SReview_Review_Image o{--|| SReview_Review : "imageOf"
SReview_Comment o{--|| SReview_Review : "commentOf"
SReview_Shop_Review_Like o{--|| SReview_Shop_Review : "shopReview"
SReview_Shop_Review_Like o{--|| User_Profile : "user"
SReview_Restaurant_Review_Like o{--|| SReview_Restaurant_Review : "restaurantReview"
SReview_Restaurant_Review_Like o{--|| User_Profile : "user"
SReview_Comment_Like o{--|| SReview_Comment : "comment"
SReview_Comment_Like o{--|| User_Profile : "user"
SReview_Suggestion o{--|| User_Profile : "user"
Question o{--|| User_Profile : "qCreator"
Question_Setting o|--|| User_Profile : "user"
Question_Tag o{--|| Question : "tagOf"
Question_Tag o|--|| Question_Default_Tag : "tagIs"
Question_Embed_File o|--|| Question : "fileOf"
Question_Comment o{--|| Question : "commentOf"
Question_Comment o{--|| User_Profile : "commentor"
Question_Answer o{--|| User_Profile : "aCreator"
Question_Answer o{--|| Question : "answerOf"
Question_Answer_Embed_File o|--|| Question_Answer : "fileOf"
Question_Answer_Comment o{--|| Question_Answer : "commentOf"
Question_Answer_Comment o{--|| User_Profile : "commentor"
Question_Modvote o{--|| Question : "voteFor"
Question_Modvote o{--|| User_Profile : "voteBy"
ShortLink_Quota o|--|| User_Profile : "user"
ShortLink o{--|| User_Profile : "linkCreator"
ShortLink_Permission o|--|| ShortLink : "permOf"
ShortLink_Permission_User o{--|| ShortLink : "sl"
ShortLink_Permission_User o{--|| User_Profile : "user"
ShortLink_Permission_Major o{--|| ShortLink : "sl"
ShortLink_Permission_Major o{--|| Major : "major"
ShortLink_Permission_Faculty o{--|| ShortLink : "sl"
ShortLink_Permission_Faculty o{--|| Faculty : "faculty"
Analytic_User_Access o|--|| User_Profile : "user"
Analytic_Report_Module o{--|| User_Profile : "genBy"
Analytic_Report_Module o{--|| Analytic_Report : "moduleOf"
Analytic_External_Platform o|--|| Analytic_Device : "platformOf"
Analytic_User_Report o{--|| User_Profile : "genBy"
Analytic_View_In_User_Report o{--|| Analytic_User_Report : "userreport"
Analytic_View_In_User_Report o{--|| Analytic_View : "view"
Analytic_Device o{--|| Analytic_Request : "deviceOf"
Analytic_Request_In_User_Report o{--|| Analytic_Request : "request"
Analytic_Request_In_User_Report o{--|| Analytic_View : "view"