福建工程学院《实验指导书(数据库系统原理及应用)》
数据库原理及应用实验指导

数据库原理及应用实验指导数据库原理及应用实验指导一、实验目的:1. 了解数据库的基本概念和原理;2. 掌握SQL语言的基本使用和操作方法;3. 学会使用数据库管理系统进行数据库的创建、插入、查询、修改和删除等操作。
二、实验内容:本次实验将围绕数据库的原理及应用展开,包括数据库的基本概念、数据库的设计原则、数据库的范式理论、SQL语言基础、数据库管理系统的使用等内容。
通过实际操作,学生能够更深入地理解数据库的工作原理,并且掌握数据库的基本操作方法。
三、实验步骤:1. 数据库基本概念1.1 什么是数据库?数据库是指一个按照数据模型组织、描述和存储数据的计算机软件,具有较好的数据管理性能。
数据库是实现数据共享和数据集成、并进行数据分析和决策的重要工具。
1.2 数据库的分类根据数据模型的不同,数据库可以分为层次数据库、网状数据库和关系数据库等不同类型。
1.3 数据库的特点数据库具有数据的共享性、冗余性小、数据独立性、数据一致性、数据安全性和故障恢复等特点。
2. 数据库设计原则2.1 单一职责原则每个数据表应该有一个明确的用途,只负责存储某一类数据。
2.2 数据冗余原则尽量避免数据冗余,减少存储空间和数据更新时的复杂度。
2.3 数据库范式理论范式理论是数据库设计的基础,包括第一范式、第二范式、第三范式等。
通过标准化设计,可以减少数据冗余,提高数据库的性能和可维护性。
3. SQL语言基础3.1 SQL语言的基本介绍SQL是结构化查询语言的缩写,是一种用于数据库管理系统的查询和程序设计语言。
3.2 SQL语句的分类SQL语句可以分为数据定义语句(DDL)、数据操作语句(DML)和数据查询语句(DQL)等不同类型。
3.3 SQL语句的基本操作方法包括数据库的创建、数据表的创建、数据插入与删除、数据查询和更新等操作。
四、数据库管理系统的使用4.1 数据库管理系统的概念数据库管理系统是一种用于管理数据库的软件系统,包括数据库的创建、数据的插入、查询、更新和删除等操作。
《数据库原理与应用I》课程实验指导书

《数据库原理与应用I》实验指导书计算机科学与技术系目录实验一:实验环境搭建 (1)实验二:SQL操作数据库 (2)实验三:数据库设计 (6)实验四:数据库安全管理 (8)实验五:数据库备份与恢复 (10)实验一:实验环境搭建【实验概述】1.实验类别:验证类。
2.学时要求:课内1学时。
3.组织形式:每个学生独立完成。
【实验目的】1.理解数据库管理系统的软件的作用;2.理解数据库、表的概念和关系,能够使用SQL命令创建数据库、创建表;3.理解DTS数据传输的含义,能够利用SQL Server的DTS数据传输向导将Excel文件中的数据导入到SQL Server数据表中。
【实验环境】笔记本电脑,安装SQL Server环境。
【相关知识】1.安装SQL Server软件环境;2.SQL命令:CREATE DATABASE,CREATE TABLE相关语法;3.DTS数据导入。
【实验内容】1.安装SQL Server软件环境,如SQL Server 2008 或SQL Server 2012等。
2.使用SQL命令创建数据库Library。
3.使用SQL命令创建图书表Book、读者表Reader、借阅表Borrow。
4.将“课堂例题实验数据.xls”文档中的数据利用DTS导入导出向导导入到SQL Server中。
5.执行SELECT * FROM Book; SELECT * FROM Reader; SELECT * FROM Borrow;可以查看三张表的数据导入结果。
6.请粘贴Borrow表数据导入成功的界面截图和查看Borrow表数据的界面截图。
实验二:SQL操作数据库【实验概述】1.实验类别:综合类。
2.学时要求:课内0学时,课外4学时。
3.组织形式:每个学生独立完成。
【实验目的】1.理解关系数据库的操作原理、理解表的概念;2.能够运用SQL命令创建表、对表中的数据进行增删改查;3.理解视图的含义,能够利用SQL命令创建视图。
数据库原理与应用实验指导书(第二版)

