SQL Server关系表的创建、索引创建和数据插入(一)

2014-11-24 13:18:36 · 作者: · 浏览: 0

SQL Server关系表的创建、索引创建和数据插入
一、关系表的创建
COURSE表:
CNO CNAME CPNO CCREDIT
------ -------------------- ------ -------
1 SS 5 4
2 数学 NULL 4
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 NULL 2
7 PASCAL语言 6 4
www.2cto.com
STUDENT表:
SNO SNAME SSEX SAGE SDEPT
--------- ---------- ------ ------ ----------
200215121 李勇 M 20 CS
200215122 刘晨 F 19 CS
200215123 王敏 F 18 MA
200215125 张立 M 19 IS
SC表:
SNO CNO GRADE
--------- ------ ------
200215121 1 92
200215121 2 85
200215121 3 88
200215122 2 90
200215122 3 80
www.2cto.com
/****************************************
创建一个 数据库 St
*****************************************/
1 CREATE DATABASE St;
2
3 USE St; /*使用ST数据库*/
www.2cto.com
/****************************************
创建学生表 Student
*****************************************/
1 CREATE TABLE Student (
2 Sno CHAR(9) PRIMARY KEY, /*学号*/
3 Sname VARCHAR(10), /*姓名*/
4 Ssex VARCHAR(6), /*性别*/
5 Sage SMALLINT, /*年龄*/
6 Sdept VARCHAR(10) /*院系*/
7 );
/******************************************
创建课程表 Course
******************************************/
1 CREATE TABLE Course (
2 Cno SMALLINT PRIMARY KEY, /*课程号*/
3 Cname VARCHAR(20), /*课程名称*/
4 Cpno SMALLINT, /*先行课程*/
5 Ccredit SMALLINT, /*学分*/
6 FOREIGN KEY (Cpno) REFERENCES Course(Cno) /*定义外键*/
7 );
/******************************************
创建学生选课表 Sc
*******************************************/
1 CREATE TABLE Sc (
2 Sno CHAR(9),
3 Cno SMALLINT,
4 Grade SMALLINT,
5 PRIMARY KEY (Sno, Cno),
6 FOREIGN KEY (Sno) REFERENCES Student(Sno),
7 FOREIGN KEY (Cno) REFERENCES Course(Cno)
8 );
二、为关系表创建索引
/**********************************************
为三个表建立索引
***********************************************/
1 CREATE UNIQUE INDEX Courseid ON Course(Cno);
2 CREATE UNIQUE INDEX Studentid ON Student(Sno);
3 CREATE UNIQUE INDEX Scid ON Sc(Sno,Cno); /*默认为升序*/
三、为关系表插入数据
www.2cto.com
/*******************************************************
为学生表STUDENT插入数据
*********************************************************/
1 INSERT INTO STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT) VALUES('200215121','李勇','M',20,'CS');
2 INSERT INTO STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT) VALUES('200215122','刘晨','F',19,'CS');
3 INSERT INTO STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT) VALUES('200215123','王敏','F',18,'MA');
4 INSERT INTO STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT) VALUES('200215125','张立','M',19,'IS');
/*************************************************
为课程表COURSE插入数据
**************************************************/
1 INSERT INTO COURSE(CNO, CNAME,CPNO,CCREDIT) VALUES(1,'SS',NULL,4);
2 INSERT INTO COURSE