Slide 18 of 52
Notes:
In a relational database, the columns within each table must represent a single relationship (no repetition or functional dependencies). When a many-to-many relationship exists among records in two tables (such as between drivers and bus routes), then a third table must be created to describe the relationship. With several interconnected many-to-many relationships, the database acquires a high degree of complex overhead.
Updates to records in one table may affect any number of records in other tables, which must be kept in sync. Another concern is that a record in one table should not be removed if there are outstanding references to its ID value in other tables. Finding and managing such dependencies can be difficult.
Record-level referential integrity such as this requires explicit management of key field values by the user's application. This can be done using database triggers, with the help of CASE (computer-aided software engineering) design aids.