SQL Server 数据库设计和高级查询

SQL Server 数据库设计和高级查询
SQL Server 数据库设计和高级查询

SQL Server 数据库设计和高级查询(小结)本书共有六章内容,具体如下:

第一章:数据库的设计

本章主要介绍为什么需要规范的数据设计

良好的数据库设计有利于:

(1)节省数据的存储空间

(2)能够保证数据的完整性

(3)方便进行数据库应用系统的开发

了解设计数据库的基本步骤

(1)收集信息

(2)标识对象(实体-Entity)

(3)标识每个实体的属性(Attribute)

(4)标识对象之间的关系(Relationship)

掌握如何绘制数据库的E-R图

(1)绘制E-R图

(2)将E-R图转换为表

(3)应用三大范式规范化表设计

应用三大范式进行审核,规范化数据库的设计

(1)第一范式的目标是确保每列的原子性

(2)第二范式要求确保表中的每列,都和主键相关。

(3)第三范式要求表中各列必须和主键直接相关,不能间接

相关。

第二章:数据库的实现

掌握建库的SQL语句

(1)T-SQL创建数据库的语法:

CREATE DATABASE 数据库名

ON [PRIMARY]

(

<数据文件参数> [,…n] [<文件组参数>]

)

[LOG ON]

(

<日志文件参数> [,…n]

)

(2)数据文件的具体描述

NAME='stuDB_data', --主数据文件的逻辑名

FILENAME='D:\project\stuDB_data.mdf', --主数据文件的物理名

SIZE=5mb, --主数据文件初始大小

MAXSIZE=100mb, --主数据文件增长的最大值FILEGROWTH=15% --主数据文件的增长率

(

(3)判断是否存在系统数据库

If exists(select * from sysdatabases where name=’数据库’) Drop database 数据库名

掌握建表的SQL语句

(1)建表的基本步骤:

确定表中有哪些列

确定每列的数据类型

给表添加各种约束

创建各表之间的关系

(2)建表语法

CREATE TABLE 表名

(

字段1 数据类型列的特征,

字段2 数据类型列的特征,

...

)

(3)判断表是否存在

If exists (select * from sysobjects where name=’表名’) Drop table 表名

掌握加约束的SQL语句

(1)ALTER TABLE 表名

ADD CONSTRAINT 约束名约束类型具体的约束说明

(2)约束名的取名规则推荐采用:约束类型_约束字段

主键(Primary Key)约束:如PK_stuNo

唯一(Unique Key)约束:如UQ_stuID

默认(Default Key)约束:如DF_stuAddress

检查(Check Key)约束:如CK_stuAge

外键(Foreign Key)约束:如FK_stuNo

(3)删除约束的语法

ALTER TABLE 表名

DROP CONSTRAINT 约束名

掌握创建安全帐户的SQL语句

(1)登录帐户相应有两种:SQL 帐户和Windows帐户

(2)添加Windows登录帐户

EXEC sp_grantlogin ‘jbtraining\S26301‘

(3)添加SQL登录帐户

EXEC sp_addlogin ‘zhangsan', ‘1234’

(4)授权的语法为:

GRANT 权限[ON 表名] TO 数据库用户

第三章:T-SQL编程

掌握如何定义变量并赋值

变量分为:局部变量

局部变量必须以标记@作为前缀,如@age

局部变量的使用也是先声明,再赋值

声明局部变量:DECLARE @变量名数据类型

赋值:

SET @变量名=值eg:SET @name=‘张三’

SELECT @变量名= 值

Eg:SELECT @name=stuName FROM stuInfo

WHERE stuNo=‘s25302’

全局变量

全局变量必须以标记@ @作为前缀,如@@version

全局变量由系统定义和维护,我们只能读取,不能

修改全局变量的值

掌握IF、WHILE、CASE逻辑控制语句

(1)SQL中的IF-ELSE语句

IF (条件)

BEGIN

语句1

语句2

……

END

ELSE

BEGIN

语句1;

语句2;

……

END

(2)WHILE循环语句

WHILE (条件)

BEGIN

语句1

语句2

……

BREAK

END

(3)CASE-END多分支语句

CASE

WHEN 条件1 THEN 结果1

WHEN 条件2 THEN 结果2

……

ELSE 其他结果

END

理解SQL中批处理的概念

SQLServer规定:如果是建库、建表语句、以及我们后面学习的存储过

程和视图等,则必须在语句末尾添加GO 批处理标志

第四章:高级查询

掌握简单子查询的用法

(1)子查询在WHERE语句中的一般用法:

SELECT … FROM 表1 WHERE 字段1 >(子查询)

(2) 外面的查询称为父查询,括号中嵌入的查询称为子查询

(3)UPDATE、INSERT、DELETE一起使用,语法类似于SELECT语句

(4)将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于

一个eg:SELECT * FROM stuInfo

WHERE stuAge>( SELECT stuAge FROM

stuInfo where stuName='李斯文')

GO

掌握IN子查询的用法

Eg: SELECT stuName FROM stuInfo

WHERE stuNo IN

(SELECT stuNo FROM stuMarks

WHERE writtenExam=60)

GO

(Not in子查询)加上否定的NOT 即可

掌握EXISTS子查询的用法

(1)EXISTS子查询的语法:

IF EXISTS (子查询)

语句

应用T-SQL进行综合查询

第五章:事物、索引和视图

理解事务的概念

(1)事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作

这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行

事务是一个不可分割的工作逻辑单元

(2)事务必须具备以下四个属性,简称ACID 属性:

原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的);要

