Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Một thiết kế cơ sở dữ liệu tốt (lược đồ) cho một cơ sở dữ liệu tham dự là gì?

Trong võ thuật, người dạy cũng là môn sinh - vì vậy Instructor bảng được nhập phụ vào Student bàn. Tất cả các trường chung đều nằm trong Student bảng và chỉ các cột dành riêng cho người hướng dẫn mới có trong Instructor bảng.

Art bảng có danh sách các môn nghệ thuật mà trường cung cấp (judo, karate ...).

Trường có thể có một số phòng, những phòng này được liệt kê trong Room bảng.

ClassSchedule mô tả lịch trình công bố của các lớp học mà trường cung cấp.

Điểm danh được ghi lại trong Attendance bảng.

Một hàng trong Calendar bảng là một ngày dương lịch (ngày tháng). Bảng có thuộc tính ngày tháng như DayOfWeek , MonthName , MonthNumberInYear vv

Một hàng trong TimeTable là một phút trong ngày, chẳng hạn như 7:05.

Lịch và Bảng thời gian cho phép dễ dàng báo cáo tham dự theo ngày / giờ, chẳng hạn như

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

Hy vọng điều này sẽ giúp bạn bắt đầu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL IN với LIKE

  2. Cách bỏ qua hàng khi nhập kết xuất MySQL xấu

  3. SQL - Chỉ cho tôi 3 lần truy cập cho mỗi loại

  4. Đây có phải là một phương pháp an toàn để chèn dữ liệu biểu mẫu vào cơ sở dữ liệu MySQL không?

  5. Lỗi khóa ngoại MySQL 1005 errno 150 khóa chính làm khóa ngoại