数据库视图

UML建模系列文章总结

冷暖自知 提交于 2020-03-06 06:47:19
一、为什么要学习 UML 二、 UML 的历史 三、 UML 的特点 四、 UML 中的视图 五、 UML 建模工具 六、 UML 的应用领域 七、 UML 的构成 1 、 需求阶段如何书写 Use Case 2 、 设计阶段如何画用例图( Use-Case Diagram ) 3 、 类与类之间的关系图 (Class Diagram,UML 图 ) 4 、 UML 建模之活动图介绍( Activity Diagram ) 5 、 UML 建模之状态图( Statechart Diagram ) 6 、 UML 建模之时序图( Sequence Diagram ) 7 、 UML 建模之业务处理模型( Business Process Model,BPM ) 8 、 UML 建模之数据建模( Data Model Diagram ) 八、总结 一、为什么要学习 UML UML 是 Unified Modeling Language (统一建模语言)的简称。 UML 是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。制品 {Artifact} 是指软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等。 Ø UML 建模可以达到以下目的: Ø 使用模型可以更好地理解问题 Ø 使用模型可以加强人员之间的沟通 Ø 使用模型可以更早地发现错误或疏漏的地方 Ø

1.Mysql视图

江枫思渺然 提交于 2020-03-05 23:10:56
视图 1.概念 1.视图是一个虚表,Mysql版本5.0.1后才加入的 2.虚表:它只是一个存储过程,没有真实是数据。他的数据是在查询过程中生成的 3.视图不是优化Mysql 2.创建查看视图 2.1 创建视图 create VIEW 视图名称 as select 字段名 from ` 表名 ` ; 2.2 查看视图 desc user_view ; -- 查看创建的视图语法 show create view user_view ; -- 查询视图内容 select * from user_view ; 3.视图优缺点 优点: 1.视图简化了操作。程序员不需要知道如何获取数据,只需要使用视图,视图就是一个中间件。 2.视图更加安全。不会暴露表结构。 3.视图可以作为管理权限,可以细致到某一列。 4.降低了系统与数据库的耦合程度。假如我们以后要修改原表的结构,那么我们可以通过修改视图的定义即可,而不用修改应用程序,对访问者是不会造成影响。 缺点: 1.表结构修改必须手动修改视图 4.视图拓展 4.1 表数据是可以更新(增删改)的,但是对于视图来说***不一定***。 update ` user ` set email = 00 where id = 1 ; select * from user_view ; -- 删除视图 DROP VIEW user_view ; 4.2

关系数据库标准语言SQL(二)

孤人 提交于 2020-03-05 21:10:23
声明:最近在准备考试,故整理数据库原理笔记。 视图 视图的创建和删除 CREATE VIEW <视图名 > [ <列名 > , ……, <列名 >)] AS <查询表达式 > [WITH CHECK OPTION] 视图名 对定义的视图命名 列名 为 查询表达式 结果的诸列命名 查询表达式 通常是一个 SELECT 查询 WITH CHECK OPTION 表示该视图是可更新的,并且对视图进行更新时要满足 <查询表达式> 的查询条件 行列子集视图 CREATE VIEW SE_Students AS SELECT Sno , Sname , Sex , Birthday , Dno FROM Students WHERE Speciality = ‘软件工程' WITH CHECK OPTION ; 基于多个表的视图 CREATE VIEW Student_Grades ( Sno , Sname , Cname ) , AS SELECT S . Sno , Sname , Cname , Grade FROM Students S , SC , Courses C WHERE S . Sno = SC . Sno AND C . Cno = SC . Cno ; 基于视图的视图 CREATE VIEW CS_Student_Grades ( Sno , Sname ,

模型-视图-提供器 模式

允我心安 提交于 2020-03-05 06:26:13
原文:http://www.tracefact.net/Software-design/Model-View-Presenter-Pattern.aspx 出处: http://msdn.microsoft.com/en-us/magazine/cc188690.aspx 引言 随着像Asp.Net和Windows窗体这样的用户界面创建技术越来越强大,让用户界面层做多于它本应做的事是很常见的。没有一个清晰的职责划分,UI层经常沦为一个包含实际上应属于程序其他层的逻辑的容器。有一个称为 模型(Model)-视图(View)-提供器(Presenter)(MVP)的设计模式,特别适合解决这个问题。为了表明我的观点,我将为Northwind数据库中的客户建一个遵循MVP模式的显示屏幕(display screen)。 为什么在UI层包含太多的逻辑是很糟糕的?在既不手动运行应用程序,也不维护丑陋的自动执行UI组件的UI运行者脚本(runner script)的情况下,位于应用程序UI层中的代码是非常难于调试的。虽然这本身就是一个很大的问题,一个更大的问题是在应用程序的公共视图之间会有大量的重复代码。当执行某一特定业务的功能在UI层的不同部分之间拷贝,通常很难找到好的可选重构方法。MVP设计模式使得将UI层中的逻辑和代码 重构为 更加易于测试的新型的、可重用的代码 更加容易。 图1

Django框架-中间件

≡放荡痞女 提交于 2020-03-03 23:22:57
中间件 1、什么是Django的中间件? 定义:中间件是一个用来处理Django的请求和响应的框架级别的钩子,它是一个轻量、低级别的插件 系统,用于在全局范围内改变Django的输入和输出,每个中间件组件都负责一些特定的功能。 白话:中间件就是 在视图函数执行前后做一些额外的操作 ,本质就是一个自定义的 类 ,类中定义几个方法,用来在 全局范围内处理请求和响应 ,在特定的时间去执行这些方法。 介于request与response处理之间的一道处理过程 Django的中间件执行顺序按settings.py中 MIDDLEWARE注册索引从小到大执行 2、Django的默认的中间件 ------settings.pyMIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', # 跨站请求伪造保护 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django

