广药数据库实验答案参考.doc
文本预览下载声明
--实验三 参考答案
(一)、数据库、表的创建及删除
1.将数据库bookdb的相关属性(系统默认设置),填入下表:
项目 内容
数据库所有者 XP-201104281226\Administrator(Windows身份登录SQL server)
数据库名称 bookdb
数据库逻辑文件名 bookdb
数据文件物理名 D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\bookdb.mdf(本机SQL SERVER系统安装目录在D盘)
数据库初始大小 3MB
数据文件最大值 不限制增长
数据文件增长量 1MB
日志逻辑文件名 bookdb_log
日志文件物理名 D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\bookdb_log.ldf(本机SQL SERVER系统安装目录在D盘)
日志文件初始大小 1MB
日志文件最大值 2,097,152MB
日志文件增长量 10%
*/
--根据“二、实验内容”的要求,使用T-SQL命令创建/删除数据库EDUC,创建数据表student、course、sc。
--2.删除bookdb数据库。
DROP DATABASE bookdb
--3.创建数据库EDUC。
CREATE DATABASE EDUC
ON PRIMARY
(
NAME=EDUC_data,
FILENAME=C:\EDUC_data.mdf,
SIZE=4MB,
MAXSIZE=10MB,
FILEGROWTH=1MB
)
LOG ON
(
NAME=EDUC_log,
FILENAME=C:\EDUC_log.ldf,
SIZE=1MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
--4.创建数据表Student。
USE EDUC
CREATE TABLE Student
(
Sno varchar(20) NOT NULL CONSTRAINT PK_Student PRIMARY KEY,
Sname varchar(10) NOT NULL,
Sage int,
Ssex varchar(2),
Sdept varchar(30)
)
--5.创建数据表Course。
CREATE TABLE Course
(
Cno varchar(15) NOT NULL CONSTRAINT PK_Course PRIMARY KEY,
Cname varchar(30),
Cpno varchar(15),
Ccredit int
)
--6.创建数据表SC。
CREATE TABLE SC
(
Sno varchar(20) NOT NULL,
Cno varchar(15) NOT NULL,
Grade DECIMAL(9,2),
CONSTRAINT PK_SC PRIMARY KEY(Sno,Cno)
)
--(二)、修改基本表的定义
--1.修改列属性
--(1)用SSMS将Student表中的Sage字段设为不能为空(not null)。
ALTER TABLE Student
ALTER COLUMN Sage int NOT NULL
--(2)用SQL语句将Student表中的属性Sno varchar(20)改成char(8)类型。
--先删除Sno上的各种约束(此例中Sno上的约束有:主键)
ALTER TABLE Student DROP CONSTRAINT PK_Student --CONSTRAINT 也可省略
--再修改Sno列
ALTER TABLE Student ALTER COLUMN Sno CHAR(8) NOT NULL --需设置为不允许空,否则不能在该列上创建主键
--最后,恢复(添加)Sno上的主键约束
ALTER TABLE Student ADD CONSTRAINT PK_Student PRIMARY KEY(Sno)
--2.添加列
--(1)用SSMS在Course表中添加一列year,类型为varchar(4),默认置为空。
ALTER TABLE Course
ADD year varchar(4) NULL
--(2)用SQL语句在year字段添加约束,year 的属性值在2006-2012之间。
ALTER TABLE Course
ADD C
显示全部