么都执行,要么都不执行

一致性(Consistency):当事务完成时,数据必须处于一致状态

隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独

立的,它不应以任何方式依赖于或影响其他事务

永久性(Durability):事务完成后,它对数据库的修改被永久保持,事务日志能够保持事

务的永久性

掌握如何创建事务

(1)T-SQL使用下列语句来管理事务:

开始事务:BEGIN TRANSACTION

提交事务:COMMIT TRANSACTION

回滚(撤销)事务:ROLLBACK TRANSACTION

(2)判断某条语句执行是否出错:

使用全局变量@@ERROR;

@@ERROR只能判断当前一条T-SQL语句执行是否有错,为了

判断事务中所有T-SQL语句是否有错,我们需要对错误进行累计;

如:SET @errorSum=@errorSum+@@error

掌握如何创建索引

(1)索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据。

(2)索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。

(3)索引类型:

唯一索引:唯一索引不允许两行具有相同的索引值

主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个

非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个

(4)使用T-SQL语句创建索引的语法:

CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]

INDEX index_name

ON table_name (column_name…)

[WITH FILLFACTOR=x]

(5)检索索引是否存在

IF EXISTS (SELECT name FROM sysindexes

WHERE name = '索引名')

DROP INDEX表名.索引名

(6) 优点:快访问速度

加强行的唯一性

缺点:索引的表在数据库中需要更多的存储空间

操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新(7)创建索引的指导原则

该列用于频繁搜索

该列用于对数据进行排序

掌握如何创建并使用视图

(1)一张虚拟表,它表示一张表的部分数据或多张表的综合数据,其结构

和数据是建立在对表的查询基础上

(2)使用T-SQL语句创建视图的语法

CREATE VIEW view_name

AS

(3)视图是否存在

IF EXISTS (SELECT * FROM sysobjects WHERE

name = 'view_stuInfo_stuMarks')

DROP VIEW view_stuInfo_stuMarks

第六章:存储过程

了解存储过程的优点

(1)存储过程(procedure)类似于C语言中的函数

用来执行管理任务或应用复杂的业务规则

存储过程可以带参数,也可以返回结果

(2)存储过程的优点:

执行速度更快

允许模块化程序设计

提高系统安全性

减少网络流通量

掌握常用的系统存储过程

(2)常用的扩展存储过程:xp_cmdshell

可以执行DOS命令下的一些的操作

以文本行方式返回任何输出

调用语法:

EXEC xp_cmdshell DOS命令[NO_OUTPUT]

掌握如何创建存储过程

(1)定义存储过程的语法

CREATE PROC[EDURE] 存储过程名

@参数1 数据类型= 默认值OUTPUT,

……,

@参数n 数据类型= 默认值OUTPUT

AS

SQL语句

GO

和C语言的函数一样,参数可选

参数分为输入参数、输出参数

输入参数允许有默认值

掌握如何调用存储过程

(1)调用的语法

EXEC 过程名[参数]

