 	AnimalID INT PRIMARY KEY IDENTITY
 	, FunFact VARCHAR(250)
 	, Shiny BIT NOT NULL --1 means it is shiny
-	, SoundID INT REFERENCES Sounds (SoundID)
-	, ImageID INT REFERENCES Images (ImageID));
+	, SoundID INT REFERENCES Sounds (SoundID) NOT NULL
+	, ImageID INT REFERENCES Images (ImageID) NOT NULL);
 
 CREATE TABLE Users (
 	UserID INT PRIMARY KEY IDENTITY

	, SubjectFilter VARCHAR(50));

CREATE TABLE ProfileProgress (
	ProfileID INT primary key REFERENCES Profiles (ProfileID)
	, CurrentMap INT REFERENCES Maps (MapID)
	, CurrentNode INT NOT NULL --current node number in the map
	, AnimalID INT REFERENCES Animals (AnimalID));

CREATE TABLE ProfileAnimals (
	ProfileAnimalID INT PRIMARY KEY IDENTITY
	, AnimalID INT REFERENCES Animals (AnimalID)
	, ProfileID INT REFERENCES Profiles (ProfileID));

CREATE TABLE GameCategories (
	GameCategoryID INT PRIMARY KEY IDENTITY


CREATE TABLE MiniGameMedia (
	MediaID INT PRIMARY KEY IDENTITY
	, MiniGameID INT REFERENCES Minigames (MiniGameID) NOT NULL
	, Difficulty INT default NULL	--nulled if media is used for every instance of that game
	, MiniGameMedia VARBINARY(max) NOT NULL);

CREATE TABLE ProfileProgressHistory (
	ProgressID INT PRIMARY KEY IDENTITY
	, ProfileID INT REFERENCES Profiles (ProfileID) NOT NULL
	, MiniGameID INT REFERENCES Minigames (MiniGameID));