实验一 创建数据库和表
一、 实验目的和要求
熟悉上机环境和查询分析器界面;掌握如何启动、停止服务管理器和企业管理器的方法;掌握如何用企业管理器定义数据库、表、约束,如何向表中添加、修改、输出记录,如何查看表的内容等操作;掌握如何在查询分析器中,执行SQL语句、分析语句的执行结果;掌握如何在查询分析器中,用DDL语言定义数据库、表、约束,并用最简单的INSERT语句向表中添加记录。
二、 实验内容及指导
1
启动服务管理器   
使用企业管理器,创建StudentInfo数据库   
在该数据库里定义Students、 Courses、 Enrollment3个表,问题是开始的时候不清楚如何添加约束,后来知道是在默认值或绑定处添加,也可以右击列名,选择CHECK约束添加
向3个表中添加若干记录,因为有约束存在,所以如果输入不在约束范围内就会报错。
查看已创建的数据库和3个表的内容
2.实验2的“提高操作”,具体内容如下:
表3- 1 图书表结构
列名
说明
数据类型
约束
图书号
图书唯一的图书号
定长字符串,长度为20
主键
书名
图书的书名
变长字符串,长度为50
空值
作者
图书的编著者名
变长字符串,长度为30
空值
出版社
图书的出版社
变长字符串,长度为30
空值
单价
出版社确定的图书的单价
浮点型FLOAT
空值
表3- 2 读者表结构
列名
说明
数据类型
约束说明
读者号
读者唯一编号
定长字符串,长度为10
主键
姓名
读者姓名
定长字符串,长度为8
非空值
性别
读者性别
定长字符串,长度为2
非空值
办公电话
读者办公电话
定长字符串,长度为8
空值
部门
读者所在部门
变长字符串,长度为30
空值
表3- 3 借阅表结构
列名
说明
数据类型
约束说明
读者号
读者的唯一编号
定长字符串,长度为10 
外码,引用读者表的主键
图书号
图书的唯一编号
定长字符串,长度为20
外码,引用图书表的主键
借出日期
图书借出的日期
定长字符串,长度为8为’yymmdd’
非空值
归还日期
图书归还的日期
定长字符串,长度为8为’yymmdd’
空值
                                主键为:(读者号, 图书号)
用SQL语句创建的数据库不知道放在了哪里,创建的3个表也不知道放在了哪里,而且那三个表建完后不在图书馆数据库里面,后来到了图书馆数据库在安装盘D盘底下的DATA文件中,3个表在master数据库里,于是又在每个表的前面加了一句话“USE 图书馆    GO”重新保存之后这三个表就在图书馆数据库里面了。还有一个办法是这样建数据库,如创建一个名为scd3的数据库:
create database scd3
on primary
(
name = 'scd3',
filename = 'g:\scd2\scd3.mdf'
)
log on
(
name = 'scd3_log',
filename = 'g:\scd2\scd3_log.ldf'
)
这样所创建的数据库就放在了g盘底下scd2文件夹中。
USE scd3
CREATE TABLE 用户
(
ID    CHAR(8)  PRIMARY KEY,
NAME  NVARCHAR(20) NOT NULL,
PWD  NVARCHAR(20) NOT NULL
)
GO
新建的用户表即在scd3数据库中。
对于下面的六个小题,第三小题一直说存在语法错误,我是在英文输入法下输入的,不清楚是什么原因。现在懂了,办公电话和LIKE有一个空格,LIKE之间也有一个空格。
1)用SQL语句创建图书馆数据库
答案:CREATE DATABASE 图书馆
2)用SQL语句创建上述3个表
答案:USE 图书馆
GO
CREATE TABLE 图书
(
图书号  CHAR(20)  PRIMARY  KEY,
书名    VARCHAR(50)  NULL,
作者    VARCHAR(30)  NULL,
出版社  VARCHAR(30)  NULL,
单价    FLOAT        NULL
)
USE 图书馆
GO
CREATE TABLE 读者
(
读者号  CHAR(10) PRIMARY KEY,
姓名    CHAR(8)  NOT NULL,
性别    字符串长度1是什么意思CHAR(2)  NOT NULL,
办公电话 CHAR(8)  NULL,
部门    VARCHAR(30) NULL
)
USE 图书馆
GO
CREATE TABLE 借阅
(
读者号  CHAR(10)  NOT NULL,
图书号  CHAR(20)  NOT NULL,
借出日期  CHAR(8)  NOT NULL,
归还日期  CHAR(8)    NULL,
PRIMARY KEY (读者号,图书号),
CONSTRAINT LBLINK FOREIGN KEY (图书号) REFERENCES 图书(图书号),
CONSTRAINT LRLINK FOREIGN KEY (读者号) REFERENCES 读者(读者号)
)
3)基于图书馆数据库的三个表,用SQL语言完成以下各项操作:(写出SOL语句)
1)给图书表增加一列“ISBN”,数据类型为CHAR(10)
答案:USE 图书馆
GO
ALTER TABLE 图书
ADD ISBN CHAR(10)
2)为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为’7111085949’;
答案:USE 图书馆
GO
ALTER TABLE 图书
ADD CONSTRAINT ISBNDEF DEFAULT'7111085949'FOR ISBN
3)为读者表的’办公电话’列,添加一个CHECK约束,要求前五位’88320’,约束名为CHECKDEF。
答案: USE 图书馆
GO
ALTER TABLE 读者
ADD CONSTRAINT CHECKDFF  CHECK(办公电话 LIKE '(88320)[0-9][0-9][0-9]')
4)删除图书表中ISBN列增加缺省值约束;
答案:USE 图书馆
GO
ALTER TABLE 图书
DROP CONSTRAINT ISBNDEF
5)删除读者表中“办公电话”列的CHECK约束;
答案:USE 图书馆
GO
ALTER TABLE 读者
DROP CONSTRAINT CHECKDFF
6)删除图书表中新增的列ISBN;
答案:USE 图书馆
GO
ALTER TABLE 图书
DROP COLUMN ISBN

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。