SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; CREATE SCHEMA IF NOT EXISTS `bpschema` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ; USE `bpschema`; -- ----------------------------------------------------- -- Table `bpschema`.`MemberStatus` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`MemberStatus` ( `idMemberStatus` INT UNSIGNED NOT NULL AUTO_INCREMENT , `StatusText` VARCHAR(20) NOT NULL , PRIMARY KEY (`idMemberStatus`) , UNIQUE INDEX MST_UK (`StatusText` ASC) ) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Data for table `bpschema`.`MemberStatus` -- ----------------------------------------------------- SET AUTOCOMMIT=0; INSERT INTO `MemberStatus` (`idMemberStatus`, `StatusText`) VALUES (1, 'On Waiting List'); INSERT INTO `MemberStatus` (`idMemberStatus`, `StatusText`) VALUES (2, 'Active'); INSERT INTO `MemberStatus` (`idMemberStatus`, `StatusText`) VALUES (3, 'Inactive'); COMMIT; -- ----------------------------------------------------- -- Table `bpschema`.`Members` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`Members` ( `idMembers` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idMemberStatus` INT UNSIGNED NOT NULL , `FirstName` VARCHAR(20) NOT NULL , `MiddleName` VARCHAR(20) NULL , `LastName` VARCHAR(20) NOT NULL , `DOB` DATE NULL , PRIMARY KEY (`idMembers`) , INDEX MEM_MST_FK (`idMemberStatus` ASC) , UNIQUE INDEX MEM_UK (`LastName` ASC, `FirstName` ASC) , CONSTRAINT `MEM_MST` FOREIGN KEY (`idMemberStatus` ) REFERENCES `bpschema`.`MemberStatus` (`idMemberStatus` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`Groups` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`Groups` ( `idGroups` INT UNSIGNED NOT NULL AUTO_INCREMENT , `GroupName` VARCHAR(45) NOT NULL , PRIMARY KEY (`idGroups`) , UNIQUE INDEX GRP_UK (`GroupName` ASC) ) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Data for table `bpschema`.`Groups` -- ----------------------------------------------------- SET AUTOCOMMIT=0; INSERT INTO `Groups` (idGroups, GroupName) values (1, '1st Barton St David') VALUES (1, '1st Barton St David'); COMMIT; -- ----------------------------------------------------- -- Table `bpschema`.`Sections` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`Sections` ( `idSections` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idGroups` INT UNSIGNED NOT NULL , `SectionName` VARCHAR(45) NOT NULL , PRIMARY KEY (`idSections`) , UNIQUE INDEX SCT_UK (`SectionName` ASC) , INDEX SCT_GRP_FK (`idGroups` ASC) , CONSTRAINT `SCT_GRP` FOREIGN KEY (`idGroups` ) REFERENCES `bpschema`.`Groups` (`idGroups` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Data for table `bpschema`.`Sections` -- ----------------------------------------------------- SET AUTOCOMMIT=0; INSERT INTO `Sections` (idSections, idGroups, SectionName) values (1, 1, 'Rudjard'), (2, 1, 'Kippling'), (3, 1, 'Brue'), (4, 1, 'Cary'), (5, 1, 'Patrol') VALUES (1, 1, 'Rudjard'); INSERT INTO `Sections` (idSections, idGroups, SectionName) values (1, 1, 'Rudjard'), (2, 1, 'Kippling'), (3, 1, 'Brue'), (4, 1, 'Cary'), (5, 1, 'Patrol') VALUES (2, 1, 'Kippling'); INSERT INTO `Sections` (idSections, idGroups, SectionName) values (1, 1, 'Rudjard'), (2, 1, 'Kippling'), (3, 1, 'Brue'), (4, 1, 'Cary'), (5, 1, 'Patrol') VALUES (3, 1, 'Brue'); INSERT INTO `Sections` (idSections, idGroups, SectionName) values (1, 1, 'Rudjard'), (2, 1, 'Kippling'), (3, 1, 'Brue'), (4, 1, 'Cary'), (5, 1, 'Patrol') VALUES (4, 1, 'Cary'); INSERT INTO `Sections` (idSections, idGroups, SectionName) values (1, 1, 'Rudjard'), (2, 1, 'Kippling'), (3, 1, 'Brue'), (4, 1, 'Cary'), (5, 1, 'Patrol') VALUES (5, 1, 'Patrol'); COMMIT; -- ----------------------------------------------------- -- Table `bpschema`.`MembershipTypes` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`MembershipTypes` ( `idMembershipTypes` INT UNSIGNED NOT NULL AUTO_INCREMENT , `MembershipTypeName` VARCHAR(20) NOT NULL , PRIMARY KEY (`idMembershipTypes`) , INDEX MT_UK (`MembershipTypeName` ASC) ) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Data for table `bpschema`.`MembershipTypes` -- ----------------------------------------------------- SET AUTOCOMMIT=0; INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (1, 'Beavers'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (2, 'Cubs'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (3, 'Scouts'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (4, 'Young Leaders'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (5, 'Senior Scouts'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (6, 'Adult Leaders'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (7, 'Admin'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (8, 'Helper'); INSERT INTO `MembershipTypes` (idMembershipTypes, MembershipTypeName) values (1, 'Beavers'), (2, 'Cubs'), (3, 'Scouts'), (4, 'Young Leaders'), (5, 'Senior Scouts'), (6, 'Adult Leaders'), (7, 'Admin'), (8, 'Helper'), (9, 'Left Service') VALUES (9, 'Left Service'); COMMIT; -- ----------------------------------------------------- -- Table `bpschema`.`SectionMembershipTypes` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`SectionMembershipTypes` ( `idSectionMembershipTypes` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idSections` INT UNSIGNED NOT NULL , `idMembershipTypes` INT UNSIGNED NOT NULL , PRIMARY KEY (`idSectionMembershipTypes`) , INDEX SMT_MT_FK (`idMembershipTypes` ASC) , UNIQUE INDEX SMT_UK (`idSections` ASC, `idMembershipTypes` ASC) , INDEX SMT_PKS_FK (`idSections` ASC) , CONSTRAINT `SMT_MT` FOREIGN KEY (`idMembershipTypes` ) REFERENCES `bpschema`.`MembershipTypes` (`idMembershipTypes` ), CONSTRAINT `SMT_SCT` FOREIGN KEY (`idSections` ) REFERENCES `bpschema`.`Sections` (`idSections` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`MemberDetails` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`MemberDetails` ( `idMemberDetails` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idMembers` INT UNSIGNED NOT NULL , `Gender` ENUM('M', 'F') NULL , `Street` VARCHAR(80) NULL , `Town` VARCHAR(80) NULL , `Postcode` VARCHAR(20) NULL , `EMail` VARCHAR(45) NULL , `Religion` VARCHAR(45) NULL , `School` VARCHAR(255) NULL , `FathersName` VARCHAR(80) NULL , `MothersName` VARCHAR(80) NULL , `HomePhone` VARCHAR(60) NULL , `WorkPhone` VARCHAR(60) NULL , `WorkPhone2` VARCHAR(60) NULL , `MobilePhone` VARCHAR(60) NULL , `MobilePhone2` VARCHAR(60) NULL , `AltEmergencyPhone` VARCHAR(60) NULL , `AltEmergencyPhone2` VARCHAR(60) NULL , `DoctorsName` VARCHAR(20) NULL , `SurgeryAddress` VARCHAR(255) NULL , `SurgeryPhone` VARCHAR(20) NULL , `OutOfHoursPhone` VARCHAR(50) NULL , `NHSNumber` VARCHAR(20) NULL , `TetanusDate` DATE NULL , `AgreeToWeeklyTrips` BOOLEAN NULL , `AgreeToWeeklyTripsDate` DATE NULL , `Disability` VARCHAR(255) NULL , `Diet` VARCHAR(255) NULL , `Alergies` VARCHAR(255) NULL , `LongTermIllness` VARCHAR(255) NULL , `Medication` VARCHAR(255) NULL , `LearningDifficulties` VARCHAR(255) NULL , `BehaviouralDifficulties` VARCHAR(255) NULL , `OtherDifficulties` VARCHAR(255) NULL , `PreviousService` VARCHAR(255) NULL , `SpecialSkills` VARCHAR(255) NULL , `FundRaising` BOOLEAN NULL , `Badgework` BOOLEAN NULL , `OccasionalHelp` BOOLEAN NULL , `RegularHelp` BOOLEAN NULL , `SignedBy` VARCHAR(30) NULL , `RelationshipToChild` VARCHAR(20) NULL , `SignedDate` DATE NULL , PRIMARY KEY (`idMemberDetails`) , UNIQUE INDEX MDT_MEM_FK (`idMembers` ASC) , CONSTRAINT `MDT_MEM` FOREIGN KEY (`idMembers` ) REFERENCES `bpschema`.`Members` (`idMembers` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`Memberships` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`Memberships` ( `idMemberships` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idSectionMembershipTypes` INT UNSIGNED NOT NULL , `idMembers` INT UNSIGNED NOT NULL , `StartDate` DATE NOT NULL , `EndDate` DATE NULL , PRIMARY KEY (`idMemberships`) , INDEX MSH_MEM_FK (`idMembers` ASC) , INDEX MSH_SMT_FK (`idSectionMembershipTypes` ASC) , CONSTRAINT `MSH_MEM` FOREIGN KEY (`idMembers` ) REFERENCES `bpschema`.`Members` (`idMembers` ), CONSTRAINT `MSH_SMT` FOREIGN KEY (`idSectionMembershipTypes` ) REFERENCES `bpschema`.`SectionMembershipTypes` (`idSectionMembershipTypes` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`EventTypes` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`EventTypes` ( `idEventTypes` INT UNSIGNED NOT NULL AUTO_INCREMENT , `EventTypeName` VARCHAR(20) NOT NULL , PRIMARY KEY (`idEventTypes`) ) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`Events` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`Events` ( `idEvents` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idMembershipTypes` INT UNSIGNED NOT NULL , `idEventTypes` INT UNSIGNED NOT NULL , `EventName` VARCHAR(45) NOT NULL , PRIMARY KEY (`idEvents`) , INDEX EVT_ETY_FK (`idEventTypes` ASC) , INDEX EVT_MT_FK (`idMembershipTypes` ASC) , UNIQUE INDEX EVT_UK (`idMembershipTypes` ASC, `idEventTypes` ASC, `EventName` ASC) , CONSTRAINT `EVT_ETY` FOREIGN KEY (`idEventTypes` ) REFERENCES `bpschema`.`EventTypes` (`idEventTypes` ), CONSTRAINT `EVT_MT` FOREIGN KEY (`idMembershipTypes` ) REFERENCES `bpschema`.`MembershipTypes` (`idMembershipTypes` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`MemberEvents` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`MemberEvents` ( `idMemberEvents` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idMemberships` INT UNSIGNED NOT NULL , `idEvents` INT UNSIGNED NOT NULL , `EventDate` DATE NOT NULL DEFAULT '1990-01-01' , PRIMARY KEY (`idMemberEvents`) , INDEX MEV_EVT_FK (`idEvents` ASC) , INDEX MEV_MSH_FK (`idMemberships` ASC) , CONSTRAINT `MEV_EVT` FOREIGN KEY (`idEvents` ) REFERENCES `bpschema`.`Events` (`idEvents` ), CONSTRAINT `MEV_MSH` FOREIGN KEY (`idMemberships` ) REFERENCES `bpschema`.`Memberships` (`idMemberships` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`Seasons` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`Seasons` ( `idSeasons` INT UNSIGNED NOT NULL AUTO_INCREMENT , `SeasonName` VARCHAR(20) NOT NULL , PRIMARY KEY (`idSeasons`) , UNIQUE INDEX SEA_UK (`SeasonName` ASC) ) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Data for table `bpschema`.`Seasons` -- ----------------------------------------------------- SET AUTOCOMMIT=0; INSERT INTO `Seasons` (idSeasons, SeasonName) values (1, 'Spring'), (2, 'Summer'), (3, 'Autumn') VALUES (1, 'Spring'); INSERT INTO `Seasons` (idSeasons, SeasonName) values (1, 'Spring'), (2, 'Summer'), (3, 'Autumn') VALUES (2, 'Summer'); INSERT INTO `Seasons` (idSeasons, SeasonName) values (1, 'Spring'), (2, 'Summer'), (3, 'Autumn') VALUES (3, 'Autumn'); COMMIT; -- ----------------------------------------------------- -- Table `bpschema`.`Programmes` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`Programmes` ( `idProgrammes` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idSectionMembershipTypes` INT UNSIGNED NOT NULL , `idSeasons` INT UNSIGNED NOT NULL , `ProgrammeTitle` VARCHAR(45) NOT NULL , `StartDate` DATE NOT NULL , `EndDate` DATE NOT NULL , PRIMARY KEY (`idProgrammes`) , INDEX PRG_SEA_FK (`idSeasons` ASC) , INDEX PRG_SMT_FK (`idSectionMembershipTypes` ASC) , CONSTRAINT `PRG_SEA` FOREIGN KEY (`idSeasons` ) REFERENCES `bpschema`.`Seasons` (`idSeasons` ), CONSTRAINT `PRG_SMT` FOREIGN KEY (`idSectionMembershipTypes` ) REFERENCES `bpschema`.`SectionMembershipTypes` (`idSectionMembershipTypes` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`SubsCosts` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`SubsCosts` ( `idSubsCosts` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idSectionMembershipTypes` INT UNSIGNED NOT NULL , `Cost` FLOAT NOT NULL , `StartDate` DATE NOT NULL , `EndDate` DATE NULL , PRIMARY KEY (`idSubsCosts`) , INDEX SBC_SMT_FK (`idSectionMembershipTypes` ASC) , CONSTRAINT `SBC_SMT` FOREIGN KEY (`idSectionMembershipTypes` ) REFERENCES `bpschema`.`SectionMembershipTypes` (`idSectionMembershipTypes` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`SubsPaid` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`SubsPaid` ( `idSubsPaid` INT UNSIGNED NOT NULL AUTO_INCREMENT , `idMemberships` INT UNSIGNED NOT NULL , `idProgrammes` INT UNSIGNED NOT NULL , `idSubsCosts` INT UNSIGNED NOT NULL , PRIMARY KEY (`idSubsPaid`) , INDEX SBP_SBC_FK (`idSubsCosts` ASC) , INDEX SBP_PRG_FK (`idProgrammes` ASC) , INDEX SBP_MSH_FK (`idMemberships` ASC) , CONSTRAINT `SBP_SBC` FOREIGN KEY (`idSubsCosts` ) REFERENCES `bpschema`.`SubsCosts` (`idSubsCosts` ), CONSTRAINT `SBP_PRG` FOREIGN KEY (`idProgrammes` ) REFERENCES `bpschema`.`Programmes` (`idProgrammes` ), CONSTRAINT `Rel_16` FOREIGN KEY (`idMemberships` ) REFERENCES `bpschema`.`Memberships` (`idMemberships` )) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Table `bpschema`.`AttendanceTypes` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`AttendanceTypes` ( `idAttendanceTypes` INT NOT NULL AUTO_INCREMENT , `AttendanceName` VARCHAR(45) NOT NULL , PRIMARY KEY (`idAttendanceTypes`) , UNIQUE INDEX AT_UK (`AttendanceName` ASC) ) PACK_KEYS = 0 ROW_FORMAT = DEFAULT; -- ----------------------------------------------------- -- Data for table `bpschema`.`AttendanceTypes` -- ----------------------------------------------------- SET AUTOCOMMIT=0; INSERT INTO `AttendanceTypes` (`idAttendanceTypes`, `AttendanceName`) VALUES (1, 'Weekly Meeting'); INSERT INTO `AttendanceTypes` (`idAttendanceTypes`, `AttendanceName`) VALUES (2, 'C Camp'); INSERT INTO `AttendanceTypes` (`idAttendanceTypes`, `AttendanceName`) VALUES (3, 'Huish'); INSERT INTO `AttendanceTypes` (`idAttendanceTypes`, `AttendanceName`) VALUES (4, 'Cubs Camp'); COMMIT; -- ----------------------------------------------------- -- Table `bpschema`.`AttendanceDates` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bpschema`.`AttendanceDates` ( `idAttendanceDates` INT NOT NULL AUTO_INCREMENT , `idAttendanceTypes` INT NOT NULL , `idSectionMembershipTypes` INT UNSIGNED NOT NULL , `DateOfAttendance` DATE NOT NULL , PRIMARY KEY (`idAttendanceDates`) , INDEX fk_AttendanceDates_AttendanceTypes (`idAttendanceTypes` ASC) , INDEX fk_AttendanceDates_SectionMembershipTypes (`idSectionMembershipTypes` ASC) , CONSTRAINT `fk_AttendanceDates_AttendanceTypes` FOREIGN KEY (`idAttendanceTypes` ) REFERENCES `bpschema`.`AttendanceTypes` (`idAttendanceTypes` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_AttendanceDates_SectionMembershipTypes` FOREIGN KEY (`idSectionMembershipTypes` ) REFERENCES `bpschema`.`SectionMembershipTypes` (`idSectionMembershipTypes` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;