现在的位置: 首页 > 综合 > 正文

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

2013年07月17日 ⁄ 综合 ⁄ 共 3356字 ⁄ 字号 评论关闭

一、关系表的创建

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

 

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

 

/****************************************  

创建一个数据库 St

*****************************************/

1 CREATE DATABASE St;
2 
3 USE St;   /*使用ST数据库*/

 

/****************************************

创建学生表 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);  /*默认为升序*/

 

三、为关系表插入数据

/*******************************************************

为学生表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(CNO,CNAME,CPNO,CCREDIT) VALUES(2,'数学',NULL,4); 
 3 INSERT INTO COURSE(CNO,CNAME,CPNO,CCREDIT) VALUES(3,'信息系统',1,4); 
 4 INSERT INTO COURSE(CNO,CNAME,CPNO,CCREDIT) VALUES(4,'操作系统',NULL,3); 
 5 INSERT INTO COURSE(CNO,CNAME,CPNO,CCREDIT) VALUES(5,'数据结构',NULL,4); 
 6 INSERT INTO COURSE(CNO,CNAME,CPNO,CCREDIT) VALUES(6,'数据处理',NULL,2); 
 7 INSERT INTO COURSE(CNO,CNAME,CPNO,CCREDIT) VALUES(7,'PASCAL语言',NULL,4); 
 8 UPDATE COURSE SET CPNO=5 WHERE CNO=1; 
 9 UPDATE COURSE SET CPNO=6 WHERE CNO=4; 
10 UPDATE COURSE SET CPNO=7 WHERE CNO=5; 
11 UPDATE COURSE SET CPNO=6 WHERE CNO=7;

/***************************************************

为选课表SC插入数据

****************************************************/

1 INSERT INTO SC(SNO,CNO,GRADE) VALUES('200215121',1,92); 
2 INSERT INTO SC(SNO,CNO,GRADE) VALUES('200215121',2,85); 
3 INSERT INTO SC(SNO,CNO,GRADE) VALUES('200215121',3,88); 
4 INSERT INTO SC(SNO,CNO,GRADE) VALUES('200215122',2,90); 
5 INSERT INTO SC(SNO,CNO,GRADE) VALUES('200215122',3,80);

 

抱歉!评论已关闭.