数据库原理与应用实验指导书高荣芳编计算机工程实验室2011年9月目录1实验前的准备 (1)2 实验1数据库和数据表基本操作 (17)3 实验2 数据查询 (20)4 实验3 索引及视图操作 (22)5 实验4 存储过程和触发器 (23)6 实验5 T-SQL程序设计 (24)7 实验6 数据库的完整性控制 (26)8 实验7 安全管理 (28)9 实验8 图书借阅信息系统数据库模式设计及应用 (29)1实验前的准备1.1 课程实验标准《数据库原理与应用》是计算机科学与技术专业及相近各专业的一门重要基础理论课程。
课程概括性的介绍了数据库技术发展历程,详细介绍了数据库系统的基本概念、基本原理、基本方法,阐述了数据库设计、实现的基本过程,同时也介绍了数据库系统的最新进展。
通过本课程的学习,使学生牢固掌握数据库系统的基本概念和基本原理,熟悉数据库系统的主要实现方法,能够根据应用需要分析设计实用的数据库管理系统。
《数据库原理与应用》是一门实践性很强的课程,通过实验实践,配合课堂教学内容加深对数据库系统的基本概念、基本原理、基本方法的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的某一典型系统(如SQL Server 2000)有较深入的了解,使学生对数据库系统有一个完整的、全面的认识。
1.课程实验的目标《数据库原理与应用》课程上机实验的主要目标是:(1)通过上机操作,加深对数据库系统理论知识的理解。
(2)通过使用具体的数据库管理系统,了解一种实际的数据库管理系统,并掌握其操作技术。
(3)通过实验题目的上机实践,提高学生的实践动手能力,提高学生的分析问题和解决问题的能力。
2.主要软件实验环境操作系统为Microsoft Windows 2000或更高级的版本。
数据库管理系统为Microsoft SQL Server 2000标准版或更高级的版本。
3.课程实验的基本要求(1)每次实验前,教师需要向学生讲清楚本次实验的目的和基本要求;学生应当先弄清楚相关的理论知识,预习实验内容、方法和步骤,认真准备好实验程序和数据,避免出现盲目上机的行为。
数据库原理及应用课程实验指导书

《数据库原理及应用》课程实验指导书信息管理系2013年10月目录1. 实验46101401.数据表设计 (1)2. 实验46101402.数据库查询设计 (13)3. 实验46101403.ACCESS表高级查询设计 (19)4. 试验46101404.ACCESS的窗体和报表设计 (27)1. 实验46101401.数据表设计1.1概述在Microsoft Access2003环境下,通过一个应用实例建立一个数据库,并利用向导、表设计器、SQL语言等方法设计 ACCESS基本表。
Access是一个数据库管理系统(DBMS)。
和同类的其他产品一样,Access存储和检索信息(通常称为数据)、提供所请求的信息和自动完成可重复执行的任务(如维护账目支付或人事系统、实施库存控制和调度)。
Access的数据库管理效率充分地利用了Microsoft windows的功能,并与其协调一致。
Access能够在windows 2000、windows XP和windows 7平台上运行,所以windows的所有优点全部可以在Access中体现。
可以在Access中剪切、复制和粘贴来自任何windows应用程序的数据,还可以在Access中创建—个窗体并粘贴到报表设计器中。
Access 允许用户同时访问多个数据库表中的信息,能够把数据库表连接起来创建一个新表。
它能够减少数据的复杂性并能使工作更容易完成。
Access表可以与大型机或服务器数据建立连接。
Access可在网络环境中用来连接多种类型的其他数据库表,包括本地(在同一台机器上)数据库表和远程数据库表(甚至大型机数据库表,如oracle或DB2)。
Access能够直接连接这些“外部”表或把它们导入到本地使用。
一旦外部表被连接或导入到本地,我们就可以创建窗体或报表来使用其中的信息了。
建立Access数据库的目的不仅仅是为了存储一定量的数据信息,更重要的是在这些数据的基础上进行查询分析,从而生成报表并且为管理和决策提供一定的帮助。
数据库原理与应用实验指导书完整

