实验三 文档视图结构

实验三 文档视图结构
实验三 文档视图结构

实验三文档视图结构

1.实验学时:4学时

2.实验目的:

学习MFC程序的文档视图结构。

3.实验内容:

(1)创建一个标题为“ MySdi”的应用程序。主窗口中显示一文本“您好, 单文档界面的例程!”。“编辑”菜单含有菜单项“改变显示文本”,单击该项,弹出一个对话框,用以改变主窗口中的显示文本。如图1所示。

(2)创建一个标题为“ My MDI Test–Mymdi1”多文档的应用程序,程序运行后,可以打开若干个文档,如图2所示, Mymdi1和Mymdi21是两个文档.

图1 单文档应用程序

图2 多文档应用程序

4.实验步骤:

对于单文档应用程序:

1. 创建工程:创建一个MFC AppWizard(exe)工程文件Mysdi,并选择Single Document的的应用程序。

2. 添加资源:程序添加如图所示的对话框。并使用ClassWizard为对话框生成CDialog类的派生类CDlgInput,并为其中的EditBox控件(其ID为IDC_EDIT1)添加相关联的成员变量

m_input,其类型为Cstring。

3. 添加成员变量:为CMysdiDoc类添加成员变量,步骤如下:

在Workspace窗口的ClassView选项卡中展开Mysdi Class,右击CMysdiDoc;

在弹出菜单中,单击Add Member Variable;

输入变量类型为CString, 变量名m_str, 访问类型public:

单击OK。

4.文档变量初始化:在CMysdiDoc的OnNewDocument成员变量中为公有成员m_str赋以初值“您好, 单文档界面的例程!”。方法是将OnNewDocument的实现替换为如下代码:

BOOL CMymdiDoc2::OnNewDocument()

{

if (!CDocument::OnNewDocument()) return FALSE;

m_str="您好, 单文档界面的例程!";

return TRUE;

}

5.视图的输出

为视图的框架窗口中显示文档类的m_str成员变量的内容,用如下代码替换类CMysdiView的OnDraw成员函数

void CMysdiView::OnDraw(CDC* pDC)

{

CMysdiDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

CRect rectClient;

GetClientRect(rectClient); // 取当前客户区的指针

CSize sizeClient=rectClient.Size(); // 取当前客户区的大小

CString str=pDoc->m_str; // 从文件中读取数据

CSize sizeTextExtent=pDC->GetTextExtent(str); // 用新字体绘制字符

pDC->TextOut((sizeClient.cx-sizeTextExtent.cx)/2,

(sizeClient.cy-sizeTextExtent.cy)/2, str);

}

6. 添加菜单项:

在“编辑”菜单中添加一项改变文档内容的菜单,可将所修改的文档显示文本存入磁盘文件,实现方法如下:

(1)单击Workspace窗口--> ResourceView选项卡--> 展开Mysdi resources|Menu --> 双击IDR_MAINFRAME --> 为“编辑”菜单添加一个菜单项“改变显示文本”--> 设置ID 为ID_EDIT_CHANGETEXT。

(2)为示例程序添加如图16-7所示的对话框。然后,使用ClassWizard为对话框生成CDialog类的派生类CInputDlg,并为其中的EditBox控件(其ID为IDC_EDIT1)添加相关联的成员变量

m_input,其类型为CString。

(3)在类CMysdiDoc中为菜单项“编辑|改变显示文本”(ID为ID_EDIT_CHANGETEXT)添加处理函数OnEditChangeText()

void CMysdiDoc::OnEditChangetext()

{

CInputDlg inputDlg; //建立一个CinputDlg类的对象inputDlg

//使inputDlg成为一个模式对话框

if( inputDlg.DoModal()==IDOK )

{

m_str = inputDlg.m_input; //获取输入的字符串

UpdateAllViews(NULL); //更新视图

}

}

7. 为使CInputDlg类在CMysdiDoc类中成为可识别的,必须在mysdiDoc.cpp文件中加入CInputDlg类的说明头文件InputDlg.h

#include “InputDlg.h”//加入头文件

8. 运行,调试。

对于多文档应用程序:

1. 创建MDI工程:

创建一个MFC AppWizard(exe)工程文件Mymdi,并选择Multiple Document的的应用程序。在Step4单击Advanced,并设置Advanced Option对话框。

在Step6设置基类为CEditView。

其它均取默认值设置。

2. 创建第二种文档和视图类:

在View-->Class Wizard-- lass Info-->Add Class加入新类

在New Class对话框设置Cdocument的派生类CMymdiDoc2。同样方法,加入CScollView的派生类CMymdiView2。

3. 创建资源:

(1) 文档、视图、框架窗口共同的资源ID

在Resource.h文件中,手工加入下列代码:

#define IDR_MYMDITYPE2 135

这样,就定义了文档、视图、框架窗口共同的资源ID。

(2) 文档模板的资源

对于第一个文档,利用应用程序向导直接产生了一个文档模板,现在必须手工地运用这种格式加入资源。具体的方法是在mymdi.rc文件中,加入下列代码:

IDR_MYMDITYPE2 “\nMymdi2\nMymdi2\nMymdi2 文件(*.mm2)\n.mm2 \nMymdi2.Document\nMymdi2 Document"

(3) 菜单、对话框资源:

为了实现可视化的程序,须添加一系列的资源,用户可将所修改文档显示文本保存入磁盘文件,需要时再打开并恢复该文档。

