数据库表与视图的基本操作实验报告

合集下载

数据库基本操作实习报告

数据库基本操作实习报告

实习报告:数据库基本操作实习一、实习背景与目的随着信息技术的飞速发展,数据库技术在各个领域得到了广泛的应用。

为了提高自己在数据库方面的实际操作能力,我参加了本次数据库基本操作实习。

本次实习的主要目的是学习并掌握数据库的基本操作,包括数据库的创建、表的设计、数据的插入、查询和修改等,以及了解数据库在实际应用中的配置和维护方法。

二、实习内容与过程1. 数据库的创建与表的设计在实习的第一天,我学习了如何使用SQL Server创建数据库。

通过使用CREATE DATABASE语句,我成功创建了一个名为“实习数据库”的数据库。

随后,我学习了如何使用SQL语句创建表,并了解了表的结构设计,包括字段的类型、主键、外键等概念。

我设计了一个名为“学生信息”的表,包含了学号、姓名、性别、年龄和班级等字段。

2. 数据的插入与查询在实习的第二天,我学习了如何使用SQL语句向表中插入数据。

通过使用INSERT INTO语句,我向学生信息表中插入了多条学生数据。

随后,我学习了如何使用SELECT语句进行数据的查询。

我掌握了基本的查询语法,如WHERE子句、ORDER BY子句等,并能够根据需求进行数据的筛选和排序。

3. 数据的修改与删除在实习的第三天,我学习了如何使用SQL语句修改和删除数据。

通过使用UPDATE 和DELETE语句,我能够根据需求修改或删除学生信息表中的数据。

同时,我也了解了在修改和删除数据时要谨慎操作,以避免数据的丢失。

4. 数据库的配置与维护在实习的第四天,我学习了如何配置数据库的连接参数,以实现不同应用程序对数据库的访问。

我了解了SQL Server的配置文件和相关参数设置,并能够根据需求进行配置。

此外,我还学习了如何对数据库进行备份和恢复,以保证数据的安全性和可靠性。

三、实习收获与总结通过本次实习,我掌握了数据库的基本操作,包括创建数据库、设计表结构、插入数据、查询数据、修改数据和删除数据等。

同时,我也了解了数据库在实际应用中的配置和维护方法。

数据库的视图操作实验报告

数据库的视图操作实验报告

实验(四)数据库的视图操作实验一、实验目的和要求(1)掌握SQL Server中的视图创建向导和图表创建向导的使用方法;(2)加深对视图和SQL Server图表作用的理解。

(3)掌握数据库安全性的操作方法。

二、实验内容和原理1. 基本操作实验(1)在SQL Server企业管理器中调出Create View Wizard(创建图表向导),按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。

CREATE VIEW 借阅_计算机图书AS SELECT 图书.*,借阅.*FROM 图书,借阅WHERE图书.编号=借阅.书号AND图书.类别=‘计算机’(2)在SQL server企业管理器中调出Create View Wizard(创建图表向导),完成在图书-读者数据库中建立一个图书_借阅图表操作。

要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。

(3)查看上述实验结果。

如果结果有误,予以纠正。

2. 提高操作实验在学生-课程数据库中用Transact-SQL语句描述下列视图定义。

