- 1、本文档共149页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机又称电脑。任何计算机,不管它是什么类型,都是由程序指令控制机器操作,完成特定工作任务。 * 计算机又称电脑。任何计算机,不管它是什么类型,都是由程序指令控制机器操作,完成特定工作任务。 计算机又称电脑。任何计算机,不管它是什么类型,都是由程序指令控制机器操作,完成特定工作任务。 这个SQL语句是较复杂和冗长,为了让外部程序简单地实现该信息查询,可以先定义一个名称为DatabaseCourseView视图,其视图创建SQL语句如下: CREATE VIEW DatabaseCourseView AS SELECT C.CourseName AS 课程名称, S.StudentID AS 学号, S.StudentName AS 姓名 FROM COURSE AS C,CPLAN AS P, REGISTER AS R, STUDENT AS S WHERE C.CourseID=P.CourseID AND C. CourseName=’ 数据库原理及应用’ AND P.CoursePlanID=R.CoursePlanID AND R.StudentID=S. StudentID; 当DatabaseCourseView视图被创建完成后,外部程序就可以通过一个简单的SELECT语句查询视图数据,其操作语句如下: SELECT * FROM DatabaseCourseView; 实践操作:执行上述SQL SELECT语句。 2.使用视图提高数据访问安全性 通过视图可以将基本数据表部分敏感数据隐藏起来,外部用户无法得知数据表的完整数据,降低数据库被攻击的风险。此外,还可以保护部分隐私数据。 例 在课程目录系统数据库中,除管理部门用户外,其他用户只能浏览教师基本信息,如教师编号、教师姓名、性别、职称、所属学院,教师其他信息被隐藏,可定义视图来处理信息,其视图创建SQL语句如下: CREATE VIEW BasicTeacherInfoView AS SELECT T.TeacherID AS 编号, T.TeacherName AS 教师姓名, T.TeacherGender AS 性别, T. TeacherTitle AS 职称, C.CollegeName AS 所属学院 FROM TEACHER AS T, COLLEGE AS C WHERE T.CollegeID=C. CollegeID; 当BasicTeacherInfoView视图被创建完成后,外部程序就可以通过一个简单的SELECT语句查询视图数据,其操作语句如下: SELECT * FROM BasicTeacherInfoView ORDER BY 所属学院 , 教师姓名; 实践操作:执行上述SQL SELECT语句。 3. 提供一定程度的数据逻辑独立性 通过视图,可提供一定程度的数据逻辑独立性。当数据表结构发生改变,只要视图结构不变,应用程序可以不作修改。 4. 集中展示用户所感兴趣的特定数据 通过视图,可以将部分用户不关心的数据进行过滤,仅仅提供他们所感兴趣的数据。 更多示例 1.隐藏列或行 例1: 如果只希望提供部分不涉及敏感数据的部门信息给客户,可采用如下视图实现。 CREATE VIEW BasicDepartmentDataView AS SELECT DepartmentName,Phone AS DepartmentPhone FROM DEPARTMENT; 视图可以用来隐藏结果集的行或列,以达到阻止显示一些敏感数据。 运行结果 运行结果 例2: 如果只希望Marketing部门的项目数据显示在视图中,可采用如下视图实现。 CREATE VIEW MarketingDepartmentProjectView AS SELECT ProjectID,Name AS ProjectName,MaxHours,StartDate,EndDate FROM PROJECT WHERE Department = ‘Marketing’; 使用SELECT语句对该视图查询: SELECT * FROM MarketingDepartmentProjectView ORDER BY ProjectID; 运行结果 运行结果 不需要输入计算表达式,就能显示出被计算列的结果。 CREATE VIEW ProjectHoursToDateView AS SELECT PROJECT.ProjectID, Name AS ProjectName, MaxHours AS ProjectMaxHours, SUM(HoursWorked) AS
文档评论(0)