数据库实验二创建数据库和表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二创建数据库和表
一、实验目的
1、掌握使用SQL语句创建和删除数据库。
2、了解SQL Server的基本数据类型和表结构特点。
3、掌握使用SQL语句创建和删除数据表,修改表的结构。
二、实验内容
(一)数据库的建立
1、在对象资源管理器里建立名为“stu”的数据库。写出其默认的各参数(包括逻辑文件名、物理文件名、文件初始大小、增长方式、增长大小等)。
答:其默认的个参数如下所示:
行数据文件——逻辑文件名stu,物理文件名空值,文件初始大小3MB,自动增长,增量为1MB,不限制增长。
日志文件——逻辑文件名stu_log,物理文件名空值,文件初始大小1MB,自动增长,增量为10%,不限制增长。
2、在“查询分析器”中使用CREATE DATABASE语句创建名为“student”的数据库,要求如下:数据文件的逻辑文件名为:Students_dat,物理文件名Students.mdf,存放在D:\TEST 文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加1MB;日志文件的逻辑文件名为:Students_log,物理文件名Students.ldf,也存放在D:\TEST文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加10%。
答:语句如下所示:
CREATE DATABASE student
ON PRIMARY
(NAME = Students_dat,
FILENAME = ‘D:\ TEST\Students.mdf’,
SIZE = 3mb,
MAXSIZE = UNLIMITED, FILEGROWTH=1mb)
LOG ON
(NAME = Students_log,
FILENAME = ‘D:\ TEST\Students.ldf’,
SIZE = 3mb, MAXSIZE = UNLIMITED, FILEGROWTH=10%)
COLLATE Chinese_PRC_CI_AS
GO
3、用SQL语句删除数据库stu。
答:语句如下所示:
USE master
GO
DROP DATABASE stu
GO
(二)表的建立
1、在数据库student中创建三张表:学生表STUDENT、课程表COURSE和学生选修课表SC,这三张表的结构如下:
答:语句如下所示:
USE student
GO
CREATE TABLE STUDENT
(SNO char (4) CONSTRAINT pk_xh PRIMARY KEY ,
SNAME char(10) NOT NULL,
SSEX char(2) default’男’,
SAGE tinyint ,
SDEPT char(20) )
COMMENT ON TABLE STUDENT IS ‘学生表’;
COMMENT ON COLUMN STUDENT.SNO IS '学号';
COMMENT ON COLUMN STUDENT.SNAME IS '姓名';
COMMENT ON TABLE STUDENT.SSEX IS ‘性别’;
COMMENT ON TABLE STUDENT.SAGE IS ‘年龄’;
COMMENT ON TABLE STUDENT.SDEPT IS ‘所在系’;
GO
CREATE TABLE COURSE
(CNO char (2) CONSTRAINT pk_kch PRIMARY KEY , CNAME char(20) NOT NULL,
CCREDIT decimal(2,1) ,
SEMSTER tinyint)
COMMENT ON TABLE COURSE IS ‘课程表’; COMMENT ON COLUMN O IS '课程号'; COMMENT ON COLUMN AME IS '课程名'; COMMENT ON TABLE REDIT IS ‘学分’; COMMENT ON TABLE COURSE.SEMSTER IS ‘学期’;
GO
CREATE TABLE SC
(SNO char (4),
CNAME char(2),
CONSTRAINT pk_sc PRIMARY KEY(SNO,CNO),
CCREDIT decimal(4,1)
)
COMMENT ON TABLE SC IS ‘学生选修课表’; COMMENT ON COLUMN SC.SNO IS '学号';
COMMENT ON COLUMN O IS '课程号';
COMMENT ON COLUMN SC.GRADE IS '成绩';
GO
2、输入如下数据。
Student
COURSE
选课表(SC)
答:语句如下所示:
USE student
GO
INSERT STUDENT
(SNO, SNAME, SSEX, SAGE, ADEPT)
VALUES
(‘9801’,’李明’,’男’,’18’,’计算机软件’) GO
.
.
.
INSERT COURSE
( CNO, CNAME, CCREDIT, SEMSTER )
VALUES
(‘C1’,’PASCAL’,’2’,’1’)
GO
.
.
.
INSERT SC
( SNO, CNO , GRADE )
VALUES
(‘9801’,’C1’,’70’)
GO
.
.
.
3、在SC表中增加一个字段,字段名为TECH_NAME CHAR(8)。答:语句如下所示:
USE student
GO
ALTER TABLE dbo.SC
ADD TECH_NAME char(8)
GO
4、建立各表之间的参照完整性。
答:语法如下所示:
USE student
GO
ALTER TABLE SC
ADD CONSTRAINT fk_xh
FOREIGN KEY (SNO)
REFERENCES STUDENT (SNO)
GO
ALTER TABLE SC
ADD CONSTRAINT fk_kch
FOREIGN KEY (CNO)
REFERENCES COURSE (CNO)
GO