数据库实验报告 数据定义操作 3
实验报告(第3次)
实验名称 数据定义操作 实验时间 10月12日1-2节
一、实验内容
1、本次实验是用sql语句创建库和表,语句是固定的,要求熟记这些sql语句。
二、源程序及主要算法说明
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)); CREATE TABLE Course( Cno CHAR(3) PRIMARY KEY,Cname CHAR(30), Cpno CHAR(3) , Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREATE TABLE SC(Sno CHAR(9), Cno CHAR(3), Grade SMALLINT,PRIMARY KEY (Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno));CREATE TABLE 成绩(学号 char(8) not null,课程号 char(8) not null,成绩 int CHECK(成绩>=0 and 成绩<=100))CREATE TABLE 学生( 学号 char(10),姓名 char(10),性别 char(2) DEFAULT '男')
三、测试数据及结果
任务
点击“新建查询”——在命令行使用命令建立数据库
创建了数据库后点执行,右击数据库“刷新”,即可看到左边出现了students数据库。
查看students的属性可以看到创建的数据文件和日志文件如下图所示
打开D盘即可看到创建的school数据库的数据文件和日志文件
2.根据下图创建带有两个数据文件和两个日志文件的数据库test.
鼠标右击数据库刷新即可看到test数据库,右击test数据库查看test属性
3.一句话创建默认数据库:create database wj31;
修改数据库名字:alter database 原数据库名 modify name=新数据库名;
删除数据库语句:drop database 数据库名;删除后刷新才可以看到
4:查看全部数据库 sp_helpdb;
5:查看数据库的文件信息: sp_helpdb 数据库名;
6:用SQL语句在数据库创建表;
7:建好表后,再次添加一列: alter table 表名 add 列名 类型null;
8:把room 的类型改为char(6): alter table student alter column room char(6)
9:删除student表的room列
10:删除student表
按照给定的源程序创建三个表
结果
1-1:用SQL语句删除sc表的外键约束
删除前
删除后
1-2:用SQL语句删除student表的主键约束
删除前
删除后
1-3:用SQL语句添加student表的主键约束
添加前
添加后
1-4:给sc表的添加外键约束。
添加前
添加后
2-1:删除成绩的check约束
删除前
删除后
2-2:添加成绩的check约束
添加前
添加后
3-1:删除上例建立的default约束
删除前
删除后
3-2:为性别添加default
添加前
添加后
3-3:为姓名添加unique约束
添加前
添加后
四、出现的问题和解决方案
问题:列级约束中未给约束起别名则默认约束名称连接符为两个“_”
解决方法:直接从图形化界面的中寻找约束或键的名称复制即可
五、心得体会与自我评价
本次实验虽较为简单,但仍需细心并耐心按照实验文档指示完成。