【正确答案】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视图中获取它们想要的数据。这样,虽然更改了数据库表结构,但是原来使用该数据的应用程序不必更改,这就是数据独立性。
通过视图,可以提高数据独立性,从而减少系统中某一部分的改变对另一部分的影响。在设计系统时,要尽可能提高各个部分的独立性,亦即提供尽可能的向后兼容性。
【答案解析】