(a) 单击Workspace窗口的ResourceView选项卡,展开Mymdi resources|Menu,加入ID为IDR_MYMDITYPE2的菜单,使它与现有的ID为IDR_MYMDITYPE的菜单完全相同,然后,在其“编辑”菜单添加菜单项“改变显示文本”,并添加新菜单项ID为ID_EDIT_CHANGETEXT。

(b) 用与单文档应用程序完全相同的方法,添加的对话框。使用ClassWizard为对话框生成CDialog类的派生类CDlgInput,并为其中的EditBox控件(其ID为IDC_EDIT1)添加相关联

的成员变量m_input,其类型为CString。

4. 代码编辑

1. 创建文档模板类

在应用程序的InitInstance()函数中,通过使用文档模板的构造函数创建文档模板的对象如下:BOOL CMymdiApp::InitInstance()

{ …

CMultiDocTemplate* pDocTemplate2;

pDocTemplate2 = new CMultiDocTemplate

(

IDR_MYMDITYPE2,

RUNTIME_CLASS(CMymdiDoc2), //MDI派生文档类的CRuntimeClass对象的指针

RUNTIME_CLASS(CChildFrame),//MDI派生子框架类的CRuntimeClass对象的指针

RUNTIME_CLASS(CMymdiView2) // 创建文档模板的对象

);

//使用CwinApp::AddDocTemplate() 将新模板添加到应用程序的文档模板列表中AddDocTemplate(pDocTemplate2);

}

为使CMymdiDoc2类和CMymdiView2类在CMymdiApp类中成为可识别的,必须在MymdiApp.cpp文件中加入说明CMymdiDoc2类和CMymdiView2类的MymdiDoc2.h和MymdiView2.h

#include "MymdiDoc2.h" //加入头文件

#include "MymdiView2.h"

2. 扩展CMymdiDoc2类

(a) 添加成员变量

用对CMysdiDoc类同样的方法,对CmymdiDoc2类添加成员变量,最终,在CMymdiDoc2.h 的下述代码段中增加变量m_str声明语句。

// Attributes

public:

CString m_str;

(b) 文档变量初始化

在CmymdiDoc2的OnNewDocument成员变量中为公有成员m_str赋以初值“您好, 多文档界面的例程!”。方法是将OnNewDocument()代码替换如下:

BOOL CMymdiDoc2::OnNewDocument()

{

if (!CDocument::OnNewDocument()) return FALSE;

m_str="您好, 多文档界面的例程!";

return TRUE;

}

(c) 添加菜单处理函数

使用ClassWizard在类CmymdiDoc2中为菜单项“编辑|改变显示文本”(ID为ID_EDIT_CHANGETEXT)添加处理函数OnEditChangeText,其代码如下:

void CmymdiDoc2::OnEditChangetext()

{ CDlgInput inputDlg; //建立CinputDlg类的对象inputDlg

if( inputDlg.DoModal()==IDOK )//inputDlg成为一个模式对话框

{

m_str = inputDlg.m_input; //获取输入的字符串

UpdateAllViews(NULL); //更新视图

}

}

为了在CMymdiDoc类中识别CinputDlg类,必须在文件MymdiDoc2.cpp中加入说明CinputDlg类的头文件。

#include "InputDlg.h"//加入头文件

3.视图的输出

为在视图的框架窗口中显示文档类中的m_str成员变量的内容,应为CmymdiView2类的OnDraw成员函数添加些代码,将OnDraw成员函数替换如下:

void CmymdiView2::OnDraw(CDC* pDC)

{

CmymdiDoc2* pDoc = (CmymdiDoc2*)GetDocument();

ASSERT_VALID(pDoc);

CRect rectClient; // 当前客户区

GetClientRect(rectClient); // 获取当前客户区的指针

CSize sizeClient=rectClient.Size(); // 获取当前客户区的大小

CString str=pDoc->m_str; // 从文件中读取数据

CSize sizeTextExtent=pDC->GetTextExtent(str);//用新字体绘制字符pDC->TextOut((sizeClient.cxsizeTextExtent.cx)/2,

(sizeClient.cysizeTextExtent.cy)/2,str); // 确定文本输出位置5.实验要求:

实验报告中要有演示程序运行的结果截图。

006-实验六T-索引与视图(实验报告内容)

实验六索引与视图 (实验报告) 一、目的 1.掌握索引和视图的基本概念和功能。 2.掌握利用SQL Server Management Studio和Transact-SQL语句创建、维护索引的方法。 3.掌握SQL Server Management Studio和Transact-SQL语句创建、修改视图的方法。 4.掌握通过视图查看和修改基本表中的数据。 二、实验内容 (1)完成下列操作 1.利用SQL Server Management Studio为student表的classno字段创建非聚集、非唯一索引UC_classno。 2.利用Transact-SQL语句在teaching数据库中teacher表的tname列上创建非聚集唯一索引UQ_tname。若该索引已存在,则删除后重建。

3.利用SQL Server Management Studio查看索引被查询优化器使用的情况。 4.利用Transact-SQL语句修改UQ_tname的索引属性,当执行多行插入操作时出现重复键值,则忽略该记录,且设置填充因子为80%。

