The database diagram is very common to the class diagram of the RadScheduleView interfaces:
We have table definitions in the database according for the following types in the RadScheduleView:
|Class Diagram||Table Definition|
|IAppointment & IExtendedAppointment
Here are some explanations about the keys and the relationships in the data tables:
|FK_SqlResources_SqlResourceTypes||SqlResourceTypes - SqlResources||One-to-many||No Action|
|FK_SqlAppointmentResources_SqlResource||SqlResources - SqlAppointmentResources||One-to-many||Cascade|
|FK_SqlExceptionResources_SqlResource||SqlResources - SqlExceptionResources||One-to-many||Cascade|
|FK_SqlExceptionOccurrences_SqlAppointments||SqlAppointments - SqlExceptionOccurrences||One-to-many||Cascade|
|FK_SqlExceptionAppointments_SqlExceptionOccurrences||SqlExceptionOccurrences - SqlExceptionAppointments||One-to-many||Cascade|
- There is no table definition for the IRecurrenceRule type because we don’t need it. Storing the RecurrencePattern is enough to generate the recurrence rules at run-time.
- We cannot save the Brush type into the database directly, that’s why we can save a string that represents the color and convert the string to SolidColerBrush object when the TimeMarkers & Categories are loaded.
- The SqlAppointmentResource and SqlExceptionResources are cross-tables between:
- SqlAppointments & SqlResources
- SqlExceptionAppointments & SqlResources