(2)RAISERROR语句的用法如下:

RAISERROR (msg_id | msg_str,severity,

state WITH option[,...n]])

msg_id:在sysmessages系统表中指定用户定义错误信息

msg_str:用户定义的特定信息,最长255个字符

severity:定义严重性级别。用户可使用的级别为0–18级

state:表示错误的状态,1至127之间的值

option:指示是否将错误记录到服务器错误日志中

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

Sqlserver2005数据库练习题(1)

Sqlserver2005数据库练习题 第1章数据库技术基础 1.简述数据库、数据库管理系统、数据库系统的含义? 2.简述数据库、数据库管理系统、数据库系统之间的联系? 3.简单描述层次模型、网状模型、关系模型的含义? 4.简述一个学生都包含哪些属性? 5.对于一个学生表来说学生姓名是否可以作为主键,为什么? 6.描述你所在的班级都有哪些实体? 第2章安装Sql Server 2005与服务器管理 1.安装sqlserver 2005需要计算机的最低配置是什么? 2.x86操作系统是什么概念? 3.x64操作系统是什么概念? 4.安装数据库时应该选择什么样的操作系统? 5.开始安装时需要有哪些准备工作? 6.开始安装界面中的其他信息是什么意思? 7.用户许可协议必须为接受么? 8.用户许可协议是否可以打印? 9.系统配置界面中需要检查哪些项? 10.详细信息中哪些项要求必须安装成功才能进行下一步的操作? https://www.360docs.net/doc/bf16486820.html,+目录指的是什么? 12.iis功能要求指的是什么? 13.mdac版本的最低要求是什么? 14.实例名中的默认实例是什么含义? 15.实例名中的命名实例是什么含义? 16.服务器名指的是什么? 17.服务帐户中使用内置系统帐户是什么含义? 18.服务帐户中使用域帐户是什么含义? 19.安装结束时启动服务包括什么? 20.sqlserver2005提供的服务有哪些? 21.安装结束后,哪些服务要求必须启动? 22.ms sqlserver是什么服务? 23.sql server agent是什么服务? 24.sql server analysis services是什么服务? 25.sql server browser是什么服务? 26.如何对服务进行启动、暂停和停止操作? 27.启动数据库时需要做什么工作? 28.如何注册数据库? 29.如何删除注册的服务? 30.如何更改数据库的登陆模式?

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库、表的创建及SQL语句命令 SQLSERVER数据库,安装、备份、还原等问题: 一、存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1、卸载原来的sql server 2000、2005,然后再安装sql server 2008,否则经常sql server服务启动不了 2、sql server服务启动失败,解决方法: 进入sql server configure manager,点开Sql server 网络配置(非sql native client 配置),点sqlzhh(我sqlserver 的名字)协议,将VIA协议禁用。再启动Sql Server服务,成功 如图: 二、在第一次安装SQLSERVER2008结束后,查看安装过程明细,描述中有较多项插件或程度,显示安装失败。 解决方法:

1、重新启动安装程度setup.exe,选择进行修复安装,至完成即可。 三、先创建数据库XXX,再进行还原数据库时,选择好备份文件XXX.bak,确定后进行还原,会报如下图的错误。 解决方法: 选择好备份数据库文件后,再进入“选项”中,勾选“覆盖现在数据库”即可。

四、查看数据库版本的命令:select @@version 在数据库中,点击“新建查询”,然后输入命令,执行结果如下 五、数据库定义及操作命令: 按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。 1、修改数据库密码的命令: EXEC sp_password NULL, '你的新密码', 'sa' sp_password Null,'sa','sa'

sqlserver创建数据库说明

请按以下步骤操作。 1、点击windows的开始菜单找到sql server 的企业管理器,如(图1)。 (图1) 2、点击后出现(图2) (图2)

3、展开Microsoft Sql Servers 项->Sql Server组->你的机器名字(windows NT),如(图3) (图3) 4、在选中的项中点击鼠标右键,如(图4) (图4)

5、点击选择属性菜单后弹出(图5) (图5) 6、请选择安全性页面,在身份验证中选择sql server 和windows 。(可能有的版本不只两个 选择,一定要保证选中sql server身份验证。)选中后请点击确定按钮。如(图6) (图6)