5.利用SQL Server Management Studio在teaching数据库中创建视图v_course_avg,查询没门课程的课程号、课程名及选修该课程的学生的期末平均成绩平均分,并且按平均分降序排列。 6.利用Transact-SQL语句,在teaching数据库中创建视图v_age,查询年龄在18岁及以上的学生的学号、姓名、性别、出生日期和班级编号。若该视图已存在,则删除后重建。

7.利用Transact-SQL语句,在teaching数据库中创建视图v_teacher_course,包含教师编号、教师姓名、职称、课程号、课程名和任课班级。

SQL-Serve实验5-索引和视图-

SQL-Serve实验5-索引和视图-

实验5 索引和视图 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引的方法。 (2)掌握使用SQL Server管理平台查看索引的方法。(3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的方法。 (4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 (5)了解索引和视图更名的系统存储过程sp_rename的用法。 (6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。 2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 使用SQL Server管理平台:

a. b. c. d.

e. 使用Transact-SQL语句: (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 使用SQL Server管理平台: 使用SQL语句: use studentsdb go create index grade_index on grade (分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 create index grade_id_c_ind on grade (学号,课程编号)

数据库原理索引、视图的定义实验报告

数据库原理实验报告 题目:索引、视图的定义院系:计算机科学与工程学院

【实验题目】 索引、视图的定义 【实验目的】 掌握使用T -SQL语句创建视图的方法,包括视图的建立、删除、修改;了解如何应用视图有选择地查看所需数据,并熟悉通过视图更改数据表中数据的方法。掌握创建索引的方法。 【实验内容】 1、据库TestDB中,基于表"项目数据表"和"员工数据表"创建视图,要求为: (1)视图名为"员工项目"。 (2)包含字段"编号"、"姓名"、"名称"和"开始日期"。 (3)字段别名分别是"员工编号"、”员工姓名"、"项目名称"、"项目开 始日期"。 2、使用企业管理器和Transact-SQL语句在实验二的数据表"员工数据表"中基于"姓名"创建索引,要求索引名为"IDX_Name",索引类型为非聚集索引。 【实现方法】 1、视图 (1)打开查询分析器。 在查询窗口书写CREATE VIEW语句创建视图,并指定字段别名: USE TestDB GO CREATE VIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期) AS SELECT a·编号,a·姓名,b·名称,b·开始日期, FROM员工数据表AS a INNER JOIN项目数据表AS b ON a·编号=b·负责人 WHERE a·编号=b·负责人 GO (2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求"姓名"字段值 为"马中兴"。 USETestDB GO INSERTINTO 员工项目(员工姓名) VALUES('马中兴') GO (3)使用UPPDATE语句通过视图将第二步中插入记录的员工姓名改为"马中新"。 USETestDB GO UPDATE员工项目 SET 项目负责人= '马中新’, WHERE 项目负责人=’马中兴’

简单形体的三视图

简单形体的三视图 知识要点: 1、三视图是从三个不同方向对同一个物体进行正投影,所得的三个视图。能较完整的表达物体的结构。 从物体的前面向后面投射,所得的视图称主视图—反映物体的长和高 从物体的上面向下面投射,所得的视图称俯视图—反映物体的长和宽 从物体的左面向右面投射,所得的视图称左视图—反映物体的高和宽 2、投影规律:长对正、高平齐、宽相等。 即:主视图和俯视图的长要相等 主视图和左视图的高要相等 左视图和俯视图的宽要相等。 3、三视图绘制时常用的几种线条 专题练习: 1 、如图所示为某零件的轴测图,其正确的俯视图是 --------------------------( ) 2、如图所示,为一圆柱切削后的正面投影(主视图)和立体图,其对应的侧面投影(左视图)是---------------------------------------------------------------------( ) 主视图 长对正 俯视图 左视图 高平 齐 宽相等 长 宽 高

3.如图所示是某一形体的轴测图,其正确的主视图是 A. B. C. D. 4、请补全下列三视图中所缺的两条图线。

尺寸标注: 1、基本要求:正确、完整、清晰、合理 2、三要素:a、尺寸界限 b、尺寸线:必须单独画出不能与其他任何 线条重合,不能画在其他线条的延长线上。 c、尺寸数字:默认单位为mm,数字反映物 体的真实大小,和绘图的准确度或者比例无关。标注 的如果是直径应在数字前加Φ,标注半径则加R。 3、主要考点:a、注意尺寸数字的书写位置。尺寸线如 果水平,数字水平写在尺寸线上方;尺寸线如果垂直,则数字写在尺寸线左边,别且数字字头应该朝左。

实验5 索引和视图

数据库技术与应用 实验报告 实验名称:实验五:索引和视图 系(科):信息系电子信息工程 班级: 180932 学号: 18093207 姓名:陶赛年 完成时间: 2012-4-28 南京师范大学中北学院

一、实验目的 1.学会使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引。 2.学会使用SQL Server管理平台查看索引。 3.学会使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引。 4.掌握使用SQL Server管理平台、向导等创建、管理和删除全文索引,并使用全文索引查询信息的方法。 5. 掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 6.掌握系统存储过程sp_rename的用法。 7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 二、实验准备 1.了解聚集索引和非聚集索引的概念。 2.了解使用Transact-SQL语句CREATE INDEX创建索引的语法。 3.了解使用SQL Server管理平台创建索引的步骤。 4.了解Transact-SQL语句DROP INDEX删除索引的用法。 5.了解创建视图的Transact-SQL语句CREATE VIEW的语法格式及用法。 6.了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。 7.了解视图更名的系统存储过程sp_rename的用法。 8.了解删除视图的Transact-SQL语句DROP VIEW的用法。 三、实验内容 1.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的《学生表》和《课程表》创建主键索引。 (1) 使用SQL Server管理平台为studentsdb数据库的《学生表》和《课程表》创建主键索引。

三视图画法的几点注意

三视图画法的几点注意 了解物体的三视图,能正确地画出简单几何体的三视图是新课程的新 内容之一.如何正确地画出简单几何体的主视图、左视图和俯视图呢?注 意以下几点: 一、注意物体摆放的位置 物体的三视图与物体摆放的位置有着十分密切的关系,同一个物体, 摆放的位置不同,所得的三视图一般也不同.如图1的圆柱,它的主视图 和左视图都是矩形,俯视图是圆,而如果把它摆放成如图2,则它的左视 图就变成了圆,俯视图变成了矩形. 二、明确三种视图的形状 画简单几何体三视图时,首先要明确各种视图的形状,熟记一些常见几何体三视图的形状,例如在正常的放置下,球的三视图都是圆;圆柱的主视图和左视图都是矩形,俯视图是圆;正方体的三视图都是正方形;圆锥的主视图和左视图都是三角形,俯视图是圆及圆心等. 三、准确三种视图的大小 明确三种视图的形状后,在绘画时要注意各种视图的大小.视图的大小与几何体的大小有关,在不放大也不缩小的情况下,各种视图的大小应与几何体相应的大小相同.如果我们把几何体的大小分为长、宽和高,那么三视图中的主视图是由长和高组成的,其长和高分别与几何体的长和高相等;左视图是由高和宽组成的,其大小与几何体相应的大小一样;俯视图是由宽和长组成的,它的大小分别与几何体的宽和长相等.这些关系可概括为十五个字“主俯长对正,俯左宽相等,左主高平齐”.意思是说,主视图和俯视图的长与几何体的长相等,俯视图和左视图的宽与几何体的宽相等,左视图和主视图的高与几何体的高相等.大家可参见图3. 四、注意实线与虚线的用法 含有棱的几何体,它的棱在三视图中也要画出来.如果是看得见的棱,用实线画出,看不见的用虚线.如图4是一个正六棱柱,它的左视图是正六边形,其边长与底面的正六边形边长相等;主视图是一个长方形,长方形的长与六棱柱的长一样,高与六棱柱上下平行两面的距离相等,在主视图中我们还可以看到前面正中间一条棱和后面正中间一条棱,本来这两条棱都要画出,前者用实线,后者用虚线,但由于后面的棱与前面的棱在主视图中是重合的, 故只须画出前面的这一条;俯视图也是长方形,长与主视图的长一样,宽是正六边形最长的对角线长, 所看见的棱有两条,另两条看不见的棱在俯视图中与看得见的重合.因此,画出来的三视图如图5所示. 图1 图2 图3 图4

实验四 索引和视图参考答案

索引 --为表student中SName属性建立惟一索引 create unique index snameindex on student(SName) --为teacher中的tname属性建立惟一聚集索引。 由于sqlserver2005在主键和具有unique约束的属性上自动建立了索引,且在主键上自动建立了聚集索引,因此必须移除主键(或其它聚集索引),然后才能在tname上建立聚集索引create unique clustered index tnameindex on teacher(tname) 移除主键

然后还原Tno为teacher表的主键 --利用系统存储过程sp_helpindex查看表student上的所有索引。

exec sp_helpindex student --利用系统存储过程sp_rename将表student上的索引改名。 exec sp_helpindex student exec sp_rename 'student.snameindex','snameindex2' --删除表student中的惟一索引。(注意,sqlserver2005在主键和具有unique约束的属性上自动建立了索引,要删除这些索引,必须先取消这些属性的主键或unique性质(通过修改表),才能删除索引,不能直接删除索引) drop index student.snameindex2 --视图 --建立视图teacherview1(无check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview1 as select Tno, TName, DepID from teacher where TName like '张%' --建立视图teacherview2(带check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview2 as select Tno, TName, DepID from teacher where TName like '张%' with check option --建立视图teacherview3(带encryption选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview3 with encryption as select Tno, TName, DepID from teacher where TName like '张%' --分别向teacherview2、teacherview1中插入记录(’866’,’杨志’,3),体会with check option选项的作用。 insert into teacherview1 values('866','杨志',3) insert into teacherview2 values('867','王五',3)

实 验 五 视图、索引与数据更新

实验五视图、索引及数据更新 一、实验目的: 熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用, 熟练掌握数据插 入、修改和删除的使用,为后继学习作准备。 二、实验属性(验证性) 1.了解并掌握SQL查询分析器及企业管理器的使用; 2.掌握基本表的定义、删除与修改。 三、实验原理 :SQL语言应用。 四、实验步骤: (1) 启动Oracle的SQL Developer或者SQL Plus,或者SQL Server 查询分析器; (2) 对于Oracle11g的SQL Plus需要进行登录,对于Oracle11g的SQL Developer需要进行建立连接。 1 建立索引 建立唯一索引: 例3.1 为学生选课数据库中的Students,Courses,SC三个表建立索引。其中Students表按Sname升序建唯一索引,Courses表按Cname升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。 查看自己建立的索引:

2 删除索引 例3.2 删除基本表SC上的Rep_SCno索引。 然后查询看索引是否还存在。理解索引的意义。 例3.3 删除基本表student上的Rep_Sno索引。 3 建立视图 例3.4 建立数学系学生的视图C_Student,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。 例 3.5 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图Student_CR。 例 3.6定义一个反映学生出生年份的视图student_birth(sno,sname,s_birth,ssex,sdept)。

Auto CAD 三维实体向二维轴测图、三视图的转换

Auto CAD 三维实体向二维轴测图、三视图的转换-工程论 文 Auto CAD 三维实体向二维轴测图、三视图的转换 Auto CAD三维实体向二维轴测图、三视图的转换 Conversion from Auto CAD Three-dimensional Entity to Two-dimensional Axonometric Drawing and Three View Drawing 宋德军SONG De-jun (陕西铁路工程职业技术学院,渭南714099) (Shaanxi Railway Institute,Weinan 714099,China) 摘要:阐述了Auto CAD三维实体向二维轴测图、三视图的转换方法,运用Auto CAD绘制的三维实体图比轴测图、三视图更直观、更容易理解。对于一些复杂的相贯图形更是如此,并且三维实体图能够进行任意位置的剖切,更容易了解其内部构造,本文将详细说明如何将三维实体转换为二维轴测图、三视图,提高做图的效率和精确度。 Abstract: This paper expounds the conversion method from Auto CAD three-dimensional entity to two-dimensional axonometric drawing and three view drawing. The three-dimensional entity graph drawn by Auto CAD is more intuitive and easier to understand than axonometric drawing and three view drawing. This is especially true for some complex intersection graphics, and three-dimensional entity graph can be sectioned at any position, so it is easier to understand its internal

实验三 索引和视图

实验三索引和视图 一、实验目的 1.掌握利用SSMS和T—SQL语句创建和删除索引的两种方法。 2.掌握利用SSMS和T—SQL语句创建、查询、更新及删除视图的方法。 ssex char(3)constraint ssex_ch check (ssex in('男','女')), sage int not null constraint sage_ch check (sage between 15 and 30), sdept char(10))

values('C02','数据结构','C05',2) insert into course values('C03','数据库','C02',2) insert into course

values('C04','DB_设计','C03',3) insert into course values('C05','C++',null,3) insert into course values('C06','网络原理','C07',3) create table sc(sno char(5)not null, cno char(5)not null, grade int constraint grade_ch check(grade between 0 and 100), primary key(sno,cno),

constraint fk_sno foreign key (sno)references student(sno), constraint fk_cno foreign key (cno)references course(cno)) insert into sc values('S01','C01',92) insert into sc values('S01','C03',84) insert into sc values('S02','C01',90) insert into sc values('S02','C02',94) insert into sc values('S02','C03',82) insert into sc values('S03','C01',72) insert into sc values('S03','C02',90) insert into sc values('S04','C03',75) 2.索引的建立、删除 ①用SSMS的方式为Student表按Sno(学号)升序建唯一索引

SQL Serve实验5_索引和视图_

实验5 索引和视图 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引的方法。 (2)掌握使用SQL Server管理平台查看索引的方法。 (3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的方法。 (4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 (5)了解索引和视图更名的系统存储过程sp_rename的用法。(6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 使用SQL Server管理平台:

a. b. c. d.

e. 使用Transact-SQL语句: (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 使用SQL Server管理平台: 使用SQL语句: use studentsdb go create index grade_index on grade (分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 create index grade_id_c_ind on grade (学号,课程编号)

视图与索引作业

视图与索引作业 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一部分 创建如下表:并向每张表中添加5条数据 学生表t_student(f_no,f_name,f_sex,f_department) 课程表(f_id,f_name) 成绩表(f_no,f_subjectid,f_score) 作业: 1、对成绩表的课程编号创建非簇索引 2、对学生表的姓名和年龄创建非簇索引 3、对学生表的学号创建唯一索引 4、创建视图统计成绩表中任何一门课程及没有及格的信息 5、创建视图查询男生的平均成绩 6、对课程表的课程编号和分数创建非簇索引 7、将上题中的非簇索引删除 8、创建视图查询C#课程不及格的女生信息 9、创建视图统计男女生的平均分信息 10、简述索引的作用和种类 11、简述视图的作用 第二部分 使用northwind数据库完成: 1)在northwind库中(products和suppliers表中)查找每个商品对应的供 应商名称建立视图my_view,并通过该视图查询数据。 2)在视图my_view中,将companyname为以tokyo开头的改为ToKyo.使 用修改表数据的UPDATE语句。 3)使用DROP VIEW语句将视图my_view删除。 4)使用Northwind数据库,在Suppliers表的Country列和city列上创建一 个名为Country_index的非聚集索引。 5)删除Country_index索引。 6)在Suppliers表的Country列和city列上创建一个名为Country_index的 非聚集索引。请确保索引页留有50%的空白空间,并且删除具有相同 名称的现有索引 7)使用CREATE VIEW语句,基于employees表创建一个名为EmpHierarchy 的视图。视图应包含有上级领导的雇员的雇员ID、名、姓及其上级的 姓

数据库原理实验报告-实验四-视图与索引

《数据库原理》实验报告 题目:实验四视图与索引学号班级日期 2016.10.20 一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 --第一种方法 CREATE VIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ WHERE jno=( SELECT jno FROM J WHERE jname ='' ); GO --删除建好的视图 DROP VIEW V_SPJ; GO --第二种方法

CREATE VIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ,J WHERE J.jno=SPJ.jno AND J.jname=''; 3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。 11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码 (PNO)、供应数量(QTY)。 针对该视图VSP完成下列查询: (1)找出三建工程项目使用的各种零件代码及其数量。 (2)找出供应商S1的供应情况。

4.用SQL语句完成视图的数据更新。(15分,每题5分) (1)给视图V_SPJ中增加一条数据。 提示: -SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO 为NULL,所以视图中没有该条数据。 -SPJ表中JNO不能为空时,可以使用instead of触发器实现。 (2)修改视图V_SPJ中的任意一条数据的供应数量。

绘制轴测图的方法和步骤

绘制轴测图的方法和步骤 由物体的正投影绘制轴测图,是根据坐标对应关系作图,即利用物体上的点,线,面等几何元素在空间坐标系中的位置,用沿轴向测定的方法,确定其在轴测坐标系中的位置从而得到相应的轴测图。 绘制轴测图的方法和步骤: a.对所画物体进行形体分析,搞清原体的形体特征,选择适当的轴测图 b.在原投影图上确定坐标轴和原点; c.绘制轴测图,画图时,先画轴测轴,作为坐标系的轴测投影,然后再逐步画出; d 轴测图中一般只画出可见部分,必要时才画出不可见部分 (1) 平面立体的轴测图画法 画平面立体轴测图的基本方法是:沿坐标轴测量,按坐标画出各顶点的轴测图,该方法简称坐标法;对一些不完整的形体;可先按完整形体画出,然后再用切割方法画出不完整部分,此法称为切割法;对另一些平面立体则用形体分析法,先将其分成若干基本形体,然后还逐一将基本形体组合在一起,此法称为组合法。 下面举例说明两种种方法说明轴测图的画法。 1 )坐标法 [ 例1] 根据截头四棱锥正投影图, 画出其正等测轴测图 [ 解] 作图步骤如下; a )以四棱锥体的对称轴线为坐标轴,以O 为原点; b )画轴测轴并相应地画出各项点的轴测图,连接各点即得四棱锥体的轴测图; c )根据截口的位置,按坐标作出截面上各项点的轴测图; d )连接各点,擦去不可见的轮廓线,即得截头四棱锥的轴测图。 2) 切割法 [ 例2] 根据平面立体的三视图, 画出它的正等测图( 图2)

图2 用组合法作正等测图 [ 解] 作图步骤如下: a )在视图上定坐标轴,并将组合体分解成三个基本体: b )画轴测轴,沿轴测量历16,12,4 画出形体I ; c )形体II 与形体I 左右和后面共面,沿轴量16 、 3 、14 画出长方体,再量出尺寸12 、10 ,画出形体II ; d )形体III 与形体I 和形体II 右面共面;沿轴量取 3 ,画出形体III : e )擦去形体间不应有的交线和被遮挡的线,然后描深。 坐标法、切割法和组合法是给制轴测图的基本方法,画图时必须根据形体特点灵活应 用。 ( 2 )曲面立体的画法 简单的曲面立体有圆柱、圆锥(台)、圆球和圆环等,它们的端面或断面均为圆。因此,首先要掌握坐标面内或平行干坐标面圆的正轴测图画法。 1 )坐标面内或平行于坐标面的圆的轴测投影 在三种轴测图中,因斜二测的一个坐标面平行轴测投影面,故与此坐标而平行的圆的轴测投影仍为圆,其余圆的轴测投影均为椭圆,称为轴测椭圆,轴测椭圆的画法有两种: 坐标法:按坐标法确定圆周上若干点的轴测投影,后光滑地连接成椭圆。 近似法:用四心扁圆代替轴测椭圆,确定的四个圆心,四段圆弧光滑地连接成一扁圆,使之与轴测椭圆近似。 ①轴测椭圆的长、短轴方向和大小 常用的三种轴测图中,轴测椭圆的长、短轴方向和大小如图3所示。在正等测和正二测图中,采用简化系数后,轴测椭圆的长、短袖大小如图 4 所示。

