第 5讲数据库与事务日志、表数据库的存储结构
问题数据库设计完成后如何建到系统中去?
当系统业务数据增长后,如何调整数据库容量呢?
数据库文件
主文件:包含数据库的启动信息、数据信息 —— 唯一的
事务日志:包含恢复数据库的所有日志信息 —— 至少一个
次要文件:主文件中不包括的所有数据信息 —— 零个、一个或多个
物理文件(操作系统中实际存在的文件)和逻辑文件(数据库中的标志)
数据库的存储结构



数据库文件组
主文件组、次文件组、用户定义文件组
可以提高数据库的查询性能
设计文件和文件组的规则
一个文件或文件组不能用于多个数据库,只能用于一个数据库
一个文件只能是一个文件组的成员
一个数据库的数据信息和事务日志信息总是放开存放的
事务日志文件不能成为任何文件组的成员数据库对象
关系图

视图
存储过程
用户
角色
规则
默认
用户定义的数据类型
用户定义的函数
全文目录系统数据库和示例数据库
系统数据库
master数据库:记录系统的所有系统级的信息
model数据库:模板数据库
msdb数据库:记录了有关 SQL
Server Agent服务的信息
tempdb数据库:临时数据库,用于保存中间数据
示例数据库
Northwind数据库
pubs数据库创建数据库
使用企业管理器
使用向导
使用 SQL语句问题:用 SQL语句创建数据库 sampdb,
有一个数据文件 20MB,一个日志文件 10MB。
显示数据库信息
sp_helpdb
创建数据库练习
创建数据库名称 newxk
数据文件 newxk_data.mdf,保存在 c:\
中,5MB-10MB,按 1MB增长事务日志 newxk_log.ldf,保存在 c:\
中,2MB-5MB,按 10%增长
创建名为 Archive 的数据库,使用三个 10 MB 的数据文件,包含在主文件组 primary中,组中第一个文件 Arch1为主要数据文件,同时有两个 10 MB 的事务日志文件。
管理数据库
扩充数据库和事务日志的容量
增加次要文件和事务日志文件
【 练习 】 为 newdb数据库增加一个次要文件 newdb_data2.
【 练习 】 将数据库 sampdb的数据文件大小扩充到 25MB
【 练习 】 将 sampdb的日志文件扩充到 15M。
【 练习 】 将 sampdb数据库的数据文件压缩为 3MB
【 练习 】 增加一个日志文件
【 练习 】 删除日志文件
配置数据库( sp_dboption)
缩小数据库和数据文件
重命名数据库( sp_renamedb)
删除数据库表
数据库中的表的概念
SQL Server的数据类型
数据类别
长度
精度
小数位数
空值:没有输入的值,未知或未定义
避免用空值直接参与运算
尽量不要允许用空值(用默认值解决没有输入的问题)
表操作
创建表
重命名表
删除表
修改表向表中输入数据
使用企业管理器
使用 INSERT语句
注意事项:
1,对已经存在的值,系统不允许输入重复值
2,对某些不允许为空的字段,不允许输入空值
3,数据类型要和所对应的字段的定义相同
4,values值列表的顺序要与表的字段顺序一致向表中输入数据



使用 SELECT语句
INSERT table_name
SELECT column_list
FROM table_list
WHERE search_conditions
注意事项:
1,INSERT语句中和 FROM子句中使用的表可以相同也可以不同,但必须使已经存在的表
2,SELECT子句得到的结果集一定要和 INSERT中指定的表兼容。(列的数量和顺序要相同)
向表中输入数据



使用 SELECT INTO语句
SELECT select_list
INTO new_table_name
FROM table_list
WHERE search_conditions
注意事项:
新表不能存在,否则会产生错误信息
新表中的列和行是基于查询结果集的修改

删除表中的数据
修改表中的数据问题:把学号为 ‘ 00000001’的学生姓名改为 ‘ Alex’
问题:把课程号在 ‘ 002’到 ‘ 005’之间的课程的报名人数增加 1。
涉及多个表的修改问题:把学号为 ’ 00000001’,选修课为 ’ Java技术的开发应用 ’ 的自愿号( WillOrder)改为 2。需要用到两个表 StuCou和 Course。
删除表中的数据
DELETE table_name
FROM …
WHERE …
问题,删除学号‘ 00000011’的学生的选课记录。
涉及多个表的删除问题:学号为 ’ 00000002’的同学取消了 ’ 中餐菜肴制作 ’ 课程的选修,
请在表 StuCou中把他的选课信息删除。
本节小节
数据库的存储结构(物理文件和逻辑文件)
要求熟练掌握创建、删除和修改数据库的方法
使用企业管理器和 SQL语句创建、修改、删除表
使用企业管理器和 SQL语句输入、修改和删除表中的数据,
尤其掌握多表的删除