精华内容
下载资源
问答
  • 实验 视图--

    千次阅读 2019-07-03 18:52:00
    实验 视图 一、 实验内容: 1、 视图的创建与修改 2、 视图的查询 3、 视图的更新 二、 实验项目:员工管理数据库 用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees...

     

    实验五 视图

    一、  实验内容:

    1、 视图的创建与修改

    2、 视图的查询

    3、 视图的更新

    二、  实验项目:员工管理数据库

    用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表)、Departments(部门信息表)、Salary(员工薪水情况表)。

    三、  实验步骤:(要求用命令完成以下操作)

    1、 创建视图Emp_view1,包括所有男员工的员工编号、姓名、工作年限和学历,要求字段名用中文表示,要求更新视图时检查性别条件;

     

     

    2、 从视图Emp_view1中查询工作年限在两年以上的员工信息,并按照工作年限降序排序;

     

     

    3、 创建视图emp_view2,包括员工编号、姓名和实际收入;

     

     

    4、 从视图emp_view2中查询“王林”的员工编号和实际收入;

     

     

    5、 创建视图emp_view3,包括员工编号、姓名、所在部门名称和收入;

     

     

    6、 创建视图view4,要求从视图Emp_view3中查询研发部的员工编号、姓名和收入;

     

     

     

     

    7、 创建视图DS_view,视图包括Departments表中的全部列;

     

     

    8、 使用Select语句查询视图DS_view中的字段信息,使用alter table在Departments表中增加新列:部门经理 char(10) null,再次使用Select语句查询视图DS_view中的字段信息,验证视图中能否查询到新增加的列??

     

     

     

     

    9、 创建视图Emp_view4,包括所有工作年限在2年以上的员工编号、姓名、学历、出生时间、性别、工作年限和所在部门编号。在创建视图时加上with check option子句;

     

     

    10、在Emp_view4上插入一条记录:041110,钟晓玲,博士,1973-12-12,男,3 ,4;使用Select语句查看表中是否实现数据的插入;

     

     

     

    11、修改视图emp_view3,将“李丽”的收入增加200元;

     

     

    12、修改视图Emp_view1,将“王林”的工作年限增加1年,学历修改为博士;

     

     

    13、修改视图Emp_view1,将“李丽”的工作年限增加1年,查看是否能修改成功,原

     因是什么?

     

     

    视图有修改限制,必须性别为男

    14、删除视图Emp_view1中“本科”学历的员工;

     

     

    15、使用alter view语句修改视图Emp_view1,包括所有员工的编号、姓名和所在部门名称;

     

     

    16、删除视图Emp_view1、DS_view和Emp_view4。

     

     

    四、  实验报告要求

    1、 实验报告格式要求

    包括内容:标题、实验内容、实验步骤、实验中遇到的问题及解决方案

    2、 实验报告内容要求

    (1)     标题参看实验指导标题+“实验报告”,如“实验一 MySQL的安装与命令初步实验报告”;

    (2)     实验内容与实验指导中相同;

    (3)     实验步骤中将自己实验中的每个步骤的命令和操作结果显示界面进行截图完善。

    (4)     实验中遇到的问题及解决方案中如实地将自己的问题的解决过程记录出来。

    3、 实验报告提交要求

    每次实验课结束之后,每个人需要提交实验报告,实验报告命名为:学号姓名 

    五、  补充说明

    实验报告的提交和完成情况将作为期末考评的一部分,希望每位同学认真完成每次安排的实验,并按要求按时提交实验报告。

     

     

    转载于:https://www.cnblogs.com/lvwuwa/p/11128351.html

    展开全文
  • 视图的创建与使用 (1)理解视图的概念。 (2)掌握创建视图、测试、加密视图的方法。 (3)掌握更改视图的方法。 (4)掌握用视图管理数据的方法。
  • 在软件架构中,都知道画架构图是架构师必须掌握的一项基本功能。但是软件系统经过数十年的发展和迭代,已经由当初的单体应用变成了现如今非常复杂的分布式应用,且其所服务...五视图方法论里面将系统架构图划分成了...
    4cc67ff5e1ba4e3036e49c1c7299c198.png

    在软件架构中,都知道画架构图是架构师必须掌握的一项基本功能。但是软件系统经过数十年的发展和迭代,已经由当初的单体应用变成了现如今非常复杂的分布式应用,且其所服务的业务量也是已是指数级的增长。面对如此庞大的软件系统,一张架构图已经不能概括出系统的全貌。作为一名架构师,应该从哪些方面着手进行架构的梳理,从而概括出系统的全貌呢?五视图方法论是一个可以参考和实践的方案。

    五视图方法论里面将系统架构图划分成了五中类型,分别是逻辑视图架构、开发视图架构、运行视图架构、物理视图架构、数据视图架构。从它们的名称上,我们可以大致理解几种架构实体的侧重点。

    逻辑视图架构:通俗的理解即我们平常说的系统分成,主要从系统业务梳理的层面入手将系统分成不同的层级,常见的比如前后端分离、三层架构(表示层、业务层、数据层)等。在时下流行的微服务方案中,如何结合业务和团队资源,将系统拆分成多个合理的微服务,也是逻辑视图架构设计时需要考虑的问题。

    开发视图架构:主要关注项目具体实现时的技术方案选型方面的问题,比如系统采用什么开发语言、使用什么框架、采用什么开源或第三方组件、数据库/消息中间件/缓存中间件使用什么组件等。从技术角度对系统各个层面的实现方案进行选型,最终将各种组件和框架整合在一起,能够支撑产品当前的功能需求以及未来的扩展述求。

    运行视图架构:主要关注系统运行过程中的一些事项的设计,比如系统间各模块的通信机制、并发模式下线程的调度和协调、数据一致性、熔断限流等问题。

    物理视图架构:主要关注部署和运维相关的方案,需要考虑系统在不同的业务场景下,需要多少网络、存储、计算资源,如何让系统具有高可用和弹性伸缩的能力,以及单点故障规避方案等都需要考虑,总之就是要考虑清楚如何部署运维才能保证系统长时间稳定的不间断运行。

    数据视图架构:主要关注系统数据的可靠持久化和高性能响应问题。比如数据如何存储备份、容灾方案如何设计等都需要考虑,比较数据是一家公司最重要的资产,必须保证数据的可靠性和安全性。

    以上这么多的视图架构,如果都让一个架构师设计,往往无法兼顾,且对一个人的能力要求很高。因此,很多公司里面又将架构师细分成软件架构、系统架构、业务架构等角色,将不同的架构任务进行拆分。

    正所谓“书山有路勤为径,学海无涯苦作舟”,技术日新月异,更新太快,学是学不完的。撸起柚子尽力钻研吧。

    展开全文
  • 架构师之路(七)之五视图方法论

    千次阅读 2018-12-05 01:58:17
    谈软件架构就不得不说说五视图方法论。 一、多阶段还是多视图  软件架构设计是多视图的,也是多阶段的,首先是多阶段的。 先左后做——这叫阶段,齐头并进——这叫视图。 二、软件架构设计的5视图  根据...

    谈软件架构就不得不说说五视图方法论。

    一、多阶段还是多视图

       软件架构设计是多视图的,也是多阶段的,首先是多阶段的。

    先左后做——这叫阶段,齐头并进——这叫视图。

    二、软件架构设计的5视图

       根据关注角度的不同,软件架构又分为逻辑架构、开发架构、运行架构、数据架构和物理架构。

       逻辑架构:着重考虑功能需求,系统应当向用户提供什么样的服务,关注点主要是行为或职责的划分。逻辑架构关注的功能,不仅包括用户可见的功能,还应当包括为实现用户功能而必须提供的辅助功能。逻辑架构更偏向我们所说的“分层”,像经典的“三层架构”。逻辑架构的静态方面是抽象职责的划分,动态方面是承担不同职责的逻辑单元之间的交互与协作关系。

       开发架构:着重考虑开发期间的质量属性,关注点是在软件开发环境中软件模块(包)的实际组织方式,具体涉及源程序文件、配置文件、源程序包、编译打包后的目标文件,还包括应用程序依赖的SDK、三方库、中间件以及开发的系统将运行于其上的系统软件和逻辑架构有紧密的关联。

       运行架构:着重考虑软件运行期间的质量属性,关注点是系统的并发、同步、通信等问题,这势必涉及到进程、线程、对象等运行时概念。运行架构的静态方面关注软件系统运行时的单元结构,动态方面关注运行时单元之间的交互机制。例如比较常见的“线程同步”问题、死锁问题、对象的生命周期问题等。

    物理架构:重考虑安装和部署需求,主要关注软件运行的系统、网络、服务器等基础设施以及如何通过服务器部署和配置网络环境,来实现应用程序的可伸缩性、高可用性等。

    数据架构:着重考虑数据需求,关注点是持久化数据的存储方案,不仅包括实体及实体关系数据存储格式,还可能包括数据传递、数据复制、数据同步等策略问题。如何选择关系型数据库、NOSQL,如何保障数据存储层面的性能、高可用性、灾备。

    前三种视图,可以归纳为软件架构,而后两种架构,则归为系统架构。

    三、五视图成果物

    架构视图

    重点考虑

    关注点

    成果物

                 逻辑架构

    功能需求

    行为和职责的划分

    1. 分层设计
    2. 包和接口设计
    3. 数据流设计
    4. 协作设计
    5. 用例设计
    6. 业务流程设计

                  开发架构

    扩展性、可重用性、可移植性、易测试性

    模块组织形式:

    1. 代码模板化
    2. 模块重用
    3. 高内聚
    4. 开发规范
    5. 模块可扩展
    6. 模块可维护
    7. 团队协作开发
    8. 模块通用性
    1. 包图、类图
    2. 组件图

                   运行架构

    性能、伸缩性、高可用、安全性

    并发和同步

    1. 序列图
    2. 协作图

                   物理架构

    安装和部署的需求

    硬件的可伸缩性、高可用性

    1. 部署图

                    数据架构

    数据存储的需求

    性能、高可用性、灾备

    1. E-R图

     

    卜算子•美人谷
    风露凉松竹,
    云叶生寒树。
    崖边飞泉不忍闻,
    愁阵层山处。
    何处最知秋,
    风停江山暮。
    遥望飞鸿无人来,
    欲把愁分付。

     

    展开全文
  • 计算机图形学基础 实验 视图变换 1.实验目的: 理解掌握OpenGL程序的模型视图变换。 2.实验内容: (1)阅读实验原理,运行示范实验代码,理解掌握OpenGL程序的模型视图变换; (2)根据示范代码,尝试完成实验...

    计算机图形学基础 实验五 视图变换


    1.实验目的:
    理解掌握OpenGL程序的模型视图变换。

    2.实验内容:
    (1)阅读实验原理,运行示范实验代码,理解掌握OpenGL程序的模型视图变换;

    (2)根据示范代码,尝试完成实验作业;

    3.实验原理:
    我们生活在一个三维的世界——如果要观察一个物体,我们可以:

    1、从不同的位置去观察它(人运动,选定某个位置去看)。(视图变换)

    2、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它(物体运动,让人看它的不同部分)。(模型变换)

    3、如果把物体画下来,我们可以选择:是否需要一种“近大远小”的透视效果。另外,我们可能只希望看到物体的一部分,而不是全部(指定看的范围)。(投影变换)

    4、我们可能希望把整个看到的图形画下来,但它只占据纸张的一部分,而不是全部(指定在显示器窗口的那个位置显示)。(视口变换)

    这些,都可以在OpenGL中实现。

    从“相对移动”的观点来看,改变观察点的位置与方向和改变物体本身的位置与方向具有等效性。在OpenGL中,实现这两种功能甚至使用的是同样的函数。

    由于模型和视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”。设置的方法是以GL_MODELVIEW为参数调用glMatrixMode函数,像这样:

    glMatrixMode(GL_MODELVIEW);

    该语句指定一个4×4的建模矩阵作为当前矩阵。

    通常,我们需要在进行变换前把当前矩阵设置为单位矩阵。把当前矩阵设置为单位矩阵的函数为:

    glLoadIdentity();

    我们在进行矩阵操作时,有可能需要先保存某个矩阵,过一段时间再恢复它。当我们需要保存时,调用glPushMatrix()函数,它相当于把当前矩阵压入堆栈。当需要恢复最近一次的保存时,调用glPopMatrix()函数,它相当于从堆栈栈顶弹出一个矩阵为当前矩阵。OpenGL规定堆栈的容量至少可以容纳32个矩阵,某些OpenGL实现中,堆栈的容量实际上超过了32个。因此不必过于担心矩阵的容量问题。

    通常,用这种先保存后恢复的措施,比先变换再逆变换要更方便,更快速。

    注意:模型视图矩阵和投影矩阵都有相应的堆栈。使用glMatrixMode来指定当前操作的究竟是模型视图矩阵还是投影矩阵。

    在代码中,视图变换必须出现在模型变换之前,但可以在绘图之前的任何时候执行投影变换和视口变换。

    1.display()程序中绘图函数潜在的重复性强调了:在指定的视图变换之前,应该使用glLoadIdentity()函数把当前矩阵设置为单位矩阵。

    2.在载入单位矩阵之后,使用gluLookAt()函数指定视图变换。如果程序没有调用gluLookAt(),那么照相机会设定为一个默认的位置和方向。在默认的情况下,照相机位于原点,指向Z轴负方向,朝上向量为(0,1,0)。

    3.一般而言,display()函数包括:视图变换 + 模型变换 + 绘制图形的函数(如glutWireCube())。display()会在窗口被移动或者原来先遮住这个窗口的东西被一开时,被重复调用,并经过适当变换,保证绘制的图形是按照希望的方式进行绘制。

    4.在调用glFrustum()设置投影变换之前,在reshape()函数中有一些准备工作:视口变换 + 投影变换 + 模型视图变换。由于投影变换,视口变换共同决定了场景是如何映射到计算机的屏幕上的,而且它们都与屏幕的宽度,高度密切相关,因此应该放在reshape()中。reshape()会在窗口初次创建,移动或改变时被调用。

    OpenGL中矩阵坐标之间的关系

    物理坐标模型视图矩阵投影矩阵透视除法规范化设备坐标——〉窗口坐标

    (1)视图变换函数gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0,)设置照相机的位置

    把照相机放在(0,0,5),镜头瞄准(0,0,0),朝上向量定为(0,1,0)朝上向量为照相机指定了一个唯一的方向。如果没有调用gluLookAt,照相机就设定一个默认的位置和方向,在默认情况下,照相机位于原点,指向Z轴的负方向,朝上向量为(0,1,0)

    glLoadIdentity()函数把当前矩阵设置为单位矩阵。

    (2)使用模型变换的目的是设置模型的位置和方向

    (3)投影变换,指定投影变换类似于为照相机选择镜头,可以认为这种变换的目的是确定视野,并因此确定哪些物体位于视野之内以及他们能够被看到的程度。

    除了考虑视野之外,投影变换确定物体如何投影到屏幕上,OpenGL提供了两种基本类型的投影,1、透视投影:远大近小;2、正投影:不影响相对大小,一般用于建筑和CAD应用程序中

    (4)视口变换

    视口变换指定一个图象在屏幕上所占的区域

    (5)绘制场景

    4.示范代码: 太阳系

    #include "Dependencies\glew\glew.h"
    #include "Dependencies\freeglut\freeglut.h"
    #include <amp_graphics.h>
    
    static int year = 0, day = 0;
    
    void init(void)
    {
    	glClearColor(0.0, 0.0, 0.0, 0.0);
    	glShadeModel(GL_FLAT);
    }
    
    void display(void)
    {
    	glClear(GL_COLOR_BUFFER_BIT);
    	glColor3f(1.0, 1.0, 1.0);
    	glPushMatrix();
    	glutWireSphere(1.0, 20, 16); /* draw sun */
    	glRotatef((GLfloat)year, 0.0, 1.0, 0.0);
    	glTranslatef(2.0, 0.0, 0.0);
    	glRotatef((GLfloat)day, 0.0, 1.0, 0.0);
    	glutWireSphere(0.2, 10, 8); /* draw smaller planet */
    	
    	glPopMatrix();
    	glutSwapBuffers();
    }
    
    void reshape(int w, int h)
    {
    	glViewport(0, 0, (GLsizei)w, (GLsizei)h);
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
    	gluPerspective(60.0, (GLfloat)w / (GLfloat)h, 1.0, 20.0);
    
    	glMatrixMode(GL_MODELVIEW);
    	glLoadIdentity();
    	gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    }
    
    void keyboard(unsigned char key, int x, int y)
    {
    	switch (key) {
    	case 'd':
    		day = (day + 10) % 360;
    		glutPostRedisplay();
    		break;
    	case 'D':
    		day = (day - 10) % 360;
    		glutPostRedisplay();
    		break;
    	case 'y':
    		year = (year + 5) % 360;
    		glutPostRedisplay();
    		break;
    	case 'Y':
    		year = (year - 5) % 360;
    		glutPostRedisplay();
    		break;
    	case 27:
    		exit(0);
    		break;
    	default:
    		break;
    	}
    }
    
    int main(int argc, char** argv)
    {
    	glutInit(&argc, argv);
    	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    	glutInitWindowSize(500, 500);
    	glutInitWindowPosition(100, 100);
    	glutCreateWindow(argv[0]);
    	
    	init();
    	glutDisplayFunc(display);
    	glutReshapeFunc(reshape);
    	glutKeyboardFunc(keyboard);
    	glutMainLoop();
    	return 0;
    }
    

    代码说明:
    上面所描述的这个程序绘制一个简单的太阳系,其中有一颗行星和一颗太阳,它们是用同一个球体绘制函数绘制的。为了编写这个程序,需要使用glRtate*()函数让这颗行星绕太阳旋转,并且绕自身的轴旋转。还需要使用glTranslate*()函数让这颗行星远离太阳系原点,移动到它自己的轨道上。记住,可以在glutWireSphere()函数中使用适当的参数,在绘制两个球体时指定球体的大小。

    为了绘制这个太阳系,首先需要设置一个投影变换和一个视图变换。在这个例子中,可以使用glutPerspective()和gluLookat().

    绘制太阳比较简单,因为它应该位于全局固定坐标系统的原点,也就是球体函数进行绘图的位置。因此,绘制太阳时并不需要移动,可以使用glRotate*()函数绕一个任意的轴旋转。绘制一颗绕太阳旋转的行星要求进行几次模型变换。这颗行星需要每天绕自己的轴旋转一周,每年沿着自己的轨道绕太阳旋转一周。

    为了确定模型变换的顺序,可以从局部坐标系统的角度考虑。首先,调用初始的glRotate*()函数对局部坐标系统进行旋转,这个局部坐标系统最初与全局固定坐标系统是一致的。接着,可以调用glTranslate*()把局部坐标系统移动到行星轨道上的一个位置。移动的距离应该等于轨道的半径。因此,第一个glRotate*()函数实际上确定了这颗行星从什么地方开始绕太阳旋转(或者说,从一年的什么时候开始)。

    第二次调用glRotate*()使局部坐标轴进行旋转,因此确定了这颗行星在一天中的时间。当调用了这些函数变换之后,就可以绘制这颗行星了。

    1. 实验作业:
      (1)尝试在太阳系中增加一颗卫星,一颗行星。提示:使用glPushMatrix()和glPopMatrix()在适当的时候保存和恢复坐标系统的位置。如果打算绘制几颗卫星绕同一颗行星旋转,需要在移动每颗卫星的位置之前保存坐标系统,并在绘制每颗卫星之后恢复坐标系统。

    (2)尝试把行星的轴倾斜。

    实验内容原文链接

    实验提高代码

    #include "Dependencies\glew\glew.h"
    #include "Dependencies\freeglut\freeglut.h"
    #include <amp_graphics.h>
    
    static int year = 0, day = 0,day01=0,sday=0;
    
    void init(void)
    {
    	glClearColor(0.0, 0.0, 0.0, 0.0);
    	glShadeModel(GL_FLAT);
    }
    
    void display(void)
    {
    	glClear(GL_COLOR_BUFFER_BIT);
    	glColor3f(1.0, 1.0, 1.0);
    
    	glPushMatrix();
    	glutWireSphere(1.0, 30, 16); /* draw sun */
    
    	glRotatef((GLfloat)year, 0.0, 1.0, 0.5);
    	glTranslatef(2.0, 0.0, 0.0);
    
    	glRotatef((GLfloat)day, 0.0, 1.0, 0.0);
    	glutWireSphere(0.2, 10, 8); /* draw smaller planet */
    
    	glRotatef((GLfloat)sday, 0.0, 1.0, 0.0);
    	glTranslatef(0.5, 0.0, 0.0);
    	
    	glutWireSphere(0.1, 10, 8); /* draw 卫星 */
    	//glRotatef((GLfloat)day, 0.0, 0.5, 0.0);
    	
    	
    	glPopMatrix();
    
    	glPushMatrix();
    	glRotatef((GLfloat)year, 0.0, 1.0, 0.0);
    	glTranslatef(3.0, 0.0, 0.0);
    	glRotatef((GLfloat)day01, 0.0, 1.0, 0.0);
    	glutWireSphere(0.3, 10, 8); /* draw 第二个行星 */
    	glPopMatrix();
    
    	glutSwapBuffers();
    }
    
    void reshape(int w, int h)
    {
    	glViewport(0, 0, (GLsizei)w, (GLsizei)h);
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
    	gluPerspective(60.0, (GLfloat)w / (GLfloat)h, 1.0, 20.0);
    
    	glMatrixMode(GL_MODELVIEW);
    	glLoadIdentity();
    	gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    	//Y是0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0
    	//原来是0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0
    }
    
    void keyboard(unsigned char key, int x, int y)
    {
    	switch (key) {
    	case 'd':
    		day = (day + 10) % 360;
    		day01 = (day01 + 10) % 360;
    		sday = (sday + 10) % 360;
    		glutPostRedisplay();
    		break;
    	case 'D':
    		day = (day - 10) % 360;
    		day01 = (day01 - 10) % 360;
    		glutPostRedisplay();
    		break;
    	case 'y':
    		year = (year + 5) % 360;
    		glutPostRedisplay();
    		break;
    	case 'Y':
    		year = (year - 5) % 360;
    		glutPostRedisplay();
    		break;
    	case 'a':
    		year = (year + 5) % 360;
    		day = (day + 10) % 360;
    		day01 = (day01 + 10) % 360;
    		glutPostRedisplay();
    		break;
    	case 'A':
    		year = (year - 5) % 360;
    		day = (day - 10) % 360;
    		day01 = (day01 - 10) % 360;
    		glutPostRedisplay();
    		break;
    	case 27:
    		exit(0);
    		break;
    	default:
    		break;
    	}
    }
    
    int main(int argc, char** argv)
    {
    	glutInit(&argc, argv);
    	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    	glutInitWindowSize(500, 500);
    	glutInitWindowPosition(100, 100);
    	glutCreateWindow(argv[0]);
    	
    	init();
    	glutDisplayFunc(display);
    	glutReshapeFunc(reshape);
    	glutKeyboardFunc(keyboard);
    	glutMainLoop();
    	return 0;
    }
    
    展开全文
  • 架构设计的五视图

    2010-05-25 09:24:00
    之所以采用架构设计的视图法...基于五视图的架构设计在一定程度上将各类需求分别对待,通过不同的架构设计视图分别满足它们,从而确保重要的需求一一被满足。 转载于:https://www.cnblogs.com/keely/archive/2010/...
  • 一、软件架构设计的五视图 根据关注角度的不同,软件架构又分为逻辑架构、开发架构、运行架构、数据架构和物理架构。 逻辑架构:着重考虑功能需求,系统应当向用户提供什么样的服务,关注点主要是行为或职责的...
  • 架构设计-五视图

    千次阅读 2018-10-02 20:54:48
    文章目录 1.什么是架构设计 2.架构设计为了解决什么问题 3.架构的分类 1.什么是架构设计 我们要成为架构设计师我们需要...https://blog.csdn.net/degwei/article/details/51489444(软件架构设计-五视图方法论)
  • 基于实验一建立的“图书读者数据库”(BooksDB)和实验二输入的部分虚拟数据,在查询编辑器的Transact-SQL语句输入区输入Transact-...① 在“图书读者数据库”(BooksDB)中,先用视图创建向导的方法创建视图View1...
  • 入门 视图

    2018-12-12 15:11:00
    -- 视图 /* 含义:虚拟表,和普通的表一样使用 mysql5.1版本的新特性,是通过表动态生成的数据,只保存了sql的逻辑,不保存查询的结果 应用场景: - 多个地方用到同样的查询结果 - 该查询结果使用的...
  • 视图实验 CREATE VIEW v_borrow AS SELECT a.cno,a.name,b.rdate FROM card a,borrow b WHERE a.cno=b.cno AND a.class='力学1' CREATE VIEW cj_tj AS SELECT cname,COUNT(*) a,GROUP_CONCAT(sname SEPARATOR '|')...
  • 在运用五视图方法进行架构设计时需要注意两个方面的问题:一是多个架构视图间的同步问题,也就是必须保证不同视图之间是互相解释而不是相互矛盾的;另一个是架构视图的数量问题,原则上是软件系统不涉及某方面的...
  • 5. 视图上我们能建索引吗,如果能建的话,会啥好处和坏处;视图上建索引和表上建索引有啥区别; 思考: 这个相对容易理解些:视图,虚拟化的表,没有实际的物理存储数据,而索引视图则是视图结果上建立索引,...
  • 实验 视图的定义、使用实验

    千次阅读 2011-11-12 22:49:51
    定义“IS”系学生基本情况视图V_IS 并查询结果; create view V_IS as select * from student where sdept='IS' with check option ; /* drop view v_IS; create view V_IS as select * from student where sdept='...
  • 从这幅图里面我们可以看出架构设计五视图中各个角度需要解决的问题了,并且可以看出他们之间的联系了。 5.后期如何使用使用架构设计 无论多么好的架构如果只是为了设计完成任务都是毫无意义的,我们设计出来的架构...
  • 实验SQL的视图1、实验目的熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和取消视图。2、实验内容(1)定义常见的视图形式,包括:行列子集视图WITHCHECKOPTION的视图...
  • MySQL基础知识视图以及视图算法

    千次阅读 2019-04-09 20:44:42
    视图 视图:view,是一种有结构(有行有列),但是没有结果的虚拟表, 虚拟表的结构来源不是 自己定义的,而是来源于(select)对应基表中产生的。 创建视图 基表语法: Create view 视图的名称 as select 语句...
  • 1.视图视图解析器 请求处理方法执行完成后,最终返回一个 ModelAndView 对象。对于那些返回 String,View 或 ModeMap 等类型的 处理方法,Spring MVC 也会在内部将它们装配成一个 ModelAndView 对象,它包含了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,623
精华内容 2,649
关键字:

五视图