第三次的上机实验作业其实和第二次是一样的,老师主要讲了下EA和Powerdesigner的用法。。我后面有发过一些powerdesigner的使用教程。。 第二天上课(周二)老师说:要会代码建库^^.原来我只会ssms建库。惭愧啊。。还好我下决心要学会代码建库了。 下面看下老师上课留下的作业: create database dbtest --数据库的名称 on--指定显示定义用来存储数据库数据部分的磁盘文件(数据文件) (name=mydatabase_mdf,--表示文件的逻辑名称(这个名字我研究半天了,搞不懂这是干嘛的?) filename='D:/test/mydatabase_mdf.mdf',--表示创建文件时操作系统使用的路径和文件名(我曾经尝试过D:/mydatabase_mdf.mdf--但是不可以) size=5,--文件的初始大小 maxsize=400, filegrowth=10%--文件的自动增长大小(可以使百分比,也可以是以MB为单位) ) log on--指定显示定义用来存储数据库日志部分的磁盘文件(日志文件) (name=mydatabase_log, filename='D:/test/test.ldf',--(我曾经尝试过D:/test.mdf--但是不可以--老师问我们ldf与mdf文件的名字是否可以不同,回答是yes) size=5, maxsize=100, filegrowth=10% ) --在数据库dbtest中增加一个file alter database dbtest add file (name=mydatabase_mdf_01, filename='D:/test/mydatabase_mdf_01.mdf', size=5, maxsize=100, filegrowth=10% ) alter database dbtest modify file (name=mydatabase_mdf_01,--(原来如此,name就相当于文件的id) filename='D:/test/mydatabase_mdf_02.mdf',--我把名字该成02了 size=6, maxsize=100, filegrowth=12% ) exec sp_helpdb dbtest drop database dbtest_01 create database dbtest_01 on primary (name=mydatabase_mdf_01, filename='D:/test/dbtest_01_01.mdf', size=5, maxsize=100, filegrowth=10% ),--注意这里有逗号 (name=mydatabase_mdf_02, filename='D:/test/dbtest_01_02.mdf', size=5, maxsize=100, filegrowth=10% ), filegroup group_01 (name=mydatabase_mdf_03, filename='D:/test/dbtest_01_03.mdf', size=5, maxsize=100, filegrowth=10% ), filegroup group_02 (name=mydatabase_mdf_04, filename='D:/test/dbtest_01_04.mdf', size=5, maxsize=100, filegrowth=10% ) alter database dbtest_01 add file primary (name=mydatabase_mdf_05, filename='D:/test/dbtest_01_05.mdf', size=5, maxsize=100, filegrowth=10% ) exec sp_helpdb dbtest_01--调用系统的存储过程-- alter database dbtest_01 set auto_shrink on use dbtest_01 dbcc shrinkfile (mydatabase_mdf_05,4)--第一个参数是name,第二个是想要还留有20%*maxsize的余地。 /*语法 DBCC SHRINKFILE ( { file_name | file_id } { [ , target_size ] | [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ] } ) 参数 file_name 是已收缩文件的逻辑名称。文件名必须符合标识符的规则。有关更多信息,请参见使用标识符。 file_id 是要收缩的文件的标识 (ID) 号。若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles。 target_size 是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,DBCC SHRINKFILE 将文件大小减少到默认文件大小。 如果指定 target_size,DBCC SHRINKFILE 将试图将文件收缩到指定大小。将要释放的文件部分中的已使用页将重新定位到保留的文件部分中的可用空间。例如,如果数据文件为 10MB,则带有 target_size 为 8 的 DBCC SHRINKFILE 将导致文件最后 2 MB 中所有已用页重新分配到文件前 8 MB 中的任何可用槽中。DBCC SHRINKFILE 不会将文件收缩到小于存储文件中的数据所需要的大小。例如,如果使用 10MB 数据文件中的7 MB,带有 target_size 为 6 的 DBCC SHRINKFILE 语句只能将该文件收缩到 7 MB,而不能收缩到 6 MB。 EMPTYFILE 将所有数据从指定文件中迁移到同一文件组中的其它文件。Microsoft® SQL Server™ 不再允许将数据放在用于 EMPTYFILE 选项的文件上。该选项允许使用 ALTER DATABASE 语句除去文件。 NOTRUNCATE 导致将释放的文件空间保留在文件中。 当与 target_size 一起指定 NOTRUNCATE 时,释放的空间不会释放给操作系统。DBCC SHRINKFILE 的唯一影响是将已使用的页从 target_size 行上面重新定位到文件的前面。当未指定 NOTRUNCATE 时,所有释放的文件空间返回给操作系统。 TRUNCATEONLY 导致文件中的任何未使用的空间释放给操作系统,并将文件收缩到上一次分配的大小,从而减少文件大小,而不移动任何数据。不尝试将行重新定位到未分配页。如果使用 TRUNCATEONLY,将忽略 target_size。 */