数据库原理实验报告实验四视图与索引

数据库原理实验报告实验 四视图与索引 The Standardization Office was revised on the afternoon of December 13, 2020

一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 --第一种方法 CREATE VIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ WHERE jno=( SELECT jno FROM J WHERE jname ='三建' ); GO --删除建好的视图 DROP VIEW V_SPJ; GO --第二种方法 CREATE VIEW V_SPJ AS

SELECT sno,pno,qty FROM SPJ,J WHERE=AND='三建'; 3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。 11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、 零件代码(PNO)、供应数量(QTY)。 针对该视图VSP完成下列查询: (1)找出三建工程项目使用的各种零件代码及其数量。 (2)找出供应商S1的供应情况。

4.用SQL语句完成视图的数据更新。(15分,每题5分) (1)给视图V_SPJ中增加一条数据。 提示: -SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO为NULL,所以视图中没有该条数据。 -SPJ表中JNO不能为空时,可以使用instead of触发器实现。 (2)修改视图V_SPJ中的任意一条数据的供应数量。

视图和索引(数据库实验4)

. . . 数据库基础与实践实验报告实验四视图和索引 班级:惠普测试142 学号:1408090213 :闫伟明 日期:2016-11-13

1 实验目的: 1)掌握SQL进行视图创建的方法; 2)掌握SQL进行视图更新的方法,理解视图更新受限的原因; 3)掌握SQL进行索引创建及删除的方法。 2 实验平台: 操作系统:Windows xp。 实验环境:SQL Server 2000以上版本。 3 实验容与步骤 利用实验一创建的sch_id数据库完成下列实验容。 1.定义视图V_TCS(定义时不加with check option),存放全部计算机系老师的信息。 视图定义代码: CREATE VIEW V_TCS AS SELECT tno,tn,sex,age,prof,sal,comm,T.dno FROM T,D WHERE T.dno=D.dno AND D.dn='计算机' 视图查询语句与查询结果截图: SELECT*FROM V_TCS 2.定义视图V_sal,存放全体教师的教师号,教师,教师酬金(工资+岗位津贴),职称信息。视图定义代码: CREATE VIEW V_sal AS