数据库原理与应⽤实验指导书完整(快速切换页码⽅法:按住ctrl键再单击相关项⽬)实验⼀创建数据库与表1. 新建数据库(1) 利⽤向导创建数据库(新建⽂件/本机上的模板)(2) 创建空数据库2. 表的基本操作(1) 使⽤向导创建表(2) 复制表(3) 利⽤设计视图建⽴表(参考教材P25-P29)①设置查阅向导②设置标题属性(P42)③设置默认值(P44)④设置字段的“有效性规则”与“有效性⽂本”(P42)⑤设置掩码(P43)⑥设置⽇期格式:(P40)⑦设置主键(P49)⑧增加字段,在“姓名”字段后增加⼀个“年龄”字段(P48)⑨删除字段,将刚增加的字段删除。
(P49)(4) 表操作①在数据表视图和设计视图之间进⾏切换,熟悉切换的⽅法。
②在数据表视图中输⼊记录。
③隐藏/取消隐藏列(P53)——格式菜单④冻结(P64)——格式菜单⑤排序(P58)——记录菜单⑥筛选(P60)——记录菜单⑦调整表外观——格式菜单3. 表间关系(P64)4. 导⼊、链接、导出(P34)实验⼆查询⑴使⽤设计视图建⽴查询⑵使⽤设计视图建⽴查询⑶设置查询排序及准则⑷汇总查询⑸交叉表查询⑹参数查询⑺动作查询①删除查询②更新查询③追加查询④⽣成表查询:⑻利⽤SQL语句建⽴查询实验三窗体1. 掌握⾃动创建窗体、使⽤向导创建窗体的⽅法(1) 建⽴基于单表的窗体①纵栏式窗体②“表格式”窗体(2) 建⽴基于多表的“学⽣信息和成绩”窗体2. 在设计视图创建窗体⑴建⽴“学⽣信息简表”窗体⑵使⽤设计视图1⑶使⽤设计视图2实验四报表1. 建⽴“学⽣成绩单”报表2. 建⽴“学⽣档案”报表3. 建⽴“分数段统计”报表4. 建⽴“排名次”统计报表实验五宏实验六数据库设计理论实践《数据库原理与应⽤》实验指导书⼀、实验的性质与学习⽬的《数据库原理与应⽤》为⾮计算机专业的公共课程。
通过实验教学,使学⽣验证并掌握数据库管理系统的基本原理,具备数据库的基本设计能⼒、掌握利⽤数据库进⾏信息管理的基本技能,初步掌握数据库应⽤系统的开发⽅法,为以后更好地使⽤数据库应⽤系统打下坚实的基础。
数据库原理及应用实训指导书

《数据库原理及应用》项目实训指导书项目实训指导书(一)1. 项目实训的目的与基本要求在数据库应用技术项目教学的基础上,通过项目实训,将数据库应用技术和面向对象程序设计结合起来,经历项目开发的完整过程。
要求需求分析到位,数据库结构设计规范、合理,程序运行流畅、稳定,整体上能实现项目所需的功能。
2. 项目实训的方法和步骤⑴题目的选择从本课程的项目库(包含丰富的最近与本课程相关的开发项目)中选取一个项目,或在指导老师同意的情况下,自拟项目,项目内容要符合实际应用,与企业业务吻合。
项目完成后,经课题组验收、评价,符合要求的可加入项目库。
下面各步骤结合“网上书店”为例进行说明。
⑵项目背景介绍简要说明选择该项目的原因,如项目的意义、用途和发展前景等。
如:“网上书店”的项目背景可作如下描述。
电子商务,是指在Internet上进行商务活动,她正在以难以置信的速度渗透到人们的日常生活中,具有高效率、低成本的特点。
电子商务的一个重要技术特征是利用Web技术来传输和处理商业信息,使人们足不出户即可完成商品的交易,具有广泛的发展前景和商机。
⑶需求分析项目需求分析,就是了解项目需要做什么,需要完成什么功能。
此步聚是整个项目的基础。
此步骤以流程图的形式呈现,并加上适当的注释、说明。
如在“网上书店”项目中,站在购书者的角度,其购书流图如图1所示,购书者选择图书时,可选择各种查询方式,如按类别、关键字、出版社、作者等,总之,就是尽量方便购书者的操作。
图1 购书流程⑷概念结构设计将需求分析得到的用户需求,抽象为信息结构,找出实体及实体间的关系,并用E-R 图进行描述,列出实体表的名称和用途。
如“网上书店”项目,从购书流程中可找出如下实体:购书者、图书、图书类别和购物篮等,如表1所示。
;实体间的关系用E-R图表示,如图2所示。
表1 实体表图2 E-R图⑸逻辑结构设计把概念结构设计阶段产生的系统基本E-R图转换为具体的DBMS所支持的数据模型,即关系模式,列出各数据对象的名称,数据表各字段的类型、含义等,并用关系图的形式描述各表之间的关系。
数据库系统原理与应用课程实验指导书