7、回到企业管理器选择数据库项,在右边空白处点击鼠标右键。如(图7) (图7) 8、选择新建数据库菜单,在弹出的窗口中填入kkx_database,如(图8) (图8)

9、选择数据文件页面,将文件名改为kkx_data(你可以更改文件所在的路径),初始大小改 为500。如(图9) (图9) 10、选择事务日志页面,将文件名改为kkx_log(你可以更改文件所在的路径),初始大 小改为100。如(图10) (图10)

11、在上图中点击确定按钮。(根据你的机器性能你需要等待1-10分钟) 12、回到企业管理器选择安全性->登录,在右边空白处点击鼠标右键,如图11 (图11) 13、点击新建登录菜单,在弹出的窗口中更改内容如下 名称:kkx_sa 身份验证:sql server身份验证,注意密码必须是kkx_password 默认设置中的数据库:kkx_database。如(图12) (图12)

实验1SQLServer数据库基本操作

实验1 SQL Server数据库基本操作 一、实验目的 本实验主要了解Microsoft SQL Server 2012中各组件的主要功能和基本使用方法;了解SQL Server数据库的逻辑结构和物理结构;了解数据表的结构特点以及索引的基本概念。通过本实验,读者将学会在“企业管理器”中创建和修改数据库和数据表结构、对数据表进行数据的添加、删除和更新操作以及在数据表上创建字段索引的操作。 二、实验环境 Microsoft SQL Server 2012 SSMS 三、实验内容 1. 创建一个名称为Book的数据库,支持教材订购信息管理,要求: (1)将主数据库文件Book_放置在的D:\DBF文件夹中,文件大小为5MB,最大值为50MB,文件增量为2MB。 (2)将事务日志文件Book_放置在的D:\DBF文件夹中,文件大小为5MB,最大值为100MB,文件增量为1MB。 【实验步骤】 1)在D:\下创建DBF文件夹。 2)在SSMS中的对象资源管理器窗口右单击“数据库”,从快捷菜单中选择“新建数据库”命令,出现“数据库属性”对话框。 3)在“数据库属性”对话框中选择“常规”选项卡,在名称文本框中输入:Book; 4)在“数据库属性”对话框中选择“数据文件”选项卡,设置数据文件的位置、大小、

最大值和文件增量等属性; 5)在“数据库属性”对话框中选择“事务日志”选项卡,设置事务日志文件的位置、大小、最大值和文件增量等属性。 6)点击“确定”按钮,建立“Book”数据库,如下图所示: 2. 在上题所建数据库Book中建立5张数据表结构。 字段名称字段说明类型定义属性限定索引外键AcadCode 学院代码Char(2) Primary Key √ AcadName 学院名称Varchar (50) Not Null

sqlserver数据库快速入门

--建数据库 create database school --建表 use school create table students ( s_id int identity(1,1) primary key,--设主键,为自增id s_name varchar(20) not null, s_classId int ) create table class ( c_id int identity(1,1) primary key,--设主键,为自增id c_className varchar(20) not null ) create table student_Score ( ss_id int identity(1,1) primary key,--设主键,为自增id ss_score varchar(200) not null, s_id int ) --设外键 use school alter table students add constraint FK_class_studets foreign key(s_classId)references class(c_id) --设外键 use school alter table student_Score add constraint FK_students_student_Score foreign key(s_id)references students(s_id) --插class数据 insert into class(c_className) values('08ACCP1班') insert into class(c_className) values('08ACCP2班') insert into class(c_className) values('08ACCP3班') insert into class(c_className) values('08ACCP4班') insert into class(c_className) values('08网编1班') insert into class(c_className) values('08网编2班') insert into class(c_className) values('08软开1班') insert into class(c_className) values('08软开2班') insert into class(c_className) values('08软开3班') insert into class(c_className) values('08信管1班') --插studets数据 insert into students(s_name,s_classId) values('陈志锦',2) insert into students(s_name,s_classId) values('何金喜',4) insert into students(s_name,s_classId) values('黄瑞驰',5)

C#与sqlserver数据库操作_附实例说明及sql语句大全