SELECT tno教师号,tn教师,sal+comm教师酬金,prof支撑信息 FROM T 视图查询语句与查询结果截图: SELECT*FROM V_sal 3.向V_TCS中插入一条计算机专业教师的新记录,并查询V_TCS视图的全部记录。视图更新代码: INSERT INTO V_TCS SELECT'T10','良瑗','女',20,'讲师',6000,8000,D.dno FROM D WHERE D.dn='计算机'

视图、索引与数据库关系-数据库实验九

广州xx学院 数据库实验报告 专业班级计算机181 实验日期2020.5.2 姓名李x 学号20181x 实验名称视图、索引与数据库关系指导教师王x (报告内容包括实验目的、实验设备及器材、实验内容、实验步骤、实验结果、实验小结等) 一、实验目的 要求学生掌握SQL server中的视图创建、查看、修改、和删除的方法;掌握索引的创建和删除的方法以及数据库关系图的实现方法;加深对视图和SQL server数据库关系图作用的理解。 二、实验设备及器材 Windows平台,SQL server 2012 三、实验内容 (1)创建、查看、修改和删除视图。 (2)创建、删除索引文件。 (3)创建数据库关系图。 四、实验步骤 1.在数据库EDUC中创建下列视图。 在EDUC数据库中以学生信息表Student、Course和SC表为基础完成下列视图的创建。 (1)创建计算机系学生基本情况视图V_Computer。 CREATE VIEW V_Computer AS SELECT* FROM Student WHERE dno='D1' D1为计算机系的编号 (2)创建Student、Course和SC表中学生的sno,sname,tcid,cname,score创建视图V_SC_G。 create view V_SC_G as select Student.sno,sname,SC.tcid,cname,SC.score