数据库系统原理与应用课程实验指导书数据库系统原理与应用课程实验指导书一、实验基本要求:(1)学习相关知识(参见教材相关内容)(2)准备程序,上机调试、运行(3)写出实验报告二、实验报告内容:(1)实验题目(2)实验目得(3)实验内容及原理(4)实验过程(5)总结三、实验中使用得关系表关系表S、C、SC:S(SNO,SNAME,SEX,AGE,DEPT)C(CNO,CNAME,CCREDIT,CT)SC(SNO,CNO,GRADE)学生表S由学号SNO,姓名SNAME,性别SEX,年龄AGE,所在系DEPT组成。
课程表C由课程号CNO,课程名CNAME,学分CCREDIT,授课教师CT组成。
选课表SC由学号SNO,课程号CNO,成绩GRADE组成。
实验一实验题目:数据库管理系统得使用实验目得:掌握SQL SERVER2005得使用与数据库设计得一般方法。
实验内容:(1)SQL SERVER2005得使用(2)数据库得设计过程并利用SQLSERVER2005建立数据库。
实验二实验题目:数据库得定义实验目得:掌握数据表建立、修改、删除、索引得SQL语句。
实验内容:(1)数据表得建立(2)数据表得修改(3)数据表得删除(4)数据表得索引建立(5)视图得建立与删除●建立一个计算机系学生基本信息视图CSV(SNO,SNAME,SEX,AGE)●查询1983年以后出生得计算机系学生基本信息。
●建立一个计算机系学生成绩视图JSGV(SNO,CNO,GRADE)。
●查询计算机系学生选课多于3门得学生学号。
●查询计算机系学生2号课不及格得学生学号与成绩。
实验三实验题目:数据表得操作实验目得:掌握数据表数据操作得SQL语句。
实验内容:SQL语句插入数据操作SQL语句修改数据操作SQL语句删除数据操作SQL语句查询数据操作维护数据SQL语句:(1)在学生表中插入一新生信息(‘200213808’,’HUJING’,’女’,22,’计算机’)(2)删除数据库中学号为’200213801’得退学学生有关信息。
数据库原理及应用实验大纲及指导册

