2013140期 2013139期 2013138期 2013137期 2013136期 2013135期 2013134期 2013133期 2013132期 2013131期 01051213212210 07081113212708 04151624272803 04171923242710 04061416182606 09232425293112 01171819252910 04071219222501 20212223252712 04061217192609 实验二 创建数据库和表
一、实验目的与要求
1.了解SQL Server 数据库的逻辑结构和物理结构。 2.了解表的结构特点。
3.了解SQL Server 的基本数据类型。 4.了解空值概念。
5.学会在企业管理器中创建数据库和表。 6.学会使用T-SQL 语句创建数据库和表。 二、实验设备及环境 装有SQL Server 2000的计算机1台/人 三、背景知识 1.SQL Server 2000的数据库对象 在SQL Server 2000中,数据库由包含数据的表集合和其他对象(如关系图、视图、索引、规则、默认值、存储过程和触发器等)组成,目的是为执行与数据有关的活动提供支持。
2.SQL Server2000的数据库文件
SQL Server2000采用操作系统文件来存放数据库,数据库文件可分为主数据文件、次级数据文件和事务日志文件共3类。
? 主数据文件(Primary)
主数据文件用来存放数据,它是所有数据库文件的起点(包含指向其他数据库文件的指针)。每个数据库都必须包含也只能包含一个主数据文件。主数据文件的默认扩展名为.MDF。例如,学生管理系统的主数据文件名为“XSGL_Data.MDF”。
? 次数据文件(Secondary)
二级数据文件也用来存放数据。一个数据库中,可以没有二级数据文件,也可以拥有多个二级数据文件。二级数据文件的默认扩展名为.NDF。
? 事务日志文件(Transaction Log)
事务日志文件用来存放事务日志。事务日志记录了SQL Server所有的事务和由这些事务引起的数据库的变化。每个数据库至少有一个日志文件,也可以拥有多个日志文件。日志文件的默认扩展名为.LDF。例如,学生管理系统的日志文件名为“XSGL_Log.LDF”。
一般情况下,一个数据库至少由一个主数据文件和一个事务日志文件组成。也可以根据实际需要,给数据库设置多个次数据文件和其他日志文件,并将它们放在不同的磁盘上。
3.SQL Server中创建数据库的方法
SQL Server中创建数据库有三种方法:一是通过向导创建,二是在企业管理器中使用现成的命令和功能交互式创建;三是在查询分析器中书写Transact SQL语句创建。
4.SQL Server中创建表的方法
SQL Server中创建表也有三种方法:一是通过向导创建,二是在企业管理器中使用现成的命令和功能交互式创建;三是在查询分析器中书写Transact SQL语句创建。
5.创建数据库的语句
创建数据库可以使用CREATEDATABASE语句,该语句简化的语法格式如下: CREATEDATABASE database_name [
[ON[filespec]]
[LOGON[filespec]] ]
filespec定义为:
( [NAME=logical_file_name, ] FILENAME='os_file_name' [, SIZE=size]
[, MAXSIZE={max_size|UNLIMITED}] [, FILEGROWTH=growth_INcrement] ) 其中:
database_name指出新数据库的名称。数据库名称在服务器中必须惟一,并且符合标识符的规则。ON子句指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的“filespec”项列表,“filespec”项用以定义主文件组的数据文件。LOGON子句指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的“filespec”项列表,“filespec”项用以定义日志文件。
FILENAME为“filespec”定义的文件指定操作系统文件名。“os_file_name”指出操作系统创建“filespec”定义的物理文件时使用的路径名和文件名。
SIZE子句指定“filespec”中定义的文件的大小。“size”为“filespec”中定义的文件的初始大小,可以使用千字节(KB)、兆字节(MB)、千兆字节(GB)或兆兆字节(TB)后缀。默认值为MB。指定一个整数,不要包含小数位,“size”的最小值为512KB。如果没有指定“size”,则默认值为1MB。为主文件指定的大小至少应与model数据库的主文件大小相同。
MAXSIZE子句指定“filespec”中定义的文件可以增长到的最大大小。“max_size”指出“filespec”中定义的文件可以增长到的最大大小。可以使用千字节(KB)、兆字节(MB)、千兆字节(GB)或兆兆字节(TB)后缀,默认值为MB,指定一个整数,不要包含小数位。如果没有指定“max_size”,那么文件将增长到磁盘变满为止。
FILEGROWTH子句指定“filespec”中定义的文件的增长增量。“growth_INcrement”指出每次需要新的空间时为文件添加的空间大小,指定一个整数,不要包含小数位,0值表示不增长,该值可以MB、KB、GB、TB或百分比(%)为单位指定。
6.创建数据表的语句
使用CREATE TABLE语句来建立表,其语法如下: CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ] [,<列名> <数据类型>[ <列级完整性约束条件>] ] ? [,<表级完整性约束条件> ] );
四、实验内容
创建学生管理数据库,数据库名为XSGL,包含学院信息、学生信息、课程信息和学生选课信息,并插入原始数据。数据库XSGL包含4个表即学院信息表dept、学生信息表student、课程信息表course及学生选课表sc。各表的结构分别如表2-1,2-2,2-3,2-4所示。
表2-1 学院信息表:dept 列名 DNO DNAME DEAN 数据类型 Char Char Char 长度 是否允许NULL 说明 4 30 20 表2-2 学生信息表:student 列名 数据类型 长度 是否允许NULL 说明 学号,唯一性,前4位表示入SNO Char 8 × 学年份,第5位表示学院编号,第6位表示专业编号 SNAME AGE SEX DNO BIRTHDAY Char smallint Char Char datetime 20 2 2 4 8 表2-3 课程信息表: course 列名 数据类型 长度 是否允许NULL 说明 × √ √ × √ 姓名 年龄 性别,只能是男'或'女 学院编号 出生日期 × × √ 学院编号,唯一性 学院名 院长姓名 CNO CNAME TNAME CREDIT ROOM Char Char Char float Char 8 30 20 4 30 × × √ √ √ 课程编号, 主码 课程名称 教师姓名 课程学分 上课教室 表2-4 学生选课表:sc 列名 SNO CNO GRADE 数据类型 Char Char float 长度 是否允许NULL 说明 8 8 2 × × √ 学号, 课程编号 课程成绩 五、实验步骤
1. 在企业管理器中创建数据库XSGL
要求:数据库XSGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。数据库的逻辑文件名和物理文件名均采用默认值,分别为XSGL_data和e:\\sql\\ XSGL.mdf,其中e:\\sql\\data\\MSSQL为SQL Server 的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值,分别为XSGL_LOG和e:\\sql\\ XSGL_Log.ldf。
方法:企业管理器->右击数据库->新建数据库,
注意:在“数据文件”选项卡和“事务日志”选项卡中,可以分别指定数据库文件和日志文件的物理路径等特性。
2. 在企业管理器中删除创建的XSGL数据库
在企业管理器中选择数据库XSGL->在XSGL上单击鼠标右键->删除。
3. 使用T-SQL语句创建数据库XSGL
按照上述要求创建数据库XSGL。
启动查询分析器->在“查询”窗口输入如下T-SQL语句: CREATE DATABASE XSGL ON