实验2 数据库及数据库表的建立

举报
rivers 发表于 2021/12/22 22:18:51 2021/12/22
【摘要】 文章目录 实验2 数据库及数据库表的建立一、 实验目的二、实验时数 2学时三、实验内容1.首先创建一个学生数据库stu_db2.基本表的建立:3、 基本表的修改:4、索引的建立与删除 四、实...

实验2 数据库及数据库表的建立

一、 实验目的

本实验的目的是使学生熟悉SQL Server 2008的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型、完整性约束,索引的定义与维护。加深对SQL数据定义语言理解,掌握数据库的创建以及基本表的创建与修改。

二、实验时数 2学时

三、实验内容

1.首先创建一个学生数据库stu_db

Create database stu_db;
use stu_db;

  
 
  • 1
  • 2

2.基本表的建立:

    1. 建立一个学生表S1,它由学号sno、姓名sname、性别ssex、年龄sage、所在系sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。
    use stu_db
    create table S1
    (
    	sno char(10) unique not null,
    	sname varchar(8),
    	ssex char(2),
    	sage int,
    	sdept varchar(30)
    )
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 建立一个“学生表S2,它由学号sno、姓名sname、性别ssex、年龄sage、所在系sdept五个属性组成,其中学号属性不能为空,并创建检查约束(sage>0)。
    create table S2
    (
    	sno char(10) not null,
    	sname varchar(8),
    	ssex char(2),
    	sage int check(sage>0),
    	sdept varchar(30),
    	
    )
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 建立一个学生表S,它由学号sno、姓名sname、性别ssex、年龄sage、所在系sdept五个属性组成,要求学号为主键,ssex有默认的值为 ‘男’。
    create table S 
    (
    	sno char(10) primary key,
    	sname varchar(8),
    	ssex char(2) default '男',
    	sage int,
    	sdept varchar (30),
    	check (sage>0),
    )
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 建立“课程表C”,包括课程号cno,课程名称cname,先修课程cpno,学分credit,要求建立主键
    create table C
    (
    	cno char(4) primary key,
    	cname varchar(30),
    	cpno varchar(30),
    	credit int
    )
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 建立“成绩表SC”包括学号sno,课程号cno,成绩grade,要求建立主键及与S及C表联接的外键。
    create table SC
    (
    	sno char(10),
    	cno char(4),
    	grade int,
    	primary key(sno,cno),
    	foreign key(cno) references C(cno),
    	foreign key(sno) references S(sno),
    )
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

3、 基本表的修改:

    1. 在sc表中增加一列“任课教师rkjs”。
    alter table SC add rkjs varchar(10)
    
        
       
    • 1
    1. 删除sc表中rkjs一列。
    alter table SC drop column rkjs 
    
        
       
    • 1
    1. 将s1表的sname一列允许空值的属性更改成不允许为空,将列sname的长度由char(8)改为char(10)。
    alter table S1 
    alter column sname char(10) not null 
    
        
       
    • 1
    • 2
    1. 增加SC表的列grade增加一个约束要求cj>0 and cj<=100。
    alter table SC add check(grage>0 and grage <=100)
    
        
       
    • 1
    1. 建立一个临时表:#temp(sno char(10),sname char(8));再将其删除。(提示:临时表名称为:#表名,其余和创建普通表一样)。
    create table #temp
    (
    	sno char(10),
    	sname char(8)
    )
    
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

4、索引的建立与删除

  • a) create unique index stu_sno on s1(sno)

  • b) create index sno_cno on SC(sno asc,cno desc)

  • c) drop index SC.sno_cno

四、实验方法

用图形用户界面方式和SQL查询分析器完成以上的任务。并检查所做的操作表现。

五、收获体会

通过这次实验,我熟悉了SQL server的企业管理器的用法,学会了基本表的建立、删除、和修改,还对索引和视图有了一定的了解,加深了对数据库的理解。

文章来源: rivers.blog.csdn.net,作者:宝山的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:rivers.blog.csdn.net/article/details/116868218

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。