04 2018 档案

摘要:一、事务机制 1.事务的概念 事务是指一组互相依赖的操作单元的集合,用来保证对数据库的正确修改,保持数据的完整性,如果一个事务的某个单元操作失败,将取消本次事务的全部操作。 比如将A账户的资金转入B账户,在A中扣除成功,在B中添加失败,导致数据失去平衡,事务将回滚到原始状态,即A中没少,B中没多。 阅读全文
posted @ 2018-04-20 09:30 BigJunOba 阅读(351) 评论(0) 推荐(0)
摘要:一、优化概述 为了提高MySQL数据库的性能,不要进行一系列的优化措施。如果MySQL数据库需要进行大量的查询操作,那么就需要对查询语句进行优化。对于耗费时间的查询语句进行优化,可以提高整体地查询速度。如果连接MySQL数据库的用户很多,那么就需要对MySQL服务器进行优化,否则,大量的用户同时连接 阅读全文
posted @ 2018-04-20 09:17 BigJunOba 阅读(237) 评论(0) 推荐(0)
摘要:一、数据备份 1.使用mysqldmp命令备份 (1)备份一个数据库 (2)备份多个数据库 (3)备份所有数据库 2.直接复制整个数据库目录(先找到数据库文件的保存位置,然后将数据库文件直接复制出来) 3.使用mysqlhotcopy工具快速备份(是一个Perl脚本,主要在Linux操作系统下使用, 阅读全文
posted @ 2018-04-19 09:54 BigJunOba 阅读(282) 评论(0) 推荐(0)
摘要:一、创建存储过程与存储函数 1.创建存储过程(实现统计tb_borrow1数据表中指定图书编号的图书的借阅次数) 2.创建存储函数 (实现统计tb_borrow1数据表中指定图书编号的图书的借阅次数) 3.变量的引用 (1)局部变量(以DECLARE声明,仅在BEGIN至END范围内有效) (2)全 阅读全文
posted @ 2018-04-19 09:48 BigJunOba 阅读(1016) 评论(0) 推荐(0)
摘要:一、MySQL触发器 触发器是由MySQL的基本命令事件来触发某种特定操作,这些基本的命令由INSERT、UPDATE、DELETE等事件来触发某些特定操作。满足触发器的触发条件时,数据库系统就会自动执行触发器中定义的程序语句。这样可以令某些操作之间的一致性得到协调。 1.创建MySQL触发器 2. 阅读全文
posted @ 2018-04-18 21:02 BigJunOba 阅读(424) 评论(0) 推荐(0)
摘要:一、视图是由数据库中的一个表或多个表导出的虚拟表。其作用是方便用户对数据的操作。 1.视图的概念 2.视图的作用 二、创建视图 创建视图是指在已经存在的数据表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 1.查看创建视图的权限 结果中两列的值都为Y,这表明root用户具有Select( 阅读全文
posted @ 2018-04-18 18:07 BigJunOba 阅读(365) 评论(0) 推荐(0)
摘要:一、基本查询语句 二、单表查询 1.查询所有字段 2.查询指定字段 3.查询指定数据 4.带IN关键字的查询 5.带BETWEEN AND的范围查询 6.带LIKE的字符匹配查询,通过它可以实现模糊查询,有两种通配符:%(可以匹配一个或多个字符,可以代表任意长度的字符串)和_(只匹配一个字符) 7. 阅读全文
posted @ 2018-04-17 17:36 BigJunOba 阅读(559) 评论(0) 推荐(0)
摘要:一、插入表记录 1.使用INSERT...VALUES语句插入新纪录 (1)插入完整数据 (2)插入数据记录的一部分 2.插入多条记录 3.使用INSERT...SELECT语句将查询结果插入到指定的数据表中,实现从图书馆tb_borrow中获取部借阅信息插入到归还表tb_giveback中 (1) 阅读全文
posted @ 2018-04-17 16:35 BigJunOba 阅读(1265) 评论(0) 推荐(0)
摘要:一、MySQL数据类型 1.数字类型 (1)整数数据类型包括TINYINT/BIT/BOOL/SMALLINT/MEDIUMINT/INT/BIGINT (2)浮点数据类型包括FLOAT/DOUBLE/DECIMAL 原则: 1.选择最小的可用类型,如果值永远不超过127,则使用TINYINT比IN 阅读全文
posted @ 2018-04-17 11:40 BigJunOba 阅读(1500) 评论(0) 推荐(0)
摘要:一 、创建数据库 1.通过CREATE DATABASE db_library;创建名称为db_library的数据库。 2.通过CREATE SCHEMA db_library1;创建名称为db_library1的数据库。 3.通过mysql> CREATE DATABASE db_library 阅读全文
posted @ 2018-04-17 10:52 BigJunOba 阅读(618) 评论(0) 推荐(0)
摘要:1.数据库的体系结构 1.1 数据库系统的三级模式结构是指模式、外模式和内模式。 1.2 三级模式之间的映射分为外模式/模式映射和模式/内模式映射。 2.E-R图也称“实体-关系图”,用于描述现实世界的事物,以及事物与事物之间的关系。 3.数据库设计具体步骤: 3.1 为实体建立数据表。 3.2 为 阅读全文
posted @ 2018-04-17 10:23 BigJunOba 阅读(579) 评论(0) 推荐(0)
摘要:在Interpreter模式中,程序要解决的问题会被用非常简单的“迷你语言”表述出来,即用“迷你语言”编写的“迷你程序”把具体的问题表述出来。迷你程序是无法单独工作的,还需要用java语言编写一个负责“翻译”的程序。翻译程序会理解迷你语言,并解释和运行迷你程序。这段翻译程序也被称为解释器。这样,当需 阅读全文
posted @ 2018-04-12 14:15 BigJunOba 阅读(196) 评论(0) 推荐(0)
摘要:一个类在进行工作时会调用自己或者是其他类的方法,虽然调用结果会反映在对象的状态中,但并不会留下工作的历史记录。 这时,如果我们有一个类,用来表示“请进行这项工作”的“命令”就会方便很多。每一项想做的工作就不再是“方法的调用”这种动态处理了,而是一个表示命令的类的实例,即可以用“物”表示。要想管理工作 阅读全文
posted @ 2018-04-12 11:29 BigJunOba 阅读(232) 评论(0) 推荐(0)
摘要:当使用new关键字生成类的实例时,需要给其分配足够的内存空间。当程序中需要大量对象时,如果都是用new关键字来分配内存,将会消耗大量内存空间。Flyweight模式就是尽量避免new出实例,而是通过尽量共用已经存在的实例。 示例程序类图。这个示例程序要实现的就是给定传统的普通数字字符可以得到对应数字 阅读全文
posted @ 2018-04-12 10:48 BigJunOba 阅读(284) 评论(0) 推荐(0)
摘要:在面向对象编程中,是用类表示对象的。也就是说,程序的设计者需要考虑用类来表示什么东西。类对应的东西可能存在于真实世界中,也可能不存在于真实世界中。对于后者,可能有人看到代码后会感到吃惊:这些东西居然也可以是类啊。 在State模式中,用类来表示状态。用类来表示状态后,就能通过切换类方便地改变对象的状 阅读全文
posted @ 2018-04-12 10:45 BigJunOba 阅读(384) 评论(0) 推荐(0)
摘要:在使用面向对象编程的方式实现撤销功能时,需要事先保存实例的相关状态信息。然后,在撤销时,还需要根据所保存的信息将实例恢复至原来的状态。 要想恢复实例,需要一个可以自由访问实例内部结构的权限。但是,如果稍有不注意,又可能会将依赖于实例内部结构的代码分散地编写在程序的各种地方,导致程序变得难以维护。这种 阅读全文
posted @ 2018-04-12 10:40 BigJunOba 阅读(356) 评论(0) 推荐(0)
摘要:在Observer模式中,当观察对象的状态发生变化时,会通知给观察者。Observer模式适用于根据对象状态进行相应处理的场景。 首先看一下示例程序的视图。 然后用实际代码来理解这种设计模式。 Observer接口是用来表示“观察者”的接口。具体的观察者会实现这个接口。用于生成数值的NumberGe 阅读全文
posted @ 2018-04-12 08:57 BigJunOba 阅读(234) 评论(0) 推荐(0)
摘要:在实际的工作小组的交流过程是,组员向仲裁者报告,仲裁者向组员下达指示,组员之间不再互相询问和指示。Mediator模式是指,当发生麻烦事情的时候,通知仲裁者;当发生涉及全体组员的事情时,也通知仲裁者。当仲裁者下达指示时,组员会立即执行。团队组员之间不再互相沟通并私自做出决定,而是发生任何事情都向仲裁 阅读全文
posted @ 2018-04-12 08:20 BigJunOba 阅读(371) 评论(0) 推荐(0)
摘要:Facade模式可以为相互关联在一起的错综复杂的类整理出高层接口,可以让系统对外只有一个简单的接口,而且还会考虑到系统内部各个类之间的责任关系和依赖关系,按照正常的顺序调用各个类。 还是先看一下示例程序的类图。 接下来根据示例程序代码理解一下Facade模式。 Database类就一个getProp 阅读全文
posted @ 2018-04-03 17:36 BigJunOba 阅读(256) 评论(0) 推荐(0)
摘要:Chain of Responsibility模式就是当外部请求程序进行某个处理,但程序暂时无法直接决定由哪个对象负责处理时,就需要推卸责任。也就是说,当一个人被要求做什么事时,如果他可以做就自己做,如果不能做就转给下一个人,以此类推。 下面是示例程序的类图。 下面是示例程序代码。 Trouble类 阅读全文
posted @ 2018-04-03 16:21 BigJunOba 阅读(199) 评论(0) 推荐(0)
摘要:Visitor模式可以用来把数据结构与处理分离开。通俗来说就是编写一个访问者类来访问数据结构中的元素,并把对各元素的处理交给访问者类。这样,当需要增加新的处理时,只需要编写新的访问者,然后让数据结构可以接受访问者的访问即可。 下面先看示例程序的类图。 在示例程序中,使用Composite模式中用到了 阅读全文
posted @ 2018-04-03 14:40 BigJunOba 阅读(272) 评论(0) 推荐(0)
摘要:Composite模式模式能够使容器与内容具有一致性,创造出递归结构。有时,与将文件夹和文件都作为目录条目看待一样,将容器和内容作为同一种东西看待,可以帮助我们方便地处理问题。在容器中既可以放入内容,也可以放入小容器,然后在那个小容器中,又可以放入更小的容器。这样,就形成了容器结构、递归结构。 示例 阅读全文
posted @ 2018-04-03 14:34 BigJunOba 阅读(285) 评论(0) 推荐(0)
摘要:Decorator模式就是不断地为对象添加装饰的设计模式。以蛋糕为例,程序中的对象就相当于蛋糕,然后像不断地装饰蛋糕一样地不断地对其增加功能,它就变成了使用目的更加明确的对象。 首先看示例程序的类图。 然后看示例程序代码。 Display类是可以显示多行字符串的抽象类。getColumns方法用来获 阅读全文
posted @ 2018-04-03 11:45 BigJunOba 阅读(230) 评论(0) 推荐(0)
摘要:Strategy模式,就是用来整体地替换算法,可以轻松地以不同的算法解决同一个问题。 还是根据一个示例程序来理解这种设计模式吧。先看一下示例程序的类图。 然后看示例程序代码。 Hand类是用来表示猜拳中“手势”的类,首先创建了Hand类的实例,并将它们保存在hand数组中。getHand方法的作用是 阅读全文
posted @ 2018-04-01 11:12 BigJunOba 阅读(281) 评论(0) 推荐(0)
摘要:Bridge模式就是将类的功能层次结构和类的实现层次结构连接起来。 类的功能层次结构就是根据实际非抽象类来说的,也就是父类具有基本功能,然后在子类中增加新功能。用于增加新功能。 类的实现层次结构就是根据抽象类来说的,也就是父类通过声明抽象方法来定义接口,子类通过实现具体方法来实现接口。用于增加新实现 阅读全文
posted @ 2018-04-01 11:10 BigJunOba 阅读(218) 评论(0) 推荐(0)
摘要:抽象工厂的工作是将“抽象零件”组装为“抽象产品”。在抽象工厂模式中将会出现抽象工厂,它会将抽象零件组装为抽象产品。也就是说,我们并不关心零件的具体实现,而是只关心接口。我们仅适用该接口将零件组装起来成为产品。 示例程序的功能是将带有层次关系的链接的集合制作成HTML文件。 Item类是Link类和T 阅读全文
posted @ 2018-04-01 11:09 BigJunOba 阅读(212) 评论(0) 推荐(0)
摘要:Builder模式,从这个名字我们可以看出来,这种设计模式就是用于组装具有复杂结构的实例的。 下面还是以一个实例程序来解释这种设计模式,先看实例程序的类图。 这里为了调试方便,只实现其中一个功能TextBuilder,剩下的HTMLBuilder可自行编写。 然后是实例程序代码。 Builder类是 阅读全文
posted @ 2018-04-01 11:03 BigJunOba 阅读(335) 评论(0) 推荐(0)