Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

उपस्थिति डेटाबेस के लिए एक अच्छा डेटाबेस डिज़ाइन (स्कीमा) क्या है?

मार्शल आर्ट में, प्रशिक्षक भी छात्र होते हैं -- इसलिए Instructor तालिका Student में उप-टाइप की गई है टेबल। सभी सामान्य फ़ील्ड Student . में हैं तालिका और केवल प्रशिक्षकों के लिए विशिष्ट कॉलम Instructor . में हैं टेबल।

Art तालिका में उन कलाओं की सूची है जो स्कूल प्रदान करता है (जूडो, कराटे ...)।

स्कूल में कई कमरे हो सकते हैं, ये Room . में सूचीबद्ध हैं टेबल।

ClassSchedule स्कूल द्वारा प्रदान की जाने वाली कक्षाओं के प्रकाशित कार्यक्रम का वर्णन करता है।

उपस्थिति Attendance में दर्ज की जाती है टेबल।

Calendar में एक पंक्ति तालिका एक कैलेंडर दिन (तारीख) है। तालिका में दिनांक-गुण हैं जैसे DayOfWeek , MonthName , MonthNumberInYear आदि

TimeTable में एक पंक्ति दिन का एक मिनट है, जैसे 7:05।

कैलेंडर और समय सारिणी, उदाहरण के लिए, दिनांक/समय के अनुसार उपस्थिति की आसान रिपोर्टिंग की अनुमति देते हैं

-- Attendance of judo morning classes
-- for the first three months of the year 2010
-- by day of a week (Sun, Mon, Tue, ..)
select
    DayOfWeek
  , count(1) as Students
from ClassSchedule as a
join Calendar      as b on b.CalendarId = a.CalendarId
join TimeTable     as c on c.TimeID     = a.StartTimeId
join Attendance    as d on d.ClassId    = a.ClassID
join Art           as e on e.ArtId      = a.ArtID
where ArtName = 'judo'
  and Year    = 2010
  and MonthNumberInYear between 1 and 3
  and PartOfDay = 'morning'
group by DayOfWeek ;

आशा है कि यह आपको शुरू कर देगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कई मदों के लिए डुप्लीकेट कुंजी अद्यतन पर सम्मिलित करें .

  2. MySQL उच्च उपलब्धता फ्रेमवर्क समझाया - भाग I:परिचय

  3. मैसकल - प्रतिशत से सीमा?

  4. MySQL AUTO_INCREMENT रोलबैक नहीं करता है

  5. टेबल नाम के बिना MySQL COUNT 1 क्यों देता है?