C#数据库连接操作大全+sql语句大全 下面是c#与数据库的连接及增删改除的各种操作,全部经过上机验证。学习软件的过程中,数据库起着至关重要的作用。软件行业里面有句老话,不会数据库就没有入门。软件思想可以慢慢培养,但是数据库的链接是一定要学会的。增删改查各种都不能少。 创建数据库 创建之前判断该数据库是否存在if exists (select * from sysdatabases where name='databaseName') drop database 'databaseName' go Create DATABASE database-name 删除数据库 drop database dbname 备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 创建新表 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 删除新表 drop table tabname 增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 添加主键 Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 创建索引 create [unique] index idxname on tabname(col….) 删除索引:drop index idxname on tabname 注:索引是不可更改的,想更改必须删除重新建。 创建视图 create view viewname as select statement 删除视图:drop view viewname 几个简单的基本的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%? (所有包含…value1?这个模式的字符串)---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count(*) as totalcount from table1 求和:select sum(field1) as sumvalue from

SQLServer-数据库—创建建表查询语句

SQL Server 2008数据库—创建、建表、查询语句 一、创建数据库 1、利用对象资源管理器创建用户数据库: (1)选择“开始”—“程序”—Microsoft SQL Server 2008—SQL Server Management Studio命令,打开SQL Server Management Studio。 (2)使用“Windows身份验证”连接到SQL Server 2008数据库实例。 (3)展开SQL Server 实例,右击“数据库”,然后人弹出的快捷菜单中选择“新建数据库存”命令,打开“新建数据库”对话框。 (4)在“新建数据库”对话框中,可以定义数据库的名称、数据库的所有者、是否使用全文索引、数据文件和日志文件的逻辑名称和路径、文件组、初始大小和增长方式等。输入数据库名称student。 2、利用T-SQL语句创建用户数据库: 在SQL Server Management Studio中,单击标准工具栏的“新建查询”按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击“执行”按钮。SQL编辑器就提交用户输入的T-SQL语句,然后发送到服务器执行,并返回执行结果。 创建数据库student的T-SQL语句如下: Create data base student On primary ( name=student_data, filename='E:\SQL Server2008 SQLFULL_CHS\student_data.mdf', size=3, maxsize=unlimited, filegrowth=1 ) Log on (name=student_log, filename='E:\SQL Server2008 SQLFULL_CHS\student_log.ldf', size=1, maxsize=20, filegrowth=10% ) 二、创建数据表 1、利用表设计器创建数据表: (1)启动SQL Server Management Studio,连接到SQL Server 2008数据库实例。

一个比较标准的sqlserver建表格式

