结构推理 某数据库可能引用了具有以下结构的非规范化表。
【正确答案】Students(Student_Name,Student_BirthDate,Student_Department,Building_Name)
   为了避免在数据库中重复存储数据,根据关系数据库规范化设计理论,可以通过将该表拆分为下列两个表来规范化该表。
   Students2(Student_Name,Student_BirthDate,DeptId)
   Department(DeptId,Department,Building Name)
   若要提供仍然引用Students中的数据的向后兼容接口,可以删除原有的Students表并用以下视图替换。
   CREATE VIEW Students AS
   SELECT Student_Name,Student_BirthDate,Department,BuildingName
   FROM Students2 E,Department D
   WHERE e.DeptId=d.DeptId
   此时,原来查询Students表的应用程序仍然可以从Students视图中获取它们想要的数据。这样,虽然更改了数据库表结构,但是原来使用该数据的应用程序不必更改,这就是数据独立性。
   通过视图,可以提高数据独立性,从而减少系统中某一部分的改变对另一部分的影响。在设计系统时,要尽可能提高各个部分的独立性,亦即提供尽可能的向后兼容性。
【答案解析】