from Student,Course,SC,TC where Student.sno=SC.sno and SC.tcid=TC.tcid and https://www.360docs.net/doc/104982379.html,o=https://www.360docs.net/doc/104982379.html,o with check option; (3)将各系学生人数、平均年龄创建视图V_NUM_AVG。 create view V_NUM_AVG as select count(sno)人数,avg(YEAR(GETDATE())-YEAR(birthday))平均年龄,dname from Student,Dept where Student.dno=Dept.dno group by dname; (4)创建一个反映学生出生年份的视图V_YEAR。 create view V_YEAR as select birthday from Student (5)将各学生选修课程的门数及平均成绩创建视图V_AVG_S_G。 create view V_AVG_S_G as select SC.sno,count(https://www.360docs.net/doc/104982379.html,o)课程门数,avg(SC.score)平均成绩 from Student,SC,Course,TC where student.sno=sc.sno and SC.tcid=TC.tcid and https://www.360docs.net/doc/104982379.html,o=https://www.360docs.net/doc/104982379.html,o group by SC.sno; (6)将各门课程的选修人数及平均成绩创建视图V_AVG_C_G。 create view V_AVG_C_G as select https://www.360docs.net/doc/104982379.html,o,count(https://www.360docs.net/doc/104982379.html,o)课程选修人数,avg(SC.score)平均成绩 from SC,TC,Course where SC.tcid=TC.tcid and https://www.360docs.net/doc/104982379.html,o=https://www.360docs.net/doc/104982379.html,o group by https://www.360docs.net/doc/104982379.html,o; 2.利用视图完成下列查询。 (1)查询平均成绩为90分以上的学生的学号、姓名和成绩。 use EDUC select V_SC_G.sno,V_SC_G.sname,V_AVG_S_G.平均成绩 from V_SC_G,V_AVG_S_G where V_SC_G.sno=V_AVG_S_G.sno and平均成绩>90 (2)查询各科成绩均高于平均成绩的学生的学号、姓名、课程、和成绩。 use EDUC select sno,sname,cname,score from V_SC_G GROUP BY sno,sname,cname,score having score>avg(score) (3)按系统计各系平均成绩在80分以上的人数,结果按降序排列。

