当前位置: 首页 > ds >正文

数据库实验报告 数据定义操作 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约束

添加前

添加后

四、出现的问题和解决方案

问题:列级约束中未给约束起别名则默认约束名称连接符为两个“_”

解决方法:直接从图形化界面的中寻找约束或键的名称复制即可

五、心得体会与自我评价

本次实验虽较为简单,但仍需细心并耐心按照实验文档指示完成。

六、教师评语

http://www.xdnf.cn/news/6931.html

相关文章:

  • 【leetcode】逐层探索:BFS求解最短路的原理与实践
  • 使用Python和Selenium打造一个全网页截图工具
  • CSS- 4.1 浮动(Float)
  • Echart地图数据源获取
  • hysAnalyser 从MPEG-TS导出ES功能说明
  • 【C++详解】string各种接口如何使用保姆级攻略
  • Kotlin变量与数据类型详解
  • C++ - 仿 RabbitMQ 实现消息队列(2)(Protobuf 和 Muduo 初识)
  • DeepSeek 赋能军事:重塑现代战争形态的科技密码
  • Florence2代码实战
  • 初识计算机网络。计算机网络基本概念,分类,性能指标
  • 终端和shell , 以及XShell 用ssh命令登陆主机的过程
  • Spring三级缓存的作用与原理详解
  • 内网环境下如何使用ntpdate实时同步时间
  • java+selenum专题(一)
  • Java 与 面向对象编程(OOP)
  • dify知识库支持图文回复实践
  • 【Win32 API】 lstrcpynA()
  • 浮动静态路由配置实验
  • 使用 Cookie 实现认证跳转功能
  • 用Python绘制梦幻星空
  • 5.9/Q1,GBD数据库最新文章解读
  • 华三H3C交换机配置NTP时钟步骤 示例
  • STM32F103经SPI总线向写Micro SD卡
  • 逻辑回归预测考试通过
  • 深入GoFrame框架:GToken的优势、实践与踩坑经验分享
  • leetcode0215. 数组中的第K个最大元素-medium
  • 聊一聊接口测试的一致性如何处理?
  • Sumsub Java Web Demo 技术文档
  • 从零开始学习three.js(20):three.js实现天气与时间动态效果(白天,黑夜,下雨,下雪)