I'm designing a timetabling system for university lecturers to use to book rooms on campus via a website.

The table structure I've got so far is:

MODULE
Module Code (PK)
Module Title
Department
Semester

ROOM
Room Number (PK)
Building
Park
Capacity

FACILITIES
Room Number (PK)
Projector
Wheel Chair Access
etc etc

BOOKING
Module Code (CPK)
Room Number (CPK)
Day
Duration
Week From
Week To
Number of Rooms
Lecture Type

I'm a little bit unsure as to how to structure my tables in an efficient way, especially the BOOKING table.
Every weekday has 9 one-hour timeslots, meaning every week has 45 timeslots per room.
I was thinking of having a table with a separate row for every timeslot of every week for every room, eg:

Room, Week, Day, Hour, Booked (0 or 1)

CC014, 1, Monday, 1, 0
CC014, 1, Tuesday, 1, 0

etc etc.

But that could result in maybe a couple of hundred thousand rows in the same table. Is this an inefficient way of doing it?

Any suggestions would be much appreciated.

Thanks