1、 实验报告1、实验目的熟练掌握使用 SQL Server Manage Studio 创建数据库、表、索引和约束的方法,学会利用查看或修改数据库属性和表结构,加深对数据库模式、表结构、索引和数据完整性约束等概念的理解。2、实验内容利用 SQL Server Manage Studio 中实现:(1)创建数据库并查看数据库属性;(2)在数据库中定义基本表及结构,定义表的主码和基本约束条件,并为主码建索引;(3)查看基本表结构,并修改表结构直到正确。3、实验结果1、运用 SQL 语言创建数据库及基本表图书_读者数据库其中有三个基本表:(1)读者:表结构:属性定义:编号 CHAR(10) 主键姓名
2、CHAR(8)单位 CHAR(20) 性别 CHAR(2) 电话 CHAR(11)数据约束:性别只能是“男”或“女”(2)图书:表结构:属性定义:书号 CHAR(10) 主键类别 CHAR(5)出版社 CHAR(10)作者 CHAR(8)书名 CHAR(15) 定价 INT数据约束:定价0(3)借阅:表结构:属性定义:书号 CHAR(10)读者编号 CHAR(10)借阅时间 DATETIME主键:书名,读者编号外键约束:书号图书(书号)读者编号读者(编号)2、在 SQL Server Manage Studio 中创建数据库及基本表学生_课程数据库中有三个基本表:(1)课程:表结构:属性定义:
3、课程号 CHAR(10) 主键课程名 CHAR(10)先行课 CHAR(10)(2)选课:表结构:属性定义:学号 CAHR(10)课程号 CHAR(10)成绩 INT主键:学号,课程号外键约束:学号学生(学号)课程号课程(课程号)(3)学生:表结构:属性定义:学号 CHAR(10)姓名 CHAR(8)年龄 INT 性别 CHAR(2)所在系 CHAR(10)数据约束:性别只能是“男”或“女”4、主要实验步骤1、运用 SQL 语言创建数据库及基本表CREATE DATABASE 图书_读者ON(NAME=db_data,FILENAME=G:sql_datadb_data.mdf,SIZE=50
4、MB,MAXSIZE=100MB,FILEGROWTH=10MB)LOG ON(NAME=db_log,FILENAME=G:sql_datadb_log.mdf,SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=10%)ALTER DATABASE 图书_读者MODIFY FILE(NAME=db_data,MAXSIZE=unlimited,FILEGROWTH=5MB)USE 图书_读者CREATE TABLE 图书(书号 CHAR(10) PRIMARY KEY,类别 CHAR(5),出版社 CHAR(10),作者 CHAR(8),书名 CHAR(15) NOT NUL
5、L,定价 INT CHECK(定价0)CREATE TABLE 读者(编号 CHAR(10) PRIMARY KEY,姓名 CHAR(8),单位 CHAR(20),性别 CHAR(2) CHECK(性别=男 or 性别=女),电话 CHAR(11)CREATE TABLE 借阅(书号 CHAR(10),读者编号 CHAR(10),借阅时间 DATETIME,PRIMARY KEY(书号,读者编号),FOREIGN KEY(书号) REFERENCES 图书(书号)ON UPDATE CASCADEON DELETE CASCADE,FOREIGN KEY(读者编号) REFERENCES 读者
6、(编号)ON UPDATE CASCADEON DELETE CASCADE,)2、在 SQL Server Manage Studio 中创建数据库及基本表(1)创建数据库右击数据库选择“新建数据库”填写数据库属性(如下图)点击“确定” ,完成(2)创建基本表展开数据库在“表”项右击选择“新建表”填写各项列及属性(如下图 1)(图 1)设置主键 :在需添加为主键的列右击选择“设置主键” (如主键由两个以及两个以上属性组成,按 shift 键选择需设置为主键的列)设置 check 约束:在需添加 check 约束的列右击选择“CHECK 约束” ,填写约束条件(如图二)(图二)设置外键:在右侧导航栏中数据库下的“键”项右击选择“新建外键” ,填写外键信息(如图三)(图三)5、实验中出现的问题和解决方法出现的问题:(1)使用 SQL 语言创建数据库时指定逻辑名,未指定逻辑路径,运行出错;(2)空格是未在英语环境下使用。解决方法:(1)指定逻辑路径;(2)改变语言环境至英文,再使用符号(空格、逗号、括弧)6、体会和提高建库和建表均有两种方式:一是可通过 SQL 语言实现,二是可在 SQL Server Manage Studio 中直接创建。使用 SQL 语言时各种符号的使用最容易被忽略,常常在此犯错,因此,编写 SQL 过程中需谨慎。