一份设计合理的数据库,对程序开发可以达到事半功倍的效果,对于后期维护、二次开发的重要性更是不言而喻。
数据设计、实现过程中的注意事件(个人观点):
1.命名规范:
1)表:模块前缀+英文单词,如 BBS_UserInfo;
2)字段:表前缀+英文单词,如 U_Name;
2.三大范式:
尽量满足数据库设计三大范式。
第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
第二范式(2NF):要求数据库表中的每个实例或行必须可以被惟一地区分,数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。
第三范式(3NF):要求一个数据库表中不包含已在其它表中已包含的非主关键字信息,在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。
3.数据结构:
建立必要的主外键关系、建立好多表查询联合查询、复杂条件查询的储存过程等等。
4.保留数据库设计文档(这点对于二次开发尤为重要)。
--------------友情分割线(以下为收藏资料,已忘记原出处)--------------
1数据库表及字段命名、设计规范
1.1数据库表数据库表的命名规范:
表的前缀应该用系统或模块的英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。例如:如果有一个模块叫做BBS(缩写为BBS),那么你的数据库中的所有对象的名称都要加上这个前缀:BBS_ + 数据库对象名称,BBS_CustomerInfo标示论坛模块中的客户信息表
表的名称必须是易于理解,能表达表的功能的英文单词或缩写英文单词,无论是完整英文单词还是缩写英文单词,单词首字母必须大写。如果当前表可用一个英文单词表示的,请用完整的英文单词来表示;例如:系统资料中的客户表的表名可命名为:SYS_Customer。如果当前表需用两个或两个以上的单词来表示时,尽量以完整形式书写,如太长可采用两个英文单词的缩写形式;例如:系统资料中的客户物料表可命名为:SYS_CustItem。
表名称不应该取得太长(一般不超过三个英文单词)。
在命名表时,用单数形式表示名称。例如,使用 Employee,而不是 Employees。
对于有主明细的表来说。明细表的名称为:主表的名称 + 字符Dts。例如:采购定单的名称为:PO_Order,则采购定单的明细表为:PO_OrderDts
对于有主明细的表来说,明细表必须包含两个字段:主表关键字、SN,SN字段的类型为int型,目的为与主表关键字联合组成明细表的关键字,以及标示明细记录的先后顺序,如1,2,3……。
表必须填写描述信息
后台表名尽量与前台表名相同,后台独有的表应以_b作为后缀。如r_gggd_b
1.2表字段
命名规范
数据库字段的命名必须遵循以下规范:
采用有意义的字段名。字段的名称必须是易于理解,能表达字段功能的英文单词或缩写英文单词,单词首字母必须大写,一般不超过三个英文单词。例如:人员信息表中的电话号码可命名为:Telephone或Tel。产品明细表中的产品名称可用ProctName表示。(推荐一般用完整的英文单词)。
系统中所有属于内码字段(仅用于标示唯一性和程序内部用到的标示性字段),名称取为:“ID”,采用整型或长整型数,具体根据可能的数据量确定,增加记录时取最大值加1,该字段通常为主关键字。
系统中属于是业务范围内的编号的字段,其代表一定的业务信息,比如资料信息和单据的编号,这样的字段建议命名为:“Code”,其数据类型为varchar,该字段需加唯一索引。
在命名表的列时,不要重复表的名称;例如,在名为 Employee 的表中避免使用名为 EmployeeLastName 的字段。
不要在列的名称中包含数据类型。
设计规范
所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary 、varbinary外,必须有默认值。字符型的默认值为一个空字符值串’’;数值型的默认值为数值0;逻辑型的默认值为数值0;
其中:系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。
datetime、smalldatetime类型的字段没有默认值,必须为NULL。
当字段定义为字符串形时建议使用varchar而不用nvarchar。
建议在大多数表中(如报销单,申请单),应都有以下字段:
字段名说明类型默认值
CreatorID创建者int0
CreatedTime创建时间DatetimeNULL
字段的描述
数据库中每个字段的描述(Description)如下:
尽量遵守第三范式的标准(3NF)。
表内的每一个值只能被表达一次
表内的每一行都应当被唯一的标示
表内不应该存储依赖于其他键的非键信息
如果字段事实上是与其它表的关键字相关联而未设计为外键引用,需建索引。
如果字段与其它表的字段相关联,需建索引。
如果字段需做模糊查询之外的条件查询,需建索引。
除了主关键字允许建立簇索引外,其它字段所建索引必须为非簇索引。
字段必须填写描述信息
2存贮过程命名及设计规范
2.1命名规范
存贮过程的命名请遵循以下命名规范:USP _ + 系统模块缩写(与表前缀类似)+_ + 功能标识 + 代表存贮过程操作的主要表名(不带前缀)或功能的英文单词或英文单词缩写。
如果一个存贮过程只对一个表进行操作,建议存贮过程的名称就用存贮过程所操作的表的表名(不带前缀)。这样有利于根据表名找到相应的存贮过程。
为了在众多的存贮过程中能很快的找到并维护存贮过程,我们按存贮过程的作用将系统的存贮过程
进行以下的分类及命名:(以下示例假设存贮过程所在的模块名为ORG)
作用第一前缀第二前缀名
(功能标识)示例
用于新增的存贮过程USP_ORGAddUSP_ORG_Add_Employee
用于修改的存贮过程USP_ORGUptUSP _ORG_Upt_Employee
用于删除的存贮过程USP_ORGDelUSP _ORG_Del_Employee
用于单据查询的存贮过程USP_ORGQryUSP _ORG_Qry_Employee
用于报表统计的存贮过程USP_ORGRptUSP _ORG_Rpt_GetEmployee
用于一些特殊过程处理的存贮过程USP_ORGOthUSP _ORG_Oth_SetSystemMessage
如果系统中的存贮过程只有一级,则遵照以上规则命名,如果存在多级,则需要区分其属于哪一级,具体为:USP + 所属的级次 + _ + 后面的部分
例如:
1.USP1_ORG_Add_Subject (没有调用其它存贮过程)
2.USP2_ORG_Upt_Subject (调用了第1级的存贮过程)
3.USP3_ORG_Qry_Subject (调用了第2级的存贮过程)
2.2设计规范
在存贮过程中必须说明以下内容:
目的:说明此存贮过程的作用。
作者:首次创建此存贮过程的人的姓名。在此请使用中文全名,不允许使用英文简称。
创建日期:创建存贮过程时的日期。
修改记录:
修改记录需包含修改顺序号、修改者、修改日期、修改原因,修改时不能直接在原来的代码上修改,也不能删除原来的代码,只能先将原来的代码注释掉,再重新增加正确的代码。修改顺序号的形式为:log1,log2,log3。。。,根据修改次数顺序增加,同时在注释掉的原来的代码块和新增的正确代码块前后注明修改顺序号。
对存贮过程各参数及变量的中文注解。
示例如下:
/*
目的:根据部门与物料和会计区间查询生产现场领料汇总报表
作者:李奇
创建日期:2002-12-11
*/
/*
修改顺序号:log1
修改者:刘敏
修改日期:2002.12.22
修改原因:(具体原因详细描述)
*/
CREATE PROCEDURE [dbo].[USP_GetLMSSum]
@ProctionType int=1, --生产类型(1-自制;0-委外加工)
@DeptID int=0, --生产部门
@ItemID int=0, --物料
@StartDate datetime='2002-11-26',--会计区间开始日期
@EndDate datetime='2002-12-25'--会计区间截止日期
AS
/*
log1 old
--自制领料
INSERT INTO #LMSDts
SELECT dbo.iStockBill.DeptID, dbo.fDept.DeptName,
dbo.mLMS.ItemID AS ItemInterID, dbo.fItem.ItemID, dbo.fItem.ItemName,
ISNULL(dbo.fItem.Model, N'') AS Model, ISNULL(dbo.fUnit.UnitName, N'')
AS UnitName, dbo.mLMS.Qty, dbo.mLMS.TransType, dbo.mWO.OrderType,
dbo.mLMS.CreateTime
end log1 old
*/
--log1 new
--自制领料
INSERT INTO #LMSDts
SELECT dbo.iStockBill.DeptID, dbo.fDept.DeptName,
dbo.mLMS.ItemID AS ItemInterID, dbo.fItem.ItemID, dbo.fItem.ItemName,
ISNULL(dbo.fItem.Model, N'') AS Model, ISNULL(dbo.fUnit.UnitName, N'')
AS UnitName, dbo.mLMS.Qty, dbo.mLMS.TransType, dbo.mWO.OrderType,
dbo.mLMS.CreateTime
--end log1 new
3 视图命名规范
3.1命名规范
视图的命名请遵循以下命名规范:UV _ + 系统模块缩写(与表前缀类似)+_ + 功能标识 + 代表视图查询的主要表名(不带前缀)或功能的英文单词或英文单词缩写。
如果一个视图只对一个表进行查询,建议视图的名称就用视图所查询的表的表名(不带前缀)。这样有利于根据表名找到相应的视图。
为了在众多的视图中能很快的找到并维护视图,我们按其作用将系统的视图
进行以下的分类及命名:(以下示例假设视图所在的模块名为ORG)
作用第一前缀第二前缀名
(功能标识)示例
用于单据查询的视图UV_ORGQryUV_ORG_Qry_Employee
用于报表统计的视图UV_ORGRptUV_ORG_Rpt_GetEmployee
用于一些特殊过程处理的视图UV_ORGOthUV_ORG_Oth_SetSystemMessage
如果系统中的视图只有一级,则遵照以上规则命名,如果存在多级,则需要区分其属于哪一级,具体为:UV + 所属的级次 + _ + 后面的部分
例如:
UV1_ORG_Add_Subject (没有调用其它视图)
UV2_ORG_Upt_Subject (调用了第1级的视图)
UV3_ORG_Qry_Subject (调用了第2级的视图)
3.2 设计规范
在视图中必须说明以下内容:
目的:说明此视图的作用。
创建者:首次创建此视图的人的姓名。在此请使用中文全名,不允许使用英文简称。
修改者、修改日期、修改原因:如果有人对此视图进行了修改,则必须在此视图的前面加注修改者姓名、修改日期及修改原因。
对视图各参数及变量的中文注解。
示例如下:
/*
目的:查询本月所要培训的科目
创建:加菲猫
时间:2001-3-3
修改者:Dyan 修改日期:2002-12-11
修改原因及内容:学员不需要培训,将不需要培训的课程去掉。
修改者:周明 修改日期:2002-4-2
修改原因及内容:增加一门新课程
*/
CREATE VIEW dbo.USP_AddSubject
AS
SELECT SubjectIId AS 课程编号
FROM dbo.ZfLocaleDecide
3.3 存储过程和事务处理
如果事务处理在存储过程返回时的嵌套层次与执行时的层次不同,SQL Server会显示信息提示事务处理嵌套失控。因为存储过程并不异常终止该批处理,在执行和确认随后的语句时,过程内的rollback tran 会导致数据完整性损失。
在编写存储过程时,应遵守以下原则:
1.过程对@@trancount应无净改变。
2.仅当存储过程发出begin tran语句时,才发出rollback tran。
3.4 其他注意事项
存储过程应该坚实可靠的,因为它们是驻留在服务器中,被频繁使用的。应仔细检查参数的有效性,并在有问题时返回出错信息。应确保参数的数据类型和被比较的栏的数据类型匹配,从而避免数据类型匹配错误。在每个SQL语句之后要检查@@error。
4触发器编码规范
4.1命名规范
触发器名为相应的表名加上后缀
Insert触发器加'_i',Delete触发器加'_d',Update触发器加'_u',如:r_bch_i,r_bch_d,r_bch_u。
4.2 设计规范
在触发器中必须说明以下内容:
目的:说明此触发器的作用。
创建者:首次创建人的姓名。在此请使用中文全名,不允许使用英文简称。
修改者、修改日期、修改原因:如果有人对此视图进行了修改,则必须在此视图的前面加注修改者姓名、修改日期及修改原因。
对其中各参数及变量的中文注解。
4.3范例
下面通过一个例子,说明触发器编程中应遵守的规范:
/* delete related r_a according to deleted table */
CREATE TRIGGER r_a_d ON r_a
FOR DELETE
AS
IF @@ROWCOUNT = 0 -no rows deleted
RETURN
/* delete r_b table related to deleted table */
DELETE r_b
FROM r_b b, deleted d
WHERE b.id=d.id
IF @@ERROR != 0
BEGIN
RAISERROR("Error occurred deleting related records", 16, 1)
ROLLBACK TRAN
END
RETURN
作以下几点说明:
1.检查是否有行被修改。注意:不论数据是否被修改,触发器都会引发,执行情况取决于T-SQL语句的执行,而和任何潜在的where子句是否执行无关。
2.因为被删除行在该表中不再可用,所以应在被删除的表中查看。
3.检查T-SQL语句的返回代码,以捕获任何出错条件。
4.4 事务过程中的触发器
1.触发器内的rollback将所有工作返回至最外层的begin tran,完成触发器内的处理并异常终止当前的批处理。
2.不可以从触发器内部返回至某个已命名的事务过程,这将产生运行错误,挂起所有工作并终止批处理。
5 SQL语言编码规范
5.1所有关键字必须大写。
如:INSERT、UPDATE、DELETE、SELECT及其子句。
IF……ELSE、CASE、DECLARE等。
所有函数及其参数中除用户变量以外的部分必须大写。
在定义变量时用到的数据类型必须小写。
所有关键字必须大写
5.2注释
注释可以包含在批处理中。在触发器、存储过程中包含描述性注释将大大增加文本的可读性和可维护性。本规范建议:
1、注释以英文为主。
实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用。为避免后续版本执行过程中发生某些异常错误,建议使用英文注释。
2、注释尽可能详细、全面。
创建每一数据对象前,应具体描述该对象的功能和用途。
传入参数的含义应该有所说明。如果取值范围确定,也应该一并说明。取值有特定含义的变量(如boolean类型变量),应给出每个值的含义。
3、注释语法包含两种情况:单行注释、多行注释
单行注释:注释前有两个连字符(--),最后以行尾序列(CR-LF)结束。一般,对变量、条件子句可以采用该类注释。
多行注释:符号/*和*/之间的内容为注释内容。对某项完整的操作建议使用该类注释。
4、注释简洁,同时应描述清晰。
5函数注释:
编写函数文本--如触发器、存储过程以及其他数据对象--时,必须为每个函数增加适当注释。该注释以多行注释为主,主要结构如下:
/************************************************************************
*name : --函数名
*function : --函数功能
*input : --输入参数
*output : --输出参数
*author : --作者
*CreateDate : --创建时间
*UpdateDate : --函数更改信息(包括作者、时间、更改内容等)
*************************************************************************/
CREATE PROCEDURE sp_xxx
…
5.3条件执行语句if…else
条件语句块(statenemt block,以 begin…end为边界)仅在if子句的条件为真时才被执行。
为提高代码的可读性,建议嵌套不多于5层。还有,当嵌套层次太多时,应该考虑是否可以使用case语句。
5.4重复执行while和跳转语句goto
需要多次执行的语句,可以使用while结构。其中,控制while循环的条件在任何处理开始之前需要先执行一次。循环体中的保留字break无条件的退出while循环,然后继续处理后续语句;保留字continue重新计算while条件,如果条件为真,则从循环开始处重新执行各语句。
使用跳转语句goto和标签label也可以方便地实现循环和其他更灵活的操作。SQL SERVER仅具有单通道语法分析器,因此不能解析对尚未创建的对象所做的前向参考。换言之,跳转到某标签的后续语句应该是可执行的(如不存在可能尚未创建的数据对象)。
5.5书写格式
数据库服务器端的触发器和存储过程是一类特殊的文本,为方便开发和维护,提高代码的易读性和可维护性。规范建议按照分级缩进格式编写该文本。
顺序执行的各命令位于同一级;条件语句块(statenemt block,以 begin…end为边界)位于下一级,类推。
SQL语句是该文本的主体。为适应某些教复杂的用户需求,SQL语句可能比较庞大。为方便阅读和维护,规范建议按照SQL语句中系统保留字的关键程度再划分为三级。具体分级请参照下表。其中,非系统保留字(如字段名、数据表名、标点符号)相对本级保留字再缩进一级。多个连续的非保留字可以分行书写,也可以写在同一行。当WHERE包含的条件子句教复杂时,应该每行只写一个条件分句,并为重要的条件字句填写单行注释。
在保证基本缩进格式的前提下,可以通过对齐某些重要关键字(如条件关键字AND、OR,符号 = 、 <> 等)来进一步提高文本的易读性和可维护性。
相邻两级的缩进量为10个空格。这也是ISQL编辑器默认的文本缩进量。另外,在ISQL编辑器中,一个TAB键也相当于10个空格。
6数据对象的国际化
6.1关于数据对象的命名
数据对象和变量的命名一律采用英文字符。禁止使用中文命名。其他命名注意事项和规范请参考2命名规则。
6.2关于RAISERROR
SQL SERVER 系统的RAISERROR命令能够把某个出错情况返回给调用过程,这对说明调用过程的执行情况很有必要;同时可以部分避免客户端的冗余操作。另外,结合系统存储过程sp_addmessage和sp_dropmessage可以方便实现数据对象在SQL SERVER端的国际化。
SQL SERVER的MASTER数据库中有错误信息数据表sysmessages,专门用于存储系统和用户的错误提示及相关信息(如错误ID号、错误等级、状态)。用户可以调用sp_addmessage和sp_dropmessage预先将各类错误信息记入该数据表。其中,不同的错误信息用错误ID号区分。在编写存储过程代码时,调用RAISERROR函数从错误信息表sysmessages中引用相关错误ID号的错误信息。
由于0~50000的值是保留为 SQL SERVER使用的,所以用户自定义错误信息的错误ID号必须大于50000。
RAISERROR的语法如下:
RAISERROR ({msg_id | msg_str}, severity, state )
本规范建议存储过程以RAISERROR和RETURN返回。
举例如下:
l第一步:生成该错误信息
/*insert a error message into the master..sysmessages*/
sp_addMessage 50001 ,16 ,'Can"t update the primary key from table %s'
l第二步:执行存储过程sp_xxx,异常返回时引用上述错误信息
CREATE PROCEDURE sp_xxx
BEGIN
…
RAISERROR(50001 ,16 ,1 ,'r_a') -- Can"t update the primary key from table r_a
ROLLBACK TRAN
RETURN(1)
END
l第三步:在DELPHI调用中,通过EDBEngineError捕捉该错误
try
sp_test.execProc ;
except
on e :EDBEngineError
if e.errors[1].errorcode = 13059 then
/*hint 'Can"t update the primary key from table r_a'*/
showMessage(e.errors[1].message)
end ;
l第四步:当不再使用该错误信息时,应该从错误信息表中删除相应数据
sp_dropMessage 50001
l第五步:错误提示信息国际化
用相应语言替换master..sysmessages表中用户自定义的错误消息即可。
------------------------------------------
㈡ sql2005的数据库怎么配置
方法/步骤
首先需要下载安装包,在网络搜索“SqlServer2005微软官网版本.zip”,下载完成后运行“SqlServer2005微软官网版本\Servers\setup.exe”文件。
等待系统配置自动检查完成后,勾选SQL Server Database Services、Integration Services、工作站组件联机丛书和开发工具,三项。实例名使用默认实例。
服务账户选择“使用内置系统账户”。身份验证模式选择“混合模式(windows身份验证和SQL Server身份验证)”,并输入数据库密码。
排序规则保持默认设置。功能选择,选择SQL Server的安装路径。
等待安装完成,直到出现“完成Microsoft SQL Server 2005安装”界面,点击“完成”。
打开“SQL Server Management Studio”,登录名为“sa”,密码为安装数据库时填写的密码。此时SQLServer2005即安装成功。
㈢ 如何运用sql server 2005在本地建数据库
在服务器上友游装上sql
server
2005,基本上装载时选择默认的就可以了。然后,关掉windows防火墙(最好设置一下),在数据库外围配置器中选择【服务和连接的外围应用配置器】,再选择【远程连接】
选择【本地连接和远程连接】,选择猜拦【穗告胡同时使用
tcp/ip和named
pipes】。这个默认是不启用的。
㈣ sql 2005如何添加数据库
在 SQL Server Management Studio 对象资源管理器中,连接到 Microsoft SQL Server 数据库引擎 实例,再展开该实例。
右键单击“数据库”,指向“任务”,然后单击“附加”。
在“附加数据库”对话框中,若要指定要附加的数据库,请单击“添加”,然后在“定位数据库文件”对话框中,选择数据库所在的磁盘驱动器并展开目录树以查找并选择数据库的 .mdf 文件。例如:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AdventureWorks_Data.mdf
重要事项:
尝试选择已附加的数据库将生成错误。
或者,若要为附加的数据库指定不同的名称,请在“附加数据库”对话框的“附加为”列中输入名称。
或者,通过在“所有者”列中选择其他项来更改数据库的所有者。
准备好附加数据库后,单击“确定”。
㈤ 怎么用sql2005新建一个数据库
创建数据库的操作有两种方法:
一、可视化操作
1.创建数据库
选中数据库右击,在出现的对话框中选择新建数据库,然后新出现的对话框中填写数据库的名称
二、使用SQL语句创建
1.创建数据库
1
2
3
4
5
6
7
create database stuDB --stuDB是数据库的名称
on primary -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name='stuDB_data', -- 主数据文件的逻辑名称
filename='D:\stuDB_data.mdf', -- 主数据文件的物理路径和名称
size=5mb, --主数据文件的初始大小
maxsize=100mb, -- 主数据文件增长的最大值
filegrowth=15%--主数据文件的增长率
)
log on
(
/*--日志文件的具体描述,各参数含义同上--*/
name='stuDB_log',
filename='D:\stuDB_log.ldf',
size=2mb,
filegrowth=1mb
)
㈥ SQL server2005上如何创建数据库服务器
1 安装步骤
1.1 确认操作系统信息
1. 请再次确认当前服务器/工作站操作系统是否为以下操作系统
Windows7 64bit 操作系统(安装时请选择完全安装)
1.2 准备软件安装包
将SQLEXPR_x64_CHS,拷贝到本地硬盘
将SQLManagementStudio_x64_CHS,拷贝到本地硬盘
1.3 安装SQLEXPR_x64_CHS
1) 右键单击SQLEXPR_x64_CHS,选择“以管理员身份运行”启动安装程序, 将弹出下述对话框,点击“是”,开始加载安装程序
2) 加载成功后,出现下述界面,点击左侧列表内的“安装”
3) 选择“全新SQLSERVER独立安装…”
4) 如下图,安装程序支持规则验证完毕后,点击“确定”,再点击“下一步”
5) 勾选“我接受许可条款”,点击“下一步”,再点击“安装”,将开始安装“安装程序支持文件”
6) “安装程序支持文件”安装成功后,SQL安装程序将验证当前环境是否符合安装条件,如下图所示,会提示“Windows防火墙”警告,不用理会。点击“下一步”
7) 在功能选择界面,全部勾选,然后点击“下一步”
8) 在实例配置界面,勾选“默认实例”,点击“下一步”
9) 如下图,显示磁盘需求,如果当前安装路径的空间符合条件,点击“下一步”
10) 在服务器配置界面,对“SQL Server Database Engine”服务的账户名选择“NT AUTHORITY\SYSTEM”
11) 在数据库引擎配置界面,选择“混合模式”,输入密码(一般设为DY);并在“指定管理员下”,添加一个当前用户(workXXXXX-CP)。配置完成,点击“下一步”
12) 选择“安装本机模式默认配置”,点击“下一步”,在下一个界面上,再点击两下“下一步”
13) 确认“安装信息”摘要后,点击“安装”,开始安装
14) 安装完成后,弹出下述界面,点击“下一步”
15) 弹出“完成”对话框后,点击“关闭”,并手动重启计算机,结束安装过程
1.4 安装 SQLManagementStudio_x64_CHS
1) 右键单击SQLManagementStudio_x64_CHS,选择“以管理员身份运行”启动安装程序,点击“是”,开始加载安装程序
2) 安装程序加载后,会提示该管理工具具有兼容性问题,可以不用理会,点击“运行程序”。
该提示主要是要求安装者在安装完该软件后,必须打SQL SERVER 2008 SP1补丁,才可运行程序。由于之前安装的SQL SERVER主体程序,已包含SP1补丁,故无需理会下述提示。
3) 安装程序加载成功后,出现下述界面,点击左侧列表内的“安装”。
4) 选择“全新SQLSERVER独立安装或向现有安装添加功能”
5) 自动执行“安装程序支持规则”验证,完成后,点击“确定”
6) 如下图,点击“安装”,自动执行“安装程序支持文件”的安装
7) 完成后,再次进行“安装程序支持规则”验证,安装程序将验证当前环境是否符合安装条件,如下图所示,会提示“Windows防火墙”警告,不用理会。点击“下一步”
8) 选择“执行SQL Server 2008的全新安装”,追加管理工具的功能,点击两次“下一步”
9) 如下图,勾选“我接受许可条款”,点击“下一步”
10) 如下图,勾选“管理工具”,点击“下一步”
11) 如下图,显示磁盘需求,如果当前安装路径的空间符合条件,点击三下“下一步”
12) 如下图,弹出配置确认窗口,确认无误后,点击“安装”
13) 安装完成后,弹出下述确认窗口,点击“下一步”,完成安装
1.5 配置SQL Server Express
1) 在“开始”菜单内,找到 SQL Server 配置管理器,运行该程序,如下图
2) 在点击SQL Server 网络配置,再点击 MSSQLSERVER的协议,将右侧窗体的Named Pipes和TCP/IP 设置成“已启动”,否则将无法登陆SQL控制台
3) 设置成功后,如下图所示,重启计算机使配置生效
㈦ SQL 2005的创建数据库的问题 我是新手~~
这是因为SQL Server的启动帐户(一般是system或某个操作系统管理员),对E盘根目录没有创建文件的权限。右击E盘,在属性里查看“安全”选项卡里查看用瞎春户的权限。查看启动帐户是谁,运行services.msc,在服务管理器磨迟耐里找到SQL Server服旦升务,然后看“登录”选项卡。
㈧ SQL Server2005中用语句创建数据库和表
在SQL Server2005中用语句创建数据库和表:
具体示例如下:
use master
go
if exists (select * from sysdatabases where name='Study')
--判断Study数据库是否存在,如果是就进行删除
drop database Study
go
EXEC sp_configure 'show advanced options', 1
GO
-- 更新当前纳岁隐高级选项的配置信息
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
-- 更新当前功能(xp_cmdshell)的配置信息。
RECONFIGURE
GO
exec xp_cmdshell 'mkdir D:data', NO_OUTPUT
--利用xp_cmdshell 命令创建文件夹,此存储过程的第一个参数为要执行的有效dos命令,第二个参数为是否输出返回信息。
go
create database Study--创建数据库
on primary
(name='Study_data',--主数据文件的逻辑名
fileName='D:dataStudy_data.mdf',--主数据文件的物理名
size=10MB,--初始大小
filegrowth=10% --增长率)
log on
(name='Study_log',--日志文件的逻辑名
fileName='D:dataStudy_data.ldf',--日志文件的物理名
size=1MB,
maxsize=20MB,--最大大小
filegrowth=10%)
go
use Study
go
if exists (select * from sysobjects where name='Student')--判断是否存在此表
drop table Student
go
create table Student
(id int identity(1,1) primary key,--id自洞厅动编号,并设为主键
[name] varchar(20) not null,
sex char(2) not null,
birthday datetime not null,
phone char(11) not null,
remark text,
tId int not null,
age as datediff(yyyy,birthday,getdate())--计算列。)
go
if exists (select * from sysobjects where name='Team')
drop table Team
go
create table Team
(id int identity(1,1) primary key,
tName varchar(20) not null,
captainId int)
go
alter table Student
add
constraint CH_sex check(sex in ('男','女')),--检查约束,雀念性别必须是男或女
constraint CH_birthday check(birthday between -01-01' and -12-31'),
constraint CH_phone check(len(phone)=11),
constraint FK_tId foreign key(tId) references Team(id),--外键约束,引用Team表的主键
constraint DF_remark default('请在这里填写备注') for remark--默认约束,
go
alter table Team
add
constraint UK_captainId unique(captainId)--唯一约束
go
insert into Team values('第一组',1)
insert into Team values('第二组',2)
insert into Team values('第三组',3)
insert into Team values('第四组',4)
insert into Team values('第五组',5)
insert into Student values('小强','男',-6-9',','来自河北',1)
insert into Student values('小昭','男',-6-9',','山东',4)
insert into Student values('小溪','男',-6-9',','抚顺',3)
insert into Student values('小怜','男',-6-9',','天津',5)
insert into Student(name,sex,birthday,phone,tId) values('李真','男',-6-9',',5)
select * from Team
select * from Student
if exists (select * from sysobjects where name='teacher')
drop table teacher
go
create table teacher
(id int identity (1,1) primary key,
name varchar(20),
address varchar(20))
go
#p#副标题#e#
insert into teacher values('zhang','hubei')
insert into teacher values('wang','hubei')
insert into teacher values('li','hubei')
insert into teacher values('chen','hunan')
insert into teacher values('zhao','hunan')
insert into teacher values('tian','guangdong')
insert into teacher values('ma','guangdong')
insert into teacher values('chang','tianjin')
insert into teacher values('liang','beijing')
select * from teacher
select count(*),address from teacher group by address having address'hunan'
--按地址分组查询并用having字句筛选出地址不是‘hunan’的
EXEC sp_configure 'xp_cmdshell', 0
GO
-- 还原当前功能(xp_cmdshell)的配置信息为初始状态.
RECONFIGURE
GO
EXEC sp_configure 'show advanced options', 0
GO
-- 最后,还原当前高级选项的配置信息为初始状态
RECONFIGURE
GO
#p#副标题#e#
㈨ 怎么用sql2005新建一个数据库
1、选择开始菜单中→程序→【Management
SQL
Server
2005】→【SQL
Server
Management
Studio】命令,打开【SQL
Server
Management
Studio】窗口,并使用Windows或
SQL
Server身份验证建立连接。
2、在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点
3、右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。
4、执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作
5、在【数据库名称】文本框中输入要新建数据库的名称。辩做例如,这里以“新建的数据库”。
6、在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。
7、在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加春灶橘或删除数据库文件。
8、切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
9、切换到【文件组】页,在这里可以添加或删除文件组。
10、完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建扒团成功。新建的数据库可以再【对象资源管理器】窗口看到。
--另外,可以使用SQL语句创建数据库
CREATE
DATABASE
数据库名称
㈩ sql 2005怎么新建数据库
工具
SQL2005
步骤/方法
从开始菜单找到“SQL Server Management Studio”,点击它从这里启动SQL2005
看到数枣薯据库的登陆界面,身份认证用“windows身份认证”,这样就大举不用输入密码即可登录进数据库
看到左侧的的“对象资凳仿者源管理器”,下面有“数据库”一栏,右击它,选择“新建数据库”
这时会弹出新建数据库的对话框,我们唯一要填写的就是数据库的名称,填好之后就可以点击对话框下方的“确定”了
然后看到左边的资源管理器,“数据库”一栏下已经有了一个我们命名的数据库了,新建数据库成功
END