added cascadeing delete to most tables to eliminate impossible data