视图、约束、索引

a 夏天 提交于 2020-03-03 22:05:19
一、视图 本质上相当于一张 “虚拟表” ,可当作独立的一张表进行操作(增、删、改、查) 作用: a) 可通过权限控制,只将 “表中的少数列” 暴露给数据库用户,而不让该用户直接操纵数据库中 “实际表” b) 可将 常用的,较复杂的SQL 在数据库中 预先定义好 ,使得外部调用不用每次都编写复杂的SQL语句, 直 接当作一张“虚拟表”来调用 即可 Customers表中原始数据: Orders表中的原始数据: 创建“查找运费在40到60之间的客户信息”的视图: 1 use edisondb; 2 3 if object_id('FortyToSixtyFreightCusts')is not null 4 drop view FortyToSixtyFreightCusts 5 go 6 create view FortyToSixtyFreightCusts 7 as 8 9 select C.custid as '客户ID',C.name as '客户名', C.age as '年龄' 10 from customers as C11 where Exists(12 select *13 from Orders as O14 where C.custid=O.custid and (O.freight between 40 and 60)15 ); 创建成功之后:

视图 索引

坚强是说给别人听的谎言 提交于 2020-03-03 21:24:01
在视图上创建索引需要三个条件: 一、视图必须绑定到架构。 要做到这点,在 CREATE VIEW 语句中,必须加上 WITH SCHEMA BI NDING,如果是使用企业管理器,则在设计界面的空白处点击右键,属性,选中“绑定到架构”。 二、索引必须是唯一索引。 要做到这点,在 CREATE INDEX 中必须指定 UNIQUE。 三、索引必须是聚集索引。 要做到这点,在 CREATE INDEX 中必须指定 CLUSTERED。 例: CREATE VIEW viewFoo WITH SCHEMABINDING AS SELECT id... CREATE UNIQUE CLUSTERED INDEX index_viewFoo ON viewFoo(id) *************************************************************** 视图的要求 在视图上创建聚集索引之前,该视图必须满足下列要求: 当执行 CREATE VIEW 语句时,ANSI_NULLS 和 QUOTED_IDENTIFIER 选项必须设置为 ON。OBJECTPROPERTY 函数通过 ExecIsAnsiNullsOn 或 ExecIsQuotedIdentOn 属性为视图报告此信息。 为执行所有 CREATE TABLE 语句以创建视图引用的表,ANSI

mysql(3)mysql的sql语句入门

∥☆過路亽.° 提交于 2020-03-03 12:41:08
1.登录mysql与退出mysql 登录:mysql -u账号 -p密码 -h主机地址 -P端口号 -e 执行的sql语句; //密码一般不直接写出,回车后隐藏写入 ,-h可以不写默认是localhost 退出:quit,exit ,ctrl+c 备注:参数可分为全局和会话,可修改与不可修改,全局需要加上global,例如 set global 参数 =值,会话级别只对当前会话有效, 例如set 【session】 autocommit=1;中间可以省略session,例如需要全局的话需要 set global autocommit=1;不能持久化,重启后是默认值,全局设置对已经开启了会话的不起作用,只会对以后连接的会话有效,查看可以使用show 【global/session】 【variables 】 【like pattern】 变量名 来查看。 备注:dbms数据库管理系统 ,dba数据库管理员, sql(ddl 表结构,dml增删改 ,dql 查询,dcl数据库控制,tcl事物控制) 2.数据的导入与导出 1)数据的导入:source (运行在mysql下的命令) select version();//查看当前数据库版本; create database 数据库名称;//创建数据库 show databases ; //显示所有的数据库,产看数据库是否已经导入,也可以使用

Python面试重点(web篇)

心不动则不痛 提交于 2020-03-02 12:54:54
Python面试重点(web篇) 注意:只有必答题部分计算分值,补充题不计算分值。 第一部分 必答题 注意:除第四题4分以外,其他题均每题3分。 写出常用的bootstrap的样式。 什么是响应式布局? 请通过jQuery发送ajax请求。 JavaScript与this相关的面试题(4分) name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); } } info.func() name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); function f1(){ console.log(this.name); } f1() } } info.func() name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); (function(){ console.log(this.name); })() } } info.func() name = '老男孩'; info = { name:'alex', age:123, func:function(

Python面试重点(web篇)

青春壹個敷衍的年華 提交于 2020-03-02 12:53:36
1.写出常用的bootstrap的样式。 row:行 col- - :列(第一个 可以为xs[超小]/sm[小型]/md[中型]/lg[大型];第二个 必须为12以内的【列数】) col- -offset- :列偏移(第一个 同上,第二个 范围为1~11,表示把该列的左外边距(margin-left)增加 列) col- - - :列排序(第一个 同上,第二个 可以为push[向右]/pull[向左],第三个 范围是1~11【列数】) 排版 small:内联子标题 lead:引导主体副本 text- :文本样式( 可以为left[左对齐]/center[居中对齐]/right[右对齐]/muted[减弱文本] /primary/success/info/warning/danger /justify[自动换行]/nowrap[不换行] /lowercase[小写]/uppercase[大写]/capitalize[首字母大写] ) list-inline:列表置于同一行 表格 table:基本样式,只有横向分割线 table- :表格样式(*可以为triped[添加条纹]/bordered[添加边框]/hover[启用悬停]/condensed[更加紧凑]) tr/th/td:由active/success/info/warning/danger来改变背景颜色 table