Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest dobry projekt (schemat) bazy danych obecności?

W sztukach walki instruktorzy też są uczniami — więc Instructor tabela jest podtypowana do Student stół. Wszystkie wspólne pola znajdują się w Student tabela i tylko kolumny specyficzne dla instruktorów znajdują się w Instructor tabela.

Art tabela zawiera listę sztuk oferowanych przez szkołę (judo, karate...).

Szkoła może mieć kilka sal, są one wymienione w Room tabela.

ClassSchedule opisuje opublikowany harmonogram zajęć oferowanych przez szkołę.

Obecność jest rejestrowana w Attendance tabela.

Jeden wiersz w Calendar tabela to jeden dzień kalendarzowy (data). Tabela ma właściwości daty, takie jak DayOfWeek , MonthName , MonthNumberInYear itp.

Jeden wiersz w TimeTable to jedna minuta dnia, np. 7:05.

Kalendarz i harmonogram pozwalają na łatwe raportowanie obecności według daty/godziny, na przykład

-- 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 ;

Mam nadzieję, że dzięki temu zaczniesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zresetować autoinkrementację ID ? phpmyadmin

  2. Formularz HTML / Php nie dodaje się do bazy danych SQL

  3. Dlaczego Java nie może połączyć się z MySQL 5.7 po ostatniej aktualizacji JDK i jak należy to naprawić? (ssl.SSLHandshakeException:Brak odpowiedniego protokołu)

  4. Uzyskaj rekordy z najwyższym/najmniejszym <cokolwiek> na grupę

  5. jak wepchnąć dane Google Analytics do tabel mysql