附录:数据库原理及应用实验大纲及指导册数据库原理与应用实验大纲一、上机性质、目的及任务:通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的一些典型技术有较深入的了解,使学生的动手能力有较大的提高。
另外,通过上机实践善于发现数据库应用程序中的错误,并且快速排除这些错误,使其正确运行,为今后使用大型数据库进行数据库应用系统的开发积累经验。
二、实验内容:实验一熟悉MysQL环境及SQL定义语言实验二SQL语言进行简单查询实验三SQL进行复杂查询实验四SQL常用数据更新操作(以上实验为基础实验内容,在保证基础实验完成的前提下,感兴趣的同学可尝试通过编写Web界面和后台程序的形式操作数据库,构建一个简易的Web数据库管理系统)实验一熟悉MySQL环境及SQL定义语言一、实验目的:1.了解MySQL程序构成、安装、管理方法。
2.了解MySQL数据库及表结构。
3.熟练掌握SQL语言进行基本表结构的创建。
4.熟练应用SQL语言进行表结构的修改。
5.掌握SQL语言进行基本表的删除。
6.掌握SQL语言进行索引的建立和删除。
二、实验内容和主要步骤:1.参考“MYSQL简体中文参考文档.chm”,熟悉MySQL构成和功能特性。
2.打开Windows服务管理器,实验启动、停止MySQL服务,了解MySQL的服务管理方法;3.打开“MySQL管理控制台.bat”,熟悉控制台中操作数据库;4.利用控制台创建“Student数据库”。
5.打开“Student”数据库,创建如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立:表1 student (学生)字段名字段说明类型字段大小小数位数sno 学号Char 8sname 姓名Varchar 8ssex 性别Char 2sdept 系别Varchar 20sage 年龄Int 整型表2 course (课程)字段名字段说明类型字段大小小数位数cno 课程号Char 3cname 课程名称Varchar 20Credit 学分Numeric 1Cpno 系别char 3表3 sc (选修)字段名字段说明类型字段大小小数位数sno 学号Char 8cno 课程号Char 3Grade 成绩numeric 16.按图1-3所示向表中插入数据;图1 student表数据图2 course表数据图3 SC表数据7.用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一)8.用SQL语言ALTER语句修改表结构;a)STUDENT表中SNO设为非空和唯一;b)STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符);c)删除STUDENT表中ADDRESS字段;d)COURSE表中CNO字段设为非空和唯一;9.重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;10.用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引;11.用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引;12.用SQL语言DROP语句删除索引;13.输入部分数据,并试着修改其中的错误;注:注意数据的完整性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统原理实验指导书(本科)目录实验一数据定义语言 (1)实验二SQL Sever中的单表查询 (3)实验三SQL Serve中的连接查询 (4)实验四SQL Serve的数据更新、视图 (5)实验五数据控制(完整性与安全性) (7)实验六语法元素与流程控制 (9)实验七存储过程与用户自定义函数 (11)实验八触发器 (12)实验一数据定义语言一、实验目的1.熟悉SQL Server2000/2005查询分析器。
2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表的定义、删除与修改,掌握索引的建立与删除方法。
3.掌握SQL Server2000/2005实现完整性的六种约束。
二、实验内容1.启动SQL Server2000/2005查询分析器,并连接服务器。
2.创建数据库: (请先在D盘下创建DB文件夹)1)在SQL Server2000中建立一个StuDB数据库:有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB;有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。
3.设置StuDB为当前数据库。
4.在StuDB数据库中作如下操作:设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE),其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。
写出实现下列功能的SQL语句。
(1)创建表S;(2)刷新管理器查看表是否创建成功;(3)右击表S插入3个记录:95031班25号李明,男性,21岁;95101班10号王丽,女性,20岁;95031班座号为30,名为郑和的学生记录;(4)将年龄的数据类型改为smallint;(5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime);(6)对表S,按年龄降序建索引(索引名为inxage);(7)删除S表的inxage索引;(8)删除S表;5.在StuDB数据库中,(1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。
并输入相关数据。
(2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。
6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。
创建SPJ数据库,并在其中创建S、P、J和SPJ四张表。
每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。
要作好备份以便后面的实验使用该数据库数据。
三、实验要求:1.学会使用SQL Server2000/2005的查询分析器,企业管理器和联机丛书。
2.根据实验内容认真写好实验报告,记录每个步骤的脚本和结果的截图。
3.报告内容:实验内容1~5四、实验总结实验二SQL Sever中的单表查询一、实验目的:1.掌握SQL语言的DML子语言,在SQL Server2000/2005环境下采用Transact-SQL的SELECT语句熟练掌握各种单表查询方法。
二、实验内容:(一) 附加上次实验备份的StuDB数据库和SPJ数据库。
(二) 按照《数据库系统概论》P82页中的学生课程数据库及数据实现以下查询:1.查询所有课程的课号,课程名。
2.查询计算机系年龄不到21岁的所有男生的姓名和出生年份。
3.查询已被学生所选课程的课程号。
4.查询所有有成绩的学生学号和课程号,并为各列分别取相应的中文别名。
(三) 按照《数据库系统概论》P75页中的SPJ数据库及数据实现以下查询:1.查询地点在‘北京’、‘上海’的供应商代码和供应商名字。
2.查询供应商名中包含‘方’这个汉字的供应商信息。
3.查询零件名以‘刀’字结尾,包含三个汉字的零件信息。
4.查询使用了供应商S1所供应零件的工程项目数。
5.查询各个供应商所供应的零件的总数,要求对查询结果降序显示。
6.查询供应了3个以上项目的供应商代码和供应的项目总数。
三、实验要求:1.根据实验内容认真写好实验报告,记录每个步骤正确的Transact-SQL命令。
2.无须记录正确的查询结果。
但要求记录实验过程中发生的有学习意义的错误及错误信息。
四、实验小结实验三SQL Serve中的连接查询一、实验目的:1.掌握采用Transact-SQL实现连接查询。
2.掌握等值连接(自然连接)、自身连接、外连接和复合条件连接的查询方法。
二、实验内容:按照《数据库系统概论》P82页中的学生课程数据库和P75页中的SPJ数据库完成以下查询(1)查询使用红色零件的工程名称。
(2)查询每个工程的信息及相应的供应信息(包括列出尚未被供应零件的那些工程)。
(3)查询供应工程J1红色零件的供应商号SNO,请用两种方法实现。
(4)求供应工程J1零件的供应商的完整信息。
(5)查询使用北京供应商供应零件的工程信息。
(6)查询选修3号课程且成绩在85分以上的所有学生。
(7)查询先行课的学分为4的课程信息。
(8)查询课程与其间接先行课的名称。
(9)查询其他系中比计算机科学系所有学生年龄都小的学生完整信息,用两种方法实现。
(10)查询其他系中比计算机科学系某一学生年龄大的学生姓名与年龄,用两种方法实现。
(11)(可选)查询至少用了供应商S1所供应的所有零件的工程号JNO,用带EXISTS谓词的子查询实现。
(12)(可选)查询使用了全部零件的工程号JNO,用带EXISTS谓词的子查询实现。
(13)(可选)查询所有使用了P3零件的工程号JNO,用带EXISTS谓词的子查询实现。
三、实验要求:1.写出正确的Transact-SQL命令。
2.无须记录正确的查询结果。
要求记录实验过程中发生的有学习意义的错误及错误信息。
四、实验小结实验四SQL Serve的数据更新、视图一、实验目的:1.掌握采用Transact-SQL实现嵌套查询。
2.掌握采用Transact-SQL实现数据更新。
3.掌握采用Transact-SQL实现视图的定义、删除、查询与更新。
二、实验内容按照《数据库系统概论》P82页中的学生课程数据库和P75页中的SPJ数据库完成以下操作:(一)数据更新1)插入一个学生:张红,女,200215135,信息系,20岁2)插入一个选课录:200215135,1,成绩未定3)将计算机系所有学生的年龄加1岁4)删除所有200215130学生的选课记录5)删除所有姓张的同学的信息6)请自行设计案例对学生-课程数据库的数据更新,并观察是否有违反数据的完整性约束。
use studbinsertinto student (sname,ssex,sno,sdept,sage)values('张红','女','200215135','信息系',20);insertinto sc (sno,cno,grade)values('200215135','1',null);update studentset sage=sage+1;deletefrom scwhere'200215130'=(select snofrom studentwhere student.sno=sc.sno);deletefrom studentwhere sno='200215130';deletefrom scdeletefrom studentwhere sname like'张%'deletefrom student,sc,coursewhere sname like'张%'and sc.sno=student.sno and o=o; updatecreate view s_grade(学号,姓名,选课门数,平均分,最高分,最低分)asselect student.sno,sname,count(cno),avg(grade),max(grade),min(grade) from sc,studentwhere student.sno=sc.snogroup by student.sno,snamewith check option;(二)视图1)创建一个学生成绩统计视图,包括学号,姓名,选课门数,平均分,最高分,最低分2)利用上题所建视图实现:①查询成绩高于自己平均成绩的选课记录②查询每个同学获得最高分的选课记录3)请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。
针对该视图完成下列查询:①找出三建工程项目使用的各种零件代码及其数量;②找出供应商S1的供应情况;三、实验要求1.写出正确的Transact-SQL命令。
2.无须记录正确的查询结果。
但要求记录实验过程中发生的有学习意义的错误及错误信息。
四、实验小结实验五数据控制(完整性与安全性)一、实验目的:1.通过实验加深对数据库完整性与数据库安全性的理解;2.掌握SQLServer对数据进行安全性控制的方法二、实验内容和要求(一)数据库完整性某公司使用数据库进行内部管理:表Employees存储雇员的代号(整型,标识位,种子1000001,增量为1,主键)、身份证号码(18个字符)、名字(最长20个字符)和工资等信息;表Departments存储部门的部门号(2个字符,唯一,主键)、部门名称(30个字符)等信息;表Work每一行表示某雇员在某部门工作过及其开始工作时间和备注。
请写出创建这三个表的SQL语句,要保证:工资的值大于0,身份证号码唯一,开始工作时间非空,默认值为当前时间。
(二) 以sa登录查询分析器,输入下列代码并执行第1行exec sp_addlogin 's1','123'第2行use StuDB第3行exec sp_grantdbaccess 's1','u1'第4行grant select,insert,update on student to public第5行grant all on student to u1第6行revoke select on student to u1问:1)第1行创建了一个名为s1登录帐户,请问'123'的含义是什么?2)第3行将登录帐户s1映射到数据库用户u1上,它将作为哪个数据库的用户?3)请解释4到6行的含义4)在查询分析器中以s1帐户连接服务器,能否对学生-课程数据库的student表进行select 操作,为什么?(提示:废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。