(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。

视图的列名为SNO、SNAME、SSEX和SAGE。

(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。

视图的列名为课程号、课程名称和先修课名称。

(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。

视图的列名为学号、课程号和成绩。

(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。

视图的列名为姓名、课程名称和成绩。

(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。

视图的列名为姓名、课程名称和成绩。

(6)利用Transact-SQL命令修改视图STU_SEX。

把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。

数据操作实验报告

数据操作实验报告

一、实验目的1. 掌握数据库的基本概念和操作方法。

2. 熟悉数据库管理系统(DBMS)的基本操作。

3. 学会使用SQL语言进行数据查询、插入、更新和删除操作。

4. 提高对数据库操作的实际应用能力。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建数据库和表2. 数据查询3. 数据插入、更新和删除4. 视图和索引四、实验步骤1. 创建数据库和表(1)打开MySQL Workbench,连接到本地MySQL服务器。

(2)创建一个新数据库,命名为“student”。

(3)在“student”数据库中创建一个新表,命名为“student_info”,包含以下字段:- id:整数类型,主键,自增- name:字符串类型,长度不超过20- age:整数类型- gender:字符串类型,长度不超过10- class:字符串类型,长度不超过20(4)执行以下SQL语句创建表:```sqlCREATE TABLE student_info (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT,gender VARCHAR(10),class VARCHAR(20));```2. 数据查询(1)查询所有学生信息:```sqlSELECT FROM student_info;```(2)查询年龄大于20岁的学生信息:```sqlSELECT FROM student_info WHERE age > 20;```(3)查询班级为“计算机科学与技术”的学生信息:```sqlSELECT FROM student_info WHERE class = '计算机科学与技术';3. 数据插入、更新和删除(1)插入一条学生信息:```sqlINSERT INTO student_info (name, age, gender, class) VALUES ('张三', 21, '男', '计算机科学与技术');```(2)更新学生信息:```sqlUPDATE student_info SET age = 22 WHERE name = '张三';```(3)删除学生信息:```sqlDELETE FROM student_info WHERE name = '张三';```4. 视图和索引(1)创建一个视图,包含学生姓名、年龄和班级信息:```sqlCREATE VIEW student_view ASSELECT name, age, class FROM student_info;```(2)查询视图中的数据:```sqlSELECT FROM student_view;(3)创建一个索引,用于加速对年龄字段的查询:```sqlCREATE INDEX idx_age ON student_info (age);```五、实验结果与分析1. 实验结果:成功创建数据库、表、视图和索引,并进行了数据查询、插入、更新和删除操作。

数据库基本操作实习报告

数据库基本操作实习报告

一、实习目的通过本次数据库基本操作实习,旨在巩固和深化我对数据库管理系统的理解,掌握数据库的基本操作技能,提高数据库的应用能力。

同时,通过实习,我将进一步了解数据库在实际工作中的应用场景,为今后的学习和工作打下坚实的基础。

二、实习时间2023年X月X日至2023年X月X日三、实习内容1. 数据库的创建与删除在实习过程中,我学习了如何使用SQL语言创建和删除数据库。

通过创建数据库,我了解了数据库的基本结构,包括数据表、视图、索引等。

同时,我也学会了如何删除不再需要的数据库,以释放存储空间。

2. 数据表的创建与删除在实习过程中,我学习了如何使用SQL语言创建和删除数据表。

通过创建数据表,我了解了数据表的基本结构,包括字段、数据类型、约束等。

同时,我也学会了如何删除不再需要的数据表,以保持数据库的整洁。

3. 数据的插入、查询、更新与删除在实习过程中,我学习了如何使用SQL语言进行数据的插入、查询、更新与删除操作。

通过这些操作,我了解了数据在数据库中的存储和检索方式,以及如何保证数据的准确性和完整性。

4. 数据库的备份与恢复在实习过程中,我学习了如何使用SQL语言进行数据库的备份与恢复操作。

通过备份,我了解了如何保护数据库免受意外损坏的影响;通过恢复,我了解了如何在数据库损坏后恢复数据。

5. 数据库的安全性与权限管理在实习过程中,我学习了如何设置数据库的安全性与权限管理。

通过设置用户权限,我了解了如何控制用户对数据库的访问,以保证数据库的安全性。

四、实习收获1. 提高了数据库操作技能:通过实习,我对数据库的基本操作有了更加深入的了解,能够熟练地使用SQL语言进行数据库操作。

2. 增强了实践能力:在实习过程中,我亲自动手操作数据库,解决了实际问题,提高了自己的实践能力。

3. 拓宽了知识面:通过实习,我了解了数据库在实际工作中的应用场景,拓宽了自己的知识面。

4. 培养了团队协作精神:在实习过程中,我与同学们相互学习、交流,共同完成实习任务,培养了团队协作精神。

数据库常用对象实验报告

数据库常用对象实验报告

一、实验目的1. 理解数据库的基本概念和常用对象。

2. 掌握数据库的创建、修改和删除操作。

3. 熟悉数据库中表、视图、索引、存储过程等对象的创建和使用。

4. 培养实际操作数据库的能力,提高数据库应用水平。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的基本操作2. 表的创建、修改和删除3. 视图的创建和使用4. 索引的创建和使用5. 存储过程的创建和使用四、实验步骤1. 数据库的基本操作(1)创建数据库打开MySQL Workbench,连接到本地MySQL服务器。

在“对象浏览器”中,右键点击“数据库”,选择“创建数据库”。

在弹出的对话框中,输入数据库名称(如:test_db),点击“创建”按钮。

(2)删除数据库在“对象浏览器”中,右键点击要删除的数据库,选择“删除数据库”。

在弹出的对话框中,点击“确定”按钮。

2. 表的创建、修改和删除(1)创建表在“对象浏览器”中,右键点击“表”,选择“创建表”。

在弹出的对话框中,输入表名(如:students),然后定义表中的列和类型。

例如:```id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT NOT NULL,class VARCHAR(50) NOT NULL```点击“保存”按钮,创建成功。

(2)修改表在“对象浏览器”中,右键点击要修改的表,选择“修改表”。

在弹出的对话框中,可以对表中的列进行添加、删除、修改等操作。

(3)删除表在“对象浏览器”中,右键点击要删除的表,选择“删除表”。

在弹出的对话框中,点击“确定”按钮。

3. 视图的创建和使用(1)创建视图在“对象浏览器”中,右键点击“视图”,选择“创建视图”。

在弹出的对话框中,输入视图名称(如:view_students),然后编写SQL查询语句。

数据库视图实验报告

数据库视图实验报告

数据库视图实验报告一、实验目的本次实验的主要目的是深入理解数据库视图的概念、特点和用途,并通过实际操作掌握如何创建、修改和使用视图来优化数据库的查询和管理。

二、实验环境本次实验使用的数据库管理系统为 MySQL 80,操作系统为Windows 10。

三、实验原理1、视图的定义视图是一种虚拟表,它是从一个或多个基本表(或视图)导出的表。

视图本身并不包含数据,而是根据定义从基本表中动态获取数据。

2、视图的优点提供数据的逻辑独立性:当基本表的结构发生变化时,只要视图的定义不变,用户通过视图所得到的数据仍然是一致的。

简化数据查询和操作:可以将复杂的查询定义为视图,使用户能够更方便地获取所需的数据。

增强数据安全性:可以通过视图限制用户对敏感数据的访问,只展示用户有权查看的部分数据。

四、实验内容与步骤1、创建视图使用以下语句创建一个名为`student_info_view` 的视图,该视图包含学生表`students` 中的学号、姓名、年龄和专业信息:```sqlCREATE VIEW student_info_view ASSELECT student_id, student_name, age, majorFROM students;```2、查询视图通过以下语句查询创建的视图:```sqlSELECT FROM student_info_view;```3、修改视图修改视图的定义,增加一个成绩列`grade` ,语句如下:```sqlALTER VIEW student_info_view ASSELECT student_id, student_name, age, major, gradeFROM students;```4、删除视图使用以下语句删除视图:```sqlDROP VIEW student_info_view;```五、实验结果与分析1、创建视图成功后,通过查询视图能够获取到预期的学生信息,证明视图的定义和数据提取是正确的。

实验三 数据库中的数据查询及视图操作实验报告

实验三  数据库中的数据查询及视图操作实验报告

实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。

通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。

二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。

三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。

2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。

四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。

假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。

a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。

b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。

c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。

d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。

e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。

数据库表与视图的基本操作实验报告

数据库表与视图的基本操作实验报告
INSERT INTOV age
VALUES('16138211039,'李琳琳’,女’,'1998-6-3', '160802')GC
SELECT * FROM v ageSELECT¥FROM student
由于该视图创建了WITH CHECK OPTION条件约束,当插人记录时所有“年龄”“不符合条件的记录无法插人和修改,并显示错误提示信息:
USE teaching”GO
CREATE VIEN V teacher. course AS
SELECT x. teacherno, tname, prof, cname,classnoFROM teacher x, course y, teach class z
WHER x. teacherno =z. teacherno and y. courseno = z. courseno
⑦指定分组依据。打开“查询设计器”菜单,选择“添加分组依据”命令,默认情况下,在查询结果集内出现的列course. courseno和course. cname将成为GROUP BY子句的一部分。对于score.final,除了作为查询条件外,还需与聚合函数生成计算列作为查询结果集中的组成部分,因此需将其再次添加到网格窗格中.并选中“输出”复选框,指定计算列别名为average.
SELECT studentno, sname, sex, birthday, classnoFROM student
WHERE year(getdate()) year(birthday)>= 18WITH CHECK OPTION
③在添加了WITH CHECK OPTION选项的视图中执行如下插人语句:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SELECT studentno, sname, sex, birthday, classnoFROM student
WHERE year(getdate()) year(birthday)>= 18WITH CHECK OPTION
③在添加了WITH CHECK OPTION选项的视图中执行如下插人语句:
SELECT * FROMv_ ageSELECT * FROM student
由于新添加记录数据并不符合视图定义的查询条件,因此查看视图v_age会发现新插人的记录并不在结果集中,但通过视图向基本表中插人数据的操作成功,在student中可以查看到新插人的记录。
②修改视图定义的代码如下:
ALTER VIEW V age AS
⑧设置排序。在网格窗格中将score. final数据列的排序类型设置为“降序”,排序顺序设置为1。
⑨设置完成后,单击“保存”按钮。在弹出的对话框中输人视图的名称V course. avg,单击“确定"按钮,即完成了创建视图的操作。
(6)利用Transact SQL语句在teaching数据库中创建视图V age,查询年龄在18周岁及以上的学生的学号、姓名、性别、出生日期和班级编号。若该视图已存在,则删除后重建。
②选中并展开数据库teaching,右击“视图”项,,从弹出的快捷菜单中选择“新建视图”命令。
③在弹出的“添加表”对话框中使用Crl键或Shift键同时选择course和score两个表,单击“添加”按钮,即可将其添加到视图的查询中。
④单击对话框中的“关闭”按钮,返回到SQL Server Management Studio的视图设计界面。
10.利用Transact-SQL语句删除创建的索引和视图。
五、分析与讨论
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
5.利用SQL Server ManagementStudio在teaching数据库中创建视图V_course_avg,查询没门课程的课程号、课程名及选修该课程的学生的期末平均成绩平均分,并且按平均分降序排列。
6.利用Transact-SQL语句,在teaching数据库中创建视图v__age,查询年龄在18岁及以,上的学生的学号、姓名、性别、出生日期和班级编号。若该视图已存在,则删除后重建。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
(1)使用INSERT语句向数据表中插入数据时,用户必须有插入数据的权利。(2)由于视图只引用表中的部分字段,所以通过视图插入数据时只能明确指定视图中引用的字段的取值。而那些表中并未引用的字段,必须知道在没有指定取值的情况下如何填充数据,因此视图中未引用的字段必须具备下列条件之一。该字段允许空值。该字段设有默认值。该字段是标识字段,可根据标识种子和标识增量自动填充数据。该字段的数据类型为timestamp或uniqueidentifier。(3)视图中不能包含多个字段值的组合,或者包含使用统计函数的结果。(4)视图中不能包含DISTINCT或GROUP BY子句。(5)如果视图中使用了WITH CHECK OPTION,那么该子句将检查插入的数据是否符合视图定义中SELECT语句所设置的条件。如果插入的数据不符合该条件,SQL Server会拒绝插入数据。(6)不能在一个语句中对多个基础表使用数据修改语句。因此,如果要向一个引用了多个数据表的视图添加数据时,必须使用多个INSERT语句进行添加。
SELECT美FROM V_ teacher. course
(8)利用Transact-SQL语句修改v. age的视图定义,添加WITH CHECK OPTION选项。
①在查询编辑器中输人如下插人语句并执行
USE teachingGO
INSERT INTO V age
VALUES('16138211038', '李静’,'女’,'1998-6-3','160802*)s0
INSERT INTOV age
VALUES('16138211039,'李琳琳’,女’,'1998-6-3', '160802')GC
SELECT * FROM v ageSELECT¥FROM student
由于该视图创建了WITH CHECK OPTION条件约束,当插人记录时所有“年龄”“不符合条件的记录无法插人和修改,并显示错误提示信息:
⑤为视图选择包含的数据列。在关系图窗格中选中course数据表的courseno和cname复选框,即可将这两个数据列添加到查询结果集内。
⑥指定查询条件。在网格窗格中的“表”组合框和“列”组合框中分别选择score. score.final。由于所选数据列只作为搜索子句,而不需在结果集内显示,因此取消对“输出”复选框的勾选。在“筛选器”中输人查询条件ISNOTNULL。
WHERE year(getdate()- year(birthday)>=18GC
SEIBCT * FRON_age
(7)利用Transact SQL语句在teaching数据库中创建视图V teacher course,包含教师编号、教师姓名、职称、课程号、课程名和任课班级。
在查询编辑器中输人如下程序代码并执行:
2.利用Transact-SQL语句在teaching数据库中teame。
3.利用SQL Server ManagementStudio查看索引被查询优化器使用的情况。
4.利用TransactSQL语句修改UQ_ tname的索引属性,当执行多行插入操作时出现重复键值,则忽略该记录,且设置填充因子为80%。
六、评阅成绩
⑦指定分组依据。打开“查询设计器”菜单,选择“添加分组依据”命令,默认情况下,在查询结果集内出现的列course. courseno和course. cname将成为GROUP BY子句的一部分。对于score.final,除了作为查询条件外,还需与聚合函数生成计算列作为查询结果集中的组成部分,因此需将其再次添加到网格窗格中.并选中“输出”复选框,指定计算列别名为average.
消息50级别16,状态1,第1行标,WITH CHRCR试图进行的插人或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了OPTION,而该操作的一个或多个结果行又不符合CHECK OPTION约束。
四、实验结果与数据处理
1.利用SQL Server ManagementStudio为student表的classno字段创建非聚集、非唯- - 索引UC_ .classno。
1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
在查询编辑器中输人如下程序代码并执行:
JSE teachingGO
IP XSTSLECT * FROM sysobjects WERE nane= 'V age AD type="” )
DROP VIEWv_ ageGC
CREATE VIEWV age AS
SELECT studentno,sname, sex, birthday, classnoFROM student
学号
姓名
专业、班级
实验地点
指导教师
时间
一、实验目的及要求
1. 掌握索引和视图的基本概念和功能。
2. 掌握利用SQL Server ManagementStudio和Transact-SQL语句创建、维护索引的方法。3.掌握SQL Server Management Studio和Transact-SQL语句创建、修改视图的方法。
7.利用Transact-SQL语句,在teaching数据库中创建视图v_ teacher course,包含教师编号、教师姓名、职称、课程号、课程名和任课班级。
8.利用Transact-SQL语句修改v. age的视图定义,添加WITH CHECKOPTION选项。
9.通过视图v_teacher..course将教师编号为’t05017’ 的教师的职称更改为副教授’,
4. 掌握通过视图查看和修改基本表中的数据。
二、实验设备(环境)及要求
1、环境要求:硬件:个人电脑一台;软件:sql server 2008
三、实验内容及过程
条警告信息“已忽略重复的键”。有avg.查询每门课程的课程号、课程名及选(5)利用SQL Server ManagementStudio,在teching数据库中创建视图v_ course_降序排序。修该课程的学生的期末成绩平均分.并且按平均分①启动SQL Server Management sStudio,在“对象资源管理器”窗口中展开“数据库”子目录。
USE teaching”GO
CREATE VIEN V teacher. course AS
SELECT x. teacherno, tname, prof, cname,classnoFROM teacher x, course y, teach class z
WHER x. teacherno =z. teacherno and y. courseno = z. courseno
相关文档
最新文档