绘制简单零件三视图精编WORD版

绘制简单零件三视图精 编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

项目2 绘制简单零件三视图 项目介绍 本项目主要完成绘制简单零件三视图。主要学习正投影的基本概念、三视图的形成、正投影的特性和三视图之间的关系(位置关系、投影关系、方位关系)。通过本项目的学习,使学生掌握识读和绘制零件三视图的方法,初步培养学生的空间想象和空间思维能力。 任务绘制燕尾槽零件三视图 工作任务绘制燕尾槽零件三视图 将如图2-1a所示带燕尾槽零件立体图,绘制成如图2-1b所示三视图。 (a)(b) 图2-1 燕尾槽零件立体图和三视图 任务目标 1.理解投影法的概念,熟悉正投影的特性; 2.初步掌握三视图的形成、三视图之间的对应关系和投影规律, 3.掌握简单形体三视图的作图方法, 4.能对照模型或简单零件识读三视图。 任务描述

如图2-1a所示是燕尾槽零件立体图,这种图形具有一定的立体感,给人直观印象。但是,在表达物体的某些结构时其形状发生了变形,因此,立体图不能完全准确表达零件的真实形状。而采用正投影法所绘制的三视图能够准确地表达零件的结构形状和大小,如图2-1b所示。本任务主要学习简单零件三视图的绘制。 知识准备 一、正投影法的概念 1.正投影法 当日光或灯光照射物体时,在地面或墙壁上就会出现物体的影子,这就是我们日常生活中常见的投影现象。人们将这种现象进行科学的概括与总结,形成了影子与物体形状之间的对应关系。 如图2-2所示,设置一个直立平面P,在P面的前方放置带燕尾槽零件,并使该零件的前面与P面平行。如果用相互平行的光线向P面垂直投射,在P面上就可以得到燕尾槽零件的影子,即燕尾槽零件在P面上的正投影。产生正投影的方法称为正投影法。直立平面P称为投影面,相互平行的光线称为投射线, 所谓投影法就是用投射线通过物体,向选定的投射面进行投射,并在该面上得到图形的一种方法。 图2-2正投影法 正投影法的投射线与投影面垂直,在投影面上得到的投影能够反映物体的真实形状和大小,绘制也较简便,具有较好的度量性,因此在工程上得到广泛的应用。 二、正投影的投影特性

