11-10C#基础--数据库之视图

视图

视图实际就是对表的连接展现出来的结果建成的虚拟表。简单来说,视图实际上就是一个虚拟的表,通过表与表之间的关系连接起来,方便查询时使用。

首先,将需要连接的语句存储到数据库中,定义新的视图名代替连接的这段语句;

然后,每次查询这个新的视图名的时候,实际上是执行了表连接的代码查询。

1、将两个表(student,score表)联合写成一个表来用,形成一个新的表。

(select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student
join score on student.Sno=score.Sno) as --作为一个新表,方便查询时使用

2、创建视图

方法一:通过视图---新建视图来操作。

步骤1:在“对象资源管理器” 选择想要建视图的数据库(xinxibiao)名下,点击“+”号后,

在子目录中选中“视图”,右键“新建视图”。

步骤2:在弹出的“添加表”对话框中,选择想要建立关系的表,然后点击“添加”,关闭即可。

步骤3:当两个或几个表建立好关系之后,发现它们之间存在主键与外键的关系,下图就是它们之间的关系表。

步骤4:建立好关系后,完成创建视图,就会显示想要的结果。

方法二:通过代码创建视图

书写格式:

create +(视图英文名)+创建的视图名称 ---类似表的创建格式

as

建立两个或多个表之间的关系的查询语句

go

例:create view studentscore             ----创建视图

as

select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student

join score on student.Sno=score.Sno                                             ---建立student,score 表的关系语句

go

select*from studentscore  ----查询结果的语句

【注意事项】视图里面不存在order by, 聚合函数,in,not in 关系运算等语句,它不是一个真正的表,是虚拟的表,数据来源在student,score表中,只能使用表连接的join...on组合数据,方便查询使用。

练习题1:

3、删除视图

方法1:

方法2:通过代码删除

drop view+视图名称

例如: drop view studentscore

4、修改视图

alter view studentscore  ---相当于删除视图重写

as

select student.Sno,Sname,Ssex,Sbirthday,Class,score.Cno,Degree from student

join score on student.Sno=score.Sno

go

【注意事项】同一个关系视图只能建一次,修改之后需重新建立关系,视图本身就是虚拟的不存在,只是为了查询方便使用。

时间: 2024-12-22 16:41:51

11-10C#基础--数据库之视图的相关文章

Django基础三之视图函数

Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项

在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option

在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT)  ORA-00922: missing or invalid option hostdr:[/home/oracle]$sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 9 12:52:11 2015 Copyright (c) 1982, 2011, Oracle. All rights reserve

android基础之SurfaceView视图中对画布的3种刷新方法

//MysurfaceView.java package com.example.surfaceview; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.MotionEvent; import android.view.SurfaceHolder; im

Oracle基础 数据库备份和恢复

原文:Oracle基础 数据库备份和恢复 一.为什么需要数据备份 造成数据丢失的主要原因: 1.介质故障. 2.用户的错误操作. 3.服务器的彻底崩溃. 4.计算机病毒. 5.不可预料的因素. Oracle中故障类型分为以下4种. 1.语句故障: 执行SQL语句过程发生的逻辑故障可导致语句故障.如果用户编写的SQL语句无效,就会发生语句故障.Oracle可自我修复语句故障,撤销语句产生的而印象,并将控制权交给应用程序. 2.用户进程故障 当用户程序出错而无法访问Oracle数据库时,就会发生用户

Chapter 1 Securing Your Server and Network(11):使用透明数据库加密

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38398813,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349 未经作者同意,任何人不得以"原创"形式发布,也不得已用于商业用途,本人不负责任何法律责任. 前一篇:http://blog.csdn.net/dba_huangzj/article/details/38368737 前言: 如果没有对数据

(转)数据库中视图的作用

最近在做一个功能,是和别的项目组一起合作的. 背景:现在要做一个用户管理的系统,需要我们提供服务来实现和原始数据库的兼容,但是现在我们的数据库和网站数据库中存储的内容或者说是字段有些不同,但是我们还是希望可以的话,将改动降低到最小,当然,这只是我的初步了解,现在具体的情况还没有很了解,为了这方面的应用,上网了解了一下数据库的相关操作,了解到“视图”是个比较有利的武器可以解决这个问题. 视图是从一个或几个基本表(或视图)导出的表.它与基本表不同,是一个虚表.数据库只存放视图的定义,而不存放视图对应

EF Core 2.0中如何手动映射数据库的视图为实体

由于Scaffold-DbContext指令目前还不支持自动映射数据库中的视图为实体,所以当我们想使用EF Core来读取数据库视图数据的时候,我们需要手动去做映射,本文介绍如何在EF Core中手动映射数据库的视图为实体. 假设我们在SQL Server中有如下数据库视图[dbo].[V_Person]: CREATE VIEW [dbo].[V_Person] AS SELECT ID, Code, Name, CreateTime, UpdateTime FROM dbo.Person G

达梦数据库的视图管理

达梦数据库的视图管理 视图(view),也称虚表, 不占用物理空间,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑表,每次使用的时候,只是重新执行SQL.还有一种叫物化视图(materialized view),也称实体化视图,它是含有数据的,占用存储空间. 1.视图管理视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中.那些用于产生视图的表叫做该视图的基表,一个视图也可以从另一个视图中产生. 创建测试表,并且插入一条数据测试create table tab_view_c

03.Django基础三之视图函数

一 Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面.除此之外没有更多的要求了--可以说"没有什么神奇的地方".为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为view