1 / 24

第 5 讲 数据库与事务日志、表

第 5 讲 数据库与事务日志、表. 学习任务. 一、数据库与事务日志 1. 熟悉数据库的文件组成。 2. 了解系统数据库的作用。 3. 熟练创建、管理数据库和事务日志。 二、表 1. 熟练掌握创建、修改和删除表。 2. 使用 Transact-SQL 语言修改表。. 数据库的存储结构. 1. 数据库的存储结构 问题 数据库设计完成后如何建到系统中去 ? 当系统业务数据增长后,如何调整数据库容量呢? 数据库文件 主文件:包含数据库的启动信息、数据信息 —— 唯一的( .MDF ) 事务日志:包含恢复数据库的所有日志信息 —— 至少一个 (.LDF)

Download Presentation

第 5 讲 数据库与事务日志、表

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第5讲 数据库与事务日志、表

  2. 学习任务 一、数据库与事务日志 1.熟悉数据库的文件组成。 2.了解系统数据库的作用。 3.熟练创建、管理数据库和事务日志。 二、表 1.熟练掌握创建、修改和删除表。 2.使用Transact-SQL语言修改表。

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

  4. 数据库的存储结构(续) • 数据库文件组 • 主文件组、次文件组、用户定义文件组 • 可以提高数据库的查询性能 • 设计文件和文件组的规则 • 一个文件或文件组不能用于多个数据库,只能用于一个数据库 • 一个文件只能是一个文件组的成员 • 一个数据库的数据信息和事务日志信息总是分开存放的 • 事务日志文件不能成为任何文件组的成员

  5. 数据库对象(逻辑结构) 2.数据库对象 • 关系图 • 表 • 视图 • 存储过程 • 用户 • 角色 • 规则 • 默认 • 用户定义的数据类型 • 用户定义的函数 • 全文目录

  6. 系统数据库和示例数据库 3.系统数据库和示例数据库 • 系统数据库 master数据库:记录系统的所有系统级的信息 • model数据库:模板数据库 • msdb数据库:记录了有关SQL Server Agent服务的信息 • tempdb数据库:临时数据库,用于保存中间数据 • 示例数据库 • Northwind数据库 • pubs数据库

  7. 创建数据库 4.创建数据库 • 使用企业管理器 • 使用向导 • 使用SQL语句 问题:用SQL语句创建数据库sampdb,有一个数据文件20MB,一个日志文件10MB。 • 显示数据库信息 sp_helpdb

  8. 创建数据库 名称newxk 数据文件newxk_data.mdf,保存在c:\中,5MB-10MB,按1MB增长 事务日志newxk_log.ldf,保存在c:\中,2MB-5MB,按10%增长 CREATE DATABASE nexxk ON ( NAME=newxk_data, FILENAME=‘c:\newxk_data.mdf’, SEZE=5MB, MAXSIZE=10MB, FILEGROWTH=1MB) LOG ON ( NAME=‘newxk_log’, FILENAME=‘newxk_log.ldf’, SEZE=2, MAXSIZE=5,FILEGROWTH=10%) GO

  9. 课堂练习一 1.用SQL语句创建数据库sampdb,有一 个数据文件20MB,一个日志文件10MB。

  10. 管理数据库 5.管理数据库 (1)扩充数据库和事务日志的容量 • 增加次要文件和事务日志文件 【练习】为newdb数据库增加一个次要文件newdb_data2. Use master Go ALTER DATABASE newdb ADD FILE ( NAME=newdb_data2, FILENAME=‘c:\newdb_data2.ndf’, SIZE=4MB, MAXSIZE=10MB, FILEGROWTH=1MB) GO

  11. 【练习】将数据库sampdb的数据文件大小扩充到25MB【练习】将数据库sampdb的数据文件大小扩充到25MB Use master Go ALTER DATABASE sampdb MODIFY FILE (NAM=‘sampdb_data’, SIZE=25MB) GO 【练习】 将sampdb的日志文件扩充到15M。 Use master Go ALTER DATABASE sampdb MODIFY FILE (NAM=’sampdb_log’, SIZE=15MB) GO

  12. (2)配置数据库 企业管理器、sp_dboption存储过程 例:Sp_dboption ‘xk’,’read only’,’true’ (3)缩小数据库和数据文件 【练习】将sampdb数据库的数据文件压缩为3MB Use sampdb Go DECC SHRINKFILE(sampdb_data,3) Go

  13. 【练习】压缩xk数据库的大小到原来的30%. Use xk Go DBCC SHRINKDATABASE(xk,30) Go (4)删除数据库 DROP DATABASE ,企业管理器 重命名数据库(sp_renamedb) (5)重命名数据库(sp_renamedb)

  14. 课堂练习二 1.用SQL语句创建数据库sampdb,有 一个数据文件20MB,一个日志文件10MB。(课堂练习一) 2.为sampdb数据库增加一次要文件sampdb_data2,增加一日志文件sampdb_log2. 3.压缩sampdb数据库大小到原来的50%。 4.将数据库sampdb名字修改为mysampdb.

  15. 1.数据库中的表的概念 表定义为列的集合,数据在表中是按行和列的组 织形式排列的。 2.SQL Server的数据类型 • 数据类别 • 长度 • 精度 • 小数位数 • 空值:没有输入的值,未知或未定义 • 避免用空值直接参与运算 • 尽量不要允许用空值(用默认值解决没有输入的问题)

  16. 表操作 3.创建表 (1)企业管理器 (2)使用Transact_SQL语句 【练习】分别用两种方法为Sampdb数据库创建student表,class表。 4.管理表 • 重命名表(sp_rename) • 删除表(DROP TABLE) • 修改表(ALTER TABLE)

  17. 向表中输入数据 5.向表中输入数据 • 使用企业管理器 • 使用INSERT语句 • 注意事项: • 对已经存在的值,系统不允许输入重复值 • 对某些不允许为空的字段,不允许输入空值 • 数据类型要和所对应的字段的定义相同 • values值列表的顺序要与表的字段顺序一致

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

  19. 向表中输入数据(续) • 使用SELECT INTO语句 SELECT select_list INTO new_table_name FROM table_list WHERE search_conditions • 注意事项: • 新表不能存在,否则会产生错误信息 • 新表中的列和行是基于查询结果集的

  20. 修改、删除表中的数据 • 修改表中的数据 问题:把学号为‘00000001’的学生姓名改为‘Alex’ 问题:把课程号在‘002’到‘005’之间的课程的报名人数增加1。 • 涉及多个表的修改 问题:把学号为’00000001’,选修课为’Java技术的开发应用’的自愿号(WillOrder)改为2。需要用到两个表StuCou和Course。

  21. 删除表中的数据 DELETE table_name FROM … WHERE … 问题:删除学号‘00000011’的学生的选课记录。 • 涉及多个表的删除 问题:学号为’00000002’的同学取消了’中餐菜肴制作’课程的选修,请在表StuCou中把他的选课信息删除。

  22. 本节小节 • 数据库的存储结构(物理文件和逻辑文件) • 要求熟练掌握创建、删除和修改数据库的方法 • 使用企业管理器和SQL语句创建、修改、删除表 • 使用企业管理器和SQL语句输入、修改和删除表中的数据,尤其掌握多表的删除

  23. 4月13日实训 目的要求:1.创建数据库。 2.创建表格。 实训内容: 1.用SQL语句创建名为sale的数据库, 数据文件名为sale_data.mdf,为主文 件;事务日志文件名为sale_log.ldf. 2.用SQL语句在sale数据库中,设计客 户表、产品表、入库表、销售表。表 格格式和数据参照教材P153实训项目。 实训过程: 实训小结:

  24. 实训问题 • --企业管理器中找表格??? --在数据库中创建表! • --输入数据、修改数据 --选中要修改的内容重新修改!

More Related