数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。第一范式1NF所谓第一范式是指数据库表中的每一列都是不可分割的基本数据项第二范式2NF如果关系模式为第一范式,并且每一个非主属性完全函数依赖于某个候选键,则称为第二范式第三范式3NF如果关
系统 2019-08-12 01:55:08 2345
今天学习FMDB框架,发现非常好用的一点,就是就以把查询结果直接转化为字典1NSString*querySql=@"select*fromstuInfo";23NSMutableArray*arr=[[NSMutableArrayalloc]init];45FMResultSet*result=[_databaseexecuteQuery:querySql];67while([resultnext]){8//用数组arr保存一条记录转成的字典9[arrad
系统 2019-08-12 01:53:52 2345
1.新建*.axcx文件。2.跟一般网页一样放控件。3.在事件里面写处理过程。4.拖到aspx页面就可以用了。过程注意的地方。1.如果用到javascript,用document.getElementById()来查找服务器控件需要在控件名前面加上"<%=this.ClientID%>_控件名".2.如果有图片之类需要路径的请用:/a/b/c.jpg3.需要调用用户控件事件的话需要写一个委托。以下面做一个查询为例html代码<%@ControlLangua
系统 2019-08-12 01:53:13 2345
函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分,不管是java还是python的I/O最后都是通过read和write这样的系统调用来完成的系统调用是用户程序和内核交互的接口|函数库调用|系统调用||---------------------------------------------+----------------------------------------------||在所有的ansic编译器版本中,c库函数是相同的|各个
系统 2019-08-12 01:53:11 2345
SQLHAVING出现的原因在SQL中增加HAVING子句原因是,WHERE关键字无法与合计函数一起使用。SQLHAVING语法SELECTcolumn_name,aggregate_function(column_name)FROMtable_nameWHEREcolumn_nameoperatorvalueGROUPBYcolumn_nameHAVINGaggregate_function(column_name)operatorvalueSQLHAV
系统 2019-08-12 01:52:00 2345
函数AFTER触发器INSTEADOF触发器适用范围表表和视图每个表或视图包含触发器的数量每个触发操作(UPDATE、DELETE和INSERT)包含多个触发器每个触发操作(UPDATE、DELETE和INSERT)包含一个触发器级联引用无任何限制条件不允许在作为级联引用完整性约束目标的表上使用INSTEADOFUPDATE和DELETE触发器。执行晚于:约束处理声明性引用操作创建插入的和删除的表触发操作早于:约束处理替代:触发操作晚于:创建插入的和删除的
系统 2019-08-12 01:34:03 2345
BufferedInputStream自带8M缓冲区,我们自己又定义byte[]buf=newbyte[1024*1024];那bis.read(buf)就会去,8M缓冲区取数据,读到自己的1M缓冲区,直到碰到bos.write(buf,0,len)把1M缓冲区的数据放到另外一个输出流的8M缓冲区里,输出流满8M就往外写东西,BufferedInputStream的理解.
系统 2019-08-12 01:33:11 2345
因为没有其他机器来搭建集群环境,我只能在我的小本上安装虚拟机来模拟集群环境了,先介绍下网络环境:虚拟机1:192.168.1.6eth0MASTERCentOS6.2虚拟机2:192.168.1.8eth2BACKUPCentOS6.2VIP:192.168.1.101、分别在两台虚拟机上安装keepalived、ipvsadm、apache安装细节就不说了,网上都有。2、在MASTER虚拟机上添加可执行文件lvs_dr,BACKUP稍有区别,内容如下#!
系统 2019-08-12 01:32:03 2345
talkischeap,showmethecode.importloggingimportlogging.handlerslogger=logging.getLogger("logger")handler1=logging.StreamHandler()#handler2=logging.FileHandler(filename="test.log",encoding="utf-8")#每隔1000Byte划分一个日志文件,备份文件为3个#handler2
系统 2019-09-27 17:54:58 2344
项目上线部署的时候需要服务端的同学帮忙打Docker,但是自己也需要提前写好requirements.txt。这里记录一下两种生成requirements.txt的方法。方法一:在项目根目录下,在命令行中输入:pipfreeze>requirements.txt这种方法会将当前环境下的所有的信息都存入requirements.txt中。方法二:首先安装pipreqs库。进入需要生成文件的目录执行:pipreqs./如果出现报错:UnicodeDecodeE
系统 2019-09-27 17:54:12 2344