‘壹’ sql 语句大全
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表
drop table tabname
6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left (outer) join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full/cross (outer) join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
12、分组:Group by:
一张表,一旦分组 完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准)
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据
在selecte统计函数中的字段,不能和普通的字段放在一起;
13、对数据库进行操作:
分离数据库: sp_detach_db;附加数据库:sp_attach_db 后接表明,附加需要完整的路径名
14.如何修改数据库的名称:
sp_renamedb 'old_name', 'new_name'
‘贰’ SQL 请问SQL高手,系统中的这几个数据库都是做什么用的
数据:计算机中用来描述事物的记录
数据模型:是一种对客观事物抽象化的表现形式。数据模型应该真实、易于理解、便于实现
建模:对客观事物加以抽象,提取主要特征,归纳成一个简单清晰的轮廓,使复杂问题变得易于处理
数据模型三要素:数据结构、数据操作、完整性约束
数据结构描述静态特征,按数据结构可以把数据模型分为层次模型、网状模型、关系模型
数据操作描述动态特征,数据操作主要分为更新(插入、删除、修改)、检索两大类,统称增、删、改、查
完整性约束确保数据的正确性、有效性、相容性
数据库:简称DB(database),是由数据库管理系统管理的数据的聚集
数据库管理系统:简称DBMS(DataBase Management System)是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。属于系统软件
数据库系统:简称DBS(DataBase System)。数据库、DBMS、应用程序和软件系统统称数据库系统
关系:关系就是一张二维表
关系模型:数据以关系的形式表示,就是以二维表的形式表示数据模型
属性:关系的标题栏中各列的名字
模式:关系的名称和关系的属性集
元组:二维表的所有行统称为元组,元组的各个分量对应于关系的各个属性。一个元组表示一个对象
域:关系的每个属性的取值范围
关系的实例:给定关系中元组的集合称为该关系的“实例”。一个给定的关系模式,可以有许多关系实例。
关系型数据库管理系统:简称RDBMS(Relationg DataBase Management System),采用关系数据模型的数据库管理系统。
数据库系统的体系结构的三层结构和两层映象:从数据库管理的角度出发,数据库系统的体系可分三层,外模式、模式、内模式。两层映象是,外模式/模式映象、模式/内模式映象
外模式:又称用户模式,相当于SQL中的视图(VIEW)模式,是数据库用户可以看见和使用的局部数据的逻辑结构和特征描述,是与某应用有关的数据的逻辑表示
模式:分为概念模式、逻辑模式,是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述,一个数据库只有一个模式
外模式/模式映象:把局部逻辑结构描述与全局逻辑结构描述联系起来。一个模式可以与多个外模式对应联系。例如,SQL SERVER中一个关系模式上可以建立多个满足不同用户要求的视图VIEW。这种映象可以保证数据与应用程序之间的逻辑独立性,即改变模式,不影响外模式,则与外模式相关的应用程序无序修改
内模式:由称为存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。内模式描述记录的存储方式、索引的组织方式、数据是否压缩、是否加密等,不涉及硬件设备。
模式/内模式映象:把全局逻辑结构描述与物理结构描述联系起来。一个模式只有一个内模式。这种映象保证了数据与程序之间的物理独立性,当内模式修改时,由于模式未变,所以无需修改程序。
DBMS的体系结构(组成):查询处理程序、存储管理程序、事务管理程序、客户/服务器程序体系结构
查询处理程序:负责查询处理,它的一个重要任务是“优化”查询。
事务管理程序:保证多个事务并发执行
存储管理程序:既管理磁盘上的数据文件又管理存放数据文件部分内容的内存数据缓冲区
客户/服务器程序体系结构:大多数DBMS程序采用这种程序体系结构,把整个DBMS程序系统划分为两部分,DBMS核心部分属于服务器程序,客户程序主要用于与用户相互配合并将查询或其他命令传送给服务器程序的查询接口。
数据库设计
数据库设计的步骤:需求分析、概念设计、逻辑设计、物理设计
需求分析和概念设计阶段的工作与具体数据库管理系统无关,这一阶段的工作独立于数据库管理系统
逻辑设计和物理设计阶段的共组与具体采用何种数据库管理系统相关。
需求分析阶段:应用领域的调查、定义信息与应用、定义操作任务、定义数据项、预测未来改变,结果产生相关文档
概念设计阶段:也称为建模
任务:数据库概念模式(模式)设计、事务设计
概念模式设计的工具:E/R图。对于面向对象的数据库则可采用面向对象定义语言ODL
E/R图:称为实体-联系模型
E/R图的组成:实体集(矩形)、属性(椭圆)、联系(菱形)
联系的类型:一对一、一对多、多对多。用线条和箭头表示不同的联系。箭头指向的一方代表“一”
键码属性的表示:下划线
联系中的角色:即一个实体集内部实体之间的联系
多向联系:多个实体集之间发生的一个联系
多向联系转化为双向联系的方法:将多向联系转换成实体集,然后在原来与之联系的实体集和新的实体集之间建立新的双向联系
E/R图中的子类的表示方法和继承:如果实体集B是实体集A的子类,则它们之间用一个标有isa的三角形和两根线条建立特殊的联系。三角形的尖端指向超类(父类),子类实体集上只需标出子类特有的属性,继承父类的所有属性。
ODL对象定义语言:是用面向对象的术语来说明数据库结构的一种推荐的标准语言,主要用途是书写面向对象数据库的设计
对象:是某种可研究,可观察的实体,例如:一个人、一门课程、一本书等等
类:具有相似特性的对象可以归为一类
ODL描述的三种特性:属性(Attribute)、联系(Relationship)、方法(Method)
ODL书写规则:
interface 类名1{
attribute 数据类型1 属性名1;
attribute 数据类型2 属性名2;
.
.
.
relationship [Set]<类名2> 联系名1
inverse 类名2::联系名2;
.
.
}
说明:
关键字interface、attribute、relationship、<set>、inverse
常用数据类型有string(字符串)、integer(整型)、float(浮点型)、enum(枚举型)
[]中的set为任选项,当类1与类2的联系是一对一时,不需要使用set,当类1与类2的联系是一对多时必须使用set
inverse表示在类2中联系名2所表示的联系与类1中联系名1所表示的联系是多对一的对应联系
ODL例一:用ODL描述制片公司与电影,假如制片公司部名称不重复。因为,一个制片公司可以制作多部影片,而一部影片只能由一个公司制作发行,所以制片公司与影片的关系是一对多的关系。
interface studio{
attribute string studioname;
attribute string address;
attribute string phone;
relationship set<movie> make
inverse movie::madeby;
}
interface movie{
attribute string movietitle;
attribute integer length;
attribute enum incolor ;
attribute integer year;
relationship set studio madeby
inverse studio::make;
}
ODL例二:用ODL描述学生与课程,一名学生可以选择多门课程来学习,一门课程可以被多名学生选修。
interface student{
attribute string sname;
attribute string address;
attribute enum gender ;
attribute integer age;
relationship set<course> choice
inverse course::choisedby;
}
interface course{
attribute string ctitle;
attribute integer credit;
relationship set<student> choisedby
inverse student::choice;
}
ODL例三:用ODL描述校长与学校的关系,一名校长只能管理一所学校,一所学校只能设一名校长。
interface chairman{
attribute string chname;
attribute enum gender ;
attribute integer age;
attribute string phone;
relationship set university manage
inverse university::leadby;
}
interface university{
attribute string unnmae;
attribute string addr;
relationship set chairman leadby
inverse chairman::manage;
}
ODL子类描述方法:自类继承父类的所有属性和联系。子类可以有自己的特殊属性和联系。子类中属性和联系的描述方法与上述例子相同。
interface 子类名:基类名
ODL子类描述例:硕士研究生类是学生的一个子类。每名硕士研究生有若干名导师,一名导师可以带多名硕士研究生。
interface student{
attribute string sname;
attribute string address;
attribute enum gender ;
attribute integer age;
}
interface master:student{
attribute string special;
relationship set<advisor> direct
inverse advisor::directedby;
}
interface advisor{
attribute string name;
attribute string address;
}
逻辑设计阶段:把概念设计阶段产生的数据库概念模式变换为数据库逻辑模式。数据库逻辑模式依赖于逻辑数据模型和数据库管理系统。目前做流行的数据库管理系统都是关系型逻辑数据模型。所以,本教程知讨论如何把概念模式转变为关系模型
逻辑设计阶段的步骤:
1.概念模式转变为关系模型
2.对关系模型进行规范化和优化
3.适应DBMS限制条件的修改
4.对性能、存储空间等的优化
1.概念模式转变为关系模型
E/R图转变为关系模型的方法:
1.一个实体集转变为一个关系模式,这个关系模式包含实体集所有的简单属性和复合属性的简单子属性。实体集的名称可以用作为关系模式的名称,用下划线来表示关系的键码
2.一个联系转变为一个关系模式,一般情况下用联系名作为关系名,用联系的实体集的键码和联系本身的属性作为此关系模式的属性集。
E/R图转变为关系模型实例:
实例一:一个班级只能有一个班长,而且必须有一个班长,E/R图如下:
学生与班级的联系是一对一的联系(1:1)。学生实体集的键码是学号。班级实体集的键码是班号。这个E/R图可以转变为如下的关系模型
学生(学号,姓名,性别,出生日期)
班级(班号,名称,地点)
班长(学号,班号,注册)
联系反映的是具有某学号的学生担任具有某班号班级的班长。这种转变方法是常用的方法。
如果想减少查询时使用连接操作的次数,提高查询效率,以上E/R图也可以转变为如下关系模型
学生(学号,姓名,性别,出生日期,班号)
班级(班号,名称,地点)
学生关系模式中的“班号”是外键码。这种关系模式中,由于学生关系中记录了所有学生的学号,但不是每个学生都担任班长(按教科书上的术语叫做不是全参与),因此不是每个元组的班号属性都有数据,即应该允许班号为空。否则,学生实体集必须是全参与,即每个学生都是班长。
实例二:一个影片公司可以制作多部影片,但是一部影片只能归一个制片公司所有。假如公司不重名,影片也不重名,则公司名称是制片公司实体集的键码,影片名是影片实体集的键码。
影片公司与影片的联系是1对多的联系(1:N)。这个E/R图可以转变为以下关系模型
影片公司(公司名称,地点)
影片(影片名,片长)
制作(公司名称,影片名)
同样,假如影片公司是全参与,即每个影片公司至少制作了一部电影,则可以转变为以下关系模型
影片公司(公司名称,地点,影片名)
影片(影片名,片长)
其中,影片公司关系中的影片名是外键码
实例三:学生与课程之间的联系是“选修”。一个学生可以选多门课程,一门课程可以被多名学生选修,所以它们之间的“选修”联系是多对多(N:M)
上述E/R图可以转变为以下关系模型
学生(学号,姓名)
课程(课程号,课程名)
选修(学号,课程号,成绩)
选修关系中的学号和课程号是外键码
2.对关系模型进行规范化和优化
为什麽要把关系模型规范化:为了有效地消除关系中存在的数据冗余和更新异常等现象
基本概念
函数依赖:如果关系R的两个元组在属性A1,A2,...An上一致,则它们的另一个属性B上也一致,那末,我们就说在关系R中属性B函数地依赖于属性A1,A2,...An或者说属性A1,A2,...An函数决定属性B。
关系的键码:
如果一个或多个属性的集合满足如下条件,则称该集合为关系R的键码(key):
1.这些属性函数决定该关系的所有其它属性。
2.的任何真子集都不能函数决定R的所有其它属性。
关系的超键码:包含键码的属性集称为超键码,是“键码的超集”的简称
函数依赖规则:分解/合并规则、传递规则、平凡依赖规则
平凡依赖:对于函数依赖A1,A2,...An->B,如果B是A中的某一个,我们称这种依赖是平凡依赖
非平凡依赖:对于函数依赖A1,A2,...An->B,如后B中至少有一个不在A中,我们称这种依赖是非平凡依赖
完全非平凡依赖:对于函数依赖A1,A2,...An->B,B中没有一个在A中,我们称这种依赖是完全非平凡依赖
主属性:键码所在的属性
非主属性:键码以外的属性
封闭集(闭包)对于给定的函数依赖集S,属性集A函数决定的属性集合就是属性集A在依赖集S下的封闭集
范式就是符合某一种级别的关系模式的集合。
规范化通过分解把属于低级范式的关系模式转换为几个属于高级范式的关系模式的集合,这一过程称为规范化
1范式(1NF),如果一个关系模式R的所有属性都是不可分割的基本数据项,则这个关系属于1NF
2范式(2NF),若关系模式R属于1NF,且每个非主属性都完全依赖于键码,则R属于2NF
3范式(3NF),若关系模式R属于1NF,且每个非主属性都不传递依赖于键码,则R属于3NF
BC范式(BCNF),若关系模式属于1NF,且R的每个非平凡依赖的决定因素都包含键码,则R属于BCNF
规范化分解原则:无损连接、保持依赖
无损连接:当对关系模式R进行分解时,R的元组将分别在相应属性集进行投影而产生新的关系,如果对新的关系进行自然连接得到的元组的集合与原关系完全一致,则称为无损连接
保持依赖:如果分解后的总的函数依赖集与原函数依赖集保持一致,则称为保持依赖。
模式分解的两个规则:公共属性共享、相关属性合一
公共属性共享:保留公共属性,进行自然连接是分解后的模式实现无损连接的必要条件
相关属性合一:把以函数依赖的形式联系在一起的相关属性放在一个模式中,从而使原有的函数依赖得以保持,这是分解后的模式实现保持依赖的充分条件
模式分解的三种方法
一、部分依赖归子集;完全依赖随键码——用于建立2NF
例:关系R(A,B,C,D,E,F,G)上存在函数依赖,A->BCD,E->F,AE->G,AE->BCD,AE->F
分析以上依赖可以看出,AE是键码(AE->BCD)。因为AE是键码,A是主属性,A->BCD,所以BCD是部分依赖于AE
根据部分依赖归子集的方法,因为A是AE的真子集,所以A与BCD归在一起构成一个关系模式。R1(A,B,C,D)
同理对于AE->F,有E->F所以AE->F是部分依赖,非主属性F所依赖的真子集是E,所以E和F可以归在一个关系模式中R2(E,F)
AE->G是完全函数依赖,完全依赖随键码,所以AEG归在一个关系模式中R3(A,E,G)
因此R(A,B,C,D,E,F,G)可以分解为符合2NF的关系模式如下:
R1(A,B,C,D)
R2(E,F)
R3(A,E,G)
二、基本依赖为基础,中间属性做桥梁——用于建立3NF
例:关系R(A,B,C,D,E)上存在函数依赖,AB->C,C->D,D->E
显然中间桥梁是C->D,他构成了传递依赖链,因此,R可以分解为R1(A,B,C),R2(C,D)。分解后在R1,R2中都不存在传递依赖。
三、找违例自成一体,舍其右全集归一;若发现仍有违例,再回首如法炮制——用于建立BCNF
BCNF违例:违背BC范式的函数依赖称为BC范式违例
例:关系R(A,B,C,D,E)的键码是AB,有函数依赖AB->CDE,ABC->E,C->D
分析上述三个函数依赖可以看出,C->D是BCNF违例。因为它的决定因素不包含键码。我们作如下分解
违例自成一体,即CD构成一个关系模式R1(C,D)
舍其右全集归一,即从R的属性中取掉C->D的右边的属性D,其左边的属性C与其他所有属性构成一个新的关系R2(A,B,C,E)
新的关系模式如下:
R1(C,D)
R2(A,B,C,E)
注意:以BCNF违例为基础进行模式分解,最终得到的属于BCNF的关系模式都能实现无损连接,但未必能保持函数依赖
逻辑设计例一:假如有关系模式R(A,B,C,D)和函数依赖集S=。
(1)找出所有BCNF违例。
(2)如果该关系模式不是BCNF,则将它分解为BCNF
(3)找出所有的违背3NF的依赖
(4)如果该关系不是3NF,则将它分解为3NF
步骤一:找出R在S上的所有非平凡依赖,首先计算封闭集
单属性封闭集:A+=A,B+=BCD,C+=C,D+=D
双属性封闭集:AB+=ABCD,AC+=AC,AD+=AD,BC+=BCD,BD+=BCD,CD+=CD
三属性封闭集:ABC+=ABCD,ABD+=ABCD,BCD+=BCD,ACD+=ACD
四属性封闭集:ABCD+=ABCD
步骤二:根据计算所得的封闭集,找出键码和超键码
键码:AB
超键码:ABC,ABD,ABCD
步骤三:找出所有的非平凡函数依赖
B->C,B->D,AB->C,AB->D,BC->D,BD->C,ABC->D,ABD->C
其中,AB->C,AB->D,ABC->D,ABD->C不是BCNF违例,因为前两个依赖的决定因素本身就是键码,而后两个依赖的决定因素包含键码。所以,B->C,B->D,BC->D,BD->C是BCNF违例,因为它们的决定因素都不包含键码。实际上可以看出R不是2NF,因为存在部分函数依赖:ABC->D,ABD->C,AB->C,AB->D,B->C,B->D
步骤四:进行BCNF规范。BCNF违例自成一体。从以上BCNF违例中选择B->C自成一体
R1(B,C)
舍其右全集归一,即舍去B->C的右边属性C,所以得到
R2(A,B,D)
但是在R2中还存在BCNF违例B->D,因此B->D自成一体,得到R21(B,D),舍其右全集归一得到R22(A,B)
最后得到的关系模式是:R1(B,C),R21(B,D),R22(A,B)
通过关系模式分解,把一个非2NF的关系模式归范成一个BCNF。代价是,在实际操作中增加了连接操作。
(3)B->C,B->D,B不是键码也不是超键码,而C,D都是键码以外的属性,即是非主属性。所以R不是3NF。
逻辑设计例二:有关系R(A,B,C,D)和函数依赖集S=
(1)找出所有BCNF违例。
(2)如果该关系模式不是BCNF,则将它分解为BCNF
(3)找出所有的违背3NF的依赖
(4)如果该关系不是3NF,则将它分解为3NF
步骤一:找出R在S上的所有非平凡依赖,首先计算封闭集
单属性封闭集:A+=ABCD,B+=ABCD,C+=ABCD,D+=ABCD
双属性封闭集:AB+=ABCD,AC+=ABCD,AD+=ABCD,BC+=ABCD,BD+=ABCD,CD+=ABCD
三属性封闭集:ABC+=ABCD,ABD+=ABCD,BCD+=ABCD,ACD+=ABCD
四属性封闭集:ABCD+=ABCD
步骤二:找出所有非平凡函数依赖
A->B,A->C,A->D,B->A,B->C,B->D,C->A,C->B,C->D,D->A,D->B,D->C
AB->C,AB->D,AC->B,AC->D,AD->B,AD->C,BC->A,BC->D,BD->A,BD->C,CD->A,CD->B
ABC->D,ABD->C,BCD->A,ACD->B
步骤三:找出键码和超键码
键码:A,B,C,D
超键码:AB,AC,AD,BC,BD,CD,ABC,ABD,BCD,ACD,ABCD
根据以上结果分析,R是3NF也是BCNF
3NF要求不存在每个非主属性对于键码的部分依赖或传递依赖
练习:对于
1.R(A,B,C,D)和函数依赖集S=
2.R(A,B,C,D,E)和函数依赖集S=
3.R(A,B,C,D,E)和函数依赖集S=
(1)找出所有BCNF违例。
(2)如果该关系模式不是BCNF,则将它分解为BCNF
物理设计阶段:任务是在数据库逻辑设计的基础上,为每个关系模式选择合适的存储结构和存取路径
物理设计阶段步骤:
(1)分析影响数据库物理设计的因素;
(2)为关系模?
请参考
‘叁’ 我想问下数据库跟前台一般是用什么方法连接的 一般有几种方法,用于网上聊天系统
各种网站开发语言连接数据库的方法都有各自的数据库连接操作,不过大致都是一样的,通过数据库连接字符串连接数据库,通过执行SQL对数据库进行增删改查等操作。
在线的Web聊天系统相对于客户端的聊天系统在程序结构上有很大的不同,Web聊天系统(也就是B/S结构的聊天系统),每个用户所操作的都是同一个程序,大致设计思路如下几种:
1.利用Application 公共变量,每个用户在登录Web系统的时候,通常会创建一个Session来保存记录该用户的身份,这个Session是每个用户独有的,相当于是个私有房间,而Application 公共变量 是每个用户都可以进行操作的,相当于一个公共房间,每个用户都可以进入,但是这个公共房间一次只能进入一个用户,所以进入前要开门,进入后要锁门也就是需要Lock操作。可以用这个唯一的Application 来保存每个用户 说过的话,显示在每个用户的页面上(显示时最好使用AJAX),如需要保存聊天记录,把Application 中的值存入数据库即可
2.第二种方法跟现在论坛程序中的消息模块差不多,用户在说话时,直接存入数据库,需要存入的还有这个发言是 谁说的,给谁说的,在用户的页面上可以使用Ajax进行间隔的更新操作,使用户可以看到即时消息
应该还有其他的方法可以实现网上聊天系统,我个人推荐第二种方法,具体的操作要看使用的那种语言开发的,思路都是一样的,希望可以给你一些帮助
不知你是要B/S结构,还是C/S结构的,上面说的是B/S结构
对于C/S结构,有用户对用户的点对点发送 和 服务器对用户的一对多发送,传统的是使用socket进行发送与接收,不过现在大部分即时聊天工具,如QQ,MSN等使用的是新兴起的XMPP即时通信协议,使用XML格式进行传输,你可以在网上找些相关的资料,至于数据库在该系统中的使用,主要是在服务器端
‘肆’ 简体win7怎么安装繁体sql server 2014的相关推荐
读书频道 > 系统 > windows > Windows PE权威指南
1.1.3运行HelloWorld.exe
2013-07-11 16:47:00 我来说两句 收藏 我要投稿
本文所属图书 > Windows PE权威指南
内容全面,详尽地剖析了WindowsPE文件格式的原理及其编程技术,涉及安全领域的各个方面和Windows系统的进程管理和底层机制;实战性强,以案例驱动的方式讲解了WindowsPE文件格式在加密与解密、软件汉化、逆向工程... 立即去当当网订购
接下来,就需要对该源程序进行编译、链接以及运行和测试了。
首先,在Windows的命令提示符窗口中执行以下3个操作。
步骤1进入工作区。
通过转换磁盘命令和CD命令进入存放源文件HelloWorld.asm的目录中,命令如下:
C:\DocumentsandSettings\administrator>d:
D:\>cdmasm32\source\chapter1
步骤2编译源文件。
在当前工作区中输入命令“ml-c-coffHelloWorld.asm”,然后回车。
参数-c表示独立编译,不进行链接;参数-coff表示编译后生成标准的COFF目标文件。编译以后会在源文件所在目录生成一个与源文件同名的obj目标文件。
ml.exe是汇编语言的编译程序,它负责将汇编源程序编译成目标文件。该程序可接受的各参数的解释和描述如下所示:
Microsoft(R)MacroAssemblerVersion6.14.8444
Copyright(C)MicrosoftCorp1981-1997.Allrightsreserved.
ML[/options]filelist[/linklinkoptions]
/AT允许支持微型内存模式/nologo不输出编译LOGO信息
/Bl<linker>使用其他的链接器/Sa打开所有可用信息列表
/c只编译不链接/Sc在列表中增加指令执行时间信息
/Cp保留所有用户定义标识符的大小写/Sf在列表中增加第一次编译后的信息
/Cu将所有标识符转换为大写/Sl<width>设置行宽
/Cx保留公共和外部符号的大小写/Sn生成列表文件时关闭符号表
/coff编译成符合公共目标文件格式的目标文件/Sp<length>设置列表文件每页长度
/D<name>[=text]定义给定名字的文本宏/Ss<string>为列表文件设置子标题
/EP生成一个预处理后的列表文件/St<string>为列表文件设置标题
/F<hex>设置栈大小/Sx允许在列表中列出条件为假的代码清单
/Fe<file>指定可执行文件名/Ta<file>编译不以.asm结尾的源文件
/Fl[file]生成汇编代码列表文件/w同参数/WX
/Fm[file]生成一个链接映像文件/WX将警告视为错误
/Fo<file>指定目标文件名/W<number>设置警告级别
/FPi为浮点运算生成模拟代码/X忽略INCLUDE环境变量
/Fr[file]生成.sbr源浏览文件/Zd增加行号调试信息
/FR[file]生成扩展形式的.sbr源浏览文件/Zf使所有符号变成公共符号
/G<c|d|z>指定使用不同语言格式的函数调用约定和命名约定/Zi增加符号调试信息
/H<number>外部名字有效长度/Zm设置为与MASM5.10兼容的模式
/I<name>指定包含文件路径/Zp[n]设置结构对齐
/link<linkeroptionsandlibraries>包含链接/Zs只进行参数检查
步骤3链接目标文件与动态链接库。
链接是为了将源文件中调用到的动态链接库中的函数的相关信息附加到可执行文件中。链接命令是:
link-subsystem:windowsHelloWorld.obj
参数-subsystem表示允许该代码运行的子系统。如果没有错误,执行以上命令后会在源文件所在目录下生成最终的可执行文件HelloWorld.exe。链接程序的参数解释如下:
Microsoft(R)IncrementalLinkerVersion6.00.8168
Copyright(C)MicrosoftCorp1992-1998.Allrightsreserved.
usage:LINK[options][files][@commandfile]
options:
/ALIGN:#节区对齐尺寸
/BASE:{address|@filename,key}设置映像基地址
/COMMENT:comment在头部插入一个注释字符串
/DEBUG创建调试信息
/DEBUGTYPE:{CV|COFF}创建特定格式(CV/COFF)的调试信息
/DEF:filename指定链接库导出函数声明文件
/DEFAULTLIB:library指定处理外部引用时使用的特定库
/DLL生成目标为DLL文件
/DRIVER[:{UPONLY|WDM}]创建WindowsNT核心启动程序
/ENTRY:symbol设定目标PE入口点
/EXETYPE:DYNAMIC生成动态加载的虚拟设备驱动程序
/EXPORT:symbol导出一个函数
/FIXED[:NO]创建的目标PE只加载到首选基地址处
/FORCE[:{MULTIPLE|UNRESOLVED}]针对那些UNRESOLVED或MULTIPLE定义的符号实施强制链接
/GPSIZE:#在MIPS和Alpha平台上指定公有变量的尺寸
/HEAP:reserve[,commit]设定保留或提交的堆的大小
/IMPLIB:filename覆盖默认的引入链接库名
‘伍’ 给推荐个好用的商业智能系统吧有知道的吗
鼎捷软件易飞商业智能系统是以中型企业为主要客户对象的ERP解决方案,涵盖企业供应链、生产和财务管理的方方面面,并能够与PDM、CRM、HR、电子商务、PORTAL等ERPII产品无缝集成。通过引进先进的管理理论,结合中型企业中型企业应用补血,在深耕制造管理应用基础上,优化利用企业的人、财、物等资源,为企业构核心竞争力提供全面支持!
产品架构
制造管理 信息实时掌握全球经营监控
内控内审循环 进销存管理
财务管理 商业智能
人力资源管理 智能的管理应用工具
‘陆’ 大数据运维的主要工作内容是什么
大数据相关工作岗位很多,有大数据分析师、大数据挖掘算法工程师、大数据研发工程师、数据产品经理、大数据可视化工程师、大数据爬虫工程师、大数据运营专员、大数据架构师、大数据专家、大数据总监、大数据研究员、大数据科学家等等
数据分析师:
工作内容:
a.临时取数分析,比如双11大促活动分析;产品的流量转化情况、产品流程优化分析,等等;
b.报表需求分析--比如企业常见的日报、周报、月报、季报、年报、产品报表、流量转化报表、经营分析报表、KPI报表等等;
c.业务专题分析:
精准营销分析(用户画像分析、营销对象分析、营销策略分析、营销效果分析);
风控分析(策略分析,反欺诈分析,信用状况分析);
市场研究分析(行业分析、竞品分析、市场分析、价格分析、渠道分析、决策分析等等);
工具和技能:
工具: R、Python、SAS、SPSS、Spark、X-Mind、Excel、PPT
技能:需掌握SQL数据库、概率统计、常用的算法模型(分类、聚类、关联、预测等,每一类模型的一两种最典型的算法)、分析报告的撰写、商业的敏感性等等;
数据挖掘工程师:
工作内容:
a.用户基础研究:用户生命周期刻画(进入、成长、成熟、衰退、流失)、用户细分模型、用户价值模型、用户活跃度模型、用户意愿度识别模型、用户偏好识别模型、用户流失预警模型、用户激活模型等
b.个性化推荐算法:基于协同过滤(USERBASE/ITEMBASE)的推荐,基于内容推荐,基于关联规则Apriot算法推荐,基于热门地区、季节、商品、人群的推荐等
c.风控模型:恶意注册模型、异地识别模型、欺诈识别模型、高危会员模型、
电商领域(炒信模型、刷单模型、职业差评师模型、虚假发货模型、反欺诈模型)
金融领域(欺诈评分模型、征信评分模型、催收模型、虚假账单识别模型等)
d.产品知识库:产品聚类分类模型、产品质量评分模型、违禁品识别模型、假货识别模型等
e.文本挖掘、语义识别、图像识别,等等
工具和技能:
工具: R、Python、SAS、SPSS、Spark、Mlib等等
技能:需掌握SQL数据库、概率统计、机器学习算法原理(分类、聚类、关联、预测、神经网络等)、模型评估、模型部署、模型监控;
数据产品经理:
工作内容:
a.大数据平台建设,让获取数据、用数据变得轻而易举;构建完善的指标体系,实现对业务的全流程监控、提高决策效率、降低运营成本、提升营收水平;
b.数据需求分析,形成数据产品,对内提升效率、控制成本,对外增加创收,最终实现数据价值变现;
c.典型的大数据产品:大数据分析平台、个性化推荐系统、精准营销系统、广告系统、征信评分系统(如芝麻评分)、会员数据服务系统(如数据纵横),等等;
工具和技能:
工具: 除了掌握数据分析工具,还需要掌握 像 原型设计工具Auxe、画结构流程的X-Mind、visio、Excel、PPT等
技能:需掌握SQL数据库、产品设计,同时,熟悉常用的数据产品框架
数据研发工程师:
工作内容:
a.大数据采集、日志爬虫、数据上报等数据获取工作
b.大数据清洗、转换、计算、存储、展现等工作
c.大数据应用开发、可视化开发、报表开发等
工具和技能:
工具:hadoop、hbase、hive、kafaka、sqoop、java、python等
技能:需掌握数据库、日志采集方法、分布式计算、实时计算等技术
‘柒’ 使用C#和SQL做一个客户信息管理系统,功能不需要用太多
没有刚哈和你用的,不过可以定做开发!你要B/S还是C/S的!?
估计免费没人会给你做,你也可以自己写,有问题再来提问!
‘捌’ 哪位高手可以推荐几款通用的数据库管理工具
1、MySQL Workbench
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是着名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移
MySQL Workbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本。该软件支持Windows和Linux系统,下面是一些该软件运行的界面截图:
2、数据库管理工具 Navicat Lite
NavicatTM是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资料库管理员、开发人员及中小企业的需求。 Navicat是以直觉化的使用者图形接口所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。
界面如下图所示:
Navicat 提供商业版Navicat Premium 和免费的版本 Navicat Lite 。免费版本的功能已经足够强大了。
Navicat 支持的数据库包括MySQL、Oracle、SQLite、PostgreSQL和SQL Server 等。
3、开源ETL工具Kettle
Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
·授权协议:LGPL
·开发语言: Java
·操作系统: 跨平台
4、Eclipse SQLExplorer
SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库。
SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI)。通过使用SQLExplorer,你能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据。
SQLExplorer同样能够生成SQL脚本来创建和查询表格。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择,下图是运行中的界面,很好很强大。
l授权协议: 未知
l开发语言: Java
l操作系统: 跨平台
5、MySQL管理工具phpMyAdmin
phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等。
l授权协议:GPL
l开发语言:PHP
l操作系统:跨平台
6、Mongodb 管理工具Mongodb Studio
Mongodb是一款性能优良,功能丰富的文档型非关系型数据库。由于该数据库是开源项目并且还在不断更新中,目前为止在任何平台上都不能找到功能相对完整的客户端数据库管理工具。而越来越多的项目中使用了Mongodb,使得管理起来十分麻烦.如果点点鼠标就搞定了.那该有多好。
基于如上背景,我们制作了此MongoDB管理工具,在DBA/开发/管理员三个维度提供一定层次的管理功能。
Mongodb Management Studio功能如下:
l服务器管理功能
添加服务器,删除服务器
l服务器,数据库,表,列,索引,树形显示和状态信息查看
l查询分析器功能.
支持select,insert,Delete,update
支持自定义分页函 数 $rowid(1,5)查询第一条到第五条,需放在select后面.
l索引管理功能
支持列名的显示,索引的创建,查看,删除.
l数据库Profile管理.
可以设置Profile开关,查看Profile信息.自定义分页大小.
lmaster/slave信息显示
7、MySQL监控小工具mycheckpoint
mycheckpoint是一个开源的 MySQL监控工具,主要用来监控数据。通过视图方式提供监控数据报表。mycheckpoint支持以独立的Web服务器来运行。
例如:SELECTinnodb_read_hit_percent, DML FROM sv_report_chart_sample;
查看详细报表示例。
安装手册:http://code.openark.org/forge/mycheckpoint/documentation/installation
8、SQL SERVER 数据库发布向导
Microsoft SQL Server DatabasePublishing Wizard (微软SQLServer数据库发布向导) 是微软发布的一个开源工具,使用该工具可以帮你将SQLSERVER 数据库导出成一个 SQL脚本,类似 MySQL 的 mysqlmp工具。
官方说明:SQLServer数据库发布向导提供了一种将数据库发布到 T-SQL 脚本或者直接发布到支持宿主服务提供程序的方法。
9、Eclipse 的Oracle插件jOra
jOra是一个为 Oracle开发者和管理员提供的 Eclipse 插件,可轻松的对Oracle进行开发和管理。
安装地址:http://jora.luenasoft.de/updatesite
插件截图
l授权协议:免费,非开源
l开发语言:Java
l操作系统:跨平台
10、免费PostgreSQL监控工具pgwatch
pgwatch 是一个简单易用的PostgreSQL的监控工具,支持PostgreSQL 9.0 以及更新的版本。
主要特性:
- 配置简单
- 大量的监控图表
- 快速系统检查面板
- 自动收集统计信息
- 交互式的 Flash 图表
- 集成 SQL worksheet
l授权协议: Artistic
l开发语言:PHP
l操作系统: Linux
11、MySQL Browser
MySQL的客户端工具MySQL Browser的优点是简单,及其的简单,安装之后能够立刻上手,马上就能使用的那种,布局也很简陋,功能也很简陋,简单使用没有问题,尤其是刚开始学习mysql的同学,可以尝试一下。
·授权协议:未知
·操作系统: Windows
12、MySQL客户端软件HeidiSQL
HeidiSQL是一个功能非常强大的 MySQL 客户端软件,采用Delphi 开发,支持 Windows 操作系统。
l授权协议:GPL
l开发语言:Delphi/Pascal
l操作系统: Windows
13、SQLite管理工具SQLiteStudio
SQLiteStudio 是一个跨平台的 SQLite数据库的管理工具,采用 Tcl语言开发。
l授权协议:未知
l操作系统:跨平台
14、SQL客户端工具SQLyog
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库。
功能:
l快速备份和恢复数据;
l以GRID/ TEXT格式显示结果;
l支持客户端挑选、过滤数据;
l批量执行很大的SQL脚本文件;
l快速执行多重查询并能够返回每页超过1000条的记录集,而这种操作是直接生成在内存中的;
l程序本身非常短小精悍!压缩后只有348 KB ;
l完全使用MySQLC APIs程序接口;
l以直观的表格界面建立或编辑数据表;
l以直观的表格界面编辑数据;
l进行索引管理;
l创建或删除数据库;
l操纵数据库的各种权限:库、表、字段;
l编辑BLOB类型的字段,支持Bitmap/GIF/JPEG格式;
l输出数据表结构/数据为SQL脚本;
l支持输入/输出数据为CSV文件;
l可以输出数据库清单为HTML文件;
l为所有操作建立日志;
l个人收藏管理操作语句;
l支持语法加亮显示;
l可以保存记录集为CSV、HTML、XML格式的文件;
l21、99% 的操作都可以通过快捷键完成;
l支持对数据表的各种高级属性修改;
l查看数据服务器的各种状态、参数等;
l支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB;
l刷新数据服务器、日志、权限、表格等;
l诊断数据表:检查、压缩、修补、分析。
l授权协议:GPLv2
l开发语言:C/C++
l操作系统: Windows
15、数据挖掘工具RapidMiner
RapidMiner是世界领先的数据挖掘解决方案,在一个非常大的程度上有着先进技术。它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价。
功能和特点
l免费提供数据挖掘技术和库;
l100%用Java代码(可运行在操作系统);
l数据挖掘过程简单,强大和直观;
l内部XML保证了标准化的格式来表示交换数据挖掘过程;
l可以用简单脚本语言自动进行大规模进程;
l多层次的数据视图,确保有效和透明的数据;
l图形用户界面的互动原型;
l命令行(批处理模式)自动大规模应用;
lJava API(应用编程接口);
l简单的插件和推广机制;
l强大的可视化引擎,许多尖端的高维数据的可视化建模;
l400多个数据挖掘运营商支持;
l耶鲁大学已成功地应用在许多不同的应用领域,包括文本挖掘,多媒体挖掘,功能设计,数据流挖掘,集成开发的方法和分布式数据挖掘。
l授权协议:未知
l开发语言:Java
l操作系统:跨平台
16、Oracle 数据库开发工具Oracle SQL Developer
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用SQLDeveloper 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL语句。另外还可以创建执行和保存报表。该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持Windows、Linux 和 Mac OS X 系统。
·授权协议:免费,非开源
·开发语言:Java
·操作系统:Windows Linux MacOS
17、EMS SQL Manager for MySQL
EMS SQL Manager for MySQL是一款高性能MySQL数据库服务器系统的管理和开发工具。它支持从MySQL 3.23到6.0的任一版本,并支持最新版本的MySQL的特点,包括:查看、存储规程和函数、InnoDB外部键字和其他特点。它提供了大量工具以满足富有经验的用户的所有要求。添加了精心设计的操作向导系统,以及SQL Manager for MySQL那富有艺术感的图形用户界面,即使新手也可以不会为如何使用而感到困扰。
l授权协议:商业软件
l开发语言:C/C++
l操作系统: Windows
18、数据库管理工具CoolSQL
CoolSQL是一个数据库客户端管理工具。
·支持大部分数据库包括:DB2、oracle、mysql、MS SQL Server、Derby、HSQL、Informix、Sybase、PostgresSQL等。
·为用户提供友好和漂亮UI,其整体框架由视图组成类似于Eclipse。支持直接修改SQL查询结果。
·支持将表格数据导出成文本文件,EXCEL和HTML。
·拥有一个支持SQL语法着色显示,智能提示,文本编辑和查找的SQL编辑器。
·能够展示数据库大部分元数据包括:版本,数据类型、函数,连接信息等。
·支持导出数据对象信息包括对象数据(INSERT SQL语句),生成创建/删除脚本(create script/drop script)。
·所有SQL脚本都可以以批量的模式执行。
·能够搜索所有数据包括数据库列,表/视图和其他表格型。
·支持i18n,当前提供两种语言(中文和英文)。
·提供收藏功能,管理由用户收集的文本信息。
·支持通过插件扩展其功能。
ll 授权协议:未知
l开发语言:Java
l操作系统:跨平台
19、SQLite Manager
这是一款方便firefox对任何SQLite数据库操作的扩展。使用这款扩展,可以在firefox下很容易的创建表格、建立索引、浏览搜索等操作。此外它还具有一个语法检查功能的下拉式菜单,从而保证用户的操作不会出错。
20、MySQL GUI Tools
这是MySQL官方专业的数据库管理工具,同时支持多种操作系统。该工具包括下面三个产品:
·MySQL Administrator 1.2
·MySQL Query Browser 1.2
·MySQL MigrationToolkit 1.1
21、SQL客户端管理工具SQuirreL SQL Client
SQuirreL SQL Client是一个SQL客户端管理工具。它允许你查看一个兼容JDBC的数据库的结构,浏览表格中的数据,运行SQL命令, 可连接的数据库有ORCAL,MS SQLSERVER, DB2 等, 它还允许用户安装和创建用于补充应用程序基本功能的插件。
功能和特点:
l柱状图显示对像;
l自动完成;
l语句提示;
l标记;
l自动纠正;
l编辑查询结果;
l关系图;
l分页打印。
l授权协议:未知
l语言:Java
l操作系统:跨平台
22、Tomcat管理工具EasyTomcat
EasyTomcat是一个用来帮助简化 Tomcat和 MySQL管理的系统,你可以启动、停止和配置Tomcat和MySQL服务器,同时也提供了监控的功能。
l授权协议:未知
l开发语言:Java
l操作系统:跨平台
23、SQL Server管理工具sqlBuddy
SqlBuddy是C#编写的一款用于Microsoft SQLServer和MSDE的开源工具,使用它可以很容易的编写SQL脚本。SqlBuddy提供的功能和查询分析器的目的有些微不同,它倾向于帮助使用者编写SQL。
l授权协议:未知
l开发语言:C#
l操作系统: Windows
24、数据库开发工具GSQL
GSQL 是 Gnome 下的一个集成数据库开发工具。数据库结构显示在下图左边的树状结构中,支持SQL的语法着色。
l授权协议:未知
l操作系统:Linux
25、SQLite数据库管理SQLiteSpy
sqlitespy是一个快速和紧凑的数据库SQLite的GUI管理软件 。它的图形用户界面使得它很容易探讨,分析和操纵sqlite3数据库。
l授权协议:未知
l开发语言:Delphi/Pascal
l操作系统:Windows
26、数据库开发工具Aqua Data Studio
Aqua DataStudio 是一个为数据库开发人员准备的集成开发环境,可以对数据库做查询、管理,提供大量的数据库工具,例如数据库比较、源码控制等,目前支持的数据库包括:Oracle, DB2iSeries, DB2 LUW, MS SQL Server, Sybase ASE, Sybase Anywhere, Sybase IQ, Informix,PostgreSQL, MySQL, Apache Derby, JDBC, and ODBC.
l授权协议:未知
l开发语言:C/C++
l操作系统:跨平台
27、MySQL 架构管理工具MySQL MMM
MySQL Master-Master 架构常被用在 SQLquery 相依性低的情况,像是 counter常使用的INSERT INTO ... ON DUPLICATEKEY UPDATE a = a + 1不会因为out-of-order而造成问题。而 MySQL MMM算是其中一套写得比较好的 MySQLMaster-Master架构管理工具。
l授权协议:未知
l开发语言:Python
l操作系统: Linux
28、MySQL Client
MySQL的客户端工具,主界面如下:
l授权协议:未知
l操作系统:Windows
‘玖’ 求推荐一个好的 旅游网站管理系统
NO.1思途cms(思途旅游网站管理系统)
思途cms可以称得上是旅游网站系统中元老级的选手,它基于LAMP平台设计,网站采用PHP+MySQL,开源不加密,支持电脑端网站、移动端网站、微信小程序、微信端和app五端合一,无年费,高频率定时的免费系统升级。同时提供大量模板供选择(包含多款免费模板)可以后台快速安装自由更换,根据业务需要变换风格。思途cms产品可以拆分购买,较为灵活,同时也提供私人定制,快速建站。思途cms还有最大的特点就是善于利用搜索营销。
特点:可二次开发拓展性强,功能强大,高质量售后服务,无需续费,价格稍贵不过自由组合产品还算划算。
推荐指数:★★★★☆
No.2全社通旅游系统
全社通旅游系统全社通旅游系统是一款基于微软ASP.NET平台,采用MVC 4.0框架开发,支持电脑端网站、移动端网站、微信端和app四端合一,针对于不同类型的客户群体可提供不同的版本,有微信版、旗舰版、分销商版、供应商版、运营商版,功能相对来说完善,整合了十几种支付通道,支付便捷,收费单价较低,产品种类多,但不能根据需求拆分购买,总的购买成本高,后台排版布局不够清晰简洁。
特点:产品种类多,功能完善,服务成熟,简单易操作,不能二次开发,后台布局杂乱,客服服务体验感较差。
推荐指数:★★★★
No.3 TourEx旅游网站管理系统
TourEx是清远网博信息技术有限公司旗下的品牌,使用ASP.NET+MSSQL开发语言,产品线比较全面,有针对不同群体的版本且每个版本都有高、中、低分类,网站各种模块相较丰富,功能也比较成熟,兼容性好、接口较多、代码规范、模板较为灵活,但基于微软ASP.NET平台,TourEx源码是加密且不支持二次开发、此外不能拆分购买,后期收费机制复杂,成本较高。
特点:客户选择性强,兼容性好,模块相对丰富,使用成本较高,源码加密无法扩展、每年都需要续费。
推荐指数:★★★★
NO.4网力网络(包含188旅游系统、(拓普)TripsCMS、云计调)
云南网力网络科技有限责任公司(简称网力)成立于2009年,公司现有员工近30人,公司总部位昆明官渡电商产业园及西双版纳。网力网络采用可以二次开发的PHP+MySQL,支持电脑端网站、移动端网站、微信小程序、微信端和app五端合一,具有价格优势,网站功能能满足基本产品模块,但相对来说过于简单,同时相对于其他cms来说,其更加专注于B2C网站类型,产品面相对狭窄。
特点:可开源,价格便宜,功能简单。
推荐指数:★★★☆
NO.5丁香网络—二代CMS
丁香网络成立于2016年,如果说思途cms是元老,那么丁香二代cms就是一个新人,同样采用可以二次开发的PHP+MySQL,价格具有一定优势,但是因为是新人网站相对来说不够成熟,网站类型相对单一,功能简单,系统整体功能、模板都不够成熟,并且售前售后服务还有待提升,比较适合于尝试建网站但并不运营的企业。
特点:可二次开发拓展性强,价格便宜,产品还有较大的增长空间
推荐指数: ★★★
‘拾’ 四大开源数据库是哪些
如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免
费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库
呢?
在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开始就选择正确。两个流行
的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。
MySQL
MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括
Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如
WordPress、Drupal、Zend及phpBB等。
一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用
快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了
ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的
核心存储引擎与第三方引擎。
MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。
MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL
AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版
本:Standard、Enterprise、Classic、Cluster、Embedded与Community。其中有一些是免费下载的,另外一
些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。
现在,基于最初的
MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一Michael
"Monty"
Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的
MySQL开发者Brian Aker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。
PostgreSQL
PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。
PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了多个
不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即
可。
可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。
PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL的社区支持是非常棒的,还有来
自于独立厂商的商业支持。
数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性
的,它对于数据库访问提供了强大的安全性保证,充分利用了企业安全工具,如Kerberos与OpenSSL等。你可以定义自己的检查,根据自己的业务规
则确保数据质量。在众多的管理特性中,point-in-time
recovery(PITR)是非常棒的特性,这是个灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是
PostgreSQL的全部,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能
了。