Representing multiple attributes for students
I would have a Student Table which is a parent table. These represent single line attributes, which can all fit in this one table. 
If you need any data, where a student may have multiple attributes (example signing up for many classes, or different address types), to avoid multiple rows and data redundancy, I would create child tables. 

Parent Table:


  *create table dbo.Student
  (
      StudentId int identity(1,1) primary key,
      FirstName varchar(55) not null,
      LastName varchar(55) not null
  )*


Child Tables:


  *create table dbo.CourseCatalog
  (
      CourseCatalogId int identity(1,1) primary key,
      ClassName varchar(55) not null,
      CourseStartDate date not null,
      CouseEndDate date not null
  )*
  
  *create table dbo.StudentEnrollment
  (
      StudentEnrollmentId int identity(1,1) not null primary key,
      CourseCatalogId int not null foreign key references CourseCatalog(CourseCatalogId),
      StudentId int not null foreign key references Student(StudentId),
  )*
  
  *create table dbo.AddressType
  (
      AddressTypeId int identity(1,1) not null primary key,
      AddressType varchar(55) not null    -- Example 1 is Home, 2 is Campus Address
  )*
  
  *create table dbo.StudentAddress
  (
      StudentAddressId int not null primary key,
      StudentId int not null foreign key references Student(StudentId),
      AddressType int not null foreign key references AddressType(AddressTypeId)
  )*


by the way, can someone edit to properly remove asterisks, also feel free to add to this as needed