sql >> Database teknologi >  >> RDS >> Mysql

Hvad er et godt databasedesign (skema) til en tilstedeværelsesdatabase?

I kampsport er instruktører også studerende -- så Instructor tabellen er underskrevet til Student bord. Alle almindelige felter er i Student tabel og kun kolonner, der er specifikke for instruktører, er i Instructor tabel.

Art tabellen har en liste over kunst, som skolen tilbyder (judo, karate ...).

Skolen kan have flere lokaler, disse er angivet i Room tabel.

ClassSchedule beskriver det offentliggjorte skema over klasser, som skolen tilbyder.

Deltagelse er fanget i Attendance tabel.

Én række i Calendar tabellen er en kalenderdag (dato). Tabellen har datoegenskaber som f.eks. DayOfWeek , MonthName , MonthNumberInYear osv.

Én række i TimeTable er et minut af en dag, f.eks. 7:05.

Kalender og tidsplan giver mulighed for nem fremmøderapportering efter for eksempel dato/klokkeslæt

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

Håber dette får dig i gang.



  1. Drop vs Truncate i SQL

  2. PHP Multiple Dropdown Box Form Send til MySQL

  3. Indstil standardværdien for en heltalskolonne SQLite

  4. Advarsel:PDOStatement::execute():SQLSTATE[HY093]:Ugyldigt parameternummer:parameter blev ikke defineret i...filtekst