视图——机房收费系统

1、什么是视图?

在第一次做机房收费系统时,学生信息和卡的信息是在同一张表中的,而机房收费系统重构时,对数据库进行了重新设计,学生信息和卡的信息被分到了单独的两张表中(遵照三范式设计,减少数据冗余),当我们需要同时查询这两张表中的信息时,按照一般的方法从每张表中单独查询的话会非常麻烦且容易出错,为了减少出错,我们可以把要查询的信息整合到一张虚拟表中,这张虚拟表就是视图。

视图就如同一张表一样,对表能够进行的一般操作(增删改查)都可以应用于视图,一个视图是由SELECT语句组成的查询定义的虚拟表,当你通过数据库本身的创建视图的功能时,下面就有一段SELECT语句

2、如何创建视图?

以机房收费系统中的学生表和卡表为例

新建视图

添加要用到的表

选择要用到表中的字段

最后保存视图

3、结束语

数据库的优点:

1)、集中用户使用的数据;

2)、掩码数据库的复杂性,视图把数据库设计的复杂性与用户屏蔽分开;

3)、简化用户权限的管理;

4)、为向其他应用程序输出而重新组织数据。

注意事项:

1)、使用视图查询时,如果相关联的数据库表中添加了新的字段,必须重新创建视图才能查询到新的字段。

2)、对依赖于多个基本表的视图,不能使用DELETE语句。

视图——机房收费系统

时间: 2024-10-12 21:35:06

视图——机房收费系统的相关文章

【VB.NET 机房收费系统】___爱上视图(View)

简介 计算机数据库中的视图是一个虚拟表,其中内容有查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中与存储的数据值集形式存在,行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成. ----官方正解 神马虚拟表的,都是浮云--好用才是王道.先来说说如何创建视图. 新建视图 [VB.NET 机房收费系统]--学生查看余额 为例.本人不得不强调的一点是,在你所建立的学生表和卡表中表务必设置主键,不设置的后果就是 相信聪明的你们一定不会犯这么低级的错误

机房收费系统重构——视图

在第一遍敲机房收费系统的时候,数据库时自己根据查询的时候需要用到哪个表,哪个字段,就直接将这些字段放在了一个表里面了.没有考虑过三范式什么的.因为上下机的时候卡号,表里面的内容是动态的,卡号总是会重复,所以连主键都没有设置就直接这么下来了.当时也不懂什么数据冗余啊什么的.现在经过了一些稍微专业点的训练,知道那么做是不行的.数据库的设计需要遵循三范式. 问题来了,将数据库根据三范式设计了,这样有时候需要查询的字段在两个表里面,怎么办呢?这时就需要一个新东西了--视图. 视图在之前数据库学习的时候也

机房收费系统——视图的运用

对于视图在一年前的数据库学习和自考中就学到了,那时只是理论学习,这次在机房收费系统重构中亲自实践,加深了对视图的理解. 定义: 从数据库系统外部来看,视图是用户从一个特定的角度来查看数据库中的数据.从数据库系统内部来看,视图是由SELECT语句组成的查询定义的虚拟表,在数据库中并不真实存在.好比在提高班有学术部,安全部,纪律部等等,这些部门就是视图,需要给哪个部门开会就通知哪个部门.这些部门的人都是提高班各个期的(基本表),并且每个人都是独一无二的. 操作: 由于视图只是存储的SQL Selec

【机房收费系统】多么痛的领悟

这次机房收费系统,是所有的项目中,自己完成的最不满意的了. 时间之长,效率之慢.一开始,就感觉无从下手,但总会相信自己能慢慢的进入状态.终于有机会自己练练手了,也自认为之前自己设计模式学的还不错,也终于有机会能自己想想设计模式了.该是一件多么帅的事.拖了这么久,到现在只用上了外观 抽象工厂 模板 个人版就这么结束了.真心不想再拖一天了. 话说,并不觉得自己敲代码会比别人差多少.一开始敲完三层,又开始画图.还是一头的雾水.设计数据库,终于有了一点自己的想法也重温了之前学习的数据库原理,还是比较欣慰

机房收费系统合作——再看数据库设计

机房合作我负责了最简单的D层,接口层,工厂层.反正D层是我来写,于是数据库索性也就顺便设计了.已经是第三次敲机房收费系统了,每次都是相隔半年左右吧.需求搞得透透的了,数据库也就好设计了.基本跟第二次没什么大的区别,就是把Student表和Card表分开了. 重构的时候,我的数据库几乎什么都用到了:事务,存储过程,触发器,视图,联合查询等等.所以,这次设计数据库还是SO Easy的..并且,为了让婵婵和牛迁迁师哥写的方便,我把组合查询都写成了存储过程!!!!费了一番功夫,但是D层简单了不少.还记得

总结个人版机房收费系统

个人版机房收费系统是在学习完vb.net语言和三层架构思想后的第一个系统,我们要从C/S向B/S进发过程中一个铺路石,在没开始C/S之前,虽然没有什么直接的联系.但学习就是有很多共同的地方,在这个过程中有很多知识是在巩固,有很多东西新接触或者实践.我最大的感受就是,走过了这个过程就一定会带走些什么. 个人版机房收费和第一版系统有很多相同的地方,这些相同的地方就在进行重构的过程中,帮助我们i+1. 比如: 1.开发语言:虽然一个用的是vb一个是vb.net.但不得不说有了第一版的经验,重构版用起来

机房收费系统-触发器

上一篇学习了视图的使用,对于数据库,还有很多需要我们了解的. 触发器,是干什么的呢?怎么用呢?用它有什么好处呢?肯定也会有弊端等等一系列的问题,学习SQL Server的人一定多会对它有所了解的. 我的理解: 当给他一个事件时,给以同时完成另一个事件.机房重构里,当我对充值表进行充值时,给它一个Insert事件,使用触发器可以同时更细卡表里的余额. 1.干什么用的: 触发器是SQL Server提供给程序员和数据分析员来保证数据完整性的一种方式,它就是与表事件相关的特殊存储过程.触发器不能被直接

【机房收费系统】磕磕绊绊中总结

每一个庞然大物来之前,总是心里不自觉的退缩一下.这一次,把我自己当成了奥特曼. 命名规范文档 最先看的是这个.有了标准后,才能见其名 知其意. 数据库设计 敲完三层登陆小demo,这一次重新着手,从ER图开始设计数据库.又翻了翻自考的书,把机房收费系统中可能抽出来的实体画出来 又开始一个个找联系.转换为逻辑结构.可能根据业务的不同,表和主键会稍微有些变化.比如,是否允许一个学生有多张卡,退卡之后原来的卡号还能否再注册,退卡是是否要删除记录等修改或添加一些辅助标记字段,也涉及到一些其他问题,例如添

机房收费系统——转换list泛型时,字段名称不对应出现问题

由于之前对泛型研究了一番,所以就开始尝试着在机房收费系统重构中加入了泛型的使用.但是到了做学生查看余额这个功能的时候,还是按照之前的方法做的,但是在加载数据的时候班级这个框就没有显示出来--然后我就纳闷了. 我就去看这一段的代码,发现也没什么问题呀,都是在赋值呀,然后我就单步调试,也是走了那一句赋值的代码,但是没有值,为什么其他的都Ok,所以我就很纳闷,因为这个地方我用到了视图,我以为是视图出了问题,然后就去查我的视图.但是我想了一下,视图就是一个虚拟的表,只要建好了,跟直接调数据库表中的东西是