一个比较标准的sqlserver建表格式 CREATE TABLE [dbo].[admin]( [id] [int] IDENTITY(1,1) NOT NULL, [usersname] [nvarchar](50) NULL, [password] [nvarchar](50) NULL, [groud] [int] NULL CONSTRAINT [DF_admin_groud] DEFAULT ((0)), [data] [datetime] NULL CONSTRAINT [DF_admin_data] DEFAULT (getdate()), CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 解释: CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 这是在id列上创建一个唯一聚集索引的语句。 primary key表明创建的是主键约束,culstered表示索引类型是聚集索引,IGNORE_DUP_KEY = OFF的作用是在向表中插入数据的时候,如果遇到表中已经存在id的值,insert语句就会失败,并且回滚整个insert语句。 ON [PRIMARY]表示是索引创建在主文件组上。 [pk_ admin] 是主键的名称。 需要注意的是sqlserver2000不支持WITH (IGNORE_DUP_KEY = OFF) 再看一个,和上面的有一点不一样: CREATE TABLE [dbo].[news]( [id] [int] IDENTITY(1,1) NOT NULL, [title] [nvarchar](100) NULL, [classid] int NULL, boardid int NULL, [contents] [ntext] NULL, [oSource] [nvarchar](50) NULL, [oAuthor] [nvarchar](50) NULL, [picurl] [nvarchar](100) NULL, [keytxt] [nvarchar](50) NULL, [data] [datetime] NULL CONSTRAINT [DF_news_data] DEFAULT (getdate()), [hklick] [int] NULL CONSTRAINT [DF_news_hklick] DEFAULT ((0)), [pinglun] [int] NULL CONSTRAINT [DF_news_pinglun] DEFAULT ((0)),

在SQLserver2005中创建与管理数据库

实验报告 实验题目:实验2 在SQLserver2005 中创建与管理数据库 实验地点:一教8机房 指导教师:倪宁 学生班级:软件1111 学生学号:00124 姓名:崔章 实验时间: 2012年3月18

一、实验目的 (1)熟习SQL server2005管理向导的使用(启动与退出)。 (2)熟习SQL server2005管理向导的界面 (3)熟习SQL server2005配置管理器(启动与关闭服务) (4) 会进行注册SQL Server服务器。 (5) 会行进简单的查询分析器的操作。 (6) 掌握SQL server2005的启动与退出方法 (7) 了解SQ LServer数据库的逻辑结构和物理结构。 (8) 熟练使用SSMS进行数据库创建与管理。 二、实验设备及环境 1. 奔腾计算机2.WINXP 3.SQL server2005 三、实验内容 在SQL Server Management Studio 中创建数据库和在数据库中完成简单的增加、修改、删除、查看、备份、还原等操作。 四、实验过程概述 1、打开“SQL Server Management Studio”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点。 2、单击“新建数据库”命令。 3、在数据库名称中输入数据库名。 五、实验结果及分析 (1) 写出创建注册的步骤(用文字描述) 1、打开“SQL Server Management Studio”窗口,在“对象资

源管理器”中展开服务器,鼠标右键单击“数据库”节点。 2、单击“新建数据库”命令。 3、在数据库名称中输入数据库名。 (2) 写出查询分析器的使用方法。 1、打开“SQL Server Management Studio”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点。 2、鼠标右键单击目标数据库,在弹出的快捷键当中选择“属性’命令。 3、在该对话框的“常规”选项卡里,可看到该数据库的基本信息,如数据库备份信息数据库的名称、状态、所属者,创建数据库的时间、大小等。 4、单机“确定”按钮,完成。 (3) 写出进行本次实验的总结。 本次试验让我们对SQL server 2005 的掌握程度大大提高,教会了我们怎样创建一个数据库和怎样修改数据库里的内容。 (4) 写出数据库的分离及附加方法(简述),操作过程应注意哪些问题? 答:在“状态”列显示“未就绪”时分离数据库操作会失败。终止完进程后,单击“活动监视器”对话框里的“关闭”按钮,返回到“分离数据库”对话框,再单击“取消”返回“SQL Server Management Studio”窗口。 (5)按题目的顺序将各题的截图放入word 报告中。要在所截图的

用sqlserver创建数据库与数据表

实验1 创建数据库与数据表 实验目的: 1.熟悉SQL SERVER环境,了解企业管理器和查询分析器的基本使用方法; 2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER和DROP命令; 3.掌握数据表的创建和数据记录的插入方法。 实验内容: 1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE和选修SC 三个数据表,各表中的数据如下所示: 学生STUDENT: Sno Sname Ssex Sage Sdept 95001 李勇M 20 CS 95002 刘晨 F 19 IS 95003 王敏 F 18 MA 课程 Cno Cname Cpno Ccredit 1 数据库 5 4 2 数学 2 3 信息系统 1 4 4 操作系统 6 3 5 数据结构7 4 6 数据处理 2 7 C语言 6 4 选修SC: Sno Cno Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80 2. 创建供应系统“GYXT”数据库,其中包括供应商表S、零件表P、工程项目表J和供应情况表SPJ四个数据表,各表中数据如下所示。 供应商S: SNO SNAME CITY S1 精益天津 S2 万胜北京 S3 东方北京 S4 丰泰隆上海 零件P: PNO PNAME COLOR WEIGHT

P1 螺母红12 P2 螺栓绿17 P3 螺丝刀蓝14 P4 螺丝刀红14 P5 凸轮蓝40 P6 齿轮红30 工程项目J: JNO JNAME CITY J1 三建北京 J2 一汽长春 J3 弹簧厂天津 J4 造船厂天津 J5 机车厂唐山 J6 无线电厂常州 供应情况SPJ: SNO PNO JNO QTY S1 P1 J1 200 S1 P1 J3 100 S1 P1 J4 700 S1 P2 J2 100 S2 P3 J1 400 S2 P3 J2 200 S2 P3 J4 500 S2 P3 J5 400 S2 P5 J1 400 S2 P5 J2 100 S3 P1 J1 200 S3 P3 J1 200 S4 P5 J1 100 S4 P6 J3 300 S4 P6 J4 200 S5 P2 J4 100 S5 P3 J1 200 S5 P6 J2 200 S5 P6 J4 500 实验步骤: 1.用企业管理器创建教学管理“JXGL”数据库。 (1) 连接“服务器管理器”。 选择“开始/程序/Microsoft SQL Server/服务管理器”,进入SQL服务管理器窗口,如图1.1所示。选择要启动的服务器和准备启动的服务,单击“开始/继续”按钮,开始启动服务,稍后绿灯亮,启动成功。 (2) 打开“企业管理器”。 选择“开始/程序/Microsoft SQL Server/企业管理器”,就出现企业管理器窗口。企业管

SQLServer数据库安装说明

SQL Server 2000 Enterprise Edition 安装说明 前言 1、SQL SERVER 2000数据库包括四个版本:企业版(SQL 2000 Server Enterprise)、个人版、标准版、开发版。 2、WINDOWS 2000操作系统包括三个版本:专业版(Windows 2000 Professionnal)、服务器版(Windows 2000 Server)、高级服务器版(Windows 2000 Advanced Server) 3、Kingwin-star推荐用户安装SQL SERVER 2000企业版。 服务器的操作系统也推荐安装WINDOWS 2000 服务器版或高级服务器版。 4、安装SQL SERVER 2000标准版、个人版、开发版可以用,但安装会很复杂,不推荐。 5、如果操作系统安装了WINDOWS 2000专业版,数据库需要安装SQL SERVER 2000个人版,安装SQL SERVER 2000企业版不会成功。 6、本安装先导是安装SQL SERVER 2000数据库企业版的帮助向导。 Step1--初始安装选择 本文将在Windows 2000 Server操作系统作为示例,详细介绍安装SQL Server 2000企业版的过程。请首先安装Windows 2000 Server。 图A-1

在上图中,请选择"安装SQL Server 2000 组件",出现下面一个页面后,请选择"安装数据库服务器" 。 图A-2 Step2--安装新实例 执行以上的选择后,出现下面的欢迎界面 图A-3

在上图中,选择“下一步”,然后选择“本地计算机” 进行安装。 图A-4 单击"下一步"出现在"安装选择" 窗口,图A-5。选择"创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。

SqlServer创建数据库连接池

C3p0数据库连接池配置有三种方法,我这里只说其中一种,本人认为也是最方便的一种。。 (myApp表示你要在类中引用数据库连接池,需要的名称) sa 837706069 com.microsoft.sqlserver.jdbc.SQLSe rverDriver jdbc:sqlserver://localhost:1433; databaseName=java_web(databaseName=java_web,这句话非常重要,表示你的数据库名称,这个和MySQL有区别(MySQL是 bds.setUrl("jdbc:mysql://localhost:3306/jdbc3")));切记,一定要写上这句话 2

5 5 15 10 5 在java类中这样写: static ComboPooledDataSource dataSource =null; static{ //静态表示数据源只能被创建一次,推荐这样写 dataSource=new ComboPooledDataSource("myApp"); }

在SQLServer 中如何创建用户 分配权限

s q l s e r v e r2000如何创建用户 use你的库名 go--新增用户 exec sp_addlogin 'test'--添加登录 exec sp_grantdbaccess N'test'--使其成为当前数据库的合法用户 exec sp_addrolemember N'db_owner', N'test'--授予对自己数据库的所有权限 --这样创 建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表 go--删除测试用户 exec sp_revokedbaccess N'test'--移除对数据库的访问权限 exec sp_droplogin N'test'--删除登录 如果在企业管理器中创建的话,就用: 企业管理器--安全性--右键登录--新建登录 常规项--名称中输入用户名--身份验证方式根据你的需要选择(如果是使用windows身份验证,则要先在操作系统的用户中新建用户)--默认设置中,选择你新建的用户要访问的数据库 名服务器角色项这个里面不要选择任何东西 数据库访问项勾选你创建的用户需要访问的数据库名 数据库角色中允许,勾选"public","db_ownew" 确定,这样建好的用户与上面语句建立的用户 一样--------------------------------------------------------------------------- 最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例: --添加只允许访问指定表的用户: exec sp_addlogin '用户名','密码','默认数据库名' --添加到数据库exec sp_grantdbaccess '用户名' --分配整表权限GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO[用户名] --分配权限到具体的列GRANT SELECT , UPDATE ON table1(id,AA) TO[用户名] -------------------------------------------------------------------------------- --------------------- 建角色,用户,权限/*--示例说明示例在数据库pubs中创建一个拥有表jobs的所有权限、拥有表titles的SELECT权限的角色r_test 随后创建了一个登录l_test,然后在数据库pubs 中为登录l_test创建了用户账户u_test 同时将用户账户u_test添加到角色r_test中,使 其通过权限继承获取了与角色r_test一样的权限最后使用DENY语句拒绝了用户账户u_test 对表titles的SELECT权限。经过这样的处理,使用l_test登录SQL Server实例后,它只 具有表jobs的所有权限。 --*/USE pubs --创建角色 r_test EXEC sp_addrole 'r_test' --授予 r_test 对 jobs 表的所有权限GRANT ALL ON jobs TO r_test --授予角色 r_test 对 titles 表的 SELECT 权限GRANT SELECT ON titles TO r_test --添加登录 l_test,设置密码为pwd,默认数据库为pubs EXEC sp_addlogin 'l_test','pwd','pubs' --为登录 l_test 在数据库 pubs 中添加安全账户 u_test EXEC sp_grantdbaccess 'l_test','u_test'--添加 u_test 为角色 r_test 的成员EXEC sp_addrolemember 'r_test','u_test' --拒绝安全账户 u_test 对 titles 表的 SELECT 权限DENY SELECT ON titles TO u_test /*--完成上述步骤后,用 l_test 登录,可以对jobs表进行所有操作,但无法对titles表查询,虽然角色 r_test 有titles表的select权限,但已经在安全账户中明确拒绝了对titles 的select权限,所以l_test无titles表的select权限--*/ --从数据库 pubs 中删除安全账户EXEC sp_revokedbaccess 'u_test'

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库、表的创建及SQL语句命令SQLSERVER数据库,安装、备份、还原等问题: 一、存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1、卸载原来的sql server 2000、2005,然后再安装sql server 2008,否则经常sql server服务启动不了 2、sql server服务启动失败,解决方法: 进入sql server configure manager,点开Sql server 网络配置(非sql native client 配置),点sqlzhh(我sqlserver 的名字)协议,将VIA协议禁用。再启动Sql Server服务,成功 如图: 二、在第一次安装SQLSERVER2008结束后,查看安装过程明细,描述中有较多项插件或程度,显示安装失败。 解决方法: 1、重新启动安装程度setup.exe,选择进行修复安装,至完成即可。 三、先创建数据库XXX,再进行还原数据库时,选择好备份文件XXX.bak,确定后进行还原,会报如下图的错误。

解决方法: 选择好备份数据库文件后,再进入“选项”中,勾选“覆盖现在数据库”即可。 四、查看数据库版本的命令:select @@version

在数据库中,点击“新建查询”,然后输入命令,执行结果如下 五、数据库定义及操作命令: 按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。 1、修改数据库密码的命令: EXEC sp_password NULL, '你的新密码', 'sa' sp_password Null,'sa','sa' 2、操作SQL2008数据库的命令 备份SQL数据库: backup database[3D-DATA]/*原数据库*/to disk='D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\backup\3D-DATA_backup_20131017.bak/*数据库备份文件*/' with name='3D-DATA_backup_20131017'/*数据库备份文件*/ 查看备份数据库的逻辑文件: restore filelistonly from disk= 'd:\Program Files\Microsoft SQL Server\ MSSQL10.MSSQLSERVER\MSSQL\backup\3D-DATA_backup_20131017.bak ' 强制还原SQL数据库: [其中,Test-3d是已存在的数据库,3D-FEP_data和3D-FEP_log为备份数据库的两个逻辑文件,] restore database[Test-3d] from disk='d:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\3D-DATA_backup_20131017.bak' with move'3D-FEP_data'to'D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-3d.mdf', move'3D-FEP_log'to'D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-3d_log.ldf', stats= 10/* 表示每完成10%显示一条记录*/,replace/*表示强制,放置在with后,加英文逗号也可*/

相关文档
最新文档