SQL Server 2000全面接触
术语
数据库服务器 Database Server
数据库 Database
关系数据库 Relational Database
客户机/服务器 Client/server
结构化查询 Structured Query Language SQL
列 Column
行 Row
字段 Field
数据记录 Record
数据定义语言 Data Definition Language DDL
数据处理语言 Data Manipulation Language DML
表 Table
视图 Views
约束 Constraints
规则 Rules
默认 Defaults
索引 Indexes
键 Keys
用户定义的数据类型 User-Defined Data Types
用户定义的函数 User-Defined Functions
存储过程 Stored Procedures
触发器 Triggers
数据库管理系统的例行操作
1) 数据的获取
2) 数据的添加
3) 数据的更新
4) 数据的删除
5) 数据的汇总和统计计算
6) 数据的打印
7) 数据的排序
8) 数据的可恢复性和一致性:数据的备份和数据一致性。
服务管理器的暂停功能:
一旦暂停,将不允许新的上线者---也就是不接受新的联机,然而原先已联机到sqlserver的用户仍然能继续作业。
数据库的物理存储结构
页Page:
是数据存储的最小单位,每个页的大小为8KB,。数据库的每一个页只会存储来自某一个对象的数据。,当然,许多对象会占用好几页。
除了text,ntext,image数据类型以外,表的数据记录中所有数据都存储在数据页中。在SQL Sqlser中,每一条记录的最大数据量是8060个字节。
扩展盘区Extent:
由8个连续的页组成,也就是68KB。
数据库的组成文件
主数据文件:扩展名.mdf
次数据文件:扩展名.ndf,只有当主数据文件超过windows2000单一文件大小的限制,便需要有次数据文件来保存。
日志文件:扩展名.ldf
创建数据库
默认的创建数据库的权限只有sysadmin和dbcreator
最多可以在一部服务器上创建32767个数据库。
创建数据库后请立即备份master数据库。
强烈建议不要在 master 数据库中创建任何用户对象(如表、视图、存储过程或触发器)。master 数据库包含系统表,这些系统表存储 SQL Server 所用的系统信息(如配置选项设置)。
删除数据库:drop database 数据库名
修改数据库名称:exec sp_renamedb ‘test’,’test1’
以上命令都在查询分析器中执行。
系统数据库的用途:
master:内含许多系统表(System Tables),以便用来跟踪和记录SQL Server的相关信息。
model:是所有新建数据库的模板,当您新建数据库的时候SQL Server就会复制model并以次作为新数据库的基础。
tempdb:保存临时表的存储过程。
Msdb:让SQL Server Agent服务使用的。
创建一个表时的注意事项:
填写默认值,设置主键,建立约束,设置级联。
说明数据库中各项各自的用法
默认:
在表的字段的“默认值”中会出现dtime这个对象供选取,好处是一次定义在创建表的时候所有表可以共用这个对象。
关系图
创建外键约束。
设置表之间各个字段的关系
规则:跟CHECK约束一样,只是在定义的规则只需创建一次便可以被同一数据库中的所有表的不同字段共享
索引的好处,能提高查询速度。
索引的规则:
经常用来搜索的字段;
主键约束的字段;
应用UNIQUE的字段;
FOREIGN KEY约束所定义的作为外键的字段;
查询用来连接表的字段;
经常用来作为排序基准的字段。
类似sql plus的sqlserver2000实用工具 OSQL。
在运行中输入 osql –U sa –P sa
第一个sa表示登陆数据库名称,第二sa表示密码
示例:
写好sql之后,输入go然后回车即可。
程序设计
声明一个变量
declare @today int –声明一个变量
set @today=day(getdate()) –赋值
if(@today=17) --本月的一号
begin --语句块的开头
print '今天的寿星是' --打印
print @today
select * from table1 where id=1
end --语句块的结束
else
begin
print '不是我'
end
计算从1到100的和
declare @sum int,@i int
set @sum=0
set @i=1
while(@i<=100)
begin
set @sum=@sum+@i
set @i=@i+1
end
select @sum