数据库实验2——使用SQL语句创建和删除基本表

一. 实验目的:

1.了解SQL Server的基本数据类型。
2.学会使用Create table语句创建基本表。

二. 实验准备

  1. 在查询分析器中使用SQL语句完成基本表的创建、修改、删除。
  2. 实现基本表定义中有关完整性约束的要求。
  3. 注意操作结果的截图与保存,供撰写实验报告使用。

三. 实验要求

  1. 确定数据库包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
    2.掌握SQL Server平台Create、Alter、Drop语句的具体用法。

四、实验步骤

1. 创建基本表

打开查询分析器,在其编辑窗口中输入基本表的创建语句,点击“执行”按钮,分别完成四个基本表的创建。

数据库EDUC中,创建如下四个表:
Class、student、course、sc

表的具体要求如下:
1.class表的结构要求
班级号: clsNO, 字符型(定长),长度为6,主码
班级名称:clsName,字符型(变长),长度16,非空
辅导员: Director,字符型(变长),长度10
专业: Specialty,字符型(变长),长度30
出现问题:创建表时各个码的定义用’;’分隔,应该用’,’分隔
在这里插入图片描述

修改后成功创建,PS:这里创建后没有刷新直接出现在视图,就很玄学。。。
在这里插入图片描述

2.student表的结构要求
学号:sno,字符型(定长),长度为8,主码
姓名:sname,字符型(变长),长度为10,非空
性别:ssex,字符型(定长),长度为2,性别只能为’男或女’
班级号:clsNO,字符型(定长),长度为6,外键
住址:saddr,字符型(变长),长度为20
年龄:sage,数值型(整数),年龄要求10~30之间
身高:height,数值型(长度为4,含两位小数)
在这里插入图片描述

创建student表让我学会了外码的使用以及利用check语句设置限定条件,以及短整数与定点数NUMERIC(p,q)的使用。

3.course表的结构要求
课程号:cno,字符型(定长),长度为4,主键
课程名:cname,字符型(变长),长度为16,非空
先修课程号:cpno,字符型(定长),长度为4,外键
学分:Ccredit,数值型(长度为2,含1位小数)
在这里插入图片描述

创建course表时,学会了利用自己的主码当做外键的参照的外码的例子。
References为复数形式,在SQL语句中有很多这样的例子。

4.sc表的结构要求
学号:sno,字符型(定长),长度为8
课程号:cno,字符型(定长),长度为4
成绩:grade,数值型(长度为3,含一位小数)
注意:本表主码与外码的定义。
在这里插入图片描述

本表是由学生表和课程表联系构成的选课信息表,所以其外码有两个,主码为sno和cno的集合。

2. 修改表结构

按照student的要求创建表student1,修改基本表student1:
在这里插入图片描述

1)增加“入学时间”列s_entrance,其数据类型为日期型(SQL server 中日期型为datetime)。
出现问题:
在这里插入图片描述

检查为未设置s_entrance的类型
在这里插入图片描述

之前手误将student表也改了
在这里插入图片描述

删除添加的列,恢复student数据:
在这里插入图片描述

2)将住址(saddr)的长度改为40。
在这里插入图片描述

3.删除基本表

删除基本表student1。
删除表的CASCADE级联删除选项SQL SERVER不给用,竟然连RESTRACT也不给,虽然默认的就是RESTRACT:
在这里插入图片描述

去除限制条件语句运行成功:
在这里插入图片描述

五、实验总结

本次试验在经过编码写程序之后,我也会去对学过的数据库的建立与查询有了初步的了解和应用,我觉得我所学习的知识还远远不够,需要进一步认真学习,勤加练习多做多用,使得自己能够熟练应用学到的知识。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