数据库
安静平和
这个作者很懒,什么都没留下…
展开
-
分布式数据库数据一致性原理说明与实现
1数据一致性1.1 数据一致性是什么大部份使用传统关系型数据库的DBA在看到“数据一致性”时,第一反应可能都是数据在跨表事务中的数据一致性场景。但是本文介绍的“数据一致性”,指的是“数据在多份副本中存储时,如何保障数据的一致性”场景。由于在大数据领域,数据的安全不再由硬件来保证,而是通过软件手段,通过同时将数据写入到多个副本中,转载 2017-10-26 21:50:33 · 944 阅读 · 0 评论 -
数据库 游标
(一)浅谈游标 (1)游标的概念 游标是指向查询结果集的一个指针,它是一个通过定义语句与一条Select语句相关联的一组SQL语句,即从结果集中逐一的读取一条记录。游标包含两方面的内容: ●游标结果集:执行其中的Select语句所得到的结果集; ●游标位置:一个指向游标结果集内的某一条记录的指针 利用游标可以单独操纵结果集转载 2015-09-26 11:37:43 · 1208 阅读 · 0 评论 -
大型Web应用的数据库设计与部署
http://www.nowamagic.net/librarys/veda/detail/244随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。负载均衡技术负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一转载 2015-09-25 17:44:04 · 1187 阅读 · 0 评论 -
一个ORM的实现(附源代码)
1 前言经过一段时间的编写,终于有出来一个稳定的版本,期间考虑了多种解决方案也偷偷学了下园子里面大神们的作品。已经有很多的ORM框架,为什么要自己实现一个?我的原因是在遇到特殊需求时,可以在ORM中加入特定的代码。如 :根据数据库的字段长度和可空性做基本的数据验证,在ORM中解决数据修改时的同步问题…本文主要关注的是如何实现ORM方面,其它的大家可以参考以下两篇文章:转载 2015-07-23 15:25:32 · 704 阅读 · 0 评论 -
linux下mysql开启远程访问权限及防火墙开放3306端口
开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。改表法:相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法1、登陆mysqlmysql -u root -p转载 2015-07-23 00:35:19 · 1144 阅读 · 0 评论 -
MYSQL启动后报:ERROR! The server quit without updating PID file错误的问题解决
问题起因:今天做了一件事情:我在VM 上将一数据库的数据文件(/var/lib/mysql整个文件夹)拷贝到另外一台VM上,然后新的VM 上启动MYSQL,结果报如下异常:[root@localhost mysql]# service mysql startStarting MySQL.. ERROR! The server quit without updating PID file转载 2015-07-27 23:58:30 · 17410 阅读 · 1 评论 -
浅谈数据库中的触发器
触发器 其是一种特殊的存储过程。一般的存储过程是通过存储过程名直接调用,而触发器主要是 通过事件(增、删、改)进行触发而被执行的。其在表中数据发生变化时自动强制执行。 常见的触发器有两种:after(for)、instead of,用于insert、update、delete事件。 after(for) 表示执行代码后,执行触发器 i转载 2015-07-11 23:42:16 · 839 阅读 · 0 评论 -
数据库事务
事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 针对上面的描述可以看出,事务的提出主要是为转载 2015-07-11 23:52:56 · 855 阅读 · 0 评论 -
存储过程
一.过程(存储过程)存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程是以命名的方式存储于数据库中的。与过程相比,存储过程是存在数据库中的一个对象如果编译错误。可以用show errors or show errors procedure myproc转载 2015-07-12 06:41:18 · 500 阅读 · 0 评论 -
数据库 事务回滚实例(C#)
using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System转载 2015-10-15 17:49:17 · 1950 阅读 · 0 评论 -
数据库索引,你该了解的几件事
1. 数据库的数据存储 1.1文件: 我们一旦创建一个数据库,都会生成两个文件: DataBaseName.mdf: 主文件,这是数据库中的数据最终存放的地方。 DataBaseName.ldf:日志文件,由数据操作产生的一系列日志记录。 1.2分区: 在一个给定的文件中,为表和索引分配空间的基本存储单位。 1个区占64KB,由8个连续的转载 2015-07-11 23:50:42 · 1064 阅读 · 0 评论 -
Linux下Mysql的rpm的安装
1、先从官网http://dev.mysql.com/downloads/mysql/下载适合的自己操作系统的RPM Bundle包;2、将该包解压到一个目录下,进入这个目录,可通过ls看到解压后包里的rpm文件;3、执行rpm -ivh real/filename/to/server/rpm; 如果这一步出现如下错误: error: Failed转载 2015-07-27 23:48:44 · 849 阅读 · 0 评论 -
MYSQL建表规约
【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否),此规则同样适用于 odps 建表。说明:任何字段如果为非负数,必须是 unsigned。举例:`is_star` tinyint unsigned DEFAULT NULL COMMENT '项目状态(1 表示是,0 表示否)',转载 2017-03-05 15:36:25 · 1052 阅读 · 0 评论 -
EF的三种模式
先看下图:再看这张:那么明显开发模式是三种。即:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。当然,如果把Code First模式的两种具体方式独立出来,那就是四种了。Code First(New DataBase) :在代码中定义类和映射关系并通过model生成数据库,使用迁移技术转载 2017-02-22 18:53:47 · 4947 阅读 · 1 评论 -
[EF]让一个模型支持多数据库存储
EF对Sql Server的支持非常好,无论是Code First,还是 Model First 还是 Database First 都支持的很好,但是对非微软系数据库的支持就不那么友好了,现在唯一能保证的是对大部分数据库的 Database First 支持的很好。所以在这里,我们让 Entity framework 支持多数据库实现的思路就是基于 Database First 的。首先在各数据转载 2017-02-21 17:27:05 · 4043 阅读 · 0 评论 -
MySQL & Entity Framework Code First 数据表大小写的问题
以前都是使用Linux平台下的MySQL,现在为了调试方便,在开发机上安装了MySQL的Windows版本5.6.10,在使用Entity Framework Code First生成数据库对象时,发现所有的数据表的表名都变成了小写字符,而字段的名称是混合大小写的,这个问题在Linux平台上没有出现过,于是着手弄明白这是肿么一回事。经过网上搜索,找到这篇文章:Entity Framew转载 2017-02-21 17:23:38 · 3456 阅读 · 0 评论 -
MySQL创建用户与授权方法
注:我的运行环境是widnows xp professional + MySQL5.0 一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以转载 2016-09-09 11:28:01 · 397 阅读 · 0 评论 -
修改mysql用户密码
目录mysqladmin命令UPDATE user 语句SET PASSWORD 语句root密码丢失的情况(待验证)mysqladmin命令(回目录)格式如下(其中,USER为用户名,PASSWORD为新密码):mysqladmin -u USER -p password PASSWORD该命令之后会提示输入原密码,转载 2016-09-09 11:27:04 · 1433 阅读 · 0 评论 -
NewSQL体系比Hadoop更具效率
现今,完全放弃传统关系数据库并忙于使用新兴的NoSQL数据库可能还不是一个合理的选择。相反改进后的SQL(结构化查询语言)系统可能会对一些技术细节进行调整。在8月23日加利福尼亚圣何塞市举行的NoSQL 2011大会上分布式数据库公司VoltDB的首席技术官Michael Stonebraker表达了上述的观点。7 C3 h8 D% b, e2 A: o! DStonebraker所在转载 2016-04-13 20:41:22 · 1419 阅读 · 0 评论 -
NoSql数据库使用心得
http://bbs.chinaunix.net/thread-4168061-1-1.htmlNoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚。但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题?这个疑惑非常大,为此我看了很多分析文章,但却总感觉是隔靴搔痒。为了一探究竟,半年前我决定用Mongodb这个著名的NoSql数据库做个转载 2016-04-13 20:36:39 · 2054 阅读 · 0 评论 -
C/S程序对于大数据量浏览的解决方案
对于大数据量的用户显示,B/S程序几乎清一色的使用分页的方式呈现,一般的,这种方式下用户会查看前几页的数据,当仍然没有找到他所需要的数据时,他会选择重新查询。在C/S下的程序中,使用分页方式,受到了一些挑战:一方面,老的滚动条给用户留下了较好的体验,在任何界面下都照搬分页的方式显示,会给客户很不好的印象;其次,C/S下的应用大多面向商业客户,这些程序涉及到成千上万的数据应用转载 2016-03-07 16:27:01 · 1964 阅读 · 0 评论 -
PowerDesigner绘制ER图
http://www.360doc.com/content/15/1209/10/29528010_519037927.shtml一、概念数据模型概述数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2)容易为人所理解3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(Entity-RelationSh转载 2015-12-09 10:37:59 · 3477 阅读 · 0 评论 -
数据库索引
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。例如这样一个查询:s转载 2015-07-11 23:47:59 · 973 阅读 · 0 评论 -
C# 数据库操作小结
、常用的T-Sql语句 查询:SELECT * FROM tb_test WHERE ID='1' AND name='xia' SELECT * FROM tb_test 插入:INSERT INTO tb_test VALUES('xia','123') INSERT INTO tb_test(转载 2015-05-18 11:38:07 · 727 阅读 · 0 评论 -
mysql数据库库推荐书籍
一,《MySQL必知必会》《MySQL必知必会》MySQL是世界上最受欢迎的数据库管理系统之一。书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。二,《深入理解MySQL》《深入理解M转载 2015-05-07 12:24:09 · 5943 阅读 · 0 评论 -
System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本?
最近做ASP.NET的项目,使用的数据库是Oracle9i。连接数据库是发生了错误,显示的信息如下: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。转载 2014-09-17 17:20:51 · 1492 阅读 · 0 评论 -
oracle经典书籍推荐
很多网友询问如何选择入门书籍,学Oracle有什么好书,这里给出一些常见书籍的介 绍。首先声明,本文只涉及国外作品,因为国内的作品好的极少,大多是拼凑之作。提到入门学习,我又得搬Tom(Thomas Kyte)出来了。他在Ask Tom和他最新的书里都介绍了他认为比较好的学习途径和阅读资料。他推荐的资料都是Oracle的官方文档,有个网友在版上也提出是不是通转载 2014-09-17 15:42:55 · 2856 阅读 · 0 评论 -
解决Oracle 中文乱码
一、什么是oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。SELECT * FROM V$NLS_PARAMETERS1 NLS_LANGUAGE S转载 2014-09-17 15:36:48 · 1049 阅读 · 0 评论 -
对于“不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”问题的解决
用SqlCommandBuilder更新DataSet,遇到“对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”问题,关键代码如下(C#):........string emailSql="select email,validFlag from emailMe";DataSet emailAdd=new Data转载 2014-09-17 16:55:46 · 2229 阅读 · 0 评论 -
解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”
问题描述:服务器端装的是Windows XP 和Oracle 10g。在服务器端能够正常的访问Oracle数据库,但远程访问该数据库(使用VS 2005,客户端同样是Oracle10g)提示“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”。 弄了一个下午加晚上,终于找到解决的办法: 1.一定要关闭Windows 防火墙;转载 2014-09-16 22:51:31 · 1595 阅读 · 1 评论 -
DataGridView 虚模式
DataGridView是.net 2.0新增的表格数据编辑和显示控件,简单的数据显示和编辑,只需直接和数据源绑定就可以了。 对于 一些特殊情况,我们需要自己填充DataGridView,这时候只需要按照行列顺序,首先获得行,然后通过行的Cells属性,得到单元格,设置其 Value属性即可。但这种模式有个问题,即对于几十行或者几百行的数据,显示效率不是问题,当数据量逐渐增大时,效率就成了转载 2014-09-16 15:32:05 · 2348 阅读 · 0 评论 -
数据库触发器
触发器Oracle触发器:触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。功能:1 、 允许 / 限制对表的修改2 、 自动生成派生列,比如自增字段3 、 强制数据一致性4 、 提供审计和日志记录5 、 防止无效的事务处理6 、 启用复杂的业务逻辑开始 :create trigger biufer_employee转载 2014-09-15 21:57:11 · 3314 阅读 · 0 评论 -
数据库中的触发器
触发器 其是一种特殊的存储过程。一般的存储过程是通过存储过程名直接调用,而触发器主要是 通过事件(增、删、改)进行触发而被执行的。其在表中数据发生变化时自动强制执行。 常见的触发器有两种:after(for)、instead of,用于insert、update、delete事件。 after(for) 表示执行代码后,执行触发器 i转载 2014-09-15 18:05:14 · 625 阅读 · 0 评论 -
Access 操作或事件已被禁用模式阻止
今天打开一个Access库,要修改其中的有些数据,就新建了一个更新查询,保存后双击执行,没有反应。仔细检查了一下,查询代码应该没问题,再执行,还是没反应。因本人装的是Office2007,用得还不熟练,一下子还真没了办法。在反复执行当中,发现状态栏有提示:“操作或事件已被禁用模式阻止”,看来与安全设置有关,在网上一搜,终于找到解决方法: 仅当数据库未驻留在受信任位置或者未签名时转载 2014-08-28 12:50:27 · 4190 阅读 · 0 评论 -
JAVA 创建各种数据库连接
MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name为数据库名 String Username="username"; //用户名 Strin转载 2014-06-20 16:24:25 · 1171 阅读 · 0 评论 -
oracle 日期格式
to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错。即按照第二个参数的格式解释第一个参数。to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换。 转换的格式:表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年表示month的:mm 用2位数字表示月;转载 2014-10-10 13:32:44 · 817 阅读 · 0 评论 -
Oracle 错误 ”ORA-02292“
Oracle提示的错误已经很明显了,您在没有删除子表记录的情况下,删除主表记录,触发了完整性约束错误。方法如下:(方法1)将数据完整性约束交给Oracle处理您测试一下,在sqlplus中,直接删除有子表记录的主表记录,如果能删除,可以不用在Hibernate中设置数据完整性。(方法2)将数据完整性约束交给Hibernate,在Hibernate设置好主子表关系,以及级联删除,这样转载 2014-10-10 13:37:47 · 1858 阅读 · 0 评论 -
oracle 数据类型详解---日期型(转载)
oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享:注:由于INTERVAL及TIME ZONE实际用得比较少,所以本文内容未涉及这两个方面。1、常用日期型数据类型1.1、DATE这是ORACLE最常用的日期类型,它可以保存日期和时间,常用日期处理都可以采用这种类型。DATE表示的日期范围可转载 2014-10-10 13:26:45 · 773 阅读 · 0 评论 -
数据库设计三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值转载 2015-05-12 17:41:35 · 657 阅读 · 0 评论 -
windows 7 下安装mysql压缩包版
版本:5.6.17 64bit1. 将解压后的文件夹放到某个目录下,比如c:\software;2. 在环境变量中新建MYSQL_HOME=C:\software\mysql-5.6.17-winx64,然后在系统变量Path下添上 %MYSQL_HOME%\bin;3. 将根目录下my-default.ini拷贝一份,改名为my.ini,并修改以下部分为实际情况:转载 2015-04-20 23:03:20 · 839 阅读 · 0 评论