实验训练4:视图和索引的构建与使用

数据库原理实验报告-实验四-视图与索引《数据库原理》实验报告 题目:实验四 视图与索引 一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5 分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 -- 第一种方法

CREATEVIEW V_SPJ AS SELECT sno , pno , qty FROM SPJ WHERE jno =( SELECT jno FROM J WHERE jname = ' 三建 ' ); GO -- 删除建好的视图 DROPVIEW V_SPJ ; GO -- 第二种方法 CREATEVIEW V_SPJ AS SELECT sno , pno , qty FROM SPJ , J WHERE J . jno = SPJ . jno AND J . jname = ' 三建 ' ; 3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。 11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。

针对该视图VSP完成下列查询: (1)找出三建工程项目使用的各种零件代码及其数量。 (2)找出供应商S1的供应情况。 4.用SQL语句完成视图的数据更新。(15分,每题5分) (1) 给视图V_SPJ中增加一条数据。 提示: - SPJ表中 JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于 JNO 为NULL,所以视图中没有该条数据。 - SPJ表中JNO不能为空时,可以使用 instead of触发器实现。

绘制轴测图的方法和步骤--

?正等轴测图的绘制 三条坐标轴的制定: 正等轴测图的坐标系是由相邻两个坐标轴夹角都等于120°的三个坐标轴组成。左下方的坐标轴为X轴,右下方的为Y轴,Z轴一般都是让它竖直向上。物体在正视图上沿三个坐标轴的尺寸与其对应的轴测投影尺寸近似取为相等。即轴向变形系数都近似为1。由物体的正投影(即三视图)绘制轴测图,是根据坐标对应关系作图,即利用物体上的点,线,面等几何元素在空间坐标系中的位置,用沿轴向测定的方法,确定其在轴测坐标系中的位置从而得到相应的轴测图。实际上是两种坐标系的转换。 绘制轴测图的方法和步骤: A- 对所画物体进行形体分析测量,搞清原体的形体特征. B- 在原投影图上确定坐标轴和原点; C- 绘制轴测图。画图时,先画轴测轴,然后再逐步画出物体的轴测图; D- 轴测图中一般只画出可见部分,必要时才画出不可见部分

?坐标法: 根据形体的形状特点选定适当的坐标轴,然后将形体上各点的坐标关系转移到轴测图上去,以定出形体上各点的轴测投影,从而作出形体的轴测图。 作图步骤: ?在三视图中,画出坐标轴的投影; ?画出正等测的轴测轴,∠X1-O1-Y1=∠X1-O1-Z1=∠Y1-O1-Z1=120°; ?量取O1-2=O-2,O1-4=O-4; ?分别过2、4作O1-Y1、O1-X1的平行线,完成底面投影; ?过底面各顶点作O1-Z1轴的平行线,长度为四棱柱高度; ?依次连接各顶点,完成正等测图。

三棱锥形的正等测图作图步骤: ?在三视图中,画出坐标轴的投影; ?画出正等测的轴测轴,∠X1-O1-Y1=∠X1-O1-Z1=∠Y1-O1-Z1=120°; ?量取O1-A’=O-A ; ?在平面俯视图中以B点向C -A 引垂直线得到点1,量取O1-1’=O-1,1’-B’=1-B ;?连接点A’,B’,C’得到三棱锥形的底面投影; ?在平面俯视图中以S点向C -A 引垂直线得到点2,量取O1-2’=O-2,2’-3’=2-S ;?过3’点作O1-Z1轴的平行线,长度为三棱锥高度,得到S’点; ?依次连接各顶点,完成正等测图。 